[PATCH] D136722: [AArch64] Extending lowering of 'zext <Y x i8> %x to <Y x i8X>' to use tbl instructions
NILANJANA BASU via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Nov 8 11:01:07 PST 2022
nilanjana_basu created this revision.
nilanjana_basu added a reviewer: fhahn.
Herald added subscribers: hiraditya, kristof.beyls.
Herald added a project: All.
nilanjana_basu edited the summary of this revision.
nilanjana_basu added a reviewer: paquette.
nilanjana_basu updated this revision to Diff 473568.
nilanjana_basu added a comment.
nilanjana_basu updated this revision to Diff 473596.
nilanjana_basu retitled this revision from "[AArch64] Extending lowering of 'zext <(8|16) x i8> %x to <(8|16) x (i16|i64)>' to use tbl instructions" to "[AArch64] Extending lowering of 'zext <Y x i8> %x to <Y x (i16|i64)>' to use tbl instructions".
nilanjana_basu edited the summary of this revision.
nilanjana_basu added reviewers: t.p.northover, dmgreen.
nilanjana_basu updated this revision to Diff 473761.
nilanjana_basu updated this revision to Diff 473769.
nilanjana_basu updated this revision to Diff 473877.
nilanjana_basu retitled this revision from "[AArch64] Extending lowering of 'zext <Y x i8> %x to <Y x (i16|i64)>' to use tbl instructions" to "[AArch64] Extending lowering of 'zext <Y x i8> %x to <Y x i8X>' to use tbl instructions".
nilanjana_basu edited the summary of this revision.
nilanjana_basu published this revision for review.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.
Added more test cases for zext lowering of different vector types
nilanjana_basu added a comment.
Allowed the zext to tbl lowering for all lengths of vectors
nilanjana_basu added a comment.
Added Big-Endian checks for the test cases that I missed earlier
nilanjana_basu added a comment.
Ran clang-format
nilanjana_basu added a comment.
Allowed all element sizes in the destination element that is a multiple of 8
Adding support for ZExt lowering for destination types beyond the existing support for (8|16) x i32
[AArch64] Patch for lowering zext instructions to 'tbl' for (8|16)xi8 -> (8|16)xi32 conversions in D120571 <https://reviews.llvm.org/D120571> is extended to support zext to 'tbl' lowering for Y x i8 to Y x i8X. Any number of vector elements & any destination element type whose size is a multiple of 8 is allowed for this transformation.
Related microbenchmarks can be added by extending D136274 <https://reviews.llvm.org/D136274>
Depends on D120571 <https://reviews.llvm.org/D120571>
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D136722
Files:
llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
llvm/test/CodeGen/AArch64/aarch64-matrix-umull-smull.ll
llvm/test/CodeGen/AArch64/zext-to-tbl.ll
llvm/test/Transforms/CodeGenPrepare/AArch64/zext-to-shuffle.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D136722.473877.patch
Type: text/x-patch
Size: 112650 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20221108/feb70c07/attachment-0001.bin>
More information about the llvm-commits
mailing list