* config/i386/avx512fintrin.h (_mm512_set_epi16, _mm512_set_epi8,
[official-gcc.git] / gcc / testsuite / gcc.target / sh / pr51244-10.c
blobbbbd8131f806e2f23c31ac1cb72e91f7d46f64fe
1 /* Check that compare-branch is inverted properly.
2 In this case the improved bit test is a side effect of compare-branch
3 inversion patterns, even though the branch condition does not get
4 inverted here.
5 Example:
6 mov.b @(14,r9),r0 -> mov.b @(14,r9),r0
7 shll r0 cmp/pz r0
8 subc r0,r0 bt .L192
9 and #1,r0
10 tst r0,r0
11 bt .L195
13 /* { dg-do compile } */
14 /* { dg-options "-O2" } */
15 /* { dg-final { scan-assembler-not "shll|subc|and" } } */
16 int
17 test_00 (int* p)
19 int nr = 15;
20 volatile char* addr = (volatile char*)&p[1];
22 if ((addr[(nr >> 3) ^ 7] & (1 << (nr & 7))) == 0)
23 return 40;
24 else
25 return 50;