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