This is an archive of the discontinued LLVM Phabricator instance.

Enable long displacement constraints for inline ASM operands on SystemZ
ClosedPublic

Authored by colpell on Jun 7 2016, 12:35 PM.

Details

Summary

This enables use of the 'S' constraint for inline ASM operands on SystemZ, which allows for a memory reference with a signed 20-bit immediate displacement. This patch includes corresponding documentation and test case updates.

I've changed the 'T' constraint to match the new behavior for 'S', as 'T' also uses a long displacement (though index constraints are still not implemented). I also changed 'm' to match the behavior for 'S' as this will allow for a wider range of displacements for 'm', though correct me if that's not the right decision.

Diff Detail

Repository
rL LLVM

Event Timeline

colpell updated this revision to Diff 59933.Jun 7 2016, 12:35 PM
colpell retitled this revision from to Enable long displacement constraints for inline ASM operands on SystemZ.
colpell updated this object.
colpell added a reviewer: uweigand.
colpell added a subscriber: llvm-commits.
uweigand accepted this revision.Jun 9 2016, 6:49 AM
uweigand edited edge metadata.

LGTM, thanks!

This revision is now accepted and ready to land.Jun 9 2016, 6:49 AM
This revision was automatically updated to reflect the committed changes.