| /* { dg-do compile { target cris-*-* } } */ |
| /* { dg-final { scan-assembler "and.w " } } */ |
| /* { dg-final { scan-assembler "and.b " } } */ |
| /* { dg-final { scan-assembler-not "and.d" } } */ |
| /* { dg-options "-O2" } */ |
| |
| /* Test the "asrandb", "asrandw", "lsrandb" and "lsrandw" peephole2:s |
| trivially. */ |
| |
| unsigned int |
| andwlsr (unsigned int x) |
| { |
| return (x >> 17) & 0x7ff; |
| } |
| |
| unsigned int |
| andblsr (unsigned int x) |
| { |
| return (x >> 25) & 0x5f; |
| } |
| |
| int |
| andwasr (int x) |
| { |
| return (x >> 17) & 0x7ff; |
| } |
| |
| int |
| andbasr (int x) |
| { |
| return (x >> 25) & 0x5f; |
| } |