diff options
author | rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-11-10 10:08:45 +0000 |
---|---|---|
committer | rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-11-10 10:08:45 +0000 |
commit | 7a3a929089997af03710c05de346ed5c0f512363 (patch) | |
tree | 4a86dc181ce18fc13b674a98ccfb29518ffe408c /gcc/expmed.c | |
parent | 55af3bae674945beea2845ed091e5ea341e8aabf (diff) | |
download | gcc-7a3a929089997af03710c05de346ed5c0f512363.tar.gz |
Various simplifications.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/wide-int@204624 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/expmed.c')
-rw-r--r-- | gcc/expmed.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/expmed.c b/gcc/expmed.c index f7303c9eab4..c3d773e1d9d 100644 --- a/gcc/expmed.c +++ b/gcc/expmed.c @@ -3652,7 +3652,7 @@ expand_smod_pow2 (enum machine_mode mode, rtx op0, HOST_WIDE_INT d) modulus. By including the signbit in the operation, many targets can avoid an explicit compare operation in the following comparison against zero. */ - wide_int mask = wi::mask (logd, false, GET_MODE_PRECISION (mode)); + wide_int mask = wi::mask (logd, false, prec); mask = wi::set_bit (mask, prec - 1); temp = expand_binop (mode, and_optab, op0, @@ -3667,7 +3667,7 @@ expand_smod_pow2 (enum machine_mode mode, rtx op0, HOST_WIDE_INT d) temp = expand_binop (mode, sub_optab, result, const1_rtx, result, 0, OPTAB_LIB_WIDEN); - mask = wi::mask (logd, true, GET_MODE_PRECISION (mode)); + mask = wi::mask (logd, true, prec); temp = expand_binop (mode, ior_optab, temp, immed_wide_int_const (mask, mode), result, 1, OPTAB_LIB_WIDEN); |