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: Alpha peepholes commented out


Sorry, I am unable to deliver your mail note to egcs-patches@cygnus.com,
that list name is no longer used.  Please try resending your mail
note to the new list name:  egcs-patches@egcs.cygnus.com.

If you have any questions about this, send mail to sourcemaster@cygnus.com.
This is a machine-generated message.

Here is a copy of the note you sent.
-----------------------------------------------------------------------------

The peepholes in the alpha.md file prevent the compiler from
bootstrap'ing itself.  The following patch, applied wtih rth's
blessing, comments them out while rth fixes the real problem.

Thu Oct  7 15:23:28 1999  Michael Meissner  <meissner@cygnus.com>

	* alpha.md (peephole2's): Comment out peephole2's that generate
	buggy code.

*** gcc/config/alpha/alpha.md.~1~	Tue Oct  5 11:22:45 1999
--- gcc/config/alpha/alpha.md	Thu Oct  7 15:23:24 1999
***************
*** 5407,5431 ****
  ;; Optimize sign-extension of SImode loads.  This shows up in the wake of
  ;; reload when converting fp->int.
  
! (define_peephole2
!   [(set (match_operand:SI 0 "register_operand" "=r")
!         (match_operand:SI 1 "memory_operand" "m"))
!    (set (match_operand:DI 2 "register_operand" "=r")
!         (sign_extend:DI (match_dup 0)))]
!   "rtx_equal_p (operands[0], operands[2])
!    || reg_dead_p (insn, operands[0])"
!   [(set (match_dup 2)
! 	(sign_extend:DI (match_dup 1)))]
!   "")
! 
! (define_peephole2
!   [(set (match_operand:SI 0 "register_operand" "=r")
!         (match_operand:SI 1 "hard_fp_register_operand" "f"))
!    (set (match_operand:DI 2 "register_operand" "=r")
!         (sign_extend:DI (match_dup 0)))]
!   "TARGET_FIX
!    && (rtx_equal_p (operands[0], operands[2])
!        || reg_dead_p (insn, operands[0]))"
!   [(set (match_dup 2)
! 	(sign_extend:DI (match_dup 1)))]
!   "")
--- 5407,5431 ----
  ;; Optimize sign-extension of SImode loads.  This shows up in the wake of
  ;; reload when converting fp->int.
  
! ;(define_peephole2
! ;  [(set (match_operand:SI 0 "register_operand" "=r")
! ;        (match_operand:SI 1 "memory_operand" "m"))
! ;   (set (match_operand:DI 2 "register_operand" "=r")
! ;        (sign_extend:DI (match_dup 0)))]
! ;  "rtx_equal_p (operands[0], operands[2])
! ;   || reg_dead_p (insn, operands[0])"
! ;  [(set (match_dup 2)
! ;	(sign_extend:DI (match_dup 1)))]
! ;  "")
! ;
! ;(define_peephole2
! ;  [(set (match_operand:SI 0 "register_operand" "=r")
! ;        (match_operand:SI 1 "hard_fp_register_operand" "f"))
! ;   (set (match_operand:DI 2 "register_operand" "=r")
! ;        (sign_extend:DI (match_dup 0)))]
! ;  "TARGET_FIX
! ;   && (rtx_equal_p (operands[0], operands[2])
! ;       || reg_dead_p (insn, operands[0]))"
! ;  [(set (match_dup 2)
! ;	(sign_extend:DI (match_dup 1)))]
! ;  "")

-- 
Michael Meissner, Cygnus Solutions
PMB 198, 174 Littleton Road #3, Westford, Massachusetts 01886
email: meissner@cygnus.com	phone: 978-486-9304	fax: 978-692-4482


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