diff options
author | Geoffrey Keating <geoffk@gcc.gnu.org> | 1999-08-02 15:44:50 +0000 |
---|---|---|
committer | Geoffrey Keating <geoffk@gcc.gnu.org> | 1999-08-02 15:44:50 +0000 |
commit | 0865c6314ef0542cf915f1a07e4ad43a9cd0d2e9 (patch) | |
tree | 0590639133f50d9e0624a4599e7d51eeca1c9bce /gcc/expmed.c | |
parent | ccc0b2f9b51cbdc92aded8e71484d6b2b3e5fdfd (diff) | |
download | gcc-0865c6314ef0542cf915f1a07e4ad43a9cd0d2e9.zip gcc-0865c6314ef0542cf915f1a07e4ad43a9cd0d2e9.tar.gz gcc-0865c6314ef0542cf915f1a07e4ad43a9cd0d2e9.tar.bz2 |
Unroll my commit of 1999/08/01 16:14:58, there was a communications mixup
about its status.
From-SVN: r28403
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 1af328e..ffe16fe 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, |