This is an archive of the discontinued LLVM Phabricator instance.

[ARM] Lower MVETRUNC to stack operations
ClosedPublic

Authored by dmgreen on Jun 18 2021, 3:04 AM.

Details

Summary

The MVETRUNC node truncates two wide vectors to a single vector with narrower elements. This is usually lowered to a series of extract/insert elements, going via GPR registers. This patch changes that to instead use a pair of truncating stores and a stack reload. This cuts down the number of instructions at the expense of some stack space.

Diff Detail

Event Timeline

dmgreen created this revision.Jun 18 2021, 3:04 AM
dmgreen requested review of this revision.Jun 18 2021, 3:04 AM
Herald added a project: Restricted Project. · View Herald TranscriptJun 18 2021, 3:04 AM
samtebbs accepted this revision.Jun 25 2021, 1:44 AM

Nice change! LGTM

This revision is now accepted and ready to land.Jun 25 2021, 1:44 AM
This revision was landed with ongoing or failed builds.Jun 26 2021, 2:13 PM
This revision was automatically updated to reflect the committed changes.