Without -fno-math-errno some of the test might fail because the expected insns will not be generated.
Tested with make -k check RUNTESTFLAGS="--target_board=sh-sim\{-m2/-ml,-m2/- mb,-m2a/-mb,-m4/-ml,-m4/-mb,-m4a/-ml,-m4a/-mb}" Committed to master. gcc/testsuite/ChangeLog: * gcc.target/sh/pr53512-1.c: Add -fno-math-errno option. * gcc.target/sh/pr53512-2.c: Likewise. * gcc.target/sh/pr53512-3.c: Likewise. * gcc.target/sh/pr53512-4.c: Likewise. * gcc.target/sh/pr54680.c: Likewise.
diff --git a/gcc/testsuite/gcc.target/sh/pr53512-1.c b/gcc/testsuite/gcc.target/sh/pr53512-1.c index 14106c0..a032738 100644 --- a/gcc/testsuite/gcc.target/sh/pr53512-1.c +++ b/gcc/testsuite/gcc.target/sh/pr53512-1.c @@ -1,8 +1,8 @@ /* Verify that the fsca insn is used when specifying -mfsca and -funsafe-math-optimizations. */ /* { dg-do compile { target { has_fsca } } } */ -/* { dg-options "-O1 -mfsca -funsafe-math-optimizations" } */ +/* { dg-options "-O1 -mfsca -funsafe-math-optimizations -fno-math-errno" } */ /* { dg-final { scan-assembler-times "fsca" 3 } } */ #include <math.h> diff --git a/gcc/testsuite/gcc.target/sh/pr53512-2.c b/gcc/testsuite/gcc.target/sh/pr53512-2.c index a79e58a..48872a1 100644 --- a/gcc/testsuite/gcc.target/sh/pr53512-2.c +++ b/gcc/testsuite/gcc.target/sh/pr53512-2.c @@ -1,8 +1,8 @@ /* Verify that the fsca insn is not used when specifying -mno-fsca and -funsafe-math-optimizations. */ /* { dg-do compile { target { has_fsca } } } */ -/* { dg-options "-O1 -mno-fsca -funsafe-math-optimizations" } */ +/* { dg-options "-O1 -mno-fsca -funsafe-math-optimizations -fno-math-errno" } */ /* { dg-final { scan-assembler-not "fsca" } } */ #include <math.h> diff --git a/gcc/testsuite/gcc.target/sh/pr53512-3.c b/gcc/testsuite/gcc.target/sh/pr53512-3.c index 19e9ede..b834f35 100644 --- a/gcc/testsuite/gcc.target/sh/pr53512-3.c +++ b/gcc/testsuite/gcc.target/sh/pr53512-3.c @@ -1,8 +1,8 @@ /* Verify that the fsrra insn is used when specifying -mfsrra and -funsafe-math-optimizations and -ffinite-math-only. */ /* { dg-do compile { target { has_fsrra } } } */ -/* { dg-options "-O1 -mfsrra -funsafe-math-optimizations -ffinite-math-only" } */ +/* { dg-options "-O1 -mfsrra -funsafe-math-optimizations -ffinite-math-only -fno-math-errno" } */ /* { dg-final { scan-assembler "fsrra" } } */ #include <math.h> diff --git a/gcc/testsuite/gcc.target/sh/pr53512-4.c b/gcc/testsuite/gcc.target/sh/pr53512-4.c index a1d3e81..01a981d 100644 --- a/gcc/testsuite/gcc.target/sh/pr53512-4.c +++ b/gcc/testsuite/gcc.target/sh/pr53512-4.c @@ -1,8 +1,8 @@ /* Verify that the fsrra insn is not used when specifying -mno-fsrra and -funsafe-math-optimizations and -ffinite-math-only. */ /* { dg-do compile { target { has_fsrra } } } */ -/* { dg-options "-O1 -mno-fsrra -funsafe-math-optimizations -ffinite-math-only" } */ +/* { dg-options "-O1 -mno-fsrra -funsafe-math-optimizations -ffinite-math-only -fno-math-errno" } */ /* { dg-final { scan-assembler-not "fsrra" } } */ #include <math.h> diff --git a/gcc/testsuite/gcc.target/sh/pr54680.c b/gcc/testsuite/gcc.target/sh/pr54680.c index 7b02de3..1ca67b7 100644 --- a/gcc/testsuite/gcc.target/sh/pr54680.c +++ b/gcc/testsuite/gcc.target/sh/pr54680.c @@ -1,9 +1,9 @@ /* Verify that the fsca input value is not converted to float and then back to int. Notice that we can't count just "lds" insns because mode switches use "lds.l". */ /* { dg-do compile { target { has_fsca } } } */ -/* { dg-options "-O2 -mfsca -funsafe-math-optimizations -fno-ipa-icf" } */ +/* { dg-options "-O2 -mfsca -funsafe-math-optimizations -fno-ipa-icf -fno-math-errno" } */ /* { dg-final { scan-assembler-times "fsca" 7 } } */ /* { dg-final { scan-assembler-times "shad" 1 } } */ /* { dg-final { scan-assembler-times "lds\tr\[0-9\],fpul" 6 } } */ /* { dg-final { scan-assembler-times "fmul" 2 } } */ -- libgit2 1.7.2