-
Notifications
You must be signed in to change notification settings - Fork 13.2k
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
ICE when using feature(stdsimd)
and IFMA intrinsics on non-IFMA platforms
#61530
Comments
Could you post exact reproduction steps?
CPU: Ryzen 2700X without IFMA |
Hmm, following exactly those steps on my machine (i7-8650U) reproduces the ICE, using My machine builds with |
I was able to reproduce it on your branch with Reproduction steps:
Click here for build output:
This is recent regression and bisection leads to #61062 |
This fails on x86_64-apple-darwin, but I can't reproduce on the playground: #![feature(
platform_intrinsics,
repr_simd,
)]
extern "platform-intrinsic" {
pub fn simd_shuffle2<T, U>(x: T, y: T, idx: [u32; 2]) -> U;
}
#[repr(simd)]
#[derive(Copy, Clone)]
pub struct T(f32, f32);
pub unsafe fn foo(b: T) -> T {
simd_shuffle2(b, b, [0, 1])
}
pub unsafe fn bar(b: T) -> T {
simd_shuffle2(b, b, [0, 1])
} with
|
FYI rust-lang/rust is not running stdsimd tests, and stdsimd functions are all |
cc @Zoxc (sadly, @michaelwoerister is on leave) |
@eddyb Maybe this should be P-High, Nominated, etc. This does not compile on nightly anymore: use core::{arch::x86_64::*, mem};
pub unsafe fn foo() {
let x: __m128 = mem::zeroed();
let x = _mm_cmpgt_ss(x, x);
let x = _mm_cmpge_ss(x, x);
} Note that this does not use any |
@gnzlbg Given |
Self-contained reproduction: #![feature(repr_simd, platform_intrinsics)]
#[repr(simd)]
struct I32x2(i32, i32);
extern "platform-intrinsic" {
fn simd_shuffle2<T, U>(x: T, y: T, idx: [u32; 2]) -> U;
}
fn main() {
unsafe {
let _: I32x2 = simd_shuffle2(I32x2(1, 2), I32x2(3, 4), [0, 0]);
let _: I32x2 = simd_shuffle2(I32x2(1, 2), I32x2(3, 4), [0, 0]);
}
} However, the tricky bit is that you need to pass This confirms my suspicion that it is |
Fix a hash collision issue on the `const_field` query fixes #61530
Hi, while working on dalek-cryptography/curve25519-dalek#257 , I ran into an ICE.
On a Cannonlake CPU with
target_feature=+avx512ifma
, the branch in the linked PR works fine. On a Skylake CPU (without IFMA), the feature-gating should disable all of the IFMA code at compile-time. But instead, runningcargo test
causes an ICE:(I think the reason the error appears twice is just because the crate loads itself into its own
build.rs
, not anything else.)The text was updated successfully, but these errors were encountered: