summaryrefslogtreecommitdiff
path: root/gnu/usr.bin/gcc/config/vax
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/usr.bin/gcc/config/vax')
-rw-r--r--gnu/usr.bin/gcc/config/vax/vax.h3
-rw-r--r--gnu/usr.bin/gcc/config/vax/vax.md1
2 files changed, 3 insertions, 1 deletions
diff --git a/gnu/usr.bin/gcc/config/vax/vax.h b/gnu/usr.bin/gcc/config/vax/vax.h
index 99386c08903..10ba85509c6 100644
--- a/gnu/usr.bin/gcc/config/vax/vax.h
+++ b/gnu/usr.bin/gcc/config/vax/vax.h
@@ -963,7 +963,8 @@ gen_rtx (PLUS, Pmode, frame, gen_rtx (CONST_INT, VOIDmode, 12))
{ if (GET_CODE (EXP) == SET) \
{ if (GET_CODE (SET_SRC (EXP)) == CALL) \
CC_STATUS_INIT; \
- else if (GET_CODE (SET_DEST (EXP)) != PC) \
+ else if (GET_CODE (SET_DEST (EXP)) != ZERO_EXTRACT \
+ && GET_CODE (SET_DEST (EXP)) != PC) \
{ cc_status.flags = 0; \
cc_status.value1 = SET_DEST (EXP); \
cc_status.value2 = SET_SRC (EXP); } } \
diff --git a/gnu/usr.bin/gcc/config/vax/vax.md b/gnu/usr.bin/gcc/config/vax/vax.md
index 3dd73df62aa..0b0c5c4ac66 100644
--- a/gnu/usr.bin/gcc/config/vax/vax.md
+++ b/gnu/usr.bin/gcc/config/vax/vax.md
@@ -1341,6 +1341,7 @@
operands[0]
= adj_offsettable_operand (operands[0], INTVAL (operands[2]) / 8);
+ CC_STATUS_INIT;
if (INTVAL (operands[1]) == 8)
return \"movb %3,%0\";
return \"movw %3,%0\";