diff mbox series

RISC-V: Split arguments of expand_vec_perm

Message ID 20230604092503.4009600-1-juzhe.zhong@rivai.ai
State New
Headers show
Series RISC-V: Split arguments of expand_vec_perm | expand

Commit Message

juzhe.zhong@rivai.ai June 4, 2023, 9:25 a.m. UTC
From: Juzhe-Zhong <juzhe.zhong@rivai.ai>

Since the following patch will calls expand_vec_perm with
splitted arguments, change the expand_vec_perm interface in
this patch.

gcc/ChangeLog:

        * config/riscv/autovec.md: Split arguments.
        * config/riscv/riscv-protos.h (expand_vec_perm): Ditto.
        * config/riscv/riscv-v.cc (expand_vec_perm): Ditto.

---
 gcc/config/riscv/autovec.md     | 3 ++-
 gcc/config/riscv/riscv-protos.h | 2 +-
 gcc/config/riscv/riscv-v.cc     | 6 +-----
 3 files changed, 4 insertions(+), 7 deletions(-)

Comments

Jeff Law June 4, 2023, 3:28 p.m. UTC | #1
On 6/4/23 03:25, juzhe.zhong@rivai.ai wrote:
> From: Juzhe-Zhong <juzhe.zhong@rivai.ai>
> 
> Since the following patch will calls expand_vec_perm with
> splitted arguments, change the expand_vec_perm interface in
> this patch.
> 
> gcc/ChangeLog:
> 
>          * config/riscv/autovec.md: Split arguments.
>          * config/riscv/riscv-protos.h (expand_vec_perm): Ditto.
>          * config/riscv/riscv-v.cc (expand_vec_perm): Ditto.
OK
jeff
Li, Pan2 via Gcc-patches June 5, 2023, 12:51 a.m. UTC | #2
Committed, thanks Jeff.

Pan

-----Original Message-----
From: Gcc-patches <gcc-patches-bounces+pan2.li=intel.com@gcc.gnu.org> On Behalf Of Jeff Law via Gcc-patches
Sent: Sunday, June 4, 2023 11:28 PM
To: juzhe.zhong@rivai.ai; gcc-patches@gcc.gnu.org
Cc: kito.cheng@sifive.com; palmer@rivosinc.com; rdapp.gcc@gmail.com
Subject: Re: [PATCH] RISC-V: Split arguments of expand_vec_perm



On 6/4/23 03:25, juzhe.zhong@rivai.ai wrote:
> From: Juzhe-Zhong <juzhe.zhong@rivai.ai>
> 
> Since the following patch will calls expand_vec_perm with splitted 
> arguments, change the expand_vec_perm interface in this patch.
> 
> gcc/ChangeLog:
> 
>          * config/riscv/autovec.md: Split arguments.
>          * config/riscv/riscv-protos.h (expand_vec_perm): Ditto.
>          * config/riscv/riscv-v.cc (expand_vec_perm): Ditto.
OK
jeff
diff mbox series

Patch

diff --git a/gcc/config/riscv/autovec.md b/gcc/config/riscv/autovec.md
index 5c3aad7ee44..ec038fe87cd 100644
--- a/gcc/config/riscv/autovec.md
+++ b/gcc/config/riscv/autovec.md
@@ -96,7 +96,8 @@ 
    (match_operand:<VINDEX> 3 "vector_perm_operand")]
   "TARGET_VECTOR && GET_MODE_NUNITS (<MODE>mode).is_constant ()"
   {
-    riscv_vector::expand_vec_perm (operands);
+    riscv_vector::expand_vec_perm (operands[0], operands[1],
+				   operands[2], operands[3]);
     DONE;
   }
 )
diff --git a/gcc/config/riscv/riscv-protos.h b/gcc/config/riscv/riscv-protos.h
index d032f569a36..00e1b20c6c6 100644
--- a/gcc/config/riscv/riscv-protos.h
+++ b/gcc/config/riscv/riscv-protos.h
@@ -241,7 +241,7 @@  opt_machine_mode get_mask_mode (machine_mode);
 void expand_vec_series (rtx, rtx, rtx);
 void expand_vec_init (rtx, rtx);
 void expand_vcond (rtx *);
-void expand_vec_perm (rtx *);
+void expand_vec_perm (rtx, rtx, rtx, rtx);
 /* Rounding mode bitfield for fixed point VXRM.  */
 enum vxrm_field_enum
 {
diff --git a/gcc/config/riscv/riscv-v.cc b/gcc/config/riscv/riscv-v.cc
index fa13bd94f9d..49752cd8899 100644
--- a/gcc/config/riscv/riscv-v.cc
+++ b/gcc/config/riscv/riscv-v.cc
@@ -2025,12 +2025,8 @@  expand_vcond (rtx *ops)
 /* Implement vec_perm<mode>.  */
 
 void
-expand_vec_perm (rtx *operands)
+expand_vec_perm (rtx target, rtx op0, rtx op1, rtx sel)
 {
-  rtx target = operands[0];
-  rtx op0 = operands[1];
-  rtx op1 = operands[2];
-  rtx sel = operands[3];
   machine_mode data_mode = GET_MODE (target);
   machine_mode sel_mode = GET_MODE (sel);