diff options
author | Krzysztof Parzyszek <kparzysz@codeaurora.org> | 2017-12-11 14:46:06 +0000 |
---|---|---|
committer | Krzysztof Parzyszek <kparzysz@codeaurora.org> | 2017-12-11 14:46:06 +0000 |
commit | 152414595ba0ef29b157619f727720214e2a43db (patch) | |
tree | 97c94ee65ea27d093e6536308f3527115395dcaf /llvm/lib | |
parent | 50d37a112974e32f19049fd07964c498bf9a29c3 (diff) | |
download | bcm5719-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.cpp | 2 |
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); |