[PATCH] D89162: [SVE] Lower fixed length VECREDUCE_SEQ_FADD operation

Paul Walker via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Oct 23 11:53:26 PDT 2020


paulwalker-arm accepted this revision.
paulwalker-arm added a comment.
This revision is now accepted and ready to land.

With this patch[1] landed I believe operation legalisation is now a solved problem for SVE (well for fixed length vectors). I think it's worth tackling the type legalisation side of things rather than overcomplicating `shouldExpandReduction`.  Of course that's easy for me to say given it's your time :) but you've already done part of the work based on the older patch.

Your WidenVecOp_VECREDUCE changes looked good and we've already discussed how splitting can be done in a generic way. With these two pieces I think `shouldExpandReduction` just needs to test for SVE.

When that lands we hit another decision point to decide whether it's worth avoiding SVE for very small vectors and thus whether to implement the scalarisation.

[1] I just wanted to highlight my previous `VBITS_EQ_256-COUNT-33: fadd` comment as this gives us a bit more test coverage and is something that will obviously fail (in a good way) when the splitting work is available.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D89162/new/

https://reviews.llvm.org/D89162



More information about the llvm-commits mailing list