[all-commits] [llvm/llvm-project] 65f257: [AArch64][GlobalISel] Implement custom legalizatio...
Jessica Paquette via All-commits
all-commits at lists.llvm.org
Mon Apr 19 10:56:38 PDT 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 65f257a2152ce855f4e25faed9b43ac21933c14a
https://github.com/llvm/llvm-project/commit/65f257a2152ce855f4e25faed9b43ac21933c14a
Author: Jessica Paquette <jpaquette at apple.com>
Date: 2021-04-19 (Mon, 19 Apr 2021)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.h
A llvm/test/CodeGen/AArch64/GlobalISel/legalize-ctpop-no-implicit-float.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-ctpop.mir
Log Message:
-----------
[AArch64][GlobalISel] Implement custom legalization for s32 and s64 G_CTPOP
This is a partial port of AArch64TargetLowering::LowerCTPOP.
This custom lowering tries to uses NEON instructions to give a more efficient
CTPOP lowering when possible.
In the non-NEON/noimplicitfloat case, this should use the generic lowering
(see: https://godbolt.org/z/GcaPvWe4x). I think that's worth implementing after
implementing the widening code for s16/s8 though.
Differential Revision: https://reviews.llvm.org/D100399
More information about the All-commits
mailing list