diff options
Diffstat (limited to 'llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp')
-rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp index 434484b..ca195cb 100644 --- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp @@ -8198,24 +8198,42 @@ void SelectionDAGBuilder::visitIntrinsicCall(const CallInst &I, case Intrinsic::vector_interleave3: visitVectorInterleave(I, 3); return; + case Intrinsic::vector_interleave4: + visitVectorInterleave(I, 4); + return; case Intrinsic::vector_interleave5: visitVectorInterleave(I, 5); return; + case Intrinsic::vector_interleave6: + visitVectorInterleave(I, 6); + return; case Intrinsic::vector_interleave7: visitVectorInterleave(I, 7); return; + case Intrinsic::vector_interleave8: + visitVectorInterleave(I, 8); + return; case Intrinsic::vector_deinterleave2: visitVectorDeinterleave(I, 2); return; case Intrinsic::vector_deinterleave3: visitVectorDeinterleave(I, 3); return; + case Intrinsic::vector_deinterleave4: + visitVectorDeinterleave(I, 4); + return; case Intrinsic::vector_deinterleave5: visitVectorDeinterleave(I, 5); return; + case Intrinsic::vector_deinterleave6: + visitVectorDeinterleave(I, 6); + return; case Intrinsic::vector_deinterleave7: visitVectorDeinterleave(I, 7); return; + case Intrinsic::vector_deinterleave8: + visitVectorDeinterleave(I, 8); + return; case Intrinsic::experimental_vector_compress: setValue(&I, DAG.getNode(ISD::VECTOR_COMPRESS, sdl, getValue(I.getArgOperand(0)).getValueType(), |