i386: Remove redundant move in vnni pattern
Checks
Commit Message
Hi all,
This patch removes all redundant set in vnni patterns.
Ok for trunk?
Thx,
Haochen
gcc/ChangeLog:
* config/i386/sse.md (sdot_prod<mode>): Remove redundant SET.
(usdot_prod<mode>): Ditto.
(sdot_prod<mode>): Ditto.
(udot_prod<mode>): Ditto.
---
gcc/config/i386/sse.md | 4 ----
1 file changed, 4 deletions(-)
Comments
> -----Original Message-----
> From: Jiang, Haochen <haochen.jiang@intel.com>
> Sent: Friday, January 12, 2024 10:26 AM
> To: gcc-patches@gcc.gnu.org
> Cc: Liu, Hongtao <hongtao.liu@intel.com>; ubizjak@gmail.com
> Subject: [PATCH] i386: Remove redundant move in vnni pattern
>
> Hi all,
>
> This patch removes all redundant set in vnni patterns.
>
> Ok for trunk?
Ok.
>
> Thx,
> Haochen
>
> gcc/ChangeLog:
>
> * config/i386/sse.md (sdot_prod<mode>): Remove redundant SET.
> (usdot_prod<mode>): Ditto.
> (sdot_prod<mode>): Ditto.
> (udot_prod<mode>): Ditto.
> ---
> gcc/config/i386/sse.md | 4 ----
> 1 file changed, 4 deletions(-)
>
> diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md index
> 532738dcf94..acd10908d76 100644
> --- a/gcc/config/i386/sse.md
> +++ b/gcc/config/i386/sse.md
> @@ -16174,7 +16174,6 @@
> operands[2] = lowpart_subreg (<sseunpackmode>mode,
> force_reg (<MODE>mode, operands[2]),
> <MODE>mode);
> - emit_insn (gen_rtx_SET (operands[0], operands[3]));
> emit_insn (gen_vpdpwssd_<SDOT_VPDP_SUF> (operands[0],
> operands[3],
> operands[1], operands[2]));
> }
> @@ -29963,7 +29962,6 @@
> operands[2] = lowpart_subreg (<ssedvecmode>mode,
> force_reg (<MODE>mode, operands[2]),
> <MODE>mode);
> - emit_insn (gen_rtx_SET (operands[0], operands[3]));
> emit_insn (gen_vpdpbusd_<ssedvecmodelower> (operands[0],
> operands[3],
> operands[1], operands[2]));
> DONE;
> @@ -30780,7 +30778,6 @@
> operands[2] = lowpart_subreg (<ssedvecmode>mode,
> force_reg (<MODE>mode, operands[2]),
> <MODE>mode);
> - emit_insn (gen_rtx_SET (operands[0], operands[3]));
> emit_insn (gen_vpdpbssd_<ssedvecmodelower> (operands[0],
> operands[3],
> operands[1], operands[2]));
> }
> @@ -30857,7 +30854,6 @@
> operands[2] = lowpart_subreg (<ssedvecmode>mode,
> force_reg (<MODE>mode, operands[2]),
> <MODE>mode);
> - emit_insn (gen_rtx_SET (operands[0], operands[3]));
> emit_insn (gen_vpdpbuud_<ssedvecmodelower> (operands[0],
> operands[3],
> operands[1], operands[2]));
> }
> --
> 2.31.1
@@ -16174,7 +16174,6 @@
operands[2] = lowpart_subreg (<sseunpackmode>mode,
force_reg (<MODE>mode, operands[2]),
<MODE>mode);
- emit_insn (gen_rtx_SET (operands[0], operands[3]));
emit_insn (gen_vpdpwssd_<SDOT_VPDP_SUF> (operands[0], operands[3],
operands[1], operands[2]));
}
@@ -29963,7 +29962,6 @@
operands[2] = lowpart_subreg (<ssedvecmode>mode,
force_reg (<MODE>mode, operands[2]),
<MODE>mode);
- emit_insn (gen_rtx_SET (operands[0], operands[3]));
emit_insn (gen_vpdpbusd_<ssedvecmodelower> (operands[0], operands[3],
operands[1], operands[2]));
DONE;
@@ -30780,7 +30778,6 @@
operands[2] = lowpart_subreg (<ssedvecmode>mode,
force_reg (<MODE>mode, operands[2]),
<MODE>mode);
- emit_insn (gen_rtx_SET (operands[0], operands[3]));
emit_insn (gen_vpdpbssd_<ssedvecmodelower> (operands[0], operands[3],
operands[1], operands[2]));
}
@@ -30857,7 +30854,6 @@
operands[2] = lowpart_subreg (<ssedvecmode>mode,
force_reg (<MODE>mode, operands[2]),
<MODE>mode);
- emit_insn (gen_rtx_SET (operands[0], operands[3]));
emit_insn (gen_vpdpbuud_<ssedvecmodelower> (operands[0], operands[3],
operands[1], operands[2]));
}