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