]> granicus.if.org Git - llvm/commitdiff
[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.

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

lib/Target/X86/X86ISelLowering.cpp

index 5766773f129da8b6dd3dbfcacd36702550fef608..b9c562008a4e57d86877e1fc58506a94eb09b3d9 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!");