Allow negative offset for UNSPEC_DTPOFF/UNSPEC_NTPOFF
[gcc.git] / gcc / dojump.c
index 06b8d04437adb3ecdbd8d5aa6da7ebed61cce7ff..66d3b04bd035e20e0668ef9a4a7b2b4085688972 100644 (file)
@@ -165,8 +165,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_setbit (double_int_zero, bitnum),
-                                                mode);
+    = immed_double_int_const (double_int_zero.set_bit (bitnum), mode);
   XEXP (XEXP (shift_test, 0), 1) = GEN_INT (bitnum);
 
   speed_p = optimize_insn_for_speed_p ();
@@ -1028,19 +1027,16 @@ do_compare_rtx_and_jump (rtx op0, rtx op1, enum rtx_code code, int unsignedp,
          op0 = op1;
          op1 = tmp;
        }
-
       else if (SCALAR_FLOAT_MODE_P (mode)
               && ! can_compare_p (code, mode, ccp_jump)
-
-              /* Never split ORDERED and UNORDERED.  These must be implemented.  */
+              /* Never split ORDERED and UNORDERED.
+                 These must be implemented.  */
               && (code != ORDERED && code != UNORDERED)
-
-               /* Split a floating-point comparison if we can jump on other
-                 conditions...  */
+               /* Split a floating-point comparison if
+                 we can jump on other conditions...  */
               && (have_insn_for (COMPARE, mode)
-
                   /* ... or if there is no libcall for it.  */
-                  || code_to_optab[code] == NULL))
+                  || code_to_optab (code) == unknown_optab))
         {
          enum rtx_code first_code;
          bool and_them = split_comparison (code, mode, &first_code, &code);