1/* { dg-options "-O2" } */ 2/* { dg-do run } */ 3 4#if defined __i386__ 5#define REG "edi" 6#else 7#define REG "r14" 8#endif 9 10register unsigned long *ds asm(REG); 11 12extern void abort (void); 13 14__attribute__ ((noinline)) void 15test (void) 16{ 17 *++ds = 31337; 18} 19 20int 21main () 22{ 23 unsigned long stack[2]; 24 stack[0] = 0; 25 stack[1] = 0; 26 ds = stack; 27 test (); 28 if (ds != stack + 1 || *ds != 31337) 29 abort (); 30 return 0; 31} 32