This is an archive of the discontinued LLVM Phabricator instance.

AMDGPU: Use standalone MUBUF load patterns
ClosedPublic

Authored by arsenm on Jul 8 2019, 7:24 AM.

Details

Reviewers
rampitec
nhaehnle
Summary

We already do this for the flat and DS instructions, although it is
certainly uglier and more verbose.

This will allow using separate pattern definitions for extload and
zextload. Currently we get away with using a single PatFrag with
custom predicate code to check if the extension type is a zextload or
anyextload. The generic mechanism the global isel emitter understands
treats these as mutually exclusive. I was considering making the
pattern emitter accept zextload or sextload extensions for anyextload
patterns, but in global isel, the different extending loads have
distinct opcodes, and there is currently no mechanism for an opcode
matcher to try multiple (and there probably is very little need for
one beyond this case).

Diff Detail

Event Timeline

arsenm created this revision.Jul 8 2019, 7:24 AM
This revision is now accepted and ready to land.Jul 8 2019, 10:52 AM
arsenm closed this revision.Jul 15 2019, 2:41 PM

r366132