summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNiklas Hallqvist <niklas@cvs.openbsd.org>1998-04-25 06:23:16 +0000
committerNiklas Hallqvist <niklas@cvs.openbsd.org>1998-04-25 06:23:16 +0000
commitb15b0f641f71a148050a61ccb2228a4671ee391a (patch)
tree083781bfe124a39a7de1856b704810bdfd108fa6
parent3fb0589280d174a460fe47ac4a800c0ac5608aed (diff)
Invalidate cached condition codes correctly in face of a-reg moves
with side-effects on the source registers
-rw-r--r--gnu/usr.bin/gcc/config/m68k/m68k.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/gnu/usr.bin/gcc/config/m68k/m68k.c b/gnu/usr.bin/gcc/config/m68k/m68k.c
index 5f932f0121f..a903a48383e 100644
--- a/gnu/usr.bin/gcc/config/m68k/m68k.c
+++ b/gnu/usr.bin/gcc/config/m68k/m68k.c
@@ -2189,11 +2189,9 @@ notice_update_cc (exp, insn)
}
else if (ADDRESS_REG_P (SET_DEST (exp)))
{
- if (cc_status.value1
- && reg_overlap_mentioned_p (SET_DEST (exp), cc_status.value1))
+ if (cc_status.value1 && modified_in_p (cc_status.value1, insn))
cc_status.value1 = 0;
- if (cc_status.value2
- && reg_overlap_mentioned_p (SET_DEST (exp), cc_status.value2))
+ if (cc_status.value2 && modified_in_p (cc_status.value2, insn))
cc_status.value2 = 0;
}
else if (!FP_REG_P (SET_DEST (exp))