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.