simplify-rtx.c (simplify_relational_operation): Always simplify ORDERED and UNORDERED when FLAG_FAST_MATH.
* simplify-rtx.c (simplify_relational_operation): Always simplify ORDERED and UNORDERED when FLAG_FAST_MATH. Handle properly UNLE and UNGE. From-SVN: r38775
This commit is contained in:
parent
69bc0a1faf
commit
1f36a2ddaa
@ -1,3 +1,9 @@
|
||||
Sun Jan 7 14:39:07 MET 2001 Jan Hubicka <jh@suse.cz>
|
||||
|
||||
* simplify-rtx.c (simplify_relational_operation): Always simplify
|
||||
ORDERED and UNORDERED when FLAG_FAST_MATH. Handle properly UNLE
|
||||
and UNGE.
|
||||
|
||||
Sun Jan 7 14:35:13 MET 2001 Jan Hubicka <jh@suse.cz>
|
||||
|
||||
* combine.c (combine_simplify_rtx): Recognize the unordered compares.
|
||||
|
@ -1762,6 +1762,12 @@ simplify_relational_operation (code, mode, op0, op1)
|
||||
return simplify_relational_operation (signed_condition (code),
|
||||
mode, tem, const0_rtx);
|
||||
|
||||
if (flag_fast_math && code == ORDERED)
|
||||
return const_true_rtx;
|
||||
|
||||
if (flag_fast_math && code == UNORDERED)
|
||||
return const0_rtx;
|
||||
|
||||
/* For non-IEEE floating-point, if the two operands are equal, we know the
|
||||
result. */
|
||||
if (rtx_equal_p (op0, op1)
|
||||
@ -1953,8 +1959,10 @@ simplify_relational_operation (code, mode, op0, op1)
|
||||
case GTU:
|
||||
return op1ltu ? const_true_rtx : const0_rtx;
|
||||
case LE:
|
||||
case UNLE:
|
||||
return equal || op0lt ? const_true_rtx : const0_rtx;
|
||||
case GE:
|
||||
case UNGE:
|
||||
return equal || op1lt ? const_true_rtx : const0_rtx;
|
||||
case LEU:
|
||||
return equal || op0ltu ? const_true_rtx : const0_rtx;
|
||||
|
Loading…
x
Reference in New Issue
Block a user