This is an archive of the discontinued LLVM Phabricator instance.

AMDGPU: Fix adding extra operands for i128 asm constraints
ClosedPublic

Authored by arsenm on Feb 2 2021, 3:37 PM.

Details

Reviewers
rampitec
Summary

We don't register i128 as a legal type with addRegisterClass, but it
appears in the list of legal register types. This inconsistency
resulted in the asm constraint lowering trying to use 2 128-bit
registers for these operands. This would leave behind a dead def that
would waste registers.

Regresses GlobalISel tests for i128 load/store, but these aren't very
important right now. Ideally these would not depend on the list of
register types.

Diff Detail

Event Timeline

arsenm created this revision.Feb 2 2021, 3:37 PM
arsenm requested review of this revision.Feb 2 2021, 3:37 PM
Herald added a project: Restricted Project. · View Herald TranscriptFeb 2 2021, 3:37 PM
Herald added a subscriber: wdng. · View Herald Transcript
rampitec accepted this revision.Feb 2 2021, 3:41 PM
This revision is now accepted and ready to land.Feb 2 2021, 3:41 PM