[PATCH] D119285: [SVE] Bail out of constructDup(...) optimization for fixed width vectors > 128 bits

Cameron McInally via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Feb 8 14:10:15 PST 2022


cameron.mcinally created this revision.
cameron.mcinally added reviewers: paulwalker-arm, david-arm, efriedma, Matt.
Herald added subscribers: ctetreau, psnobl, hiraditya, kristof.beyls, tschuett.
cameron.mcinally requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

The `getScaledOffsetDup` optimization in `constructDup(...)` expects the EXTRACT_VECTOR's source to be a NEON sized vector. Since the DUPLANE* patterns won't match a larger fixed width vector, bail out of that optimization early when a large vector is seen.

Two notes on the test case:

1. I bumped the -aarch64-sve-vector-bits-min option to 512b so that the new DUPLANE* test can live in this file. I've confirmed that the 2 existing test cases also show their original failure at this new width, so there is no change in coverage.

2. The new test case generates a ton of instructions. I wasn't sure if we should continue using the `update_llc_test_checks.py` script to generate the CHECK lines or not. Or maybe something else? Any preferences?


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D119285

Files:
  llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
  llvm/test/CodeGen/AArch64/sve-fixed-length-limit-duplane.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D119285.406962.patch
Type: text/x-patch
Size: 12203 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220208/272adf6b/attachment.bin>


More information about the llvm-commits mailing list