[gcc r14-7169] i386: Remove redundant move in vnni pattern

Haochen Jiang jianghc@gcc.gnu.org
Fri Jan 12 07:56:31 GMT 2024


https://gcc.gnu.org/g:72b3495dfdddc27753f66eb77fff647d619f75f0

commit r14-7169-g72b3495dfdddc27753f66eb77fff647d619f75f0
Author: Haochen Jiang <haochen.jiang@intel.com>
Date:   Thu Jan 11 16:22:38 2024 +0800

    i386: Remove redundant move in vnni pattern
    
    gcc/ChangeLog:
    
            * config/i386/sse.md (sdot_prod<mode>): Remove redundant SET.
            (usdot_prod<mode>): Ditto.
            (sdot_prod<mode>): Ditto.
            (udot_prod<mode>): Ditto.

Diff:
---
 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]));
    }


More information about the Gcc-cvs mailing list