Skip to content

Commit

Permalink
Auto merge of #129403 - scottmcm:only-array-simd, r=compiler-errors
Browse files Browse the repository at this point in the history
  • Loading branch information
bors committed Sep 10, 2024
2 parents 97fdcae + e498ca9 commit ac5bcfa
Show file tree
Hide file tree
Showing 9 changed files with 30 additions and 30 deletions.
6 changes: 3 additions & 3 deletions tests/fail/intrinsics/simd-div-by-zero.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@ use std::intrinsics::simd::simd_div;

#[repr(simd)]
#[allow(non_camel_case_types)]
struct i32x2(i32, i32);
struct i32x2([i32; 2]);

fn main() {
unsafe {
let x = i32x2(1, 1);
let y = i32x2(1, 0);
let x = i32x2([1, 1]);
let y = i32x2([1, 0]);
simd_div(x, y); //~ERROR: Undefined Behavior: dividing by zero
}
}
6 changes: 3 additions & 3 deletions tests/fail/intrinsics/simd-div-overflow.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@ use std::intrinsics::simd::simd_div;

#[repr(simd)]
#[allow(non_camel_case_types)]
struct i32x2(i32, i32);
struct i32x2([i32; 2]);

fn main() {
unsafe {
let x = i32x2(1, i32::MIN);
let y = i32x2(1, -1);
let x = i32x2([1, i32::MIN]);
let y = i32x2([1, -1]);
simd_div(x, y); //~ERROR: Undefined Behavior: overflow in signed division
}
}
4 changes: 2 additions & 2 deletions tests/fail/intrinsics/simd-reduce-invalid-bool.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@ use std::intrinsics::simd::simd_reduce_any;

#[repr(simd)]
#[allow(non_camel_case_types)]
struct i32x2(i32, i32);
struct i32x2([i32; 2]);

fn main() {
unsafe {
let x = i32x2(0, 1);
let x = i32x2([0, 1]);
simd_reduce_any(x); //~ERROR: must be all-0-bits or all-1-bits
}
}
6 changes: 3 additions & 3 deletions tests/fail/intrinsics/simd-rem-by-zero.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@ use std::intrinsics::simd::simd_rem;

#[repr(simd)]
#[allow(non_camel_case_types)]
struct i32x2(i32, i32);
struct i32x2([i32; 2]);

fn main() {
unsafe {
let x = i32x2(1, 1);
let y = i32x2(1, 0);
let x = i32x2([1, 1]);
let y = i32x2([1, 0]);
simd_rem(x, y); //~ERROR: Undefined Behavior: calculating the remainder with a divisor of zero
}
}
4 changes: 2 additions & 2 deletions tests/fail/intrinsics/simd-select-bitmask-invalid.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@ use std::intrinsics::simd::simd_select_bitmask;
#[repr(simd)]
#[allow(non_camel_case_types)]
#[derive(Copy, Clone)]
struct i32x2(i32, i32);
struct i32x2([i32; 2]);

fn main() {
unsafe {
let x = i32x2(0, 1);
let x = i32x2([0, 1]);
simd_select_bitmask(0b11111111u8, x, x); //~ERROR: bitmask less than 8 bits long must be filled with 0s for the remaining bits
}
}
4 changes: 2 additions & 2 deletions tests/fail/intrinsics/simd-select-invalid-bool.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@ use std::intrinsics::simd::simd_select;
#[repr(simd)]
#[allow(non_camel_case_types)]
#[derive(Copy, Clone)]
struct i32x2(i32, i32);
struct i32x2([i32; 2]);

fn main() {
unsafe {
let x = i32x2(0, 1);
let x = i32x2([0, 1]);
simd_select(x, x, x); //~ERROR: must be all-0-bits or all-1-bits
}
}
6 changes: 3 additions & 3 deletions tests/fail/intrinsics/simd-shl-too-far.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@ use std::intrinsics::simd::simd_shl;

#[repr(simd)]
#[allow(non_camel_case_types)]
struct i32x2(i32, i32);
struct i32x2([i32; 2]);

fn main() {
unsafe {
let x = i32x2(1, 1);
let y = i32x2(100, 0);
let x = i32x2([1, 1]);
let y = i32x2([100, 0]);
simd_shl(x, y); //~ERROR: overflowing shift by 100 in `simd_shl` in lane 0
}
}
6 changes: 3 additions & 3 deletions tests/fail/intrinsics/simd-shr-too-far.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@ use std::intrinsics::simd::simd_shr;

#[repr(simd)]
#[allow(non_camel_case_types)]
struct i32x2(i32, i32);
struct i32x2([i32; 2]);

fn main() {
unsafe {
let x = i32x2(1, 1);
let y = i32x2(20, 40);
let x = i32x2([1, 1]);
let y = i32x2([20, 40]);
simd_shr(x, y); //~ERROR: overflowing shift by 40 in `simd_shr` in lane 1
}
}
18 changes: 9 additions & 9 deletions tests/pass/simd-intrinsic-generic-elements.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,22 +3,22 @@
#[repr(simd)]
#[derive(Copy, Clone, Debug, PartialEq)]
#[allow(non_camel_case_types)]
struct i32x2(i32, i32);
struct i32x2([i32; 2]);
#[repr(simd)]
#[derive(Copy, Clone, Debug, PartialEq)]
#[allow(non_camel_case_types)]
struct i32x4(i32, i32, i32, i32);
struct i32x4([i32; 4]);
#[repr(simd)]
#[derive(Copy, Clone, Debug, PartialEq)]
#[allow(non_camel_case_types)]
struct i32x8(i32, i32, i32, i32, i32, i32, i32, i32);
struct i32x8([i32; 8]);

fn main() {
let _x2 = i32x2(20, 21);
let _x4 = i32x4(40, 41, 42, 43);
let _x8 = i32x8(80, 81, 82, 83, 84, 85, 86, 87);
let _x2 = i32x2([20, 21]);
let _x4 = i32x4([40, 41, 42, 43]);
let _x8 = i32x8([80, 81, 82, 83, 84, 85, 86, 87]);

let _y2 = i32x2(120, 121);
let _y4 = i32x4(140, 141, 142, 143);
let _y8 = i32x8(180, 181, 182, 183, 184, 185, 186, 187);
let _y2 = i32x2([120, 121]);
let _y4 = i32x4([140, 141, 142, 143]);
let _y8 = i32x8([180, 181, 182, 183, 184, 185, 186, 187]);
}

0 comments on commit ac5bcfa

Please sign in to comment.