]> git.ipfire.org Git - thirdparty/gcc.git/blobdiff - gcc/config/arm/iterators.md
arm: [MVE intrinsics] factorize vmlaq_n vmlasq_n vqdmlahq_n vqdmlashq_n vqrdmlahq_n...
[thirdparty/gcc.git] / gcc / config / arm / iterators.md
index c23ca7361c1b93d2b24511b2c2277a499171505d..abd904da11e362ba9daa26ed1c238814d38716b2 100644 (file)
                     VMINAQ_M_S
                     ])
 
+(define_int_iterator MVE_VMLxQ_N [
+                    VMLAQ_N_S VMLAQ_N_U
+                    VMLASQ_N_S VMLASQ_N_U
+                    VQDMLAHQ_N_S
+                    VQDMLASHQ_N_S
+                    VQRDMLAHQ_N_S
+                    VQRDMLASHQ_N_S
+                    ])
+
 (define_int_iterator MVE_VMLxDAVQ [
                     VMLADAVQ_S VMLADAVQ_U
                     VMLADAVXQ_S
                 (VMLALDAVXQ_P_S "vmlaldavx")
                 (VMLALDAVXQ_S "vmlaldavx")
                 (VMLAQ_M_N_S "vmla") (VMLAQ_M_N_U "vmla")
+                (VMLAQ_N_S "vmla") (VMLAQ_N_U "vmla")
                 (VMLASQ_M_N_S "vmlas") (VMLASQ_M_N_U "vmlas")
+                (VMLASQ_N_S "vmlas") (VMLASQ_N_U "vmlas")
                 (VMLSDAVAQ_P_S "vmlsdava")
                 (VMLSDAVAQ_S "vmlsdava")
                 (VMLSDAVAXQ_P_S "vmlsdavax")
                 (VQDMLADHXQ_M_S "vqdmladhx")
                 (VQDMLADHXQ_S "vqdmladhx")
                 (VQDMLAHQ_M_N_S "vqdmlah")
+                (VQDMLAHQ_N_S "vqdmlah")
                 (VQDMLASHQ_M_N_S "vqdmlash")
+                (VQDMLASHQ_N_S "vqdmlash")
                 (VQDMLSDHQ_M_S "vqdmlsdh")
                 (VQDMLSDHQ_S "vqdmlsdh")
                 (VQDMLSDHXQ_M_S "vqdmlsdhx")
                 (VQRDMLADHXQ_M_S "vqrdmladhx")
                 (VQRDMLADHXQ_S "vqrdmladhx")
                 (VQRDMLAHQ_M_N_S "vqrdmlah")
+                (VQRDMLAHQ_N_S "vqrdmlah")
                 (VQRDMLASHQ_M_N_S "vqrdmlash")
+                (VQRDMLASHQ_N_S "vqrdmlash")
                 (VQRDMLSDHQ_M_S "vqrdmlsdh")
                 (VQRDMLSDHQ_S "vqrdmlsdh")
                 (VQRDMLSDHXQ_M_S "vqrdmlsdhx")
                       (VQRDMLADHXQ_S "s")
                       (VQRDMLSDHQ_S "s")
                       (VQRDMLSDHXQ_S "s")
+                      (VQDMLAHQ_N_S "s")
+                      (VQDMLASHQ_N_S "s")
+                      (VQRDMLAHQ_N_S "s")
+                      (VQRDMLASHQ_N_S "s")
                       ])
 
 ;; Both kinds of return insn.