aboutsummaryrefslogtreecommitdiff
path: root/gcc/dojump.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/dojump.c')
-rw-r--r--gcc/dojump.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/dojump.c b/gcc/dojump.c
index 1c3a2be..1748690 100644
--- a/gcc/dojump.c
+++ b/gcc/dojump.c
@@ -166,6 +166,7 @@ static bool
prefer_and_bit_test (enum machine_mode mode, int bitnum)
{
bool speed_p;
+ wide_int mask = wi::set_bit_in_zero (bitnum, GET_MODE_PRECISION (mode));
if (and_test == 0)
{
@@ -186,8 +187,7 @@ prefer_and_bit_test (enum machine_mode mode, int bitnum)
}
/* Fill in the integers. */
- XEXP (and_test, 1)
- = immed_double_int_const (double_int_zero.set_bit (bitnum), mode);
+ XEXP (and_test, 1) = immed_wide_int_const (mask, mode);
XEXP (XEXP (shift_test, 0), 1) = GEN_INT (bitnum);
speed_p = optimize_insn_for_speed_p ();