This is an archive of the discontinued LLVM Phabricator instance.

[AArch64] Update v8.5a MTE instructions
ClosedPublic

Authored by javed.absar on Apr 3 2019, 2:43 AM.

Details

Summary

The latest MTE specification adds register Xt to the STG instruction family:

STG [Xn, #offset] -> STG Xt, [Xn, #offset]

The tag written to memory is taken from Xt rather than Xn.

The LDG instruction also was changed to read return address from Xt:

LDG Xt, [Xn, #offset].

This patch includes those changes and tests.

Diff Detail

Repository
rL LLVM

Event Timeline

javed.absar created this revision.Apr 3 2019, 2:43 AM
DavidSpickett accepted this revision.Apr 3 2019, 2:48 AM

LGTM but add the specification link in the commit msg (https://developer.arm.com/docs/ddi0596/c) and reference LDG/STG in the title.

"Update v8.5a MTE LDG and STG instructions." would be fine.

This revision is now accepted and ready to land.Apr 3 2019, 2:48 AM
This revision was automatically updated to reflect the committed changes.
Herald added a project: Restricted Project. · View Herald TranscriptApr 3 2019, 7:12 AM