1/* PR rtl-optimization/46865 */
2/* { dg-do compile } */
3/* { dg-options "-O2 -save-temps" } */
4
5extern 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
19void
20foo (void)
21{
22  m1 (f);
23}
24
25void
26bar (void)
27{
28  m2 (f);
29}
30
31/* { dg-final { scan-assembler-times "asmnop" 2 } } */
32/* { dg-final { cleanup-saved-temps } } */
33