affect cc0.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20575
138bc75d-0d04-0410-961f-
82ee72b054a4
Fri Jun 19 02:10:10 1998 John Wehle (john@feith.com)
+ * i386.c (notice_update_cc): Integer conditional moves don't
+ affect cc0.
+
* i386.md (movsfcc, movdfcc, movxfcc): Use emit_store_flag
to support LT, LE, GE, and GT signed integer comparisons.
(movsfcc+1, movsfcc+2, movdfcc+1, movdfcc+2,
(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_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))