[X86] Remove unnecessary code from getMaskNode.
authorCraig Topper <craig.topper@intel.com>
Sat, 12 Jan 2019 06:13:44 +0000 (06:13 +0000)
committerCraig Topper <craig.topper@intel.com>
Sat, 12 Jan 2019 06:13:44 +0000 (06:13 +0000)
We no longer need to extend mask scalars before bitcasting them to vXi1. This was only needed for the truncate intrinsics. And was really a bug in our lowering of them.

llvm-svn: 350991

llvm/lib/Target/X86/X86ISelLowering.cpp

index 5766773..b9c5620 100644 (file)
@@ -21332,11 +21332,7 @@ static SDValue getMaskNode(SDValue Mask, MVT MaskVT,
   if (X86::isZeroNode(Mask))
     return DAG.getConstant(0, dl, MaskVT);
 
-  if (MaskVT.bitsGT(Mask.getSimpleValueType())) {
-    // Mask should be extended
-    Mask = DAG.getNode(ISD::ANY_EXTEND, dl,
-                       MVT::getIntegerVT(MaskVT.getSizeInBits()), Mask);
-  }
+  assert(MaskVT.bitsLE(Mask.getSimpleValueType()) && "Unexpected mask size!");
 
   if (Mask.getSimpleValueType() == MVT::i64 && Subtarget.is32Bit()) {
     assert(MaskVT == MVT::v64i1 && "Expected v64i1 mask!");