diff options
author | Christophe Lyon <christophe.lyon@arm.com> | 2023-02-21 13:15:18 +0000 |
---|---|---|
committer | Christophe Lyon <christophe.lyon@arm.com> | 2023-05-11 10:25:10 +0200 |
commit | 782eb6bb16390c0f2aef34866d9404b98c496ded (patch) | |
tree | 10276e26a7e0871bb91887996c8d6bf23ab93795 /gcc | |
parent | 56b099f6b301da2cb7314e62698ed412444d925d (diff) | |
download | gcc-782eb6bb16390c0f2aef34866d9404b98c496ded.zip gcc-782eb6bb16390c0f2aef34866d9404b98c496ded.tar.gz gcc-782eb6bb16390c0f2aef34866d9404b98c496ded.tar.bz2 |
arm: [MVE intrinsics] factorize vaddvaq
Factorize vaddvaq builtins so that they use parameterized names.
2022-10-25 Christophe Lyon <christophe.lyon@arm.com>
gcc/
* config/arm/iterators.md (mve_insn): Add vaddva.
* config/arm/mve.md (mve_vaddvaq_<supf><mode>): Rename into ...
(@mve_<mve_insn>q_<supf><mode>): ... this.
(mve_vaddvaq_p_<supf><mode>): Rename into ...
(@mve_<mve_insn>q_p_<supf><mode>): ... this.
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/config/arm/iterators.md | 2 | ||||
-rw-r--r-- | 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 46c7dde..00123c0 100644 --- a/gcc/config/arm/iterators.md +++ b/gcc/config/arm/iterators.md @@ -762,6 +762,8 @@ (VADDQ_M_N_S "vadd") (VADDQ_M_N_U "vadd") (VADDQ_M_N_F "vadd") (VADDQ_M_S "vadd") (VADDQ_M_U "vadd") (VADDQ_M_F "vadd") (VADDQ_N_S "vadd") (VADDQ_N_U "vadd") (VADDQ_N_F "vadd") + (VADDVAQ_P_S "vaddva") (VADDVAQ_P_U "vaddva") + (VADDVAQ_S "vaddva") (VADDVAQ_U "vaddva") (VADDVQ_P_S "vaddv") (VADDVQ_P_U "vaddv") (VADDVQ_S "vaddv") (VADDVQ_U "vaddv") (VANDQ_M_S "vand") (VANDQ_M_U "vand") (VANDQ_M_F "vand") diff --git a/gcc/config/arm/mve.md b/gcc/config/arm/mve.md index d772f4d..1ccbce3 100644 --- a/gcc/config/arm/mve.md +++ b/gcc/config/arm/mve.md @@ -758,7 +758,7 @@ ;; ;; [vaddvaq_s, vaddvaq_u]) ;; -(define_insn "mve_vaddvaq_<supf><mode>" +(define_insn "@mve_<mve_insn>q_<supf><mode>" [ (set (match_operand:SI 0 "s_register_operand" "=Te") (unspec:SI [(match_operand:SI 1 "s_register_operand" "0") @@ -766,7 +766,7 @@ VADDVAQ)) ] "TARGET_HAVE_MVE" - "vaddva.<supf>%#<V_sz_elem>\t%0, %q2" + "<mve_insn>.<supf>%#<V_sz_elem>\t%0, %q2" [(set_attr "type" "mve_move") ]) @@ -1944,7 +1944,7 @@ ;; ;; [vaddvaq_p_u, vaddvaq_p_s]) ;; -(define_insn "mve_vaddvaq_p_<supf><mode>" +(define_insn "@mve_<mve_insn>q_p_<supf><mode>" [ (set (match_operand:SI 0 "s_register_operand" "=Te") (unspec:SI [(match_operand:SI 1 "s_register_operand" "0") @@ -1953,7 +1953,7 @@ VADDVAQ_P)) ] "TARGET_HAVE_MVE" - "vpst\;vaddvat.<supf>%#<V_sz_elem> %0, %q2" + "vpst\;<mve_insn>t.<supf>%#<V_sz_elem>\t%0, %q2" [(set_attr "type" "mve_move") (set_attr "length""8")]) |