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]
Other format: [Raw text]

fix target/19028


Fallout from my 19010 patch; VALID_SSE_REG_MODE no longer ever matches
SSE2 modes.

I'm not 100% certain why we're testing for SSE modes at all, given that
we know that SSE_REG_P is false, but I didn't feel like over-analyzing
this at the moment.

Testing still in progress on x86_64-linux, but the bootstrap is complete
so I'm going ahead and checking it in.


r~


        * config/i386/i386.md (sse compare splitter): Test for SF and DFmode
        explicitly instead of using VALID_SSE_REG_MODE.

Index: i386.md
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/i386/i386.md,v
retrieving revision 1.577
diff -c -p -d -r1.577 i386.md
*** i386.md	16 Dec 2004 06:35:57 -0000	1.577
--- i386.md	16 Dec 2004 09:37:58 -0000
***************
*** 18209,18215 ****
     (clobber (match_operand 6 "" ""))
     (clobber (reg:CC FLAGS_REG))]
    "!SSE_REG_P (operands[0]) && reload_completed
!    && VALID_SSE_REG_MODE (GET_MODE (operands[0]))"
    [(const_int 0)]
  {
     ix86_compare_op0 = operands[5];
--- 18209,18216 ----
     (clobber (match_operand 6 "" ""))
     (clobber (reg:CC FLAGS_REG))]
    "!SSE_REG_P (operands[0]) && reload_completed
!    && (GET_MODE (operands[0]) == SFmode
!        || (TARGET_SSE2 && GET_MODE (operands[0]) == DFmode))"
    [(const_int 0)]
  {
     ix86_compare_op0 = operands[5];


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