Skip to content

[Mono] Intrinsify Interlocked.And and Interlocked.Or using LLVM#19135

Merged
EgorBo merged 1 commit intomono:masterfrom
monojenkins:sync-pr-33253-from-runtime
Mar 10, 2020
Merged

[Mono] Intrinsify Interlocked.And and Interlocked.Or using LLVM#19135
EgorBo merged 1 commit intomono:masterfrom
monojenkins:sync-pr-33253-from-runtime

Conversation

@monojenkins
Copy link
Contributor

!! This PR is a copy of dotnet/runtime#33253, please do not edit or review it in this repo !!
Do not automatically approve this PR:

* Consider how the changes affect configurations in this repo,
* Check effects on files that are not mirrored,
* Identify test cases that may be needed in this repo.

!! Merge the PR only after the original PR is merged !!



These APIs were introduced recently in dotnet/runtime#33042 and already used in several places e.g. in Task, InterlockedBitVector32, SafeHandle, RegexCharClass

It should emit %reg = atomicrmw and (or) in LLVM IR. (and unlike Interlocked.Add these API return old value, see dotnet/runtime#33102

Addresses dotnet/runtime#32239 for Mono.

These APIs were introduced recently in dotnet/runtime#33042 and already used in several places e.g. in `Task`, `InterlockedBitVector32`, `SafeHandle`, `RegexCharClass`

It should emit `%reg = atomicrmw and (or)` in LLVM IR. (and unlike `Interlocked.Add` these API return old value, see dotnet/runtime#33102

Addresses dotnet/runtime#32239 for Mono.
@monojenkins monojenkins force-pushed the sync-pr-33253-from-runtime branch from 974ae2f to d8132fa Compare March 5, 2020 20:54
@EgorBo
Copy link
Member

EgorBo commented Mar 6, 2020

@monojenkins build failed

@EgorBo
Copy link
Member

EgorBo commented Mar 6, 2020

@monojenkins build Linux AArch64 Coop Suspend

@EgorBo EgorBo merged commit 1ec2c9f into mono:master Mar 10, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants