diff --git a/tests/compile-fail/intrinsics/simd-div-overflow.rs b/tests/compile-fail/intrinsics/simd-div-overflow.rs new file mode 100644 index 000000000000..277b9e807baa --- /dev/null +++ b/tests/compile-fail/intrinsics/simd-div-overflow.rs @@ -0,0 +1,15 @@ +#![feature(platform_intrinsics, repr_simd)] + +extern "platform-intrinsic" { + pub(crate) fn simd_div(x: T, y: T) -> T; +} + +#[repr(simd)] +#[allow(non_camel_case_types)] +struct i32x2(i32, i32); + +fn main() { unsafe { + let x = i32x2(1, i32::MIN); + let y = i32x2(1, -1); + simd_div(x, y); //~ERROR Undefined Behavior: overflow in signed division +} }