This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [Fwd: sh-elf-4_1-branch partial merge to mainline]
- From: Joern RENNECKE <joern dot rennecke at st dot com>
- To: gcc-patches at gcc dot gnu dot org
- Date: Mon, 09 May 2005 18:45:21 +0100
- Subject: Re: [Fwd: sh-elf-4_1-branch partial merge to mainline]
- References: <427F93DD.7050901@st.com>
Joern Rennecke wrote:
I've merged the SH specific code from the sh-elf-4_1-branch into
a copy of mainline from yesterday.
I'm testing this for i686-px-linux-gnu native, and X sh64-elf and sh-elf
with H.J. Lu's patch for binutils PR936.
A number of regressions are expected for sh64-elf because the middle
end is still broken in various ways, but I'll check that all the above
targets build, there are no new regressions for the native build, and
any new regressions can be plausibly attributed to the known bugs (all
of which have patches waitning for review), before checking this in.
I expect to look at the results on monday.
I've checked the merge in now.
i686-pc-linux-gnu native bootstrap / regtest finished without new regressions.
sh64-elf didn't build in the baseline, but it did build with the patches,
so this is an improvement, but no exact regression comparison is available.
The observed regressions were in line with what was seen before in earlier
snapshots.
sh-elf has some regressions fixed, and showed two groups of new regressions
that already have patches waiting for review:
FAIL: gcc.c-torture/execute/ashrdi-1.c execution, -O0
FAIL: gcc.c-torture/execute/ashrdi-1.c execution, -O1
FAIL: gcc.c-torture/execute/ashrdi-1.c execution, -O2
FAIL: gcc.c-torture/execute/ashrdi-1.c execution, -Os
PR middle-end/20714
FAIL: gcc.c-torture/compile/951116-1.c -O2 (test for excess errors)
FAIL: gcc.c-torture/compile/951116-1.c -O3 -fomit-frame-pointer (test for exce
ss errors)
FAIL: gcc.c-torture/compile/951116-1.c -O3 -g (test for excess errors)
FAIL: gcc.c-torture/compile/951116-1.c -Os (test for excess errors)
PR rtl-optimization/20756
There was one more regression for which I have applied an obvious fix:
FAIL: gcc.dg/pr20922-5.c scan-tree-dump-times = 0 0
2005-05-09 J"orn Rennecke <joern.rennecke@st.com>
* config/sh/sh.h (OVERRIDE_OPTIONS): Don't set flag_finite_math_only
if flag_signaling_nans is set.
For TARGET_SH2E, if flag_finite_math_only is not set, set IEEE_BIT.
* doc/invoke.texi (SH -mieee): Document relation to -ffinite-math-only.
*** config/sh/sh.h-merged 2005-05-09 15:43:05.000000000 +0100
--- config/sh/sh.h 2005-05-09 16:40:06.000000000 +0100
*************** do { \
*** 854,860 ****
int regno; \
\
if (flag_finite_math_only == 2) \
! flag_finite_math_only = TARGET_SH2E && ! TARGET_IEEE; \
sh_cpu = CPU_SH1; \
assembler_dialect = 0; \
if (TARGET_SH2) \
--- 854,863 ----
int regno; \
\
if (flag_finite_math_only == 2) \
! flag_finite_math_only \
! = !flag_signaling_nans && TARGET_SH2E && ! TARGET_IEEE; \
! if (TARGET_SH2E && !flag_finite_math_only) \
! target_flags |= IEEE_BIT; \
sh_cpu = CPU_SH1; \
assembler_dialect = 0; \
if (TARGET_SH2) \
*** doc/invoke.texi-tagged 2005-05-09 16:07:51.000000000 +0100
--- doc/invoke.texi 2005-05-09 16:39:23.000000000 +0100
*************** Mark the @code{MAC} register as call-clo
*** 11463,11468 ****
--- 11469,11479 ----
@item -mieee
@opindex mieee
Increase IEEE-compliance of floating-point code.
+ At the moment, this is equivalent to @option{-fno-finite-math-only}.
+ When generating 16 bit SH opcodes, getting IEEE-conforming results for
+ comparisons of NANs / infinities incurs extra overhead in every
+ floating point comparison, therefore the default is set to
+ @option{-ffinite-math-only}.
@item -misize
@opindex misize