/* PR target/78904 */ | |
/* { dg-do assemble { target { ! ia32 } } } */ | |
/* { dg-options "-O2" } */ | |
typedef __SIZE_TYPE__ size_t; | |
struct S1 | |
{ | |
unsigned char pad1; | |
unsigned char val; | |
unsigned short pad2; | |
}; | |
extern unsigned char t[256]; | |
void foo (struct S1 a, size_t i) | |
{ | |
register size_t _i __asm ("r10") = i; | |
asm volatile ("" : "+r" (_i)); | |
t[_i] = a.val; | |
} |