1
Fork 0

Move SIMD tests

This commit is contained in:
Caleb Zulawski 2021-01-23 17:55:34 -05:00
parent 4d72ed61ee
commit f39f1a4ad9
15 changed files with 30 additions and 38 deletions

View file

@ -1,32 +0,0 @@
#![feature(repr_simd)]
#![allow(non_camel_case_types)]
// ignore-tidy-linelength
#[repr(simd)]
struct empty; //~ ERROR SIMD vector cannot be empty
#[repr(simd)]
struct empty2([f32; 0]); //~ ERROR SIMD vector cannot be empty
#[repr(simd)]
struct pow2([f32; 7]); //~ ERROR SIMD vector length must be a power of two
#[repr(simd)]
struct i64f64(i64, f64); //~ ERROR SIMD vector should be homogeneous
struct Foo;
#[repr(simd)]
struct FooV(Foo, Foo); //~ ERROR SIMD vector element type should be a primitive scalar (integer/float/pointer) type
#[repr(simd)]
struct FooV2([Foo; 2]); //~ ERROR SIMD vector element type should be a primitive scalar (integer/float/pointer) type
#[repr(simd)]
struct TooBig([f32; 65536]); //~ ERROR SIMD vector cannot have more than 32768 elements
#[repr(simd)]
struct JustRight([u128; 32768]);
fn main() {}

View file

@ -1,9 +1,33 @@
// run-pass
#![allow(dead_code)]
// pretty-expanded FIXME #23616
#![feature(repr_simd)] #![feature(repr_simd)]
#![allow(non_camel_case_types)]
// ignore-tidy-linelength
#[repr(simd)]
struct empty; //~ ERROR SIMD vector cannot be empty
#[repr(simd)]
struct empty2([f32; 0]); //~ ERROR SIMD vector cannot be empty
#[repr(simd)]
struct pow2([f32; 7]); //~ ERROR SIMD vector length must be a power of two
#[repr(simd)]
struct i64f64(i64, f64); //~ ERROR SIMD vector should be homogeneous
struct Foo;
#[repr(simd)]
struct FooV(Foo, Foo); //~ ERROR SIMD vector element type should be a primitive scalar (integer/float/pointer) type
#[repr(simd)]
struct FooV2([Foo; 2]); //~ ERROR SIMD vector element type should be a primitive scalar (integer/float/pointer) type
#[repr(simd)]
struct TooBig([f32; 65536]); //~ ERROR SIMD vector cannot have more than 32768 elements
#[repr(simd)]
struct JustRight([u128; 32768]);
#[repr(simd)] #[repr(simd)]
struct RGBA { struct RGBA {
@ -13,4 +37,4 @@ struct RGBA {
a: f32 a: f32
} }
pub fn main() {} fn main() {}