[PATCH] D145301: Add more efficient vector bitcast for AArch64
Lawrence Benson via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Mar 31 06:03:17 PDT 2023
lawben updated this revision to Diff 510006.
lawben added a comment.
Changed large parts of where this conversion takes place.
It is now located in a) lowering BITCASTs and b) combining truncating stores. This is now more generic than my old
appraoch. In most cases, there is no difference in generted code. In one or two places, we lose information about the original vector type, so the SETCC is truncated and we then
perform the conversion on that truncated vector. So whiel this adds a vector extract instruction in some cases, it is more general overall and handles more cases.
Now also handles the cases described by @Sp00ph, i.e., we don't need a comparison for this to work, as we might add one ourselves.
This still needs handling of big endian systems. But I think this is in a stage that we can discuss the overall design: @dmgreem @Sp00ph @david-arm
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D145301/new/
https://reviews.llvm.org/D145301
Files:
llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
llvm/test/CodeGen/AArch64/vec-combine-compare-and-store.ll
llvm/test/CodeGen/AArch64/vec-combine-compare-to-bitmask.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D145301.510006.patch
Type: text/x-patch
Size: 24593 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230331/2cffa3c3/attachment.bin>
More information about the llvm-commits
mailing list