diff options
Diffstat (limited to 'gcc/testsuite/gcc.target/visium/bit_test.c')
-rw-r--r-- | gcc/testsuite/gcc.target/visium/bit_test.c | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.target/visium/bit_test.c b/gcc/testsuite/gcc.target/visium/bit_test.c new file mode 100644 index 00000000000..2de9208f4b0 --- /dev/null +++ b/gcc/testsuite/gcc.target/visium/bit_test.c @@ -0,0 +1,31 @@ +/* { dg-do compile } */ +/* { dg-options "-O2" } */ + +extern void bar (void); + +void foo1 (unsigned int i) +{ + if (i & 4) + bar (); +} + +void foo2 (unsigned int i) +{ + if (i & 0x80000000) + bar (); +} + +void foo3 (unsigned char c) +{ + if (c & 4) + bar (); +} + +void foo4 (unsigned char c) +{ + if (c & 0x80) + bar (); +} + +/* { dg-final { scan-assembler-times "lsr.l" 2 } } */ +/* { dg-final { scan-assembler-times "cmp" 2 } } */ |