diff options
Diffstat (limited to 'gcc/testsuite/gcc.target/mips/maddu-4.c')
-rw-r--r-- | gcc/testsuite/gcc.target/mips/maddu-4.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.target/mips/maddu-4.c b/gcc/testsuite/gcc.target/mips/maddu-4.c new file mode 100644 index 000000000..9c1ccd5f9 --- /dev/null +++ b/gcc/testsuite/gcc.target/mips/maddu-4.c @@ -0,0 +1,28 @@ +/* { dg-do compile } */ +/* { dg-options "-O2 -mdspr2 -mgp32" } */ +/* { dg-final { scan-assembler-times "\tmaddu\t\\\$ac" 3 } } */ + +typedef unsigned int ui; +typedef unsigned long long ull; + +NOMIPS16 ull +f1 (ui x, ui y, ull z) +{ + return (ull) x * y + z; +} + +NOMIPS16 ull +f2 (ui x, ui y, ull z) +{ + return z + (ull) y * x; +} + +NOMIPS16 ull +f3 (ui x, ui y, ull z) +{ + ull t = (ull) x * y; + int temp = 5; + if (temp == 5) + z += t; + return z; +} |