[gcc(refs/users/meissner/heads/work204-bugs)] Fix using fpmask with -ffinite-math-only.
Michael Meissner
meissner@gcc.gnu.org
Thu May 15 04:02:38 GMT 2025
https://gcc.gnu.org/g:6f0e1de1dbf92a8471d2af05eb1e6d6dbd227871
commit 6f0e1de1dbf92a8471d2af05eb1e6d6dbd227871
Author: Michael Meissner <meissner@linux.ibm.com>
Date: Thu May 15 00:02:17 2025 -0400
Fix using fpmask with -ffinite-math-only.
2025-05-14 Michael Meissner <meissner@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.
More information about the Gcc-cvs
mailing list