This is an archive of the discontinued LLVM Phabricator instance.

[AARCH64] Improve vector popcnt lowering with ADDLP
ClosedPublic

Authored by RKSimon on Oct 14 2018, 11:48 AM.

Details

Summary

AARCH64 equivalent to D53257 - uses widening pairwise adds on vXi8 CTPOP to support i16/i32/i64 vectors.

This will remove the aarch64 diff from D53258.

Diff Detail

Repository
rL LLVM

Event Timeline

RKSimon created this revision.Oct 14 2018, 11:48 AM
efriedma accepted this revision.Oct 15 2018, 12:44 PM

LGTM

test/CodeGen/AArch64/arm64-vpopcnt.ll
49 ↗(On Diff #169617)

It's possible to save two instructions here using uaddlv. But we don't actually have any way to represent the node in question in the DAG, so it's okay to skip for now.

This revision is now accepted and ready to land.Oct 15 2018, 12:44 PM
This revision was automatically updated to reflect the committed changes.