diff options
| author | Sam Tebbs <sam.tebbs@arm.com> | 2019-09-13 09:11:46 +0000 |
|---|---|---|
| committer | Sam Tebbs <sam.tebbs@arm.com> | 2019-09-13 09:11:46 +0000 |
| commit | 1572b68509571ef8e52db9e54ff7b0a284a23974 (patch) | |
| tree | 81fb53de18286cc3d0fd34ae1b522d56268deb8e /llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp | |
| parent | d70690833908f1fbb1fce1d18831901594e43860 (diff) | |
| download | bcm5719-llvm-1572b68509571ef8e52db9e54ff7b0a284a23974.tar.gz bcm5719-llvm-1572b68509571ef8e52db9e54ff7b0a284a23974.zip | |
[ARM] Add support for MVE vmaxv and vminv
This patch adds vecreduce_smax, vecredude_umax, vecreduce_smin, vecreduce_umin and selection for vmaxv and minv.
Differential Revision: https://reviews.llvm.org/D66413
llvm-svn: 371827
Diffstat (limited to 'llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp')
| -rw-r--r-- | llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp b/llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp index 3dbf5b9efc4..e74b2b1a2ba 100644 --- a/llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp +++ b/llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp @@ -1059,11 +1059,11 @@ bool ARMTTIImpl::useReductionIntrinsic(unsigned Opcode, Type *Ty, case Instruction::Or: case Instruction::Xor: case Instruction::Mul: - case Instruction::ICmp: case Instruction::FCmp: return false; + case Instruction::ICmp: case Instruction::Add: - return ScalarBits * Ty->getVectorNumElements() == 128; + return ScalarBits < 64 && ScalarBits * Ty->getVectorNumElements() == 128; default: llvm_unreachable("Unhandled reduction opcode"); } |

