diff options
author | Jakub Jelinek <jakub@redhat.com> | 2002-03-05 12:10:43 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2002-03-05 12:10:43 +0100 |
commit | 170c56da73fb503fb9ae28de8b66bf96fc38f4bf (patch) | |
tree | 7772b963c58a18a40588c6a82caf04b916db9551 /gcc/expmed.c | |
parent | 6d051694012ae2a672775499b5bac5c860575f62 (diff) | |
download | gcc-170c56da73fb503fb9ae28de8b66bf96fc38f4bf.zip gcc-170c56da73fb503fb9ae28de8b66bf96fc38f4bf.tar.gz gcc-170c56da73fb503fb9ae28de8b66bf96fc38f4bf.tar.bz2 |
expmed.c (emit_store_flag): Don't test BITS_PER_WORD * 2 wide volatile memory by parts.
* expmed.c (emit_store_flag): Don't test BITS_PER_WORD * 2
wide volatile memory by parts.
* gcc.c-torture/compile/20020304-2.c: New test.
From-SVN: r50314
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) { |