diff mbox series

[v2,1/2] arm: [MVE intrinsics] fix vdup iterator

Message ID 20240711093611.179956-1-christophe.lyon@arm.com
State New
Headers show
Series [v2,1/2] arm: [MVE intrinsics] fix vdup iterator | expand

Commit Message

Christophe Lyon July 11, 2024, 9:36 a.m. UTC
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 | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Richard Earnshaw (lists) July 19, 2024, 2:57 p.m. UTC | #1
On 11/07/2024 10:36, Christophe Lyon wrote:
> 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.

OK.

R.

> ---
>  gcc/config/arm/mve.md | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/gcc/config/arm/mve.md b/gcc/config/arm/mve.md
> index 4b4d6298ffb..afe5fba698c 100644
> --- a/gcc/config/arm/mve.md
> +++ b/gcc/config/arm/mve.md
> @@ -95,8 +95,8 @@ (define_insn "mve_mov<mode>"
>     (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"
diff mbox series

Patch

diff --git a/gcc/config/arm/mve.md b/gcc/config/arm/mve.md
index 4b4d6298ffb..afe5fba698c 100644
--- a/gcc/config/arm/mve.md
+++ b/gcc/config/arm/mve.md
@@ -95,8 +95,8 @@  (define_insn "mve_mov<mode>"
    (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"