diff options
Diffstat (limited to 'gcc/testsuite/gcc.target/mips/octeon-exts-4.c')
-rw-r--r-- | gcc/testsuite/gcc.target/mips/octeon-exts-4.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.target/mips/octeon-exts-4.c b/gcc/testsuite/gcc.target/mips/octeon-exts-4.c new file mode 100644 index 000000000..7e6a578a1 --- /dev/null +++ b/gcc/testsuite/gcc.target/mips/octeon-exts-4.c @@ -0,0 +1,20 @@ +/* { dg-do compile } */ +/* { dg-options "-O -march=octeon -mgp64" } */ +/* { dg-final { scan-assembler-not "\tsll\t\[^\n\]*,0" } } */ +/* { dg-final { scan-assembler-times "\texts\t" 6 } } */ + +#define TEST(ID, TYPE, SHIFT) \ + int NOMIPS16 \ + f##ID (long long y) \ + { \ + return (TYPE) ((TYPE) (y >> SHIFT) + 1); \ + } \ + int NOMIPS16 \ + g##ID (unsigned long long y) \ + { \ + return (TYPE) ((TYPE) (y >> SHIFT) + 1); \ + } + +TEST (1, int, 10) +TEST (2, short, 5) +TEST (3, char, 31) |