summaryrefslogtreecommitdiffstats
path: root/gcc/expmed.c
diff options
context:
space:
mode:
authorgeoffk <geoffk@138bc75d-0d04-0410-961f-82ee72b054a4>1999-08-02 15:44:50 +0000
committergeoffk <geoffk@138bc75d-0d04-0410-961f-82ee72b054a4>1999-08-02 15:44:50 +0000
commitc1f616f4683129679bb036d6db79a576669c9505 (patch)
tree0590639133f50d9e0624a4599e7d51eeca1c9bce /gcc/expmed.c
parentc9f1fe2344dce13988f30ef655c0ff905bb269df (diff)
downloadppe42-gcc-c1f616f4683129679bb036d6db79a576669c9505.tar.gz
ppe42-gcc-c1f616f4683129679bb036d6db79a576669c9505.zip
Unroll my commit of 1999/08/01 16:14:58, there was a communications mixup
about its status. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@28403 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/expmed.c')
-rw-r--r--gcc/expmed.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/gcc/expmed.c b/gcc/expmed.c
index 1af328ec437..ffe16fedaf4 100644
--- a/gcc/expmed.c
+++ b/gcc/expmed.c
@@ -2718,13 +2718,13 @@ expand_mult_highpart (mode, op0, cnst1, target, unsignedp, max_cost)
int size = GET_MODE_BITSIZE (mode);
rtx op1, wide_op1;
- /* We can't support modes wider than HOST_BITS_PER_WIDE_INT. */
+ /* We can't support modes wider than HOST_BITS_PER_INT. */
if (size > HOST_BITS_PER_WIDE_INT)
abort ();
- op1 = GEN_INT (cnst1 | -(cnst1 & ((HOST_WIDE_INT) 1 << (size - 1))));
+ op1 = GEN_INT (cnst1);
- if (GET_MODE_BITSIZE (wider_mode) <= HOST_BITS_PER_WIDE_INT)
+ if (GET_MODE_BITSIZE (wider_mode) <= HOST_BITS_PER_INT)
wide_op1 = op1;
else
wide_op1
@@ -3726,8 +3726,6 @@ expand_divmod (rem_flag, code, mode, op0, op1, target, unsignedp)
post_shift = floor_log2 (d & -d);
ml = invert_mod2n (d >> post_shift, size);
- /* Sign-extend ml for compute_mode. */
- ml |= -(ml & (1 << (GET_MODE_BITSIZE (compute_mode)-1)));
t1 = expand_mult (compute_mode, op0, GEN_INT (ml), NULL_RTX,
unsignedp);
quotient = expand_shift (RSHIFT_EXPR, compute_mode, t1,
OpenPOWER on IntegriCloud