aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1997-01-27 09:04:44 -0500
committerRichard Kenner <kenner@gcc.gnu.org>1997-01-27 09:04:44 -0500
commit12dd565fc59325e34df949b19aca788026616bf1 (patch)
tree7622f99cfe5441b1c436df8f56e8c325c7a69d5b /gcc
parent0802d51684ee39dac56ec84821cbcef6de89ac0d (diff)
downloadgcc-12dd565fc59325e34df949b19aca788026616bf1.zip
gcc-12dd565fc59325e34df949b19aca788026616bf1.tar.gz
gcc-12dd565fc59325e34df949b19aca788026616bf1.tar.bz2
(emit_store_flag): Properly test for STORE_FLAG_VALUE of just sign bit.
From-SVN: r13552
Diffstat (limited to 'gcc')
-rw-r--r--gcc/expmed.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/expmed.c b/gcc/expmed.c
index a2adbd1..4b569b1 100644
--- a/gcc/expmed.c
+++ b/gcc/expmed.c
@@ -3951,7 +3951,7 @@ emit_store_flag (target, code, op0, op1, mode, unsignedp, normalizep)
&& GET_MODE_CLASS (mode) == MODE_INT
&& (normalizep || STORE_FLAG_VALUE == 1
|| (GET_MODE_BITSIZE (mode) <= HOST_BITS_PER_WIDE_INT
- && (STORE_FLAG_VALUE
+ && ((STORE_FLAG_VALUE & GET_MODE_MASK (mode))
== (HOST_WIDE_INT) 1 << (GET_MODE_BITSIZE (mode) - 1)))))
{
subtarget = target;
@@ -4145,7 +4145,7 @@ emit_store_flag (target, code, op0, op1, mode, unsignedp, normalizep)
normalizep = STORE_FLAG_VALUE;
else if (GET_MODE_BITSIZE (mode) <= HOST_BITS_PER_WIDE_INT
- && (STORE_FLAG_VALUE
+ && ((STORE_FLAG_VALUE & GET_MODE_MASK (mode))
== (HOST_WIDE_INT) 1 << (GET_MODE_BITSIZE (mode) - 1)))
;
else