]> git.ipfire.org Git - thirdparty/gcc.git/blobdiff - gcc/dojump.c
Merge with trunk.
[thirdparty/gcc.git] / gcc / dojump.c
index 73df6d163d5a9b890cb403532fd80fc03cc0307e..bb99df378161795f1be10a66a8eef94e40b68bf1 100644 (file)
@@ -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 ();