OSDN Git Service

PR testsuite/33082
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.dg / cris-peep2-xsrand.c
1 /* { dg-do compile { target cris-*-* } } */
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" } */
6
7 /* Test the "asrandb", "asrandw", "lsrandb" and "lsrandw" peephole2:s
8    trivially.  */
9
10 unsigned int
11 andwlsr (unsigned int x)
12 {
13   return (x >> 17) & 0x7ff;
14 }
15
16 unsigned int
17 andblsr (unsigned int x)
18 {
19   return (x >> 25) & 0x5f;
20 }
21
22 int
23 andwasr (int x)
24 {
25   return (x >> 17) & 0x7ff;
26 }
27
28 int
29 andbasr (int x)
30 {
31   return (x >> 25) & 0x5f;
32 }