[ARM] Extend more reductions during lowering
authorDavid Green <david.green@arm.com>
Mon, 19 Jul 2021 07:58:03 +0000 (08:58 +0100)
committerDavid Green <david.green@arm.com>
Mon, 19 Jul 2021 07:58:03 +0000 (08:58 +0100)
commiteb1e95dbdf2b4ffe94259199d0970d072fe24959
treee002ab8c67802ac27108fb50c23b2a2c31dfb3f6
parent0ed0573527404ee37d9ac700c9beab642e38657b
[ARM] Extend more reductions during lowering

This relaxes the VMLAV and VADDV reduction recognition code to handle
smaller than legal types, extending them as needed. That was already
handled for some reductions, this extends it to more types in a more
generic way. If a smaller than legal value is found it is extended to
the legal type as needed.

Differential Revision: https://reviews.llvm.org/D106051
llvm/lib/Target/ARM/ARMISelLowering.cpp
llvm/test/CodeGen/Thumb2/mve-vecreduce-add.ll
llvm/test/CodeGen/Thumb2/mve-vecreduce-addpred.ll
llvm/test/CodeGen/Thumb2/mve-vecreduce-mla.ll
llvm/test/CodeGen/Thumb2/mve-vecreduce-mlapred.ll