Factorize vabavq builtins so that they use parameterized names. 2022-10-25 Christophe Lyon <christophe.l...@arm.com>
gcc/ * config/arm/iterators.md (mve_insn): Add vabav. * config/arm/mve.md (mve_vabavq_<supf><mode>): Rename into ... (@mve_<mve_insn>q_<supf><mode>): ... this,. (mve_vabavq_p_<supf><mode>): Rename into ... (@mve_<mve_insn>q_p_<supf><mode>): ... this,. --- gcc/config/arm/iterators.md | 2 ++ gcc/config/arm/mve.md | 8 ++++---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/gcc/config/arm/iterators.md b/gcc/config/arm/iterators.md index 68f5314041b..cafb62a574e 100644 --- a/gcc/config/arm/iterators.md +++ b/gcc/config/arm/iterators.md @@ -783,6 +783,8 @@ (define_int_attr mve_cmp_op1 [ ]) (define_int_attr mve_insn [ + (VABAVQ_P_S "vabav") (VABAVQ_P_U "vabav") + (VABAVQ_S "vabav") (VABAVQ_U "vabav") (VABDQ_M_S "vabd") (VABDQ_M_U "vabd") (VABDQ_M_F "vabd") (VABDQ_S "vabd") (VABDQ_U "vabd") (VABDQ_F "vabd") (VABSQ_M_F "vabs") diff --git a/gcc/config/arm/mve.md b/gcc/config/arm/mve.md index f95525db583..df7829bc183 100644 --- a/gcc/config/arm/mve.md +++ b/gcc/config/arm/mve.md @@ -1807,7 +1807,7 @@ (define_insn "mve_vrmlaldavhaq_<supf>v4si" ;; ;; [vabavq_s, vabavq_u]) ;; -(define_insn "mve_vabavq_<supf><mode>" +(define_insn "@mve_<mve_insn>q_<supf><mode>" [ (set (match_operand:SI 0 "s_register_operand" "=r") (unspec:SI [(match_operand:SI 1 "s_register_operand" "0") @@ -1816,7 +1816,7 @@ (define_insn "mve_vabavq_<supf><mode>" VABAVQ)) ] "TARGET_HAVE_MVE" - "vabav.<supf>%#<V_sz_elem>\t%0, %q2, %q3" + "<mve_insn>.<supf>%#<V_sz_elem>\t%0, %q2, %q3" [(set_attr "type" "mve_move") ]) @@ -3107,7 +3107,7 @@ (define_insn "mve_vrmlsldavhaq_sv4si" ;; ;; [vabavq_p_s, vabavq_p_u]) ;; -(define_insn "mve_vabavq_p_<supf><mode>" +(define_insn "@mve_<mve_insn>q_p_<supf><mode>" [ (set (match_operand:SI 0 "s_register_operand" "=r") (unspec:SI [(match_operand:SI 1 "s_register_operand" "0") @@ -3117,7 +3117,7 @@ (define_insn "mve_vabavq_p_<supf><mode>" VABAVQ_P)) ] "TARGET_HAVE_MVE" - "vpst\;vabavt.<supf>%#<V_sz_elem>\t%0, %q2, %q3" + "vpst\;<mve_insn>t.<supf>%#<V_sz_elem>\t%0, %q2, %q3" [(set_attr "type" "mve_move") (set_attr "length" "8")]) -- 2.34.1