diff options
author | John Wehle <john@feith.com> | 1998-06-19 01:20:42 +0000 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1998-06-18 19:20:42 -0600 |
commit | 9c8c5afbfb82557e2102dff9dbcb1c0d345d3a55 (patch) | |
tree | cd9f0ff3e915d126cc6a0f0c4c33f667065ff53f /gcc | |
parent | bbe8497f5ef17013e6bafb96d6666c536d8bdf2d (diff) | |
download | gcc-9c8c5afbfb82557e2102dff9dbcb1c0d345d3a55.zip gcc-9c8c5afbfb82557e2102dff9dbcb1c0d345d3a55.tar.gz gcc-9c8c5afbfb82557e2102dff9dbcb1c0d345d3a55.tar.bz2 |
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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 3 | ||||
-rw-r--r-- | gcc/config/i386/i386.c | 4 |
2 files changed, 6 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8267ebe..131ee04 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 3e1338d..2479e03 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)) |