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]

i386 splitter fixes



Hi,
this patch fixes few splitters to add missing reload_completed predicate.

Bootstrapped and regtested on i586.

Honza

Mon Jun 25 13:35:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
	* i386.md (float_truncate splitter, and to mov splitters): Add
	reload_completted; fix operand predicate.
Index: config/i386/i386.md
===================================================================
RCS file: /cvs/gcc/egcs/gcc/config/i386/i386.md,v
retrieving revision 1.279
diff -c -3 -p -r1.279 i386.md
*** i386.md	2001/06/25 09:16:37	1.279
--- i386.md	2001/06/25 11:34:56
***************
*** 4410,4416 ****
  	(float_truncate:SF
  	 (match_operand:DF 1 "nonimmediate_operand" "")))
     (clobber (match_operand 2 "" ""))]
!   "TARGET_80387 && !FP_REG_P (operands[0]) && !FP_REG_P (operands[1])"
    [(set (match_dup 0) (float_truncate:SF (match_dup 1)))]
    "")
  
--- 4410,4417 ----
  	(float_truncate:SF
  	 (match_operand:DF 1 "nonimmediate_operand" "")))
     (clobber (match_operand 2 "" ""))]
!   "TARGET_80387 && reload_completed
!    && !FP_REG_P (operands[0]) && !FP_REG_P (operands[1])"
    [(set (match_dup 0) (float_truncate:SF (match_dup 1)))]
    "")
  
***************
*** 8310,8316 ****
     (set_attr "mode" "SI")])
  
  (define_split
!   [(set (match_operand 0 "ext_register_operand" "")
  	(and (match_dup 0)
  	     (const_int -65536)))
     (clobber (reg:CC 17))]
--- 8311,8317 ----
     (set_attr "mode" "SI")])
  
  (define_split
!   [(set (match_operand 0 "register_operand" "")
  	(and (match_dup 0)
  	     (const_int -65536)))
     (clobber (reg:CC 17))]
***************
*** 8323,8329 ****
  	(and (match_dup 0)
  	     (const_int -256)))
     (clobber (reg:CC 17))]
!   "(optimize_size || !TARGET_PARTIAL_REG_STALL)"
    [(set (strict_low_part (match_dup 1)) (const_int 0))]
    "operands[1] = gen_lowpart (QImode, operands[0]);")
  
--- 8324,8330 ----
  	(and (match_dup 0)
  	     (const_int -256)))
     (clobber (reg:CC 17))]
!   "(optimize_size || !TARGET_PARTIAL_REG_STALL) && reload_completed"
    [(set (strict_low_part (match_dup 1)) (const_int 0))]
    "operands[1] = gen_lowpart (QImode, operands[0]);")
  
***************
*** 8332,8338 ****
  	(and (match_dup 0)
  	     (const_int -65281)))
     (clobber (reg:CC 17))]
!   "(optimize_size || !TARGET_PARTIAL_REG_STALL)"
    [(parallel [(set (zero_extract:SI (match_dup 0)
  				    (const_int 8)
  				    (const_int 8))
--- 8333,8339 ----
  	(and (match_dup 0)
  	     (const_int -65281)))
     (clobber (reg:CC 17))]
!   "(optimize_size || !TARGET_PARTIAL_REG_STALL) && reload_completed"
    [(parallel [(set (zero_extract:SI (match_dup 0)
  				    (const_int 8)
  				    (const_int 8))


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