2009-07-17 Richard Guenther <rguenther@suse.de>
[official-gcc.git] / gcc / testsuite / gcc.dg / torture / pr20314-1.c
blob8a69c2dcaf54569a00e823d5ec94c2dd4787838c
1 /* PR inline-asm/20314 */
2 /* { dg-do compile { target i?86-*-* x86_64-*-* powerpc*-*-* ia64-*-* } } */
4 int
5 f1 (void)
7 int x = 4, y;
8 __asm__ volatile ("" : "+r,r" (x), "=r,r" (y)
9 : "%r,r" (x), "m,r" (8), "r,r" (2));
10 return x;
13 int
14 f2 (void)
16 int x = 4, y;
17 __asm__ volatile ("" : "=r,r" (x), "=r,r" (y)
18 : "%0,0" (x), "m,r" (8), "r,r" (2));
19 return x;
22 int
23 f3 (void)
25 int x = 4, y;
26 __asm__ volatile ("" : "+r,r" (x), "=r,r" (y)
27 : "%m,r" (8), "r,r" (2));
28 return x;
31 int
32 f4 (void)
34 int x = 4, y;
35 __asm__ volatile ("" : "+r" (x), "=r" (y)
36 : "r" (x), "r" (8), "r" (2));
37 return x;
40 int
41 f5 (void)
43 int x = 4, y;
44 __asm__ volatile ("" : "=r" (x), "=r" (y)
45 : "0" (x), "r" (8), "r" (2));
46 return x;
49 int
50 f6 (void)
52 int x = 4, y;
53 __asm__ volatile ("" : "+r" (x), "=r" (y)
54 : "r" (8), "r" (2));
55 return x;