Rebase.
[official-gcc.git] / gcc / testsuite / gcc.dg / torture / pr61772.c
blobda4c93e1d0d6f372d1b8a5d110968555606ffd5f
1 /* { dg-do compile } */
2 /* { dg-final { scan-assembler-times "XXX" 2 } } */
4 static inline __attribute__((always_inline)) int dec_and_test (int *i)
6 asm volatile goto ("XXX %0, %l[cc_label]"
7 : : "m" (*i) : "memory" : cc_label);
8 return 0;
9 cc_label:
10 return 1;
12 extern int getit (int *);
13 int f (int *i, int cond)
15 if (cond) {
16 getit (0);
17 if (dec_and_test (i))
18 getit (i);
19 return 42;
21 if (dec_and_test (i))
22 (void)1;
23 return getit (i);