Invert the subvector insertion to be more likely to be taken as a COPY
authorBruno Cardoso Lopes <bruno.cardoso@gmail.com>
Thu, 28 Jul 2011 01:26:53 +0000 (01:26 +0000)
committerBruno Cardoso Lopes <bruno.cardoso@gmail.com>
Thu, 28 Jul 2011 01:26:53 +0000 (01:26 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136324 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/X86ISelLowering.cpp

index e1c64ea04ef1f379e19712b84c51006740f0f71e..e969553070af1040cd12bf38f608e3d66d68a6c8 100644 (file)
@@ -4809,9 +4809,9 @@ X86TargetLowering::LowerBUILD_VECTOR(SDValue Op, SelectionDAG &DAG) const {
                                 NumElems/2);
 
     // Recreate the wider vector with the lower and upper part.
-    SDValue Vec = Insert128BitVector(DAG.getNode(ISD::UNDEF, dl, VT), Upper,
-                                DAG.getConstant(NumElems/2, MVT::i32), DAG, dl);
-    return Insert128BitVector(Vec, Lower, DAG.getConstant(0, MVT::i32),
+    SDValue Vec = Insert128BitVector(DAG.getNode(ISD::UNDEF, dl, VT), Lower,
+                                DAG.getConstant(0, MVT::i32), DAG, dl);
+    return Insert128BitVector(Vec, Upper, DAG.getConstant(NumElems/2, MVT::i32),
                               DAG, dl);
   }