diff options
author | Stefan Schulze Frielinghaus <stefansf@gcc.gnu.org> | 2024-07-16 10:41:52 +0200 |
---|---|---|
committer | Stefan Schulze Frielinghaus <stefansf@gcc.gnu.org> | 2024-07-16 10:41:52 +0200 |
commit | 75c0bf997d2808561451e62aa6b7ae7c8e32b9e9 (patch) | |
tree | 93f09ee601ec3ed5b6be9943957eae532a1eba37 /gcc/config/s390 | |
parent | 6d1095788e23c27061421c7d180209264ebb32f7 (diff) | |
download | gcc-75c0bf997d2808561451e62aa6b7ae7c8e32b9e9.zip gcc-75c0bf997d2808561451e62aa6b7ae7c8e32b9e9.tar.gz gcc-75c0bf997d2808561451e62aa6b7ae7c8e32b9e9.tar.bz2 |
s390: Drop vcond{,u} expanders
Optabs vcond{,u} will be removed for GCC 15. Since regtest shows no
fallout, dropping the expanders, now.
gcc/ChangeLog:
PR target/114189
* config/s390/vector.md (V_HW2): Remove.
(vcond<V_HW:mode><V_HW2:mode>): Remove.
(vcondu<V_HW:mode><V_HW2:mode>): Remove.
Diffstat (limited to 'gcc/config/s390')
-rw-r--r-- | gcc/config/s390/vector.md | 35 |
1 files changed, 0 insertions, 35 deletions
diff --git a/gcc/config/s390/vector.md b/gcc/config/s390/vector.md index c8e8029..69efbbb 100644 --- a/gcc/config/s390/vector.md +++ b/gcc/config/s390/vector.md @@ -27,14 +27,9 @@ V2SF V4SF V1DF V2DF V1TF V1TI TI]) ; All modes directly supported by the hardware having full vector reg size -; V_HW2 is for having two iterators expanding independently e.g. vcond. -; It's similar to V_HW, but not fully identical: V1TI is not included, because -; there are no 128-bit compares. (define_mode_iterator V_HW [V16QI V8HI V4SI V2DI V1TI TI V2DF (V4SF "TARGET_VXE") (V1TF "TARGET_VXE") (TF "TARGET_VXE")]) -(define_mode_iterator V_HW2 [V16QI V8HI V4SI V2DI V2DF (V4SF "TARGET_VXE") - (V1TF "TARGET_VXE") (TF "TARGET_VXE")]) (define_mode_iterator VT_HW_HSDT [V8HI V4SI V4SF V2DI V2DF V1TI V1TF TI TF]) (define_mode_iterator V_HW_HSD [V8HI V4SI (V4SF "TARGET_VXE") V2DI V2DF]) @@ -729,36 +724,6 @@ } }) -(define_expand "vcond<V_HW:mode><V_HW2:mode>" - [(set (match_operand:V_HW 0 "register_operand" "") - (if_then_else:V_HW - (match_operator 3 "vcond_comparison_operator" - [(match_operand:V_HW2 4 "register_operand" "") - (match_operand:V_HW2 5 "nonmemory_operand" "")]) - (match_operand:V_HW 1 "nonmemory_operand" "") - (match_operand:V_HW 2 "nonmemory_operand" "")))] - "TARGET_VX && GET_MODE_NUNITS (<V_HW:MODE>mode) == GET_MODE_NUNITS (<V_HW2:MODE>mode)" -{ - s390_expand_vcond (operands[0], operands[1], operands[2], - GET_CODE (operands[3]), operands[4], operands[5]); - DONE; -}) - -(define_expand "vcondu<V_HW:mode><V_HW2:mode>" - [(set (match_operand:V_HW 0 "register_operand" "") - (if_then_else:V_HW - (match_operator 3 "comparison_operator" - [(match_operand:V_HW2 4 "register_operand" "") - (match_operand:V_HW2 5 "nonmemory_operand" "")]) - (match_operand:V_HW 1 "nonmemory_operand" "") - (match_operand:V_HW 2 "nonmemory_operand" "")))] - "TARGET_VX && GET_MODE_NUNITS (<V_HW:MODE>mode) == GET_MODE_NUNITS (<V_HW2:MODE>mode)" -{ - s390_expand_vcond (operands[0], operands[1], operands[2], - GET_CODE (operands[3]), operands[4], operands[5]); - DONE; -}) - (define_expand "vcond_mask_<mode><tointvec>" [(set (match_operand:VT 0 "register_operand" "") (if_then_else:VT |