OSDN Git Service

[ARM] Use reduction intrinsics for larger than legal reductions
authorDavid Green <david.green@arm.com>
Fri, 24 Jan 2020 14:21:45 +0000 (14:21 +0000)
committerDavid Green <david.green@arm.com>
Fri, 24 Jan 2020 17:07:24 +0000 (17:07 +0000)
commitb535aa405a0210c5d4d161c9e792a2bab10ddf16
treed407dc1c751df08ee666a80193fb7bc23496ddf2
parentf1dab29908d25a4044abff6ffc120c48b20f034d
[ARM] Use reduction intrinsics for larger than legal reductions

The codegen for splitting a llvm.vector.reduction intrinsic into parts
will be better than the codegen for the generic reductions. This will
only directly effect when vectorization factors are specified by the
user.

Also added tests to make sure the codegen for larger reductions is OK.

Differential Revision: https://reviews.llvm.org/D72257
llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
llvm/test/CodeGen/Thumb2/mve-vaddv.ll
llvm/test/Transforms/LoopVectorize/ARM/mve-reduce.ll [new file with mode: 0644]