Use MVT instead of EVT in more instruction lowering code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172933 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Craig Topper 2013-01-20 00:38:18 +00:00
parent f9147c41d8
commit 45e1c75833

View File

@ -4390,7 +4390,7 @@ static SDValue getZeroVector(EVT VT, const X86Subtarget *Subtarget,
/// Always build ones vectors as <4 x i32> or <8 x i32>. For 256-bit types with /// Always build ones vectors as <4 x i32> or <8 x i32>. For 256-bit types with
/// no AVX2 supprt, use two <4 x i32> inserted in a <8 x i32> appropriately. /// no AVX2 supprt, use two <4 x i32> inserted in a <8 x i32> appropriately.
/// Then bitcast to their original type, ensuring they get CSE'd. /// Then bitcast to their original type, ensuring they get CSE'd.
static SDValue getOnesVector(EVT VT, bool HasInt256, SelectionDAG &DAG, static SDValue getOnesVector(MVT VT, bool HasInt256, SelectionDAG &DAG,
DebugLoc dl) { DebugLoc dl) {
assert(VT.isVector() && "Expected a vector type"); assert(VT.isVector() && "Expected a vector type");
@ -5100,7 +5100,7 @@ X86TargetLowering::LowerVectorBroadcast(SDValue Op, SelectionDAG &DAG) const {
if (!Subtarget->hasFp256()) if (!Subtarget->hasFp256())
return SDValue(); return SDValue();
EVT VT = Op.getValueType(); MVT VT = Op.getValueType().getSimpleVT();
DebugLoc dl = Op.getDebugLoc(); DebugLoc dl = Op.getDebugLoc();
assert((VT.is128BitVector() || VT.is256BitVector()) && assert((VT.is128BitVector() || VT.is256BitVector()) &&
@ -5298,8 +5298,8 @@ SDValue
X86TargetLowering::LowerBUILD_VECTOR(SDValue Op, SelectionDAG &DAG) const { X86TargetLowering::LowerBUILD_VECTOR(SDValue Op, SelectionDAG &DAG) const {
DebugLoc dl = Op.getDebugLoc(); DebugLoc dl = Op.getDebugLoc();
EVT VT = Op.getValueType(); MVT VT = Op.getValueType().getSimpleVT();
EVT ExtVT = VT.getVectorElementType(); MVT ExtVT = VT.getVectorElementType();
unsigned NumElems = Op.getNumOperands(); unsigned NumElems = Op.getNumOperands();
// Vectors containing all zeros can be matched by pxor and xorps later // Vectors containing all zeros can be matched by pxor and xorps later
@ -5630,7 +5630,7 @@ X86TargetLowering::LowerBUILD_VECTOR(SDValue Op, SelectionDAG &DAG) const {
// to create 256-bit vectors from two other 128-bit ones. // to create 256-bit vectors from two other 128-bit ones.
static SDValue LowerAVXCONCAT_VECTORS(SDValue Op, SelectionDAG &DAG) { static SDValue LowerAVXCONCAT_VECTORS(SDValue Op, SelectionDAG &DAG) {
DebugLoc dl = Op.getDebugLoc(); DebugLoc dl = Op.getDebugLoc();
EVT ResVT = Op.getValueType(); MVT ResVT = Op.getValueType().getSimpleVT();
assert(ResVT.is256BitVector() && "Value type must be 256-bit wide"); assert(ResVT.is256BitVector() && "Value type must be 256-bit wide");
@ -7038,10 +7038,10 @@ X86TargetLowering::LowerVECTOR_SHUFFLE(SDValue Op, SelectionDAG &DAG) const {
SDValue SDValue
X86TargetLowering::LowerEXTRACT_VECTOR_ELT_SSE4(SDValue Op, X86TargetLowering::LowerEXTRACT_VECTOR_ELT_SSE4(SDValue Op,
SelectionDAG &DAG) const { SelectionDAG &DAG) const {
EVT VT = Op.getValueType(); MVT VT = Op.getValueType().getSimpleVT();
DebugLoc dl = Op.getDebugLoc(); DebugLoc dl = Op.getDebugLoc();
if (!Op.getOperand(0).getValueType().is128BitVector()) if (!Op.getOperand(0).getValueType().getSimpleVT().is128BitVector())
return SDValue(); return SDValue();
if (VT.getSizeInBits() == 8) { if (VT.getSizeInBits() == 8) {
@ -7106,7 +7106,7 @@ X86TargetLowering::LowerEXTRACT_VECTOR_ELT(SDValue Op,
return SDValue(); return SDValue();
SDValue Vec = Op.getOperand(0); SDValue Vec = Op.getOperand(0);
EVT VecVT = Vec.getValueType(); MVT VecVT = Vec.getValueType().getSimpleVT();
// If this is a 256-bit vector result, first extract the 128-bit vector and // If this is a 256-bit vector result, first extract the 128-bit vector and
// then extract the element from the 128-bit vector. // then extract the element from the 128-bit vector.
@ -7133,7 +7133,7 @@ X86TargetLowering::LowerEXTRACT_VECTOR_ELT(SDValue Op,
return Res; return Res;
} }
EVT VT = Op.getValueType(); MVT VT = Op.getValueType().getSimpleVT();
DebugLoc dl = Op.getDebugLoc(); DebugLoc dl = Op.getDebugLoc();
// TODO: handle v16i8. // TODO: handle v16i8.
if (VT.getSizeInBits() == 16) { if (VT.getSizeInBits() == 16) {
@ -7146,7 +7146,7 @@ X86TargetLowering::LowerEXTRACT_VECTOR_ELT(SDValue Op,
MVT::v4i32, Vec), MVT::v4i32, Vec),
Op.getOperand(1))); Op.getOperand(1)));
// Transform it so it match pextrw which produces a 32-bit result. // Transform it so it match pextrw which produces a 32-bit result.
EVT EltVT = MVT::i32; MVT EltVT = MVT::i32;
SDValue Extract = DAG.getNode(X86ISD::PEXTRW, dl, EltVT, SDValue Extract = DAG.getNode(X86ISD::PEXTRW, dl, EltVT,
Op.getOperand(0), Op.getOperand(1)); Op.getOperand(0), Op.getOperand(1));
SDValue Assert = DAG.getNode(ISD::AssertZext, dl, EltVT, Extract, SDValue Assert = DAG.getNode(ISD::AssertZext, dl, EltVT, Extract,
@ -7161,7 +7161,7 @@ X86TargetLowering::LowerEXTRACT_VECTOR_ELT(SDValue Op,
// SHUFPS the element to the lowest double word, then movss. // SHUFPS the element to the lowest double word, then movss.
int Mask[4] = { static_cast<int>(Idx), -1, -1, -1 }; int Mask[4] = { static_cast<int>(Idx), -1, -1, -1 };
EVT VVT = Op.getOperand(0).getValueType(); MVT VVT = Op.getOperand(0).getValueType().getSimpleVT();
SDValue Vec = DAG.getVectorShuffle(VVT, dl, Op.getOperand(0), SDValue Vec = DAG.getVectorShuffle(VVT, dl, Op.getOperand(0),
DAG.getUNDEF(VVT), Mask); DAG.getUNDEF(VVT), Mask);
return DAG.getNode(ISD::EXTRACT_VECTOR_ELT, dl, VT, Vec, return DAG.getNode(ISD::EXTRACT_VECTOR_ELT, dl, VT, Vec,
@ -7180,7 +7180,7 @@ X86TargetLowering::LowerEXTRACT_VECTOR_ELT(SDValue Op,
// Note if the lower 64 bits of the result of the UNPCKHPD is then stored // Note if the lower 64 bits of the result of the UNPCKHPD is then stored
// to a f64mem, the whole operation is folded into a single MOVHPDmr. // to a f64mem, the whole operation is folded into a single MOVHPDmr.
int Mask[2] = { 1, -1 }; int Mask[2] = { 1, -1 };
EVT VVT = Op.getOperand(0).getValueType(); MVT VVT = Op.getOperand(0).getValueType().getSimpleVT();
SDValue Vec = DAG.getVectorShuffle(VVT, dl, Op.getOperand(0), SDValue Vec = DAG.getVectorShuffle(VVT, dl, Op.getOperand(0),
DAG.getUNDEF(VVT), Mask); DAG.getUNDEF(VVT), Mask);
return DAG.getNode(ISD::EXTRACT_VECTOR_ELT, dl, VT, Vec, return DAG.getNode(ISD::EXTRACT_VECTOR_ELT, dl, VT, Vec,
@ -7193,8 +7193,8 @@ X86TargetLowering::LowerEXTRACT_VECTOR_ELT(SDValue Op,
SDValue SDValue
X86TargetLowering::LowerINSERT_VECTOR_ELT_SSE4(SDValue Op, X86TargetLowering::LowerINSERT_VECTOR_ELT_SSE4(SDValue Op,
SelectionDAG &DAG) const { SelectionDAG &DAG) const {
EVT VT = Op.getValueType(); MVT VT = Op.getValueType().getSimpleVT();
EVT EltVT = VT.getVectorElementType(); MVT EltVT = VT.getVectorElementType();
DebugLoc dl = Op.getDebugLoc(); DebugLoc dl = Op.getDebugLoc();
SDValue N0 = Op.getOperand(0); SDValue N0 = Op.getOperand(0);
@ -7247,8 +7247,8 @@ X86TargetLowering::LowerINSERT_VECTOR_ELT_SSE4(SDValue Op,
SDValue SDValue
X86TargetLowering::LowerINSERT_VECTOR_ELT(SDValue Op, SelectionDAG &DAG) const { X86TargetLowering::LowerINSERT_VECTOR_ELT(SDValue Op, SelectionDAG &DAG) const {
EVT VT = Op.getValueType(); MVT VT = Op.getValueType().getSimpleVT();
EVT EltVT = VT.getVectorElementType(); MVT EltVT = VT.getVectorElementType();
DebugLoc dl = Op.getDebugLoc(); DebugLoc dl = Op.getDebugLoc();
SDValue N0 = Op.getOperand(0); SDValue N0 = Op.getOperand(0);
@ -7296,7 +7296,7 @@ X86TargetLowering::LowerINSERT_VECTOR_ELT(SDValue Op, SelectionDAG &DAG) const {
static SDValue LowerSCALAR_TO_VECTOR(SDValue Op, SelectionDAG &DAG) { static SDValue LowerSCALAR_TO_VECTOR(SDValue Op, SelectionDAG &DAG) {
LLVMContext *Context = DAG.getContext(); LLVMContext *Context = DAG.getContext();
DebugLoc dl = Op.getDebugLoc(); DebugLoc dl = Op.getDebugLoc();
EVT OpVT = Op.getValueType(); MVT OpVT = Op.getValueType().getSimpleVT();
// If this is a 256-bit vector result, first insert into a 128-bit // If this is a 256-bit vector result, first insert into a 128-bit
// vector and then insert into the 256-bit vector. // vector and then insert into the 256-bit vector.