+2017-05-06 Richard Sandiford <richard.sandiford@linaro.org>
+
+ PR rtl-optimization/75964
+ * simplify-rtx.c (simplify_const_relational_operation): Remove
+ invalid handling of comparisons of integer ABS.
+
2017-05-06 Uros Bizjak <ubizjak@gmail.com>
* config/i386/i386.c (ext_80387_constant_init): Do not explicitly
{
case LT:
/* Optimize abs(x) < 0.0. */
- if (!HONOR_SNANS (mode)
- && (!INTEGRAL_MODE_P (mode)
- || (!flag_wrapv && !flag_trapv)))
- {
- if (INTEGRAL_MODE_P (mode)
- && (issue_strict_overflow_warning
- (WARN_STRICT_OVERFLOW_CONDITIONAL)))
- warning (OPT_Wstrict_overflow,
- ("assuming signed overflow does not occur when "
- "assuming abs (x) < 0 is false"));
- return const0_rtx;
- }
+ if (!INTEGRAL_MODE_P (mode) && !HONOR_SNANS (mode))
+ return const0_rtx;
break;
case GE:
/* Optimize abs(x) >= 0.0. */
- if (!HONOR_NANS (mode)
- && (!INTEGRAL_MODE_P (mode)
- || (!flag_wrapv && !flag_trapv)))
- {
- if (INTEGRAL_MODE_P (mode)
- && (issue_strict_overflow_warning
- (WARN_STRICT_OVERFLOW_CONDITIONAL)))
- warning (OPT_Wstrict_overflow,
- ("assuming signed overflow does not occur when "
- "assuming abs (x) >= 0 is true"));
- return const_true_rtx;
- }
+ if (!INTEGRAL_MODE_P (mode) && !HONOR_NANS (mode))
+ return const_true_rtx;
break;
case UNGE:
+2017-05-06 Richard Sandiford <richard.sandiford@linaro.org>
+
+ PR rtl-optimization/75964
+ * gcc.dg/torture/pr75964.c: New test.
+
2017-05-06 Tom de Vries <tom@codesourcery.com>
PR testsuite/80606