(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
i386/
pr78967-3.c
       1  /* PR target/78967 */
       2  /* { dg-do assemble { target { ! ia32 } } } */
       3  /* { dg-options "-O2" } */
       4  
       5  typedef __SIZE_TYPE__ size_t;
       6  
       7  struct S1
       8  {
       9    unsigned char pad1;
      10    unsigned char val;
      11    unsigned short pad2;
      12  };
      13  
      14  extern unsigned char t[256];
      15  
      16  struct S1 foo (struct S1 a, size_t i)
      17  {
      18    register size_t _i __asm ("r10") = i;
      19  
      20    asm volatile ("" : "+r" (_i));
      21    a.val = t[_i];
      22  
      23    return a;
      24  }