From c0f72510550529ca8ddaaffd94709bec457debff Mon Sep 17 00:00:00 2001 From: Ralf Jung Date: Thu, 3 Mar 2022 12:32:42 -0500 Subject: [PATCH] add test for simd division overflow UB --- .../compile-fail/intrinsics/simd-div-overflow.rs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 tests/compile-fail/intrinsics/simd-div-overflow.rs 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 +} }