This is an archive of the discontinued LLVM Phabricator instance.

[X86] Enabled a bunch of 64-bit Interlocked* functions intrinsics on 32-bit Windows to match recent MSVC
ClosedPublic

Authored by craig.topper on Jul 6 2020, 1:11 PM.

Details

Summary

This enables _InterlockedAnd64/_InterlockedOr64/_InterlockedXor64/_InterlockedDecrement64/_InterlockedIncrement64/_InterlockedExchange64/_InterlockedExchangeAdd64/_InterlockedExchangeSub64 on 32-bit Windows

The backend already knows how to expand these to a loop using cmpxchg8b on 32-bit targets.

Fixes PR46595

Diff Detail

Event Timeline

craig.topper created this revision.Jul 6 2020, 1:11 PM
RKSimon accepted this revision.Jul 7 2020, 9:34 AM

LGTM

This revision is now accepted and ready to land.Jul 7 2020, 9:34 AM
This revision was automatically updated to reflect the committed changes.
Herald added a project: Restricted Project. · View Herald TranscriptJul 8 2020, 10:46 AM