[X86] Use EVT::getIntegerVT instead of MVT::getIntegerVT where the type can be i2...
authorCraig Topper <craig.topper@sifive.com>
Fri, 13 Nov 2020 05:46:34 +0000 (21:46 -0800)
committerCraig Topper <craig.topper@sifive.com>
Fri, 13 Nov 2020 05:48:45 +0000 (21:48 -0800)
This was a mistake introduced in D91294. I'm not sure how to
exercise this with the existing code, but I hit it while trying
some follow up experiments.

llvm/lib/Target/X86/X86ISelLowering.cpp

index f1956d7..df7d227 100644 (file)
@@ -23884,8 +23884,8 @@ static SDValue LowerStore(SDValue Op, const X86Subtarget &Subtarget,
     StoredVal = DAG.getNode(ISD::TRUNCATE, dl, MVT::i8, StoredVal);
     // Make sure we store zeros in the extra bits.
     if (NumElts < 8)
-      StoredVal = DAG.getZeroExtendInReg(StoredVal, dl,
-                                         MVT::getIntegerVT(NumElts));
+      StoredVal = DAG.getZeroExtendInReg(
+          StoredVal, dl, EVT::getIntegerVT(*DAG.getContext(), NumElts));
 
     return DAG.getStore(St->getChain(), dl, StoredVal, St->getBasePtr(),
                         St->getPointerInfo(), St->getOriginalAlign(),