| /* { dg-do compile { target cris-*-* } } */ |
| /* { dg-final { scan-assembler "and.w -137," } } */ |
| /* { dg-final { scan-assembler "and.b -64," } } */ |
| /* { dg-final { scan-assembler "and.w -139," } } */ |
| /* { dg-final { scan-assembler "and.b -63," } } */ |
| /* { dg-final { scan-assembler-not "and.d" } } */ |
| /* { dg-options "-O2" } */ |
| |
| /* PR target/17984. Test-case based on |
| testsuite/gcc.dg/cris-peep2-xsrand.c. */ |
| |
| unsigned int |
| andwlsr (unsigned int x) |
| { |
| return (x >> 16) & 0xff77; |
| } |
| |
| unsigned int |
| andblsr (unsigned int x) |
| { |
| return (x >> 24) & 0xc0; |
| } |
| |
| int |
| andwasr (int x) |
| { |
| return (x >> 16) & 0xff75; |
| } |
| |
| int |
| andbasr (int x) |
| { |
| return (x >> 24) & 0xc1; |
| } |