summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorKen Dyck <ken.dyck@onsemi.com>2009-12-17 15:31:52 +0000
committerKen Dyck <ken.dyck@onsemi.com>2009-12-17 15:31:52 +0000
commit798493285ca8470e211648077af58f98803439b6 (patch)
treeec00cac02bb2d45589cb5e496cf0b034518ef430 /llvm/lib
parente9823fab83ac05476ce3bdcd1dd0559d24bc4d23 (diff)
downloadbcm5719-llvm-798493285ca8470e211648077af58f98803439b6.tar.gz
bcm5719-llvm-798493285ca8470e211648077af58f98803439b6.zip
In LowerEXTRACT_VECTOR_ELT, force an i32 value type for PEXTWR instead of
incrementing the simple value type of the 16-bit type, which would give the wrong type if an intemediate MVT (such as i24) were introduced. llvm-svn: 91602
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/X86/X86ISelLowering.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp
index aa6967ab43b..fb5b4ccd413 100644
--- a/llvm/lib/Target/X86/X86ISelLowering.cpp
+++ b/llvm/lib/Target/X86/X86ISelLowering.cpp
@@ -4584,7 +4584,7 @@ X86TargetLowering::LowerEXTRACT_VECTOR_ELT(SDValue Op, SelectionDAG &DAG) {
MVT::v4i32, Vec),
Op.getOperand(1)));
// Transform it so it match pextrw which produces a 32-bit result.
- EVT EltVT = (MVT::SimpleValueType)(VT.getSimpleVT().SimpleTy+1);
+ EVT EltVT = MVT::i32;
SDValue Extract = DAG.getNode(X86ISD::PEXTRW, dl, EltVT,
Op.getOperand(0), Op.getOperand(1));
SDValue Assert = DAG.getNode(ISD::AssertZext, dl, EltVT, Extract,
OpenPOWER on IntegriCloud