diff options
author | Aditya Nandakumar <aditya_nandakumar@apple.com> | 2019-08-14 01:23:33 +0000 |
---|---|---|
committer | Aditya Nandakumar <aditya_nandakumar@apple.com> | 2019-08-14 01:23:33 +0000 |
commit | c65ac865c394179e4144ecd8796beb96c46d09db (patch) | |
tree | d054de651cafbbbf6fcad4067bee9995d1131d44 /llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp | |
parent | 21872bc9bf374db7f7f340758ac9bf262b892a53 (diff) | |
download | bcm5719-llvm-c65ac865c394179e4144ecd8796beb96c46d09db.tar.gz bcm5719-llvm-c65ac865c394179e4144ecd8796beb96c46d09db.zip |
[GlobalISel]: Fix lowering of G_Shuffle_vector where we pick up the wrong source index
https://reviews.llvm.org/D66182
llvm-svn: 368781
Diffstat (limited to 'llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp')
-rw-r--r-- | llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp b/llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp index 4d7db279099..ad1a41b09dd 100644 --- a/llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp +++ b/llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp @@ -3824,7 +3824,6 @@ LegalizerHelper::lowerShuffleVector(MachineInstr &MI) { LLT Src0Ty = MRI.getType(Src0Reg); LLT DstTy = MRI.getType(DstReg); LLT EltTy = DstTy.getElementType(); - int NumElts = DstTy.getNumElements(); LLT IdxTy = LLT::scalar(32); const Constant *ShufMask = MI.getOperand(3).getShuffleMask(); @@ -3846,6 +3845,7 @@ LegalizerHelper::lowerShuffleVector(MachineInstr &MI) { if (Src0Ty.isScalar()) { BuildVec.push_back(Idx == 0 ? Src0Reg : Src1Reg); } else { + int NumElts = Src0Ty.getNumElements(); Register SrcVec = Idx < NumElts ? Src0Reg : Src1Reg; int ExtractIdx = Idx < NumElts ? Idx : Idx - NumElts; auto IdxK = MIRBuilder.buildConstant(IdxTy, ExtractIdx); |