Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
392 changes: 392 additions & 0 deletions fearless_simd/src/generated/avx2.rs

Large diffs are not rendered by default.

480 changes: 480 additions & 0 deletions fearless_simd/src/generated/fallback.rs

Large diffs are not rendered by default.

480 changes: 480 additions & 0 deletions fearless_simd/src/generated/neon.rs

Large diffs are not rendered by default.

312 changes: 208 additions & 104 deletions fearless_simd/src/generated/simd_trait.rs

Large diffs are not rendered by default.

199 changes: 199 additions & 0 deletions fearless_simd/src/generated/simd_types.rs
Original file line number Diff line number Diff line change
Expand Up @@ -177,6 +177,14 @@ impl<S: Simd> crate::SimdFloat<S> for f32x4<S> {
self.simd.unzip_high_f32x4(self, rhs.simd_into(self.simd))
}
#[inline(always)]
fn interleave(self, rhs: impl SimdInto<Self, S>) -> (Self, Self) {
self.simd.interleave_f32x4(self, rhs.simd_into(self.simd))
}
#[inline(always)]
fn deinterleave(self, rhs: impl SimdInto<Self, S>) -> (Self, Self) {
self.simd.deinterleave_f32x4(self, rhs.simd_into(self.simd))
}
#[inline(always)]
fn max(self, rhs: impl SimdInto<Self, S>) -> Self {
self.simd.max_f32x4(self, rhs.simd_into(self.simd))
}
Expand Down Expand Up @@ -405,6 +413,14 @@ impl<S: Simd> crate::SimdInt<S> for i8x16<S> {
self.simd.unzip_high_i8x16(self, rhs.simd_into(self.simd))
}
#[inline(always)]
fn interleave(self, rhs: impl SimdInto<Self, S>) -> (Self, Self) {
self.simd.interleave_i8x16(self, rhs.simd_into(self.simd))
}
#[inline(always)]
fn deinterleave(self, rhs: impl SimdInto<Self, S>) -> (Self, Self) {
self.simd.deinterleave_i8x16(self, rhs.simd_into(self.simd))
}
#[inline(always)]
fn min(self, rhs: impl SimdInto<Self, S>) -> Self {
self.simd.min_i8x16(self, rhs.simd_into(self.simd))
}
Expand Down Expand Up @@ -581,6 +597,14 @@ impl<S: Simd> crate::SimdInt<S> for u8x16<S> {
self.simd.unzip_high_u8x16(self, rhs.simd_into(self.simd))
}
#[inline(always)]
fn interleave(self, rhs: impl SimdInto<Self, S>) -> (Self, Self) {
self.simd.interleave_u8x16(self, rhs.simd_into(self.simd))
}
#[inline(always)]
fn deinterleave(self, rhs: impl SimdInto<Self, S>) -> (Self, Self) {
self.simd.deinterleave_u8x16(self, rhs.simd_into(self.simd))
}
#[inline(always)]
fn min(self, rhs: impl SimdInto<Self, S>) -> Self {
self.simd.min_u8x16(self, rhs.simd_into(self.simd))
}
Expand Down Expand Up @@ -914,6 +938,14 @@ impl<S: Simd> crate::SimdInt<S> for i16x8<S> {
self.simd.unzip_high_i16x8(self, rhs.simd_into(self.simd))
}
#[inline(always)]
fn interleave(self, rhs: impl SimdInto<Self, S>) -> (Self, Self) {
self.simd.interleave_i16x8(self, rhs.simd_into(self.simd))
}
#[inline(always)]
fn deinterleave(self, rhs: impl SimdInto<Self, S>) -> (Self, Self) {
self.simd.deinterleave_i16x8(self, rhs.simd_into(self.simd))
}
#[inline(always)]
fn min(self, rhs: impl SimdInto<Self, S>) -> Self {
self.simd.min_i16x8(self, rhs.simd_into(self.simd))
}
Expand Down Expand Up @@ -1090,6 +1122,14 @@ impl<S: Simd> crate::SimdInt<S> for u16x8<S> {
self.simd.unzip_high_u16x8(self, rhs.simd_into(self.simd))
}
#[inline(always)]
fn interleave(self, rhs: impl SimdInto<Self, S>) -> (Self, Self) {
self.simd.interleave_u16x8(self, rhs.simd_into(self.simd))
}
#[inline(always)]
fn deinterleave(self, rhs: impl SimdInto<Self, S>) -> (Self, Self) {
self.simd.deinterleave_u16x8(self, rhs.simd_into(self.simd))
}
#[inline(always)]
fn min(self, rhs: impl SimdInto<Self, S>) -> Self {
self.simd.min_u16x8(self, rhs.simd_into(self.simd))
}
Expand Down Expand Up @@ -1423,6 +1463,14 @@ impl<S: Simd> crate::SimdInt<S> for i32x4<S> {
self.simd.unzip_high_i32x4(self, rhs.simd_into(self.simd))
}
#[inline(always)]
fn interleave(self, rhs: impl SimdInto<Self, S>) -> (Self, Self) {
self.simd.interleave_i32x4(self, rhs.simd_into(self.simd))
}
#[inline(always)]
fn deinterleave(self, rhs: impl SimdInto<Self, S>) -> (Self, Self) {
self.simd.deinterleave_i32x4(self, rhs.simd_into(self.simd))
}
#[inline(always)]
fn min(self, rhs: impl SimdInto<Self, S>) -> Self {
self.simd.min_i32x4(self, rhs.simd_into(self.simd))
}
Expand Down Expand Up @@ -1611,6 +1659,14 @@ impl<S: Simd> crate::SimdInt<S> for u32x4<S> {
self.simd.unzip_high_u32x4(self, rhs.simd_into(self.simd))
}
#[inline(always)]
fn interleave(self, rhs: impl SimdInto<Self, S>) -> (Self, Self) {
self.simd.interleave_u32x4(self, rhs.simd_into(self.simd))
}
#[inline(always)]
fn deinterleave(self, rhs: impl SimdInto<Self, S>) -> (Self, Self) {
self.simd.deinterleave_u32x4(self, rhs.simd_into(self.simd))
}
#[inline(always)]
fn min(self, rhs: impl SimdInto<Self, S>) -> Self {
self.simd.min_u32x4(self, rhs.simd_into(self.simd))
}
Expand Down Expand Up @@ -1968,6 +2024,14 @@ impl<S: Simd> crate::SimdFloat<S> for f64x2<S> {
self.simd.unzip_high_f64x2(self, rhs.simd_into(self.simd))
}
#[inline(always)]
fn interleave(self, rhs: impl SimdInto<Self, S>) -> (Self, Self) {
self.simd.interleave_f64x2(self, rhs.simd_into(self.simd))
}
#[inline(always)]
fn deinterleave(self, rhs: impl SimdInto<Self, S>) -> (Self, Self) {
self.simd.deinterleave_f64x2(self, rhs.simd_into(self.simd))
}
#[inline(always)]
fn max(self, rhs: impl SimdInto<Self, S>) -> Self {
self.simd.max_f64x2(self, rhs.simd_into(self.simd))
}
Expand Down Expand Up @@ -2351,6 +2415,14 @@ impl<S: Simd> crate::SimdFloat<S> for f32x8<S> {
self.simd.unzip_high_f32x8(self, rhs.simd_into(self.simd))
}
#[inline(always)]
fn interleave(self, rhs: impl SimdInto<Self, S>) -> (Self, Self) {
self.simd.interleave_f32x8(self, rhs.simd_into(self.simd))
}
#[inline(always)]
fn deinterleave(self, rhs: impl SimdInto<Self, S>) -> (Self, Self) {
self.simd.deinterleave_f32x8(self, rhs.simd_into(self.simd))
}
#[inline(always)]
fn max(self, rhs: impl SimdInto<Self, S>) -> Self {
self.simd.max_f32x8(self, rhs.simd_into(self.simd))
}
Expand Down Expand Up @@ -2586,6 +2658,14 @@ impl<S: Simd> crate::SimdInt<S> for i8x32<S> {
self.simd.unzip_high_i8x32(self, rhs.simd_into(self.simd))
}
#[inline(always)]
fn interleave(self, rhs: impl SimdInto<Self, S>) -> (Self, Self) {
self.simd.interleave_i8x32(self, rhs.simd_into(self.simd))
}
#[inline(always)]
fn deinterleave(self, rhs: impl SimdInto<Self, S>) -> (Self, Self) {
self.simd.deinterleave_i8x32(self, rhs.simd_into(self.simd))
}
#[inline(always)]
fn min(self, rhs: impl SimdInto<Self, S>) -> Self {
self.simd.min_i8x32(self, rhs.simd_into(self.simd))
}
Expand Down Expand Up @@ -2769,6 +2849,14 @@ impl<S: Simd> crate::SimdInt<S> for u8x32<S> {
self.simd.unzip_high_u8x32(self, rhs.simd_into(self.simd))
}
#[inline(always)]
fn interleave(self, rhs: impl SimdInto<Self, S>) -> (Self, Self) {
self.simd.interleave_u8x32(self, rhs.simd_into(self.simd))
}
#[inline(always)]
fn deinterleave(self, rhs: impl SimdInto<Self, S>) -> (Self, Self) {
self.simd.deinterleave_u8x32(self, rhs.simd_into(self.simd))
}
#[inline(always)]
fn min(self, rhs: impl SimdInto<Self, S>) -> Self {
self.simd.min_u8x32(self, rhs.simd_into(self.simd))
}
Expand Down Expand Up @@ -3121,6 +3209,15 @@ impl<S: Simd> crate::SimdInt<S> for i16x16<S> {
self.simd.unzip_high_i16x16(self, rhs.simd_into(self.simd))
}
#[inline(always)]
fn interleave(self, rhs: impl SimdInto<Self, S>) -> (Self, Self) {
self.simd.interleave_i16x16(self, rhs.simd_into(self.simd))
}
#[inline(always)]
fn deinterleave(self, rhs: impl SimdInto<Self, S>) -> (Self, Self) {
self.simd
.deinterleave_i16x16(self, rhs.simd_into(self.simd))
}
#[inline(always)]
fn min(self, rhs: impl SimdInto<Self, S>) -> Self {
self.simd.min_i16x16(self, rhs.simd_into(self.simd))
}
Expand Down Expand Up @@ -3309,6 +3406,15 @@ impl<S: Simd> crate::SimdInt<S> for u16x16<S> {
self.simd.unzip_high_u16x16(self, rhs.simd_into(self.simd))
}
#[inline(always)]
fn interleave(self, rhs: impl SimdInto<Self, S>) -> (Self, Self) {
self.simd.interleave_u16x16(self, rhs.simd_into(self.simd))
}
#[inline(always)]
fn deinterleave(self, rhs: impl SimdInto<Self, S>) -> (Self, Self) {
self.simd
.deinterleave_u16x16(self, rhs.simd_into(self.simd))
}
#[inline(always)]
fn min(self, rhs: impl SimdInto<Self, S>) -> Self {
self.simd.min_u16x16(self, rhs.simd_into(self.simd))
}
Expand Down Expand Up @@ -3656,6 +3762,14 @@ impl<S: Simd> crate::SimdInt<S> for i32x8<S> {
self.simd.unzip_high_i32x8(self, rhs.simd_into(self.simd))
}
#[inline(always)]
fn interleave(self, rhs: impl SimdInto<Self, S>) -> (Self, Self) {
self.simd.interleave_i32x8(self, rhs.simd_into(self.simd))
}
#[inline(always)]
fn deinterleave(self, rhs: impl SimdInto<Self, S>) -> (Self, Self) {
self.simd.deinterleave_i32x8(self, rhs.simd_into(self.simd))
}
#[inline(always)]
fn min(self, rhs: impl SimdInto<Self, S>) -> Self {
self.simd.min_i32x8(self, rhs.simd_into(self.simd))
}
Expand Down Expand Up @@ -3851,6 +3965,14 @@ impl<S: Simd> crate::SimdInt<S> for u32x8<S> {
self.simd.unzip_high_u32x8(self, rhs.simd_into(self.simd))
}
#[inline(always)]
fn interleave(self, rhs: impl SimdInto<Self, S>) -> (Self, Self) {
self.simd.interleave_u32x8(self, rhs.simd_into(self.simd))
}
#[inline(always)]
fn deinterleave(self, rhs: impl SimdInto<Self, S>) -> (Self, Self) {
self.simd.deinterleave_u32x8(self, rhs.simd_into(self.simd))
}
#[inline(always)]
fn min(self, rhs: impl SimdInto<Self, S>) -> Self {
self.simd.min_u32x8(self, rhs.simd_into(self.simd))
}
Expand Down Expand Up @@ -4222,6 +4344,14 @@ impl<S: Simd> crate::SimdFloat<S> for f64x4<S> {
self.simd.unzip_high_f64x4(self, rhs.simd_into(self.simd))
}
#[inline(always)]
fn interleave(self, rhs: impl SimdInto<Self, S>) -> (Self, Self) {
self.simd.interleave_f64x4(self, rhs.simd_into(self.simd))
}
#[inline(always)]
fn deinterleave(self, rhs: impl SimdInto<Self, S>) -> (Self, Self) {
self.simd.deinterleave_f64x4(self, rhs.simd_into(self.simd))
}
#[inline(always)]
fn max(self, rhs: impl SimdInto<Self, S>) -> Self {
self.simd.max_f64x4(self, rhs.simd_into(self.simd))
}
Expand Down Expand Up @@ -4625,6 +4755,15 @@ impl<S: Simd> crate::SimdFloat<S> for f32x16<S> {
self.simd.unzip_high_f32x16(self, rhs.simd_into(self.simd))
}
#[inline(always)]
fn interleave(self, rhs: impl SimdInto<Self, S>) -> (Self, Self) {
self.simd.interleave_f32x16(self, rhs.simd_into(self.simd))
}
#[inline(always)]
fn deinterleave(self, rhs: impl SimdInto<Self, S>) -> (Self, Self) {
self.simd
.deinterleave_f32x16(self, rhs.simd_into(self.simd))
}
#[inline(always)]
fn max(self, rhs: impl SimdInto<Self, S>) -> Self {
self.simd.max_f32x16(self, rhs.simd_into(self.simd))
}
Expand Down Expand Up @@ -4854,6 +4993,14 @@ impl<S: Simd> crate::SimdInt<S> for i8x64<S> {
self.simd.unzip_high_i8x64(self, rhs.simd_into(self.simd))
}
#[inline(always)]
fn interleave(self, rhs: impl SimdInto<Self, S>) -> (Self, Self) {
self.simd.interleave_i8x64(self, rhs.simd_into(self.simd))
}
#[inline(always)]
fn deinterleave(self, rhs: impl SimdInto<Self, S>) -> (Self, Self) {
self.simd.deinterleave_i8x64(self, rhs.simd_into(self.simd))
}
#[inline(always)]
fn min(self, rhs: impl SimdInto<Self, S>) -> Self {
self.simd.min_i8x64(self, rhs.simd_into(self.simd))
}
Expand Down Expand Up @@ -5031,6 +5178,14 @@ impl<S: Simd> crate::SimdInt<S> for u8x64<S> {
self.simd.unzip_high_u8x64(self, rhs.simd_into(self.simd))
}
#[inline(always)]
fn interleave(self, rhs: impl SimdInto<Self, S>) -> (Self, Self) {
self.simd.interleave_u8x64(self, rhs.simd_into(self.simd))
}
#[inline(always)]
fn deinterleave(self, rhs: impl SimdInto<Self, S>) -> (Self, Self) {
self.simd.deinterleave_u8x64(self, rhs.simd_into(self.simd))
}
#[inline(always)]
fn min(self, rhs: impl SimdInto<Self, S>) -> Self {
self.simd.min_u8x64(self, rhs.simd_into(self.simd))
}
Expand Down Expand Up @@ -5371,6 +5526,15 @@ impl<S: Simd> crate::SimdInt<S> for i16x32<S> {
self.simd.unzip_high_i16x32(self, rhs.simd_into(self.simd))
}
#[inline(always)]
fn interleave(self, rhs: impl SimdInto<Self, S>) -> (Self, Self) {
self.simd.interleave_i16x32(self, rhs.simd_into(self.simd))
}
#[inline(always)]
fn deinterleave(self, rhs: impl SimdInto<Self, S>) -> (Self, Self) {
self.simd
.deinterleave_i16x32(self, rhs.simd_into(self.simd))
}
#[inline(always)]
fn min(self, rhs: impl SimdInto<Self, S>) -> Self {
self.simd.min_i16x32(self, rhs.simd_into(self.simd))
}
Expand Down Expand Up @@ -5553,6 +5717,15 @@ impl<S: Simd> crate::SimdInt<S> for u16x32<S> {
self.simd.unzip_high_u16x32(self, rhs.simd_into(self.simd))
}
#[inline(always)]
fn interleave(self, rhs: impl SimdInto<Self, S>) -> (Self, Self) {
self.simd.interleave_u16x32(self, rhs.simd_into(self.simd))
}
#[inline(always)]
fn deinterleave(self, rhs: impl SimdInto<Self, S>) -> (Self, Self) {
self.simd
.deinterleave_u16x32(self, rhs.simd_into(self.simd))
}
#[inline(always)]
fn min(self, rhs: impl SimdInto<Self, S>) -> Self {
self.simd.min_u16x32(self, rhs.simd_into(self.simd))
}
Expand Down Expand Up @@ -5893,6 +6066,15 @@ impl<S: Simd> crate::SimdInt<S> for i32x16<S> {
self.simd.unzip_high_i32x16(self, rhs.simd_into(self.simd))
}
#[inline(always)]
fn interleave(self, rhs: impl SimdInto<Self, S>) -> (Self, Self) {
self.simd.interleave_i32x16(self, rhs.simd_into(self.simd))
}
#[inline(always)]
fn deinterleave(self, rhs: impl SimdInto<Self, S>) -> (Self, Self) {
self.simd
.deinterleave_i32x16(self, rhs.simd_into(self.simd))
}
#[inline(always)]
fn min(self, rhs: impl SimdInto<Self, S>) -> Self {
self.simd.min_i32x16(self, rhs.simd_into(self.simd))
}
Expand Down Expand Up @@ -6087,6 +6269,15 @@ impl<S: Simd> crate::SimdInt<S> for u32x16<S> {
self.simd.unzip_high_u32x16(self, rhs.simd_into(self.simd))
}
#[inline(always)]
fn interleave(self, rhs: impl SimdInto<Self, S>) -> (Self, Self) {
self.simd.interleave_u32x16(self, rhs.simd_into(self.simd))
}
#[inline(always)]
fn deinterleave(self, rhs: impl SimdInto<Self, S>) -> (Self, Self) {
self.simd
.deinterleave_u32x16(self, rhs.simd_into(self.simd))
}
#[inline(always)]
fn min(self, rhs: impl SimdInto<Self, S>) -> Self {
self.simd.min_u32x16(self, rhs.simd_into(self.simd))
}
Expand Down Expand Up @@ -6446,6 +6637,14 @@ impl<S: Simd> crate::SimdFloat<S> for f64x8<S> {
self.simd.unzip_high_f64x8(self, rhs.simd_into(self.simd))
}
#[inline(always)]
fn interleave(self, rhs: impl SimdInto<Self, S>) -> (Self, Self) {
self.simd.interleave_f64x8(self, rhs.simd_into(self.simd))
}
#[inline(always)]
fn deinterleave(self, rhs: impl SimdInto<Self, S>) -> (Self, Self) {
self.simd.deinterleave_f64x8(self, rhs.simd_into(self.simd))
}
#[inline(always)]
fn max(self, rhs: impl SimdInto<Self, S>) -> Self {
self.simd.max_f64x8(self, rhs.simd_into(self.simd))
}
Expand Down
Loading
Loading