diff options
author | Niklas Hallqvist <niklas@cvs.openbsd.org> | 1998-04-25 06:23:16 +0000 |
---|---|---|
committer | Niklas Hallqvist <niklas@cvs.openbsd.org> | 1998-04-25 06:23:16 +0000 |
commit | b15b0f641f71a148050a61ccb2228a4671ee391a (patch) | |
tree | 083781bfe124a39a7de1856b704810bdfd108fa6 | |
parent | 3fb0589280d174a460fe47ac4a800c0ac5608aed (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.c | 6 |
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)) |