[PATCH] D147659: [CodeGen] Add Pre-commit tests for D146988
Dave Green via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Apr 6 08:58:50 PDT 2023
dmgreen added a comment.
Thanks. Can you also add a testcase based on multiple_muls_shuffle_external where it passes in pointers and loads the data, as opposed to passing in vectors. The idea is that pattern of load+shuffle turning into ld2 is going to be very common from where these are generated. It is good to test both if we are making cost-model like decisions.
Otherwise this LGTM.
================
Comment at: llvm/test/CodeGen/AArch64/complex-deinterleaving-multiuses.ll:115
+; CHECK-NEXT: ext v6.16b, v2.16b, v2.16b, #8
+; CHECK-NEXT: fcmla v4.4s, v3.4s, v2.4s, #0
+; CHECK-NEXT: fmul v5.2s, v16.2s, v7.2s
----------------
igor.kirillov wrote:
> Am I correct that we still want to deinterleave in case shufflevectors have external uses?
I think we want the fastest code :) Which is usually the smallest but can depend on the exact instructions. I worry that it might depend on whether the shuffle will be folded into a ld2 or needs to be emitted anyway. Which may mean it needs to look at the shuffles operands to check whether it looks like they can be ignored or not.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D147659/new/
https://reviews.llvm.org/D147659
More information about the llvm-commits
mailing list