diff options
author | geoffk <geoffk@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-08-02 15:44:50 +0000 |
---|---|---|
committer | geoffk <geoffk@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-08-02 15:44:50 +0000 |
commit | c1f616f4683129679bb036d6db79a576669c9505 (patch) | |
tree | 0590639133f50d9e0624a4599e7d51eeca1c9bce /gcc/expmed.c | |
parent | c9f1fe2344dce13988f30ef655c0ff905bb269df (diff) | |
download | ppe42-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.c | 8 |
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, |