Page MenuHomePhabricator

[AArch64][GlobalISel] Implement custom legalization for s32 and s64 G_CTPOP

Authored by paquette on Apr 13 2021, 10:51 AM.



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: I think that's worth implementing after implementing the widening code for s16/s8 though.

Diff Detail