1 /* { dg-do compile } */
2 /* { dg-final { scan-assembler "and.w -137," } } */
3 /* { dg-final { scan-assembler "and.b -64," } } */
4 /* { dg-final { scan-assembler "and.w -139," } } */
5 /* { dg-final { scan-assembler "and.b -63," } } */
6 /* { dg-final { scan-assembler-not "and.d" } } */
7 /* { dg-options "-O2" } */
8
9 /* PR target/17984. Test-case based on
10 testsuite/gcc.dg/cris-peep2-xsrand.c. */
11
12 unsigned int
andwlsr(unsigned int x)13 andwlsr (unsigned int x)
14 {
15 return (x >> 16) & 0xff77;
16 }
17
18 unsigned int
andblsr(unsigned int x)19 andblsr (unsigned int x)
20 {
21 return (x >> 24) & 0xc0;
22 }
23
24 int
andwasr(int x)25 andwasr (int x)
26 {
27 return (x >> 16) & 0xff75;
28 }
29
30 int
andbasr(int x)31 andbasr (int x)
32 {
33 return (x >> 24) & 0xc1;
34 }
35