This is an archive of the discontinued LLVM Phabricator instance.

[AArch64] Change the type of i64 neon shifts to v1i64
ClosedPublic

Authored by dmgreen on Apr 14 2023, 1:30 AM.

Details

Summary

This alters the lowering of shifts by a constant, so that the type is lowered to a v1i64 instead of a i64. This helps communicate that the type will live in a neon register, and can help clean up surrounding code. Note this is only currently for the scalar shifts of a constant that go through the nodes in tryCombineShiftImm.

ssra instructions are no longer being recognized in places, but that can be cleaned up in a followup patch that combines the i64 add into a v1i64 add.

Diff Detail

Event Timeline

dmgreen created this revision.Apr 14 2023, 1:30 AM
Herald added a project: Restricted Project. · View Herald TranscriptApr 14 2023, 1:30 AM
dmgreen requested review of this revision.Apr 14 2023, 1:30 AM
Herald added a project: Restricted Project. · View Herald TranscriptApr 14 2023, 1:30 AM
This revision was not accepted when it landed; it landed in state Needs Review.May 16 2023, 6:03 AM
This revision was landed with ongoing or failed builds.
This revision was automatically updated to reflect the committed changes.