1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-18 18:42:46 +02:00

[ARM] Allow vecreduce_add in tail predicated loops

This allows vecreduce_add in loops so that we can tailpredicate them.

Differential Revision: https://reviews.llvm.org/D85454
This commit is contained in:
David Green 2020-08-09 10:57:17 +01:00
parent 0bb44acbe5
commit 9669ed5ad9
2 changed files with 284 additions and 2103 deletions

View File

@ -254,11 +254,12 @@ bool MVETailPredication::IsPredicatedVectorLoop() {
switch (Int->getIntrinsicID()) {
case Intrinsic::get_active_lane_mask:
ActiveLaneMask = true;
LLVM_FALLTHROUGH;
continue;
case Intrinsic::sadd_sat:
case Intrinsic::uadd_sat:
case Intrinsic::ssub_sat:
case Intrinsic::usub_sat:
case Intrinsic::experimental_vector_reduce_add:
continue;
case Intrinsic::fma:
case Intrinsic::trunc:
@ -269,7 +270,7 @@ bool MVETailPredication::IsPredicatedVectorLoop() {
case Intrinsic::fabs:
if (ST->hasMVEFloatOps())
continue;
LLVM_FALLTHROUGH;
break;
default:
break;
}

File diff suppressed because it is too large Load Diff