This is an archive of the discontinued LLVM Phabricator instance.

[AArch64][GlobalISel] Select @llvm.aarch64.stlxr for 32-bit pointers
ClosedPublic

Authored by paquette on Jul 26 2019, 4:02 PM.

Details

Summary

Add partial instruction selection for intrinsics like this:

declare i32 @llvm.aarch64.stlxr(i64, i32*)

(This only handles the case where a G_ZEXT is feeding the intrinsic.)

Also make sure that the added store instruction actually has the memory op from
the original G_STORE.

Update select-stlxr-intrin.mir and arm64-ldxr-stxr.ll.

Diff Detail

Repository
rL LLVM

Event Timeline

paquette created this revision.Jul 26 2019, 4:02 PM
aemerson accepted this revision.Jul 26 2019, 4:16 PM

LGTM.

This revision is now accepted and ready to land.Jul 26 2019, 4:16 PM
This revision was automatically updated to reflect the committed changes.