diff options
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"); } |

