/* PR target/51274 */ /* { dg-do compile } */ /* { dg-options "-O2 -mno-isel" } */ /* { dg-final { scan-assembler-times "addic" 4 } } */ /* { dg-final { scan-assembler-times "subfe" 1 } } */ /* { dg-final { scan-assembler-times "addze" 3 } } */ long ne0(long a) { return a != 0; } long plus_ne0(long a, long b) { return (a != 0) + b; } void dummy(void); void cmp_plus_ne0(long a, long b) { if ((a != 0) + b) dummy(); } long plus_ne0_cmp(long a, long b) { a = (a != 0) + b; if (a) dummy(); return a; }