summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorKrzysztof Parzyszek <kparzysz@codeaurora.org>2017-12-11 14:46:06 +0000
committerKrzysztof Parzyszek <kparzysz@codeaurora.org>2017-12-11 14:46:06 +0000
commit152414595ba0ef29b157619f727720214e2a43db (patch)
tree97c94ee65ea27d093e6536308f3527115395dcaf /llvm/lib
parent50d37a112974e32f19049fd07964c498bf9a29c3 (diff)
downloadbcm5719-llvm-152414595ba0ef29b157619f727720214e2a43db.tar.gz
bcm5719-llvm-152414595ba0ef29b157619f727720214e2a43db.zip
[Hexagon] Crash in instruction selection for insert_vector_elt for HVX
A wrong type was passed to insertVector, causing an out-of-bounds value to be added an an operand to HexagonISD::INSERT. This later failed in instruction selection. llvm-svn: 320369
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp b/llvm/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp
index de2ac42ad51..c397ddcd3bc 100644
--- a/llvm/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp
+++ b/llvm/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp
@@ -280,7 +280,7 @@ HexagonTargetLowering::LowerHvxInsertElement(SDValue Op, SelectionDAG &DAG)
SDValue SubIdx = getIndexInWord32(IdxV, ElemTy, DAG);
MVT SubVecTy = tyVector(ty(Ext), ElemTy);
SDValue Ins = insertVector(DAG.getBitcast(SubVecTy, Ext),
- ValV, SubIdx, dl, SubVecTy, DAG);
+ ValV, SubIdx, dl, ElemTy, DAG);
// 3. Insert the 32-bit word back into the original vector.
return InsertWord(VecV, Ins, ByteIdx);
OpenPOWER on IntegriCloud