[llvm] r314638 - [X86] Remove a couple unnecessary COPY_TO_REGCLASS from some output patterns where the instruction already produces the correct register class.

Craig Topper via llvm-commits llvm-commits at lists.llvm.org
Sun Oct 1 16:53:51 PDT 2017


Author: ctopper
Date: Sun Oct  1 16:53:50 2017
New Revision: 314638

URL: http://llvm.org/viewvc/llvm-project?rev=314638&view=rev
Log:
[X86] Remove a couple unnecessary COPY_TO_REGCLASS from some output patterns where the instruction already produces the correct register class.

Modified:
    llvm/trunk/lib/Target/X86/X86InstrAVX512.td

Modified: llvm/trunk/lib/Target/X86/X86InstrAVX512.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86InstrAVX512.td?rev=314638&r1=314637&r2=314638&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86InstrAVX512.td (original)
+++ llvm/trunk/lib/Target/X86/X86InstrAVX512.td Sun Oct  1 16:53:50 2017
@@ -3391,21 +3391,19 @@ def : Pat<(_.VT (OpNode _.RC:$src0,
                                   (_.EltVT (X86selects (scalar_to_vector (and (i8 (trunc GR32:$mask)), (i8 1))),
                                                        (_.EltVT _.FRC:$src1),
                                                        (_.EltVT _.FRC:$src2))))))),
-          (COPY_TO_REGCLASS (!cast<Instruction>(InstrStr#rrk)
-                                          (COPY_TO_REGCLASS _.FRC:$src2, _.RC),
-                                          (COPY_TO_REGCLASS GR32:$mask, VK1WM),
-                                          (_.VT _.RC:$src0), _.FRC:$src1),
-                            _.RC)>;
+          (!cast<Instruction>(InstrStr#rrk)
+                        (COPY_TO_REGCLASS _.FRC:$src2, _.RC),
+                        (COPY_TO_REGCLASS GR32:$mask, VK1WM),
+                        (_.VT _.RC:$src0), _.FRC:$src1)>;
 
 def : Pat<(_.VT (OpNode _.RC:$src0,
                         (_.VT (scalar_to_vector
                                   (_.EltVT (X86selects (scalar_to_vector (and (i8 (trunc GR32:$mask)), (i8 1))),
                                                        (_.EltVT _.FRC:$src1),
                                                        (_.EltVT ZeroFP))))))),
-          (COPY_TO_REGCLASS (!cast<Instruction>(InstrStr#rrkz)
-                                          (COPY_TO_REGCLASS GR32:$mask, VK1WM),
-                                          (_.VT _.RC:$src0), _.FRC:$src1),
-                            _.RC)>;
+          (!cast<Instruction>(InstrStr#rrkz)
+                        (COPY_TO_REGCLASS GR32:$mask, VK1WM),
+                        (_.VT _.RC:$src0), _.FRC:$src1)>;
 }
 
 multiclass avx512_store_scalar_lowering<string InstrStr, AVX512VLVectorVTInfo _,




More information about the llvm-commits mailing list