This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: 19991104 ICE compiling glibc


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"))]
    ""
    "*

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]