[prev in list] [next in list] [prev in thread] [next in thread] 

List:       gcc-patches
Subject:    [3.4-BIB] x86_64 DFmode move tweeks
From:       Jan Hubicka <jh () suse ! cz>
Date:       2002-11-30 16:16:30
[Download RAW message or body]

Hi,
on 64bit we don't need 2 instructions to move DFmode values around and thus we
don't need to be curefull like we are for 32bit compilation.  Installed as
obvious.

Honza

Fri Nov 29 00:31:26 CET 2002  Jan Hubicka  <jh@suse.cz>
	* i386.md (movdf_integer):  Always enable in 64bit.
	(movdf_nointeger): Always disable in 64bit.
Index: i386.md
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/i386/i386.md,v
retrieving revision 1.380.4.32
diff -c -3 -p -r1.380.4.32 i386.md
*** i386.md	27 Nov 2002 19:35:35 -0000	1.380.4.32
--- i386.md	28 Nov 2002 23:30:26 -0000
***************
*** 2313,2319 ****
    [(set (match_operand:DF 0 "nonimmediate_operand" "=f#Y,m,f#Y,*r,o,Y#f,Y#f,Y#f,m")
  	(match_operand:DF 1 "general_operand" "fm#Y,f#Y,G,*roF,F*r,C,Y#f,YHm#f,Y#f"))]
    "(GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM)
!    && (optimize_size || !TARGET_INTEGER_DFMODE_MOVES)
     && (reload_in_progress || reload_completed
         || (ix86_cmodel == CM_MEDIUM || ix86_cmodel == CM_LARGE)
         || GET_CODE (operands[1]) != CONST_DOUBLE
--- 2313,2319 ----
    [(set (match_operand:DF 0 "nonimmediate_operand" "=f#Y,m,f#Y,*r,o,Y#f,Y#f,Y#f,m")
  	(match_operand:DF 1 "general_operand" "fm#Y,f#Y,G,*roF,F*r,C,Y#f,YHm#f,Y#f"))]
    "(GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM)
!    && ((optimize_size || !TARGET_INTEGER_DFMODE_MOVES) && !TARGET_64BIT)
     && (reload_in_progress || reload_completed
         || (ix86_cmodel == CM_MEDIUM || ix86_cmodel == CM_LARGE)
         || GET_CODE (operands[1]) != CONST_DOUBLE
***************
*** 2432,2438 ****
    [(set (match_operand:DF 0 "nonimmediate_operand" "=f#Yr,m,f#Yr,r#Yf,o,Y#rf,Y#rf,Y#rf,m")
  	(match_operand:DF 1 "general_operand" "fm#Yr,f#Yr,G,roF#Yf,Fr#Yf,C,Y#rf,Ym#rf,Y#rf"))]
    "(GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM)
!    && !optimize_size && TARGET_INTEGER_DFMODE_MOVES
     && (reload_in_progress || reload_completed
         || (ix86_cmodel == CM_MEDIUM || ix86_cmodel == CM_LARGE)
         || GET_CODE (operands[1]) != CONST_DOUBLE
--- 2432,2438 ----
    [(set (match_operand:DF 0 "nonimmediate_operand" "=f#Yr,m,f#Yr,r#Yf,o,Y#rf,Y#rf,Y#rf,m")
  	(match_operand:DF 1 "general_operand" "fm#Yr,f#Yr,G,roF#Yf,Fr#Yf,C,Y#rf,Ym#rf,Y#rf"))]
    "(GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM)
!    && ((!optimize_size && TARGET_INTEGER_DFMODE_MOVES) || TARGET_64BIT)
     && (reload_in_progress || reload_completed
         || (ix86_cmodel == CM_MEDIUM || ix86_cmodel == CM_LARGE)
         || GET_CODE (operands[1]) != CONST_DOUBLE
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic