From 9c8c5afbfb82557e2102dff9dbcb1c0d345d3a55 Mon Sep 17 00:00:00 2001 From: John Wehle Date: Fri, 19 Jun 1998 01:20:42 +0000 Subject: [PATCH] i386.c (notice_update_cc): Integer conditional moves don't affect cc0. * i386.c (notice_update_cc): Integer conditional moves don't affect cc0. From-SVN: r20575 --- gcc/ChangeLog | 3 +++ gcc/config/i386/i386.c | 4 +++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8267ebeefcb..131ee04f26e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,8 @@ 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, diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 3e1338d1e5c..2479e036ac6 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -3596,7 +3596,9 @@ notice_update_cc (exp) (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))