diff options
author | Richard Sandiford <rdsandiford@googlemail.com> | 2008-11-13 22:49:37 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2008-11-13 22:49:37 +0000 |
commit | ffe6ff66ca8f440d717b2a3a5012dcfb3f2edb4a (patch) | |
tree | 1cdfa00c05e201b0f8608a55e18c3ff5c3ee9124 | |
parent | 1a0f175dd76526d94996cafb539a976bcba9971c (diff) | |
download | gcc-ffe6ff66ca8f440d717b2a3a5012dcfb3f2edb4a.zip gcc-ffe6ff66ca8f440d717b2a3a5012dcfb3f2edb4a.tar.gz gcc-ffe6ff66ca8f440d717b2a3a5012dcfb3f2edb4a.tar.bz2 |
loongson-muldiv-1.c: New test.
gcc/testsuite/
* gcc.target/mips/loongson-muldiv-1.c: New test.
* gcc.target/mips/loongson-muldiv-2.c: Likewise.
From-SVN: r141836
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/mips/loongson-muldiv-1.c | 16 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/mips/loongson-muldiv-2.c | 16 |
3 files changed, 37 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 6b423ed..af455e8 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2008-11-13 Richard Sandiford <rdsandiford@googlemail.com> + + * gcc.target/mips/loongson-muldiv-1.c: New test. + * gcc.target/mips/loongson-muldiv-2.c: Likewise. + 2008-11-13 Jakub Jelinek <jakub@redhat.com> PR c++/27017 diff --git a/gcc/testsuite/gcc.target/mips/loongson-muldiv-1.c b/gcc/testsuite/gcc.target/mips/loongson-muldiv-1.c new file mode 100644 index 0000000..d8293b2 --- /dev/null +++ b/gcc/testsuite/gcc.target/mips/loongson-muldiv-1.c @@ -0,0 +1,16 @@ +/* { dg-mips-options "-O2 -march=loongson2e" } */ + +typedef int st; +typedef unsigned int ut; + +NOMIPS16 st smul (st x, st y) { return x * y; } +NOMIPS16 st sdiv (st x, st y) { return x / y + x % y; } + +NOMIPS16 ut umul (ut x, ut y) { return x * y; } +NOMIPS16 ut udiv (ut x, ut y) { return x / y + x % y; } + +/* { dg-final { scan-assembler-times "\tmultu.g\t" 2 } } */ +/* { dg-final { scan-assembler-times "\tdivu.g\t" 1 } } */ +/* { dg-final { scan-assembler-times "\tmodu.g\t" 1 } } */ +/* { dg-final { scan-assembler-times "\tdiv.g\t" 1 } } */ +/* { dg-final { scan-assembler-times "\tmod.g\t" 1 } } */ diff --git a/gcc/testsuite/gcc.target/mips/loongson-muldiv-2.c b/gcc/testsuite/gcc.target/mips/loongson-muldiv-2.c new file mode 100644 index 0000000..4953292 --- /dev/null +++ b/gcc/testsuite/gcc.target/mips/loongson-muldiv-2.c @@ -0,0 +1,16 @@ +/* { dg-mips-options "-O2 -march=loongson2e -mgp64" } */ + +typedef long long st; +typedef unsigned long long ut; + +NOMIPS16 st smul (st x, st y) { return x * y; } +NOMIPS16 st sdiv (st x, st y) { return x / y + x % y; } + +NOMIPS16 ut umul (ut x, ut y) { return x * y; } +NOMIPS16 ut udiv (ut x, ut y) { return x / y + x % y; } + +/* { dg-final { scan-assembler-times "\tdmultu.g\t" 2 } } */ +/* { dg-final { scan-assembler-times "\tddivu.g\t" 1 } } */ +/* { dg-final { scan-assembler-times "\tdmodu.g\t" 1 } } */ +/* { dg-final { scan-assembler-times "\tddiv.g\t" 1 } } */ +/* { dg-final { scan-assembler-times "\tdmod.g\t" 1 } } */ |