This is an archive of the discontinued LLVM Phabricator instance.

Fix types of arm64 MSVC __readx18/__writex18 intrinsics
ClosedPublic

Authored by ahatanak on Jul 11 2023, 1:16 PM.

Details

Summary

Using L for type long results in clang passing 64-bit integers to these intrinsics on LP64 operating systems. This isn't correct as the intrinsics accept 32-bit integers.

Use N instead of L so that 32-bit integers are passed to the intrinsics on LP64 operating systems too. This is the same fix as the following two commits:

33703fb9f908113f93bd9af83a79eb56f5131735
afa47c91ce5085d446ebb5ac1312dc98b6a68a6c

Diff Detail

Event Timeline

ahatanak created this revision.Jul 11 2023, 1:16 PM
Herald added a project: Restricted Project. · View Herald TranscriptJul 11 2023, 1:16 PM
ahatanak requested review of this revision.Jul 11 2023, 1:16 PM
ravikandhadai accepted this revision.Jul 18 2023, 4:25 PM

Thanks Akira. LGTM!

This revision is now accepted and ready to land.Jul 18 2023, 4:25 PM
This revision was landed with ongoing or failed builds.Jul 18 2023, 6:16 PM
This revision was automatically updated to reflect the committed changes.