[llvm] r346603 - [X86] Replace calls to getOnesVector/getZeroVector with getConstant.

Craig Topper via llvm-commits llvm-commits at lists.llvm.org
Sat Nov 10 17:40:04 PST 2018


Author: ctopper
Date: Sat Nov 10 17:40:04 2018
New Revision: 346603

URL: http://llvm.org/viewvc/llvm-project?rev=346603&view=rev
Log:
[X86] Replace calls to getOnesVector/getZeroVector with getConstant.

getConstant will create a BUILD_VECTOR for us and use a legal type if necessary. So just create the simple node and let BUILD_VECTOR legalization do the canonicalization.

Modified:
    llvm/trunk/lib/Target/X86/X86ISelLowering.cpp

Modified: llvm/trunk/lib/Target/X86/X86ISelLowering.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86ISelLowering.cpp?rev=346603&r1=346602&r2=346603&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86ISelLowering.cpp (original)
+++ llvm/trunk/lib/Target/X86/X86ISelLowering.cpp Sat Nov 10 17:40:04 2018
@@ -19747,8 +19747,8 @@ static SDValue LowerSIGN_EXTEND_Mask(SDV
       (Subtarget.hasBWI() && WideEltVT.getSizeInBits() <= 16)) {
     V = DAG.getNode(Op.getOpcode(), dl, WideVT, In);
   } else {
-    SDValue NegOne = getOnesVector(WideVT, DAG, dl);
-    SDValue Zero = getZeroVector(WideVT, Subtarget, DAG, dl);
+    SDValue NegOne = DAG.getConstant(-1, dl, WideVT);
+    SDValue Zero = DAG.getConstant(0, dl, WideVT);
     V = DAG.getSelect(dl, WideVT, In, NegOne, Zero);
   }
 




More information about the llvm-commits mailing list