diff options
Diffstat (limited to 'gcc/testsuite/gcc.target/mips/extend-1.c')
-rw-r--r-- | gcc/testsuite/gcc.target/mips/extend-1.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.target/mips/extend-1.c b/gcc/testsuite/gcc.target/mips/extend-1.c new file mode 100644 index 000000000..429510686 --- /dev/null +++ b/gcc/testsuite/gcc.target/mips/extend-1.c @@ -0,0 +1,14 @@ +/* { dg-options "-O -mgp64 forbid_cpu=octeon" } */ +/* { dg-final { scan-assembler-times "\tdsll\t" 5 } } */ +/* { dg-final { scan-assembler-times "\tdsra\t" 5 } } */ +/* { dg-final { scan-assembler-not "\tsll\t" } } */ + +#define TEST_CHAR(T, N) \ + NOMIPS16 T f##N (long long d, T *a, T *r) { T b = (char) d; *r = b + *a; } +#define TEST_SHORT(T, N) \ + NOMIPS16 T g##N (long long d, T *a, T *r) { T b = (short) d; *r = b + *a; } +#define TEST(T, N) TEST_CHAR (T, N) TEST_SHORT (T, N) + +TEST (int, 1); +TEST (long long, 2); +TEST_CHAR (short, 3); |