[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