diff options
Diffstat (limited to 'gcc/expmed.c')
-rw-r--r-- | gcc/expmed.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/expmed.c b/gcc/expmed.c index 6f9a939..6d58ea9 100644 --- a/gcc/expmed.c +++ b/gcc/expmed.c @@ -4278,7 +4278,8 @@ emit_store_flag (target, code, op0, op1, mode, unsignedp, normalizep) the comparison into one involving a single word. */ if (GET_MODE_BITSIZE (mode) == BITS_PER_WORD * 2 && GET_MODE_CLASS (mode) == MODE_INT - && op1 == const0_rtx) + && op1 == const0_rtx + && (GET_CODE (op0) != MEM || ! MEM_VOLATILE_P (op0))) { if (code == EQ || code == NE) { |