]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
s390: Enable vcond_mask for 128-bit ops
authorStefan Schulze Frielinghaus <stefansf@gcc.gnu.org>
Tue, 16 Jul 2024 08:41:46 +0000 (10:41 +0200)
committerStefan Schulze Frielinghaus <stefansf@gcc.gnu.org>
Tue, 16 Jul 2024 08:41:46 +0000 (10:41 +0200)
In preparation of dropping vcond{,u,eq} optabs
https://gcc.gnu.org/pipermail/gcc-patches/2024-June/654690.html
enable 128-bit operands for vcond_mask---including integer as well as
floating point.

This fixes partially PR115519 w.r.t. autovec-long-double-signaling-*.c
tests.

gcc/ChangeLog:

* config/s390/vector.md: Enable vcond_mask for 128-bit ops.

gcc/config/s390/vector.md

index 756011728938c19fc4b3d72260b077d9c3a431cc..c8e8029167d3816b261e5fad53388a8f68e81c10 100644 (file)
 })
 
 (define_expand "vcond_mask_<mode><tointvec>"
-  [(set (match_operand:V 0 "register_operand" "")
-       (if_then_else:V
+  [(set (match_operand:VT 0 "register_operand" "")
+       (if_then_else:VT
         (eq (match_operand:<TOINTVEC> 3 "register_operand" "")
             (match_dup 4))
-        (match_operand:V 2 "register_operand" "")
-        (match_operand:V 1 "register_operand" "")))]
+        (match_operand:VT 2 "register_operand" "")
+        (match_operand:VT 1 "register_operand" "")))]
   "TARGET_VX"
   "operands[4] = CONST0_RTX (<TOINTVEC>mode);")