Ban non-array SIMD

This commit is contained in:
Scott McMurray 2024-08-22 01:28:20 -07:00
parent 712463de61
commit d2309c2a9d
111 changed files with 814 additions and 1101 deletions

View file

@ -10,27 +10,27 @@
// gdb-command:run
// gdb-command:print vi8x16
// gdb-check:$1 = simd::i8x16 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
// gdb-check:$1 = simd::i8x16 ([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15])
// gdb-command:print vi16x8
// gdb-check:$2 = simd::i16x8 (16, 17, 18, 19, 20, 21, 22, 23)
// gdb-check:$2 = simd::i16x8 ([16, 17, 18, 19, 20, 21, 22, 23])
// gdb-command:print vi32x4
// gdb-check:$3 = simd::i32x4 (24, 25, 26, 27)
// gdb-check:$3 = simd::i32x4 ([24, 25, 26, 27])
// gdb-command:print vi64x2
// gdb-check:$4 = simd::i64x2 (28, 29)
// gdb-check:$4 = simd::i64x2 ([28, 29])
// gdb-command:print vu8x16
// gdb-check:$5 = simd::u8x16 (30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45)
// gdb-check:$5 = simd::u8x16 ([30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45])
// gdb-command:print vu16x8
// gdb-check:$6 = simd::u16x8 (46, 47, 48, 49, 50, 51, 52, 53)
// gdb-check:$6 = simd::u16x8 ([46, 47, 48, 49, 50, 51, 52, 53])
// gdb-command:print vu32x4
// gdb-check:$7 = simd::u32x4 (54, 55, 56, 57)
// gdb-check:$7 = simd::u32x4 ([54, 55, 56, 57])
// gdb-command:print vu64x2
// gdb-check:$8 = simd::u64x2 (58, 59)
// gdb-check:$8 = simd::u64x2 ([58, 59])
// gdb-command:print vf32x4
// gdb-check:$9 = simd::f32x4 (60.5, 61.5, 62.5, 63.5)
// gdb-check:$9 = simd::f32x4 ([60.5, 61.5, 62.5, 63.5])
// gdb-command:print vf64x2
// gdb-check:$10 = simd::f64x2 (64.5, 65.5)
// gdb-check:$10 = simd::f64x2 ([64.5, 65.5])
// gdb-command:continue
@ -40,43 +40,43 @@
#![feature(repr_simd)]
#[repr(simd)]
struct i8x16(i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8);
struct i8x16([i8; 16]);
#[repr(simd)]
struct i16x8(i16, i16, i16, i16, i16, i16, i16, i16);
struct i16x8([i16; 8]);
#[repr(simd)]
struct i32x4(i32, i32, i32, i32);
struct i32x4([i32; 4]);
#[repr(simd)]
struct i64x2(i64, i64);
struct i64x2([i64; 2]);
#[repr(simd)]
struct u8x16(u8, u8, u8, u8, u8, u8, u8, u8, u8, u8, u8, u8, u8, u8, u8, u8);
struct u8x16([u8; 16]);
#[repr(simd)]
struct u16x8(u16, u16, u16, u16, u16, u16, u16, u16);
struct u16x8([u16; 8]);
#[repr(simd)]
struct u32x4(u32, u32, u32, u32);
struct u32x4([u32; 4]);
#[repr(simd)]
struct u64x2(u64, u64);
struct u64x2([u64; 2]);
#[repr(simd)]
struct f32x4(f32, f32, f32, f32);
struct f32x4([f32; 4]);
#[repr(simd)]
struct f64x2(f64, f64);
struct f64x2([f64; 2]);
fn main() {
let vi8x16 = i8x16(0, 1, 2, 3, 4, 5, 6, 7,
8, 9, 10, 11, 12, 13, 14, 15);
let vi8x16 = i8x16([0, 1, 2, 3, 4, 5, 6, 7,
8, 9, 10, 11, 12, 13, 14, 15]);
let vi16x8 = i16x8(16, 17, 18, 19, 20, 21, 22, 23);
let vi32x4 = i32x4(24, 25, 26, 27);
let vi64x2 = i64x2(28, 29);
let vi16x8 = i16x8([16, 17, 18, 19, 20, 21, 22, 23]);
let vi32x4 = i32x4([24, 25, 26, 27]);
let vi64x2 = i64x2([28, 29]);
let vu8x16 = u8x16(30, 31, 32, 33, 34, 35, 36, 37,
38, 39, 40, 41, 42, 43, 44, 45);
let vu16x8 = u16x8(46, 47, 48, 49, 50, 51, 52, 53);
let vu32x4 = u32x4(54, 55, 56, 57);
let vu64x2 = u64x2(58, 59);
let vu8x16 = u8x16([30, 31, 32, 33, 34, 35, 36, 37,
38, 39, 40, 41, 42, 43, 44, 45]);
let vu16x8 = u16x8([46, 47, 48, 49, 50, 51, 52, 53]);
let vu32x4 = u32x4([54, 55, 56, 57]);
let vu64x2 = u64x2([58, 59]);
let vf32x4 = f32x4(60.5f32, 61.5f32, 62.5f32, 63.5f32);
let vf64x2 = f64x2(64.5f64, 65.5f64);
let vf32x4 = f32x4([60.5f32, 61.5f32, 62.5f32, 63.5f32]);
let vf64x2 = f64x2([64.5f64, 65.5f64]);
zzz(); // #break
}