Bug 50945 - [4.7 regression] ICE on floating-point move with -msoft-float
Summary: [4.7 regression] ICE on floating-point move with -msoft-float
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: target (show other bugs)
Version: 4.7.0
: P3 normal
Target Milestone: 4.7.0
Assignee: Eric Botcazou
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-11-01 17:51 UTC by Joel Sherrill
Modified: 2011-11-02 20:09 UTC (History)
1 user (show)

See Also:
Host:
Target: sparc-*-*
Build:
Known to work: 4.6.1
Known to fail:
Last reconfirmed: 2011-11-01 00:00:00


Attachments
Preprocessed source for failure case (9.07 KB, application/x-bzip)
2011-11-01 17:53 UTC, Joel Sherrill
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Joel Sherrill 2011-11-01 17:51:03 UTC
Updated today.  Revision 180737
Host: x86_64-unknown-linux-gnu
Target: sparc-rtems4.11


/home2/joel/build/b-sparc-gcc/./gcc/xgcc -B/home2/joel/build/b-sparc-gcc/./gcc/ -nostdinc -B/home2/joel/build/b-sparc-gcc/sparc-rtems4.11/newlib/ -isystem /home2/joel/build/b-sparc-gcc/sparc-rtems4.11/newlib/targ-include -isystem /users/joel/test-gcc/gcc-svn/newlib/libc/include -B/users/joel/test-gcc/install-svn/sparc-rtems4.11/bin/ -B/users/joel/test-gcc/install-svn/sparc-rtems4.11/lib/ -isystem /users/joel/test-gcc/install-svn/sparc-rtems4.11/include -isystem /users/joel/test-gcc/install-svn/sparc-rtems4.11/sys-include    -g -O2 -msoft-float -O2 -I/users/joel/test-gcc/gcc-svn/gcc/../newlib/libc/sys/rtems/include -I. -I. -I/users/joel/test-gcc/gcc-svn/gcc -I/users/joel/test-gcc/gcc-svn/gcc/. -I/users/joel/test-gcc/gcc-svn/gcc/../include -I/users/joel/test-gcc/gcc-svn/gcc/../libdecnumber -I/users/joel/test-gcc/gcc-svn/gcc/../libdecnumber/dpd -I../libdecnumber -I/users/joel/test-gcc/gcc-svn/gcc/../libgcc -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE  -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition  -isystem ./include   -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector -Dinhibit_libc -I/users/joel/test-gcc/gcc-svn/libgcc/../newlib/libc/sys/rtems/include -I. -I. -I../../.././gcc -I/users/joel/test-gcc/gcc-svn/libgcc -I/users/joel/test-gcc/gcc-svn/libgcc/. -I/users/joel/test-gcc/gcc-svn/libgcc/../gcc -I/users/joel/test-gcc/gcc-svn/libgcc/../include  -DHAVE_CC_TLS  -o _powixf2.o -MT _powixf2.o -MD -MP -MF _powixf2.dep -DL_powixf2 -c /users/joel/test-gcc/gcc-svn/libgcc/../gcc/libgcc2.c \
  
/users/joel/test-gcc/gcc-svn/libgcc/../gcc/libgcc2.c: In function '__powidf2':
/users/joel/test-gcc/gcc-svn/libgcc/../gcc/libgcc2.c:1778:1: error: could not split insn
(insn 60 111 195 (set (reg:DF 8 %o0)
        (const_double:DF 1.0e+0 [0x0.8p+1])) /users/joel/test-gcc/gcc-svn/libgcc/../gcc/libgcc2.c:1777 68 {*movdf_insn_sp32}
     (expr_list:REG_EQUAL (const_double:DF 1.0e+0 [0x0.8p+1])
        (nil)))
/users/joel/test-gcc/gcc-svn/libgcc/../gcc/libgcc2.c:1778:1: internal compiler error: in final_scan_insn, at final.c:2709
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
Comment 1 Joel Sherrill 2011-11-01 17:53:23 UTC
Created attachment 25676 [details]
Preprocessed source for failure case
Comment 2 Joel Sherrill 2011-11-01 17:55:48 UTC
WORKS: -O0 -msoft-float 
FAILS: -O1 -msoft-float 
FAILS: -O2 -msoft-float 
WORKS: -O2
Comment 3 Eric Botcazou 2011-11-01 18:25:56 UTC
Please set the version field when you open a PR ("Unknown" doesn't count) and try to find a descriptive summary.
Comment 4 Eric Botcazou 2011-11-01 18:27:31 UTC
Fixing.
Comment 5 Eric Botcazou 2011-11-02 20:03:32 UTC
Author: ebotcazou
Date: Wed Nov  2 20:03:27 2011
New Revision: 180791

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=180791
Log:
	PR target/50945
	* config/sparc/sparc.md (movsf_insn): Reindent constraints.
	(movdf_insn_sp32): Likewise.  Remove redundant G constraint.
	(movdf_insn_sp64): Likewise.
	(DFmode splitter): Do not test TARGET_FPU.
	(movtf_insn_sp32): Reindent constraints.
	(movtf_insn_sp32_no_fpu): Likewise.
	(movtf_insn_sp64): Likewise.
	(movtf_insn_sp64_hq): Likewise.
	(movtf_insn_sp64_no_fpu): Likewise.

Added:
    trunk/gcc/testsuite/gcc.target/sparc/20111102-1.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/sparc/sparc.md
    trunk/gcc/testsuite/ChangeLog
Comment 6 Eric Botcazou 2011-11-02 20:07:31 UTC
Author: ebotcazou
Date: Wed Nov  2 20:07:26 2011
New Revision: 180792

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=180792
Log:
	PR target/50945
	* config/sparc/sparc.md (movsf_insn): Reindent constraints.
	(movsf_insn_no_fpu): Likewise.
	(movdf_insn_sp32): Likewise.
	(movdf_insn_sp32_no_fpu): Likewise.
	(movdf_insn_sp32_v9): Likewise.  Remove redundant GY constraint.
	(movdf_insn_sp32_v9_no_fpu): Likewise.
	(movdf_insn_sp64): Likewise.
	(movdf_insn_sp64_no_fpu): Likewise.
	(movtf_insn_sp32): Likewise.
	(movtf_insn_sp32_no_fpu): Likewise.
	(movtf_insn_sp64): Likewise.
	(movtf_insn_sp64_hq): Likewise.
	(movtf_insn_sp64_no_fpu): Likewise.

Modified:
    branches/gcc-4_6-branch/gcc/ChangeLog
    branches/gcc-4_6-branch/gcc/config/sparc/sparc.md
Comment 7 Eric Botcazou 2011-11-02 20:09:12 UTC
Thanks for reporting the problem.