Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ARM64] assert fail with 128-bit atomic: unimplemented reg-to-reg copy #40039

Closed
llvmbot opened this issue Feb 11, 2019 · 2 comments
Closed

[ARM64] assert fail with 128-bit atomic: unimplemented reg-to-reg copy #40039

llvmbot opened this issue Feb 11, 2019 · 2 comments
Labels
bugzilla Issues migrated from bugzilla clang:codegen

Comments

@llvmbot
Copy link
Collaborator

llvmbot commented Feb 11, 2019

Bugzilla Link 40693
Resolution FIXED
Resolved on Feb 12, 2019 02:46
Version 8.0
OS Linux
Blocks #39678
Reporter LLVM Bugzilla Contributor
CC @efriedma-quic,@zmodem,@zygoloid,@TNorthover

Extended Description

Fails on 8.0.0-rc2 at -O1 or higher (-O0 is ok).

clang -O2 --target=aarch64-linux-gnu -march=armv8.1a

void inc128(__int128 *p)
{
__int128 n, nn;
do {
__atomic_load(p, &n, __ATOMIC_RELAXED);
n = n + 1;
} while (!__sync_bool_compare_and_swap(p, n, nn));
}

@efriedma-quic
Copy link
Collaborator

There were a couple recent fixes here: r353308, r353383. We might want to cherry-pick to 8.0.

@zmodem
Copy link
Collaborator

zmodem commented Feb 12, 2019

Merged those in r353822.

@llvmbot llvmbot transferred this issue from llvm/llvm-bugzilla-archive Dec 10, 2021
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bugzilla Issues migrated from bugzilla clang:codegen
Projects
None yet
Development

No branches or pull requests

3 participants