1/* PR inline-asm/6806 */ 2/* { dg-do run } */ 3/* { dg-skip-if "" { ia32 && { ! nonpic } } { "*" } { "" } } */ 4/* { dg-options "-O2" } */ 5 6extern void abort (void); 7 8volatile int out = 1; 9volatile int a = 2; 10volatile int b = 4; 11volatile int c = 8; 12volatile int d = 16; 13volatile int e = 32; 14volatile int f = 64; 15 16int 17main () 18{ 19 asm volatile ("xorl %%eax, %%eax \n\t" 20 "xorl %%esi, %%esi \n\t" 21 "addl %1, %0 \n\t" 22 "addl %2, %0 \n\t" 23 "addl %3, %0 \n\t" 24 "addl %4, %0 \n\t" 25 "addl %5, %0 \n\t" 26 "addl %6, %0" 27 : "+r" (out) 28 : "r" (a), "r" (b), "r" (c), "g" (d), "g" (e), "g" (f) 29 : "%eax", "%esi"); 30 31 if (out != 127) 32 abort (); 33 34 return 0; 35} 36