This is an archive of the discontinued LLVM Phabricator instance.

[AArch64] Turn UZP1 with undef operand into truncate
ClosedPublic

Authored by dmgreen on Mar 3 2022, 1:50 AM.

Details

Summary

This turns upz1(x, undef) to concat(truncate(x), undef), as the truncate is simpler and can often be optimized away, and it helps some of the insert-subvector tests optimize more cleanly.

Diff Detail

Event Timeline

dmgreen created this revision.Mar 3 2022, 1:50 AM
Herald added a project: Restricted Project. · View Herald TranscriptMar 3 2022, 1:50 AM
dmgreen requested review of this revision.Mar 3 2022, 1:50 AM
Herald added a project: Restricted Project. · View Herald TranscriptMar 3 2022, 1:50 AM
SjoerdMeijer accepted this revision.Mar 3 2022, 2:18 AM

Looks like a nice change to me.

llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
16247

Typo: upz1 -> uzp1

This revision is now accepted and ready to land.Mar 3 2022, 2:18 AM
This revision was landed with ongoing or failed builds.Mar 4 2022, 3:12 AM
This revision was automatically updated to reflect the committed changes.