summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorniklas <niklas@openbsd.org>1998-04-25 06:23:15 +0000
committerniklas <niklas@openbsd.org>1998-04-25 06:23:15 +0000
commit103c5d3627919c07ba2264ed35e49fbb2e72092e (patch)
treeaec3e7eea85b5e6ec0885f21f5d8fc1a08345ae9
parentAparently the socketpair bug is fixed in current Linux kernels so (diff)
downloadwireguard-openbsd-103c5d3627919c07ba2264ed35e49fbb2e72092e.tar.xz
wireguard-openbsd-103c5d3627919c07ba2264ed35e49fbb2e72092e.zip
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))