]> granicus.if.org Git - llvm/commitdiff
[X86][SSE] X86TargetLowering::isCommutativeBinOp - add PMULDQ
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Wed, 26 Jun 2019 14:58:11 +0000 (14:58 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Wed, 26 Jun 2019 14:58:11 +0000 (14:58 +0000)
Allows narrowInsertExtractVectorBinOp to reduce vector size instead of the more restricted SimplifyDemandedVectorEltsForTargetNode

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@364434 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/X86ISelLowering.cpp

index 4eb3323b94561c0320ccee40abdf2e7aade035fc..e81339d8eb7e6832d9def78f8c2e7159ee9fc87a 100644 (file)
@@ -28587,6 +28587,7 @@ bool X86TargetLowering::isCommutativeBinOp(unsigned Opcode) const {
   switch (Opcode) {
   // TODO: Add more X86ISD opcodes once we have test coverage.
   case X86ISD::PCMPEQ:
+  case X86ISD::PMULDQ:
   case X86ISD::PMULUDQ:
   case X86ISD::FMAXC:
   case X86ISD::FMINC:
@@ -34007,9 +34008,6 @@ bool X86TargetLowering::SimplifyDemandedVectorEltsForTargetNode(
           insertSubVector(UndefVec, ExtOp, 0, TLO.DAG, DL, ExtSizeInBits);
       return TLO.CombineTo(Op, Insert);
     }
-      // Arithmetic Ops.
-    case X86ISD::PMULDQ:
-    case X86ISD::PMULUDQ:
       // Target Shuffles.
     case X86ISD::PSHUFB:
     case X86ISD::UNPCKL: