This is an archive of the discontinued LLVM Phabricator instance.

[AArch64] Add sign bits handling for vector compare nodes
ClosedPublic

Authored by dmgreen on Apr 18 2023, 3:34 AM.

Details

Summary

This adds ComputeNumSignBits for the NEON vector comparison nodes, which all either return 0 or -1. Also adds sign_extend_inreg from VASHR+VSHL to show it performing transforms.

Diff Detail

Event Timeline

dmgreen created this revision.Apr 18 2023, 3:34 AM
Herald added a project: Restricted Project. · View Herald TranscriptApr 18 2023, 3:34 AM
dmgreen requested review of this revision.Apr 18 2023, 3:34 AM
Herald added a project: Restricted Project. · View Herald TranscriptApr 18 2023, 3:34 AM
dmgreen updated this revision to Diff 518457.May 1 2023, 8:57 AM
dmgreen retitled this revision from [AArch64] Add sign bits for vector compare nodes to [AArch64] Add sign bits handling for vector compare nodes.
dmgreen edited the summary of this revision. (Show Details)
dmgreen added reviewers: samtebbs, jaykang10.

Updated to also handle VASHR+VSHL sign_extend_inreg, similar to the generic DAG combine, which helps show this doing more.

samtebbs accepted this revision.May 2 2023, 1:35 AM

Looks good to me, thanks.

This revision is now accepted and ready to land.May 2 2023, 1:35 AM
lawben accepted this revision.May 2 2023, 2:05 AM

Together with my observation in D148316 and the new tests, this looks good.

This revision was landed with ongoing or failed builds.May 2 2023, 3:05 AM
This revision was automatically updated to reflect the committed changes.