blob: fe0c835e3c9014754ec1fe158f1d9e9cd19f0915 [file] [log] [blame]
//! `FromCast` and `IntoCast` implementations for portable 256-bit wide vectors
#[rustfmt::skip]
use crate::*;
impl_from_cast!(i8x32[test_v256]: u8x32, m8x32, i16x32, u16x32, m16x32);
impl_from_cast!(u8x32[test_v256]: i8x32, m8x32, i16x32, u16x32, m16x32);
impl_from_cast_mask!(m8x32[test_v256]: i8x32, u8x32, i16x32, u16x32, m16x32);
impl_from_cast!(i16x16[test_v256]: i8x16, u8x16, m8x16, u16x16, m16x16, i32x16, u32x16, f32x16, m32x16);
impl_from_cast!(u16x16[test_v256]: i8x16, u8x16, m8x16, i16x16, m16x16, i32x16, u32x16, f32x16, m32x16);
impl_from_cast_mask!(m16x16[test_v256]: i8x16, u8x16, m8x16, i16x16, u16x16, i32x16, u32x16, f32x16, m32x16);
impl_from_cast!(
i32x8[test_v256]: i8x8,
u8x8,
m8x8,
i16x8,
u16x8,
m16x8,
u32x8,
f32x8,
m32x8,
i64x8,
u64x8,
f64x8,
m64x8,
isizex8,
usizex8,
msizex8
);
impl_from_cast!(
u32x8[test_v256]: i8x8,
u8x8,
m8x8,
i16x8,
u16x8,
m16x8,
i32x8,
f32x8,
m32x8,
i64x8,
u64x8,
f64x8,
m64x8,
isizex8,
usizex8,
msizex8
);
impl_from_cast!(
f32x8[test_v256]: i8x8,
u8x8,
m8x8,
i16x8,
u16x8,
m16x8,
i32x8,
u32x8,
m32x8,
i64x8,
u64x8,
f64x8,
m64x8,
isizex8,
usizex8,
msizex8
);
impl_from_cast_mask!(
m32x8[test_v256]: i8x8,
u8x8,
m8x8,
i16x8,
u16x8,
m16x8,
i32x8,
u32x8,
f32x8,
i64x8,
u64x8,
f64x8,
m64x8,
isizex8,
usizex8,
msizex8
);
impl_from_cast!(
i64x4[test_v256]: i8x4,
u8x4,
m8x4,
i16x4,
u16x4,
m16x4,
i32x4,
u32x4,
f32x4,
m32x4,
u64x4,
f64x4,
m64x4,
i128x4,
u128x4,
m128x4,
isizex4,
usizex4,
msizex4
);
impl_from_cast!(
u64x4[test_v256]: i8x4,
u8x4,
m8x4,
i16x4,
u16x4,
m16x4,
i32x4,
u32x4,
f32x4,
m32x4,
i64x4,
f64x4,
m64x4,
i128x4,
u128x4,
m128x4,
isizex4,
usizex4,
msizex4
);
impl_from_cast!(
f64x4[test_v256]: i8x4,
u8x4,
m8x4,
i16x4,
u16x4,
m16x4,
i32x4,
u32x4,
f32x4,
m32x4,
i64x4,
u64x4,
m64x4,
i128x4,
u128x4,
m128x4,
isizex4,
usizex4,
msizex4
);
impl_from_cast_mask!(
m64x4[test_v256]: i8x4,
u8x4,
m8x4,
i16x4,
u16x4,
m16x4,
i32x4,
u32x4,
f32x4,
m32x4,
i64x4,
u64x4,
f64x4,
i128x4,
u128x4,
m128x4,
isizex4,
usizex4,
msizex4
);
impl_from_cast!(
i128x2[test_v256]: i8x2,
u8x2,
m8x2,
i16x2,
u16x2,
m16x2,
i32x2,
u32x2,
f32x2,
m32x2,
i64x2,
u64x2,
f64x2,
m64x2,
u128x2,
m128x2,
isizex2,
usizex2,
msizex2
);
impl_from_cast!(
u128x2[test_v256]: i8x2,
u8x2,
m8x2,
i16x2,
u16x2,
m16x2,
i32x2,
u32x2,
f32x2,
m32x2,
i64x2,
u64x2,
f64x2,
m64x2,
i128x2,
m128x2,
isizex2,
usizex2,
msizex2
);
impl_from_cast_mask!(
m128x2[test_v256]: i8x2,
u8x2,
m8x2,
i16x2,
u16x2,
m16x2,
i32x2,
u32x2,
f32x2,
m32x2,
i64x2,
u64x2,
m64x2,
f64x2,
i128x2,
u128x2,
isizex2,
usizex2,
msizex2
);
impl_from_cast!(
isizex4[test_v256]: i8x4,
u8x4,
m8x4,
i16x4,
u16x4,
m16x4,
i32x4,
u32x4,
f32x4,
m32x4,
i64x4,
u64x4,
f64x4,
m64x4,
i128x4,
u128x4,
m128x4,
usizex4,
msizex4
);
impl_from_cast!(
usizex4[test_v256]: i8x4,
u8x4,
m8x4,
i16x4,
u16x4,
m16x4,
i32x4,
u32x4,
f32x4,
m32x4,
i64x4,
u64x4,
f64x4,
m64x4,
i128x4,
u128x4,
m128x4,
isizex4,
msizex4
);
impl_from_cast_mask!(
msizex4[test_v256]: i8x4,
u8x4,
m8x4,
i16x4,
u16x4,
m16x4,
i32x4,
u32x4,
f32x4,
m32x4,
i64x4,
u64x4,
f64x4,
m64x4,
i128x4,
u128x4,
m128x4,
isizex4,
usizex4
);