diff options
author | Anna Welker <anna.welker@arm.com> | 2020-08-13 12:22:43 +0100 |
---|---|---|
committer | Anna Welker <anna.welker@arm.com> | 2020-08-13 12:24:19 +0100 |
commit | 9eb9ba076a7da7fc640208cfa7ce897b827c5e4b (patch) | |
tree | 1ab4e6aa2b833ad817ce3dcd02a1ed16dedc356b /llvm/lib | |
parent | 8a41a1f5673eacecba62e7a61a263dcf8d4b39be (diff) | |
download | llvm-9eb9ba076a7da7fc640208cfa7ce897b827c5e4b.zip llvm-9eb9ba076a7da7fc640208cfa7ce897b827c5e4b.tar.gz llvm-9eb9ba076a7da7fc640208cfa7ce897b827c5e4b.tar.bz2 |
[ARM][MVE] Fix for tail predication for loops containing MVE gather/scatters
Fix to include non-predicated version of write-back gather in special case
treatment for deducting the instruction type.
(This is fixing https://reviews.llvm.org/D85138 for corner cases)
Differential Revision: https://reviews.llvm.org/D85889
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/Target/ARM/MVETailPredication.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/Target/ARM/MVETailPredication.cpp b/llvm/lib/Target/ARM/MVETailPredication.cpp index b90ec97..40f5d5e 100644 --- a/llvm/lib/Target/ARM/MVETailPredication.cpp +++ b/llvm/lib/Target/ARM/MVETailPredication.cpp @@ -236,7 +236,8 @@ static FixedVectorType *getVectorType(IntrinsicInst *I) { unsigned ID = I->getIntrinsicID(); FixedVectorType *VecTy; if (ID == Intrinsic::masked_load || isGather(I)) { - if (ID == Intrinsic::arm_mve_vldr_gather_base_wb_predicated) + if (ID == Intrinsic::arm_mve_vldr_gather_base_wb || + ID == Intrinsic::arm_mve_vldr_gather_base_wb_predicated) // then the type is a StructType VecTy = dyn_cast<FixedVectorType>(I->getType()->getContainedType(0)); else |