This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: RFA: Remove undocumented SH -mfmovd option
- From: Kaz Kojima <kkojima at rr dot iij4u dot or dot jp>
- To: nickc at redhat dot com
- Cc: aoliva at redhat dot com, gcc-patches at gcc dot gnu dot org
- Date: Thu, 02 Jul 2009 00:10:53 +0900 (JST)
- Subject: Re: RFA: Remove undocumented SH -mfmovd option
- References: <m3k52srers.fsf@redhat.com>
Hi Nick,
Nick Clifton <nickc@redhat.com> wrote:
> The SH2A multilib of the SH port has some problems because GCC is
> generating 64-bit transfer instructions for the 'double' type when
> the data is not 8-byte aligned. This turns out to be the fault of
> the undocumented -mfomvd command line option which is enabled for
> the SH2A multilib.
>
> The attached patch removes this option and tidies up the code that
> used to refer to it. With the patch applied I get 7 fewer
> unexpected failures in the gcc testsuite for the -m2a multilib (and
> no regressions for the other multilibs).
>
> Please may I apply the patch ?
I've tested the patch with x86 cross sh4-unknown-linux-gnu
and got many execution errors. Here are the first ~10 of them:
FAIL: gcc.c-torture/execute/builtins/complex-1.c execution, -O0
FAIL: gcc.c-torture/execute/builtins/complex-1.c execution, -O1
FAIL: gcc.c-torture/execute/builtins/complex-1.c execution, -O2
FAIL: gcc.c-torture/execute/builtins/complex-1.c execution, -O3 -fomit-frame-pointer
FAIL: gcc.c-torture/execute/builtins/complex-1.c execution, -O3 -g
FAIL: gcc.c-torture/execute/builtins/complex-1.c execution, -Os
Running /exp/ldroot/dodes/LOCAL/trunk/gcc/testsuite/gcc.c-torture/execute/execute.exp ...
FAIL: gcc.c-torture/execute/20000603-1.c execution, -O0
FAIL: gcc.c-torture/execute/20000603-1.c execution, -O1
FAIL: gcc.c-torture/execute/20010118-1.c execution, -O0
FAIL: gcc.c-torture/execute/20020411-1.c execution, -O0
FAIL: gcc.c-torture/execute/20021120-1.c execution, -O3 -fomit-frame-pointer -funroll-loops
I'll take a look what is going on.
Regards,
kaz