[PATCH] D69956: [AArch64][SVE] Integer reduction instructions pattern/intrinsics.
Danilo Carvalho Grael via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Nov 29 10:28:20 PST 2019
dancgr marked 9 inline comments as done.
dancgr added a comment.
Done all changes suggested by @sdesmalen. I removed the unnecessary changes to AArch64 patterns, did all of the small details and added nxv2i64 sddv mapping to uaddv.
================
Comment at: llvm/test/CodeGen/AArch64/sve-int-reduce-pred.ll:33
+}
+
+define i64 @uaddv_i8(<vscale x 16 x i1> %pg, <vscale x 16 x i8> %a) {
----------------
sdesmalen wrote:
> For the ACLE `saddv_i64` is also needed, can you add this case as well? (it will just map directly to a `uaddv` instruction directly, so that should be a simple change where you call `LowerSVEIntReduction`
For this, I have decided to map it in the SVEInstrFormat pattern instead of the lowering (I added an extra PatternOperator for the uaddv multiclass). Since we don't have custom lowering for SADDV and UADDV (they return i64 FPR128 types so they don't need it).
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D69956/new/
https://reviews.llvm.org/D69956
More information about the llvm-commits
mailing list