| /* PR target/pr70799 */ |
| /* { dg-do compile { target ia32 } } */ |
| /* { dg-options "-O2 -march=slm -mno-stackrealign" } */ |
| /* { dg-final { scan-assembler "pxor" } } */ |
| /* { dg-final { scan-assembler "pcmpeqd" } } */ |
| /* { dg-final { scan-assembler "movdqa\[ \\t\]+.?\[lL\]C0" } } */ |
| |
| long long a, b, c; |
| |
| void test1 (void) |
| { |
| long long t; |
| if (a) |
| t = 0LL; |
| else |
| t = b; |
| a = c & t; |
| b = c | t; |
| } |
| |
| void test2 (void) |
| { |
| long long t; |
| if (a) |
| t = -1LL; |
| else |
| t = b; |
| a = c & t; |
| b = c | t; |
| } |
| |
| void test3 (void) |
| { |
| long long t; |
| if (a) |
| t = 0xf0f0f0f0f0f0f0f0LL; |
| else |
| t = b; |
| a = c & t; |
| b = c | t; |
| } |