1 /* PR rtl-optimization/46865 */
2 /* { dg-do compile } */
3 /* { dg-options "-O2" } */
4
5 extern unsigned long f;
6
7 #define m1(f) \
8 if (f & 1) \
9 asm volatile ("nop /* asmnop */\n"); \
10 else \
11 asm volatile ("nop /* asmnop */\n");
12
13 #define m2(f) \
14 if (f & 1) \
15 asm volatile ("nop /* asmnop */\n" : : "i" (6) : "cx"); \
16 else \
17 asm volatile ("nop /* asmnop */\n" : : "i" (6) : "cx");
18
19 void
foo(void)20 foo (void)
21 {
22 m1 (f);
23 }
24
25 void
bar(void)26 bar (void)
27 {
28 m2 (f);
29 }
30
31 /* { dg-final { scan-assembler-times "asmnop" 2 } } */
32