diff options
Diffstat (limited to 'gcc-4.9/gcc/testsuite/gcc.target/sparc/vis3move-3.c')
-rw-r--r-- | gcc-4.9/gcc/testsuite/gcc.target/sparc/vis3move-3.c | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/gcc.target/sparc/vis3move-3.c b/gcc-4.9/gcc/testsuite/gcc.target/sparc/vis3move-3.c new file mode 100644 index 000000000..3b2116eec --- /dev/null +++ b/gcc-4.9/gcc/testsuite/gcc.target/sparc/vis3move-3.c @@ -0,0 +1,41 @@ +/* { dg-do compile } */ +/* { dg-require-effective-target ilp32 } */ +/* { dg-options "-O1 -mvis3" } */ + +float fnegs (float a) +{ + return -a; +} + +double fnegd (double a) +{ + return -a; +} + +float fmuls (float a, float b) +{ + return a * b; +} + +double fmuld (double a, double b) +{ + return a * b; +} + +double fsmuld (float a, float b) +{ + return (double)a * (double)b; +} + +double fnsmuld (float a, float b) +{ + return -((double)a * (double)b); +} + +/* { dg-final { scan-assembler-times "movwtos\t%" 13 } } */ +/* { dg-final { scan-assembler "fnegs\t%" } } */ +/* { dg-final { scan-assembler "fnegd\t%" } } */ +/* { dg-final { scan-assembler "fmuls\t%" } } */ +/* { dg-final { scan-assembler "fmuld\t%" } } */ +/* { dg-final { scan-assembler "fsmuld\t%" } } */ +/* { dg-final { scan-assembler "fnsmuld\t%" } } */ |