+Wed Feb 28 17:17:29 CET 2001 Jan Hubicka <jh@suse.cz>
+
+ * jump.c (reversed_comparison_code_parts): Allow reversal of
+ unordered compares in -ffast-math mode; reverse ordered compares
+ for FP even w/o -ffast-math.
+
2001-02-27 Richard Henderson <rth@redhat.com>
* print-rtl.c (print_rtx) [i]: Don't print field five on
case UNLE:
case UNGT:
case UNGE:
- /* We don't have safe way to reverse these yet. */
+ /* We don't have safe way to reverse these yet - we would need
+ ordered compares that may not trap. */
+ if (TARGET_FLOAT_FORMAT != IEEE_FLOAT_FORMAT
+ || flag_fast_math)
+ return reverse_condition_maybe_unordered (code);
return UNKNOWN;
default:
break;
}
}
+ /* In case of floating point modes, we may reverse here, since
+ we will be always converting an ordered compare to unordered.
+ The unsafe code has been caught earlier. */
+ if (FLOAT_MODE_P (mode))
+ return reverse_condition_maybe_unordered (code);
+
/* An integer condition. */
if (GET_CODE (arg0) == CONST_INT
|| (GET_MODE (arg0) != VOIDmode