]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
arm: [MVE intrinsics] fix vdup iterator
authorChristophe Lyon <christophe.lyon@arm.com>
Mon, 8 Jul 2024 12:56:16 +0000 (14:56 +0200)
committerChristophe Lyon <christophe.lyon@arm.com>
Wed, 16 Oct 2024 20:01:46 +0000 (22:01 +0200)
This patch fixes a bug where the mode iterator for mve_vdup<mode>
should be MVE_VLD_ST instead of MVE_vecs: V2DI and V2DF (thus vdup.64)
are not supported by MVE.

2024-07-02  Jolen Li  <jolen.li@arm.com>
    Christophe Lyon  <christophe.lyon@arm.com>

gcc/
* config/arm/mve.md (mve_vdup<mode>): Fix mode iterator.

gcc/config/arm/mve.md

index 706a45c7d6652677f3ec993a77646e3845eb8f8d..3f01bc1f4fc758aacbccdf4ea0265a6be6d63b97 100644 (file)
@@ -95,8 +95,8 @@
    (set_attr "neg_pool_range" "*,*,*,*,996,*,*,*")])
 
 (define_insn "mve_vdup<mode>"
-  [(set (match_operand:MVE_vecs 0 "s_register_operand" "=w")
-       (vec_duplicate:MVE_vecs
+  [(set (match_operand:MVE_VLD_ST 0 "s_register_operand" "=w")
+       (vec_duplicate:MVE_VLD_ST
          (match_operand:<V_elem> 1 "s_register_operand" "r")))]
   "TARGET_HAVE_MVE || TARGET_HAVE_MVE_FLOAT"
   "vdup.<V_sz_elem>\t%q0, %1"