/* PR rtl-optimization/56151 */ /* { dg-do compile } */ /* { dg-options "-O2" } */ int vara, varb; void foo (int i, int j) { vara = varb | vara; } /* Verify the above is compiled into movl varb, %reg; orl %reg, vara instead of longer movl vara, %reg; orl varb, %reg; movl %reg, vara. */ /* { dg-final { scan-assembler-not "mov\[^\n\r]*vara" { target nonpic } } } */ /* { dg-final { scan-assembler-times "mov\[^\n\r]*varb" 1 { target nonpic } } } */ /* { dg-final { scan-assembler-times "or\[^\n\r]*vara" 1 { target nonpic } } } */