[2/9] ARM changes to adjust vec_perm_const hook

Message ID CAAgBjM=roOq7AOu=anV+ZpUVu=Ez6y-YETaiL5s-rzJuW9=XsA@mail.gmail.com
State New
Headers
Series None |

Commit Message

Prathamesh Kulkarni May 18, 2022, 11:16 a.m. UTC
  Hi,
The attached patch adjusts vec_perm_const hook to accommodate the new parameter.
For rationale, please see:
https://gcc.gnu.org/pipermail/gcc-patches/2022-May/595128.html
OK to commit if bootstrap+test passes ?

Thanks,
Prathamesh
  

Comments

Richard Sandiford May 18, 2022, 12:02 p.m. UTC | #1
Prathamesh Kulkarni via Gcc-patches <gcc-patches@gcc.gnu.org> writes:
> Hi,
> The attached patch adjusts vec_perm_const hook to accommodate the new parameter.
> For rationale, please see:
> https://gcc.gnu.org/pipermail/gcc-patches/2022-May/595128.html
> OK to commit if bootstrap+test passes ?
>
> Thanks,
> Prathamesh
>
> diff --git a/gcc/config/arm/arm.cc b/gcc/config/arm/arm.cc
> index 2afe0445ed5..48759532ab3 100644
> --- a/gcc/config/arm/arm.cc
> +++ b/gcc/config/arm/arm.cc
> @@ -31813,9 +31813,12 @@ arm_expand_vec_perm_const_1 (struct expand_vec_perm_d *d)
>  /* Implement TARGET_VECTORIZE_VEC_PERM_CONST.  */
>  
>  static bool
> -arm_vectorize_vec_perm_const (machine_mode vmode, rtx target, rtx op0, rtx op1,
> -			      const vec_perm_indices &sel)
> +arm_vectorize_vec_perm_const (machine_mode vmode, machine_mode op_mode, rtx target,

Formatting nit: long line.

Patch is OK with the parameters reflowed, like you did for aarch64.

Same nit for some of the other patches (but some are OK as-is).
OK for 2-8 with that fixed.

Thanks,
Richard

> +			      rtx op0, rtx op1, const vec_perm_indices &sel)
>  {
> +  if (vmode != op_mode)
> +    return false;
> +
>    struct expand_vec_perm_d d;
>    int i, nelt, which;
>
  

Patch

diff --git a/gcc/config/arm/arm.cc b/gcc/config/arm/arm.cc
index 2afe0445ed5..48759532ab3 100644
--- a/gcc/config/arm/arm.cc
+++ b/gcc/config/arm/arm.cc
@@ -31813,9 +31813,12 @@  arm_expand_vec_perm_const_1 (struct expand_vec_perm_d *d)
 /* Implement TARGET_VECTORIZE_VEC_PERM_CONST.  */
 
 static bool
-arm_vectorize_vec_perm_const (machine_mode vmode, rtx target, rtx op0, rtx op1,
-			      const vec_perm_indices &sel)
+arm_vectorize_vec_perm_const (machine_mode vmode, machine_mode op_mode, rtx target,
+			      rtx op0, rtx op1, const vec_perm_indices &sel)
 {
+  if (vmode != op_mode)
+    return false;
+
   struct expand_vec_perm_d d;
   int i, nelt, which;