| /* APPLE LOCAL file mainline */ |
| /* PR inline-asm/6806 */ |
| /* { dg-do run { target i?86-*-* } } */ |
| /* { dg-options "-O2" } */ |
| /* { dg-skip-if "" { ilp32 } { "-fpic" "-fPIC" } { "" } } */ |
| /* { dg-skip-if "" { i?86-*-darwin* } { "*" } { "" } } */ |
| |
| extern void abort (void); |
| |
| volatile int out = 1; |
| volatile int a = 2; |
| volatile int b = 4; |
| volatile int c = 8; |
| volatile int d = 16; |
| volatile int e = 32; |
| volatile int f = 64; |
| |
| int |
| main () |
| { |
| asm volatile ("xorl %%eax, %%eax \n\t" |
| "xorl %%esi, %%esi \n\t" |
| "addl %1, %0 \n\t" |
| "addl %2, %0 \n\t" |
| "addl %3, %0 \n\t" |
| "addl %4, %0 \n\t" |
| "addl %5, %0 \n\t" |
| "addl %6, %0" |
| : "+r" (out) |
| : "r" (a), "r" (b), "r" (c), "g" (d), "g" (e), "g" (f) |
| : "%eax", "%esi"); |
| |
| if (out != 127) |
| abort (); |
| |
| return 0; |
| } |