[PATCH] D89382: [SVE][CodeGen] Lower scalable integer vector reductions
Kerry McLaughlin via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Oct 26 11:09:24 PDT 2020
kmclaughlin added inline comments.
================
Comment at: llvm/test/CodeGen/AArch64/vecreduce-umax-legalization.ll:145-152
+; CHECK-NEXT: // kill: def $d0 killed $d0 def $q0
+; CHECK-NEXT: umov w10, v0.h[1]
+; CHECK-NEXT: umov w11, v0.h[0]
+; CHECK-NEXT: umov w9, v0.h[2]
+; CHECK-NEXT: orr w10, w11, w10
+; CHECK-NEXT: umov w8, v0.h[3]
+; CHECK-NEXT: orr w9, w10, w9
----------------
paulwalker-arm wrote:
> Presumably this is down to the canonicalisation? I'm not sure there's any immediate performance concerns here, and I stand behind canonicalisation being the correct solution. I guess we can see if anybody disagrees with this.
>
> The worst that can happen is more custom lowering for NEON is required but because the existing lowering doesn't do anything special for OR, and MIN/MAX operations on i1 is weird anyways, I'd rather not do that in this patch unless we really have to.
It is, I needed to change this test after I moved the transformation of vecreduce_umax to getNode()
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D89382/new/
https://reviews.llvm.org/D89382
More information about the llvm-commits
mailing list