This is an archive of the discontinued LLVM Phabricator instance.

[AArch64][GlobalISel] Select G_SBFX and G_UBFX
ClosedPublic

Authored by paquette on Mar 23 2021, 3:55 PM.

Details

Summary

Add selection support for G_SBFX and G_UBFX and add a test.

These must always have a constant LSB and width.

Usually real SBFX/UBFX instructions have some requirements on the LSB/width operands (e.g. sbfx x, 31, 31 probably isn't allowed.) However, it seems like these are ultimately selected down to a sane instruction (e.g. asr) anyway. (See: https://godbolt.org/z/7KeeaerWG)

Diff Detail

Event Timeline

paquette created this revision.Mar 23 2021, 3:55 PM
paquette requested review of this revision.Mar 23 2021, 3:55 PM
Herald added a project: Restricted Project. · View Herald TranscriptMar 23 2021, 3:55 PM
This revision is now accepted and ready to land.Mar 23 2021, 10:11 PM
This revision was landed with ongoing or failed builds.Mar 24 2021, 11:16 AM
This revision was automatically updated to reflect the committed changes.