https://gcc.gnu.org/g:6f0e1de1dbf92a8471d2af05eb1e6d6dbd227871

commit 6f0e1de1dbf92a8471d2af05eb1e6d6dbd227871
Author: Michael Meissner <meiss...@linux.ibm.com>
Date:   Thu May 15 00:02:17 2025 -0400

    Fix using fpmask with -ffinite-math-only.
    
    2025-05-14  Michael Meissner  <meiss...@linux.ibm.com>
    
            * config/rs6000/predicates.md (invert_fpmask_comparison_operator): 
Add
            support for UNLT and UNLE instead of LT and LE.

Diff:
---
 gcc/config/rs6000/predicates.md | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/gcc/config/rs6000/predicates.md b/gcc/config/rs6000/predicates.md
index 63e0ae1c5f98..ba8df6a7979d 100644
--- a/gcc/config/rs6000/predicates.md
+++ b/gcc/config/rs6000/predicates.md
@@ -1473,7 +1473,9 @@
 ;; signalling NaN.  Don't allow the test to be inverted if NaNs are supported
 ;; and the comparison is an ordered comparison.
 (define_predicate "invert_fpmask_comparison_operator"
-  (match_code "ne,lt,le"))
+  (ior (match_code "ne")
+       (and (match_code "unlt,unle")
+           (match_test "flag_finite_math_only"))))
 
 ;; Return 1 if OP is a comparison operation suitable for integer vector/scalar
 ;; comparisons that generate a -1/0 mask.

Reply via email to