]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
arm: [MVE intrinsics] factorize vaddlvaq
authorChristophe Lyon <christophe.lyon@arm.com>
Tue, 21 Feb 2023 21:36:19 +0000 (21:36 +0000)
committerChristophe Lyon <christophe.lyon@arm.com>
Thu, 11 May 2023 19:04:09 +0000 (21:04 +0200)
Factorize vaddlvaq builtins so that they use parameterized names.

2022-10-25  Christophe Lyon  <christophe.lyon@arm.com>

gcc/
* config/arm/iterators.md (mve_insn): Add vaddlva.
* config/arm/mve.md (mve_vaddlvaq_<supf>v4si): Rename into ...
(@mve_<mve_insn>q_<supf>v4si): ... this.
(mve_vaddlvaq_p_<supf>v4si): Rename into ...
(@mve_<mve_insn>q_p_<supf>v4si): ... this.

gcc/config/arm/iterators.md
gcc/config/arm/mve.md

index 2f6de937ef7ef367fbed4359c4d65a28a74a07f3..ff146afd913cba1081684e6b6aa867c76a403834 100644 (file)
                 (VABDQ_S "vabd") (VABDQ_U "vabd") (VABDQ_F "vabd")
                 (VABSQ_M_F "vabs")
                 (VABSQ_M_S "vabs")
+                (VADDLVAQ_P_S "vaddlva") (VADDLVAQ_P_U "vaddlva")
+                (VADDLVAQ_S "vaddlva") (VADDLVAQ_U "vaddlva")
                 (VADDLVQ_P_S "vaddlv") (VADDLVQ_P_U "vaddlv")
                 (VADDLVQ_S "vaddlv") (VADDLVQ_U "vaddlv")
                 (VADDQ_M_N_S "vadd") (VADDQ_M_N_U "vadd") (VADDQ_M_N_F "vadd")
index f5cb8ef48ef7f48880b1b37f43e984230f0049af..b548eced4f5194895af07dfd97514bc837564378 100644 (file)
 ;;
 ;; [vaddlvaq_s vaddlvaq_u])
 ;;
-(define_insn "mve_vaddlvaq_<supf>v4si"
+(define_insn "@mve_<mve_insn>q_<supf>v4si"
   [
    (set (match_operand:DI 0 "s_register_operand" "=r")
        (unspec:DI [(match_operand:DI 1 "s_register_operand" "0")
         VADDLVAQ))
   ]
   "TARGET_HAVE_MVE"
-  "vaddlva.<supf>32\t%Q0, %R0, %q2"
+  "<mve_insn>.<supf>32\t%Q0, %R0, %q2"
   [(set_attr "type" "mve_move")
 ])
 
 ;;
 ;; [vaddlvaq_p_s vaddlvaq_p_u])
 ;;
-(define_insn "mve_vaddlvaq_p_<supf>v4si"
+(define_insn "@mve_<mve_insn>q_p_<supf>v4si"
   [
    (set (match_operand:DI 0 "s_register_operand" "=r")
        (unspec:DI [(match_operand:DI 1 "s_register_operand" "0")
         VADDLVAQ_P))
   ]
   "TARGET_HAVE_MVE"
-  "vpst\;vaddlvat.<supf>32\t%Q0, %R0, %q2"
+  "vpst\;<mve_insn>t.<supf>32\t%Q0, %R0, %q2"
   [(set_attr "type" "mve_move")
    (set_attr "length""8")])
 ;;