This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: 19991104 ICE compiling glibc
- To: gcc-patches at gcc dot gnu dot org
- Subject: Re: 19991104 ICE compiling glibc
- From: Richard Henderson <rth at cygnus dot com>
- Date: Sat, 6 Nov 1999 09:55:13 -0800
- References: <Pine.LNX.4.10.9911052338301.17925-101000@mullet.itr.unisa.edu.au> <19991105102522.A11127@cygnus.com>
On Fri, Nov 05, 1999 at 10:25:22AM -0800, Richard Henderson wrote:
> * i386.c (split_xf): New.
> * i386-protos.h: Declare it.
> * i386.md (movxf_1): Add general regs alternatives.
> (movxf_1+1): New splitter for same.
The failure to handle overlap pointed out by Jan. Since this
code path shouldn't be happening normally, take the easy way out.
r~
* i386.md (movdf_1, movxf_1): Earlyclobber general regs destination.
Index: i386.md
===================================================================
RCS file: /cvs/gcc/egcs/gcc/config/i386/i386.md,v
retrieving revision 1.101
diff -c -p -d -r1.101 i386.md
*** i386.md 1999/11/05 18:19:55 1.101
--- i386.md 1999/11/06 17:51:52
***************
*** 1855,1861 ****
}")
(define_insn "*movdf_1"
! [(set (match_operand:DF 0 "nonimmediate_operand" "=f,m,f,*r,m,*r")
(match_operand:DF 1 "general_operand" "fm,f,G,*rm,*r,G"))]
""
"*
--- 1855,1861 ----
}")
(define_insn "*movdf_1"
! [(set (match_operand:DF 0 "nonimmediate_operand" "=f,m,f,*&r,m,*r")
(match_operand:DF 1 "general_operand" "fm,f,G,*rm,*r,G"))]
""
"*
***************
*** 1980,1986 ****
}")
(define_insn "*movxf_1"
! [(set (match_operand:XF 0 "nonimmediate_operand" "=f,m,f,*r,o")
(match_operand:XF 1 "general_operand" "fm,f,G,*ro,*r"))]
""
"*
--- 1980,1986 ----
}")
(define_insn "*movxf_1"
! [(set (match_operand:XF 0 "nonimmediate_operand" "=f,m,f,*&r,o")
(match_operand:XF 1 "general_operand" "fm,f,G,*ro,*r"))]
""
"*