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 notice_update_cc integer conditional move patch


ChangeLog:

Fri Jun 12 23:15:31 EDT 1998  John Wehle  (john@feith.com)

	* i386.c (notice_update_cc): Integer conditional moves don't
	affect cc0.

Enjoy!

-- John Wehle
------------------8<------------------------8<------------------------
*** gcc/config/i386/i386.c.ORIGINAL	Sun Jun  7 21:21:38 1998
--- gcc/config/i386/i386.c	Fri Jun 12 22:52:54 1998
***************
*** 3596,3602 ****
  	 (Note that moving a constant 0 or 1 MAY set the cc's).  */
        if (REG_P (SET_DEST (exp))
  	  && (REG_P (SET_SRC (exp)) || GET_CODE (SET_SRC (exp)) == MEM
! 	      || GET_RTX_CLASS (GET_CODE (SET_SRC (exp))) == '<'))
  	{
  	  if (cc_status.value1
  	      && reg_overlap_mentioned_p (SET_DEST (exp), cc_status.value1))
--- 3596,3604 ----
  	 (Note that moving a constant 0 or 1 MAY set the cc's).  */
        if (REG_P (SET_DEST (exp))
  	  && (REG_P (SET_SRC (exp)) || GET_CODE (SET_SRC (exp)) == MEM
! 	      || GET_RTX_CLASS (GET_CODE (SET_SRC (exp))) == '<'
! 	      || (GET_CODE (SET_SRC (exp)) == IF_THEN_ELSE
! 		  && GET_MODE_CLASS (GET_MODE (SET_DEST (exp))) == MODE_INT)))
  	{
  	  if (cc_status.value1
  	      && reg_overlap_mentioned_p (SET_DEST (exp), cc_status.value1))
-------------------------------------------------------------------------
|   Feith Systems  |   Voice: 1-215-646-8000  |  Email: john@feith.com  |
|    John Wehle    |     Fax: 1-215-540-5495  |                         |
-------------------------------------------------------------------------



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