| /* { dg-do compile { target cris-*-* } } */ |
| /* { dg-final { scan-assembler-not "and.d " } } */ |
| /* { dg-final { scan-assembler-not "move.d " } } */ |
| /* { dg-final { scan-assembler "cLear.b" } } */ |
| /* { dg-final { scan-assembler "movu.b" } } */ |
| /* { dg-final { scan-assembler "and.b" } } */ |
| /* { dg-final { scan-assembler "movu.w" } } */ |
| /* { dg-final { scan-assembler "and.w" } } */ |
| /* { dg-final { scan-assembler "andq" } } */ |
| /* { dg-options "-O2" } */ |
| |
| /* Test the "andu" peephole2 trivially, memory operand. */ |
| |
| int |
| clearb (int x, int *y) |
| { |
| return *y & 0xff00; |
| } |
| |
| int |
| andb (int x, int *y) |
| { |
| return *y & 0x3f; |
| } |
| |
| int |
| andw (int x, int *y) |
| { |
| return *y & 0xfff; |
| } |
| |
| int |
| andq (int x, int *y) |
| { |
| return *y & 0xf0; |
| } |
| |
| int |
| andq2 (int x, int *y) |
| { |
| return *y & 0xfff0; |
| } |