[all-commits] [llvm/llvm-project] 7e44eb: [AArch64][SVE] Improve code generation for VLS i1 ...
David Truby via All-commits
all-commits at lists.llvm.org
Fri Dec 17 08:44:48 PST 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 7e44eb079d99ce1b9b2e2f8f3cf1b7f4211d7b85
https://github.com/llvm/llvm-project/commit/7e44eb079d99ce1b9b2e2f8f3cf1b7f4211d7b85
Author: David Truby <david.truby at arm.com>
Date: 2021-12-17 (Fri, 17 Dec 2021)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-gather.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-loads.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-scatter.ll
A llvm/test/CodeGen/AArch64/sve-punpklo-combine.ll
Log Message:
-----------
[AArch64][SVE] Improve code generation for VLS i1 masks
This patch partially resolves an issue for VLS code generation
where a mask is generated from a smaller width integer comparison
than the instruction using the mask requires.
Instead of sign extending a p register by converting it to a z
register, extending that, and converting back, we instead just
do an unpack of the p register.
A separate issue causes the code generation to still be poor when
the mask generation would fit in a neon register, as we then use
a neon comparison operation and have to convert that to a p register.
This will be resolved in a separate patch.
Reviewed By: peterwaller-arm
Differential Revision: https://reviews.llvm.org/D111221
More information about the All-commits
mailing list