PR target/83368
[official-gcc.git] / gcc / testsuite / gcc.target / cris / peep2-xsrand.c
blobdf0e76886b47d89968d03cdf07badec067c31c97
1 /* { dg-do compile } */
2 /* { dg-final { scan-assembler "and.w " } } */
3 /* { dg-final { scan-assembler "and.b " } } */
4 /* { dg-final { scan-assembler-not "and.d" } } */
5 /* { dg-options "-O2" } */
7 /* Test the "asrandb", "asrandw", "lsrandb" and "lsrandw" peephole2:s
8 trivially. */
10 unsigned int
11 andwlsr (unsigned int x)
13 return (x >> 17) & 0x7ff;
16 unsigned int
17 andblsr (unsigned int x)
19 return (x >> 25) & 0x5f;
22 int
23 andwasr (int x)
25 return (x >> 17) & 0x7ff;
28 int
29 andbasr (int x)
31 return (x >> 25) & 0x5f;