This is an archive of the discontinued LLVM Phabricator instance.

[AArch64][GlobalISel] Make G_SADDE and G_SSUBE legal
ClosedPublic

Authored by porglezomp on Jan 24 2021, 5:58 PM.

Details

Summary

This makes G_SADDE and G_SSUBE legal in preparation for further work
legalizing overflowing operations. It's fine that they don't have an
instruction selector implementation yet, because G_UADDE and G_USUBE are
already legal on AArch64 without an instruction selector implementation. This
completes the set of G_[SU]{ADD,SUB}[EO] operations on AArch64.

Diff Detail

Event Timeline

porglezomp created this revision.Jan 24 2021, 5:58 PM
porglezomp requested review of this revision.Jan 24 2021, 5:58 PM
Herald added a project: Restricted Project. · View Herald TranscriptJan 24 2021, 5:58 PM

Update test run line to match suggestions on D95323

paquette accepted this revision.Jan 26 2021, 10:01 AM

LGTM with test nit

llvm/test/CodeGen/AArch64/GlobalISel/legalize-sadde.mir
21

Nit: named vregs are easier to read

This revision is now accepted and ready to land.Jan 26 2021, 10:01 AM

Used named vregs in test cases

Fix broken named vreg in legalize-ssube.mir

This revision was automatically updated to reflect the committed changes.