]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
i386: Remove redundant move in vnni pattern
authorHaochen Jiang <haochen.jiang@intel.com>
Thu, 11 Jan 2024 08:22:38 +0000 (16:22 +0800)
committerHaochen Jiang <haochen.jiang@intel.com>
Fri, 12 Jan 2024 07:56:16 +0000 (15:56 +0800)
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

index 532738dcf946f6433d2aeb8c721613f15a451021..acd10908d76221e72b20589f61e619fc92f7d83c 100644 (file)
       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]));
     }
   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;
       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]));
     }
       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]));
    }