Hello,
This fixes some of the FPU related SH target test cases, which are not
skipped / not skipped appropriately.
Tested with
make -k check-gcc RUNTESTFLAGS="sh.exp --target_board=sh-sim
\{-m2/-ml,-m2/-mb,-m2e/-mb,/-m2e/-ml,-m3/-mb,-m3/-ml,-m3e/-mb,-m3e/-mb,
-m2a/-mb,-m2a-single-only/-mb,-m4/-ml,-m4/-mb,-m4-single-only/-mb,
-m4-nofpu/-mb,-m4a/-ml,-m4a/-mb}"
Committed as obvious.
Cheers,
Oleg
testsuite/ChangeLog:
* gcc.target/sh/pr50749-sf-postinc-1.c: Skip for -m3. Don't
skip for -m2e or -m2a.
* gcc.target/sh/pr50749-sf-postinc-3.c: Likewise.
* gcc.target/sh/pr53511-1.c: Likewise.
* gcc.target/sh/pr50749-sf-predec-1.c: Likewise.
* gcc.target/sh/pr50749-sf-predec-3.c: Likewise.
* gcc.target/sh/pr53512-1.c: Skip for -m3*.
* gcc.target/sh/pr53512-3.c: Likewise.
* gcc.target/sh/pr21255-3.c: Skip for single precision FPU
targets.
Index: gcc/testsuite/gcc.target/sh/pr50749-sf-postinc-1.c
===================================================================
--- gcc/testsuite/gcc.target/sh/pr50749-sf-postinc-1.c (revision 190325)
+++ gcc/testsuite/gcc.target/sh/pr50749-sf-postinc-1.c (working copy)
@@ -1,7 +1,7 @@
/* PR target/50749: Verify that post-increment addressing is generated. */
/* { dg-do compile { target "sh*-*-*" } } */
/* { dg-options "-O2" } */
-/* { dg-skip-if "" { "sh*-*-*" } { "-m1" "-m2*" "-m4al" "*nofpu" "-m4-340*" "-m4-400*" "-m4-500*" "-m5*" } { "" } } */
+/* { dg-skip-if "" { "sh*-*-*" } { "-m1" "-m2" "-m3" "-m4al" "*nofpu" "-m4-340*" "-m4-400*" "-m4-500*" "-m5*" } { "" } } */
/* { dg-final { scan-assembler-times "fmov.s\t@r\[0-9]\+\\+,fr\[0-9]\+" 1 } } */
float*
Index: gcc/testsuite/gcc.target/sh/pr50749-sf-postinc-3.c
===================================================================
--- gcc/testsuite/gcc.target/sh/pr50749-sf-postinc-3.c (revision 190325)
+++ gcc/testsuite/gcc.target/sh/pr50749-sf-postinc-3.c (working copy)
@@ -2,7 +2,7 @@
inside a loop. */
/* { dg-do compile { target "sh*-*-*" } } */
/* { dg-options "-O2" } */
-/* { dg-skip-if "" { "sh*-*-*" } { "-m1" "-m2*" "-m4al" "*nofpu" "-m4-340*" "-m4-400*" "-m4-500*" "-m5*" } { "" } } */
+/* { dg-skip-if "" { "sh*-*-*" } { "-m1" "-m2" "-m3" "-m4al" "*nofpu" "-m4-340*" "-m4-400*" "-m4-500*" "-m5*" } { "" } } */
/* { dg-final { scan-assembler-times "fmov.s\t@r\[0-9]\+\\+,fr\[0-9]\+" 1 } } */
float
Index: gcc/testsuite/gcc.target/sh/pr53511-1.c
===================================================================
--- gcc/testsuite/gcc.target/sh/pr53511-1.c (revision 190325)
+++ gcc/testsuite/gcc.target/sh/pr53511-1.c (working copy)
@@ -1,7 +1,7 @@
/* Verify that the fmac insn is used for the standard fmaf function. */
/* { dg-do compile { target "sh*-*-*" } } */
/* { dg-options "-O1" } */
-/* { dg-skip-if "" { "sh*-*-*" } { "-m1" "-m2*" "-m4al" "*nofpu" "-m4-340*" "-m4-400*" "-m4-500*" "-m5*" } { "" } } */
+/* { dg-skip-if "" { "sh*-*-*" } { "-m1" "-m2" "-m3" "-m4al" "*nofpu" "-m4-340*" "-m4-400*" "-m4-500*" "-m5*" } { "" } } */
/* { dg-final { scan-assembler "fmac" } } */
#include <math.h>
Index: gcc/testsuite/gcc.target/sh/pr53512-1.c
===================================================================
--- gcc/testsuite/gcc.target/sh/pr53512-1.c (revision 190325)
+++ gcc/testsuite/gcc.target/sh/pr53512-1.c (working copy)
@@ -2,7 +2,7 @@
-funsafe-math-optimizations. */
/* { dg-do compile { target "sh*-*-*" } } */
/* { dg-options "-O1 -mfsca -funsafe-math-optimizations" } */
-/* { dg-skip-if "" { "sh*-*-*" } { "-m1" "-m2*" "-m4al" "*nofpu" "-m4-340*" "-m4-400*" "-m4-500*" "-m5*" } { "" } } */
+/* { dg-skip-if "" { "sh*-*-*" } { "-m1" "-m2*" "-m3*" "-m4al" "*nofpu" "-m4-340*" "-m4-400*" "-m4-500*" "-m5*" } { "" } } */
/* { dg-final { scan-assembler-times "fsca" 3 } } */
#include <math.h>
Index: gcc/testsuite/gcc.target/sh/pr21255-3.c
===================================================================
--- gcc/testsuite/gcc.target/sh/pr21255-3.c (revision 190325)
+++ gcc/testsuite/gcc.target/sh/pr21255-3.c (working copy)
@@ -1,5 +1,6 @@
/* { dg-do compile { target "sh*-*-*" } } */
/* { dg-options "-O2 -fomit-frame-pointer" } */
+/* { dg-skip-if "" { "sh*-*-*" } { "-m2e" "-m3e" "*single-only" } { "" } } */
/* { dg-final { scan-assembler "mov #?0,r.*; mov #?20,r" } } */
/* { dg-final { scan-assembler "mov #?1077149696,r.*; mov #?0,r" } } */
double
Index: gcc/testsuite/gcc.target/sh/pr53512-3.c
===================================================================
--- gcc/testsuite/gcc.target/sh/pr53512-3.c (revision 190325)
+++ gcc/testsuite/gcc.target/sh/pr53512-3.c (working copy)
@@ -2,7 +2,7 @@
-funsafe-math-optimizations and -ffinite-math-only. */
/* { dg-do compile { target "sh*-*-*" } } */
/* { dg-options "-O1 -mfsrra -funsafe-math-optimizations -ffinite-math-only" } */
-/* { dg-skip-if "" { "sh*-*-*" } { "-m1" "-m2*" "-m4al" "*nofpu" "-m4-340*" "-m4-400*" "-m4-500*" "-m5*" } { "" } } */
+/* { dg-skip-if "" { "sh*-*-*" } { "-m1" "-m2*" "-m3*" "-m4al" "*nofpu" "-m4-340*" "-m4-400*" "-m4-500*" "-m5*" } { "" } } */
/* { dg-final { scan-assembler "fsrra" } } */
#include <math.h>
Index: gcc/testsuite/gcc.target/sh/pr50749-sf-predec-1.c
===================================================================
--- gcc/testsuite/gcc.target/sh/pr50749-sf-predec-1.c (revision 190325)
+++ gcc/testsuite/gcc.target/sh/pr50749-sf-predec-1.c (working copy)
@@ -1,7 +1,7 @@
/* PR target/50749: Verify that pre-decrement addressing is generated. */
/* { dg-do compile { target "sh*-*-*" } } */
/* { dg-options "-O2" } */
-/* { dg-skip-if "" { "sh*-*-*" } { "-m1" "-m2*" "-m4al" "*nofpu" "-m4-340*" "-m4-400*" "-m4-500*" "-m5*" } { "" } } */
+/* { dg-skip-if "" { "sh*-*-*" } { "-m1" "-m2" "-m3" "-m4al" "*nofpu" "-m4-340*" "-m4-400*" "-m4-500*" "-m5*" } { "" } } */
/* { dg-final { scan-assembler-times "fmov.s\tfr\[0-9]\+,@-r\[0-9]\+" 1 } } */
float*
Index: gcc/testsuite/gcc.target/sh/pr50749-sf-predec-3.c
===================================================================
--- gcc/testsuite/gcc.target/sh/pr50749-sf-predec-3.c (revision 190325)
+++ gcc/testsuite/gcc.target/sh/pr50749-sf-predec-3.c (working copy)
@@ -2,7 +2,7 @@
inside a loop. */
/* { dg-do compile { target "sh*-*-*" } } */
/* { dg-options "-O2" } */
-/* { dg-skip-if "" { "sh*-*-*" } { "-m1" "-m2*" "-m4al" "*nofpu" "-m4-340*" "-m4-400*" "-m4-500*" "-m5*" } { "" } } */
+/* { dg-skip-if "" { "sh*-*-*" } { "-m1" "-m2" "-m3" "-m4al" "*nofpu" "-m4-340*" "-m4-400*" "-m4-500*" "-m5*" } { "" } } */
/* { dg-final { scan-assembler-times "fmov.s\tfr\[0-9]\+,@-r\[0-9]\+" 1 } } */
float*