-
Notifications
You must be signed in to change notification settings - Fork 277
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
_mm512_set4_epi64 reverses order of arguments #1555
Comments
tslnc04
added a commit
to tslnc04/stdarch
that referenced
this issue
Apr 7, 2024
Fixes rust-lang#1555 by changing the implementations of _mm512_set4_epi64 and _mm512_setr4_epi64 to use _mm512_set_epi64. This makes these implementations consistent with the other _mm512_set[r]4_* implementations as well as changes their behavior to be in line with what the intrinsics guide describes.
Amanieu
pushed a commit
to tslnc04/stdarch
that referenced
this issue
Apr 9, 2024
Fixes rust-lang#1555 by changing the implementations of _mm512_set4_epi64 and _mm512_setr4_epi64 to use _mm512_set_epi64. This makes these implementations consistent with the other _mm512_set[r]4_* implementations as well as changes their behavior to be in line with what the intrinsics guide describes.
Amanieu
pushed a commit
that referenced
this issue
Apr 10, 2024
Fixes #1555 by changing the implementations of _mm512_set4_epi64 and _mm512_setr4_epi64 to use _mm512_set_epi64. This makes these implementations consistent with the other _mm512_set[r]4_* implementations as well as changes their behavior to be in line with what the intrinsics guide describes.
matthiaskrgr
added a commit
to matthiaskrgr/rust
that referenced
this issue
Apr 12, 2024
Update stdarch submodule `asm_experimental_arch` is required in `core` as we're now using unstable inline assembly when building Arm64EC. Brings in the fix for <rust-lang/stdarch#1555> (cc `@tslnc04).` r? `@Amanieu`
rust-timer
added a commit
to rust-lang-ci/rust
that referenced
this issue
Apr 12, 2024
Rollup merge of rust-lang#123833 - dpaoliello:stdarch, r=Amanieu Update stdarch submodule `asm_experimental_arch` is required in `core` as we're now using unstable inline assembly when building Arm64EC. Brings in the fix for <rust-lang/stdarch#1555> (cc `@tslnc04).` r? `@Amanieu`
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
The implementation in
core::arch
for_mm512_set4_epi64
isso the first argument provided becomes the first lane.
However, the Intel Intrinsics Guide defines it as
which means that the last argument provided becomes the first lane.
The implementation for
_mm512_set_epi64
is correct though, which leads to a disparity between_mm512_set4_epi64
and_mm512_set_epi64
that doesn't exist in C. I've created this gist to show this difference between C and Rust.The text was updated successfully, but these errors were encountered: