diff options
author | Stan Cox <coxs@gnu.org> | 1997-06-06 20:23:26 +0000 |
---|---|---|
committer | Stan Cox <coxs@gnu.org> | 1997-06-06 20:23:26 +0000 |
commit | a86202361ec068a3bd7c8614e5178a189e217cf7 (patch) | |
tree | 70972ae4607afc174e22b4a5c9e75e09add94780 | |
parent | 110b339d9705df530aed2e1f6ab5c895f1fb96af (diff) | |
download | gcc-a86202361ec068a3bd7c8614e5178a189e217cf7.zip gcc-a86202361ec068a3bd7c8614e5178a189e217cf7.tar.gz gcc-a86202361ec068a3bd7c8614e5178a189e217cf7.tar.bz2 |
(notice_cc_update): Set CC_FCOMI is this is a float compare.
From-SVN: r14164
-rw-r--r-- | gcc/config/i386/i386.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 4a17d80..895c66f 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -3409,8 +3409,13 @@ notice_update_cc (exp) if (SET_DEST (XVECEXP (exp, 0, 0)) == cc0_rtx) { CC_STATUS_INIT; - if (stack_regs_mentioned_p (SET_SRC (XVECEXP (exp, 0, 0)))) - cc_status.flags |= CC_IN_80387; + if (stack_regs_mentioned_p (SET_SRC (XVECEXP (exp, 0, 0)))) + { + cc_status.flags |= CC_IN_80387; + if (TARGET_CMOVE && stack_regs_mentioned_p + (XEXP (SET_SRC (XVECEXP (exp, 0, 0)), 1))) + cc_status.flags |= CC_FCOMI; + } else cc_status.value1 = SET_SRC (XVECEXP (exp, 0, 0)); return; |