Skip to content

Update WebAssembly SIMD/Atomics #1073

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

Merged
merged 1 commit into from
Mar 11, 2021
Merged

Conversation

alexcrichton
Copy link
Member

This commit syncs the atomics/simd intrinsics used on WebAssembly with
LLVM 12 and the current specifications. LLVM 12 uses new names for
atomic intrinsics and the SIMD specification has added a lot of
intrinsics and renamed a few as well.

I was hoping to hold off on this until more of SIMD had landed since
there are some opcode renumberings that have happened at the spec level
but haven't happened in LLVM. Additionally there's a small handful of
instructions that have yet to be implemented in LLVM. This means that
many tests for the simd128 feature are ignored right now and/or are
known to not pass. The breakage in the name of the atomic intrinsics,
however, has prompted me to want to update this and land ahead of time.

For now I've disabled the SIMD testing and I'll get back to it once
things have settled a bit more with LLVM and runtimes.

@rust-highfive
Copy link

r? @Amanieu

(rust-highfive has picked a reviewer for you, use r? to override)

This commit syncs the atomics/simd intrinsics used on WebAssembly with
LLVM 12 and the current specifications. LLVM 12 uses new names for
atomic intrinsics and the SIMD specification has added a lot of
intrinsics and renamed a few as well.

I was hoping to hold off on this until more of SIMD had landed since
there are some opcode renumberings that have happened at the spec level
but haven't happened in LLVM. Additionally there's a small handful of
instructions that have yet to be implemented in LLVM. This means that
many tests for the simd128 feature are ignored right now and/or are
known to not pass. The breakage in the name of the atomic intrinsics,
however, has prompted me to want to update this and land ahead of time.

For now I've disabled the SIMD testing and I'll get back to it once
things have settled a bit more with LLVM and runtimes.
@Amanieu
Copy link
Member

Amanieu commented Mar 11, 2021

I had a quick look and it still looks very much like a WIP, so I won't do an in-depth review. Still merging it since it fixes WASM intrinsics on LLVM 12.

@Amanieu Amanieu merged commit 8724eb4 into rust-lang:master Mar 11, 2021
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