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
4 changes: 3 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,8 @@ This release has an [MSRV][] of 1.88.
([#158][] by [@Shnatsel][])
- Breaking change: the `val` field on SIMD vector types is now private, and vector types are no longer represented as arrays internally. To access a vector type's elements, you can use the `Into` or `Deref` traits to obtain an array, or the `as_slice`/`as_mut_slice` methods to obtain a slice. ([#159][] by [@valadaptive][])
- Breaking change: the `Element` type on the `SimdBase` trait is now an associated type instead of a type parameter. This should make it more pleasant to write code that's generic over different vector types. ([#170][] by [@valadaptive][])
= The `WasmSimd128` token type now wraps the new `crate::core_arch::wasm32::WasmSimd128` type. This doesn't expose any new functionality as WASM SIMD128 can only be enabled statically, but matches all the other backend tokens. ([#176][] by [@valadaptive][])
- The `WasmSimd128` token type now wraps the new `crate::core_arch::wasm32::WasmSimd128` type. This doesn't expose any new functionality as WASM SIMD128 can only be enabled statically, but matches all the other backend tokens. ([#176][] by [@valadaptive][])
- Breaking change: the `SimdFrom::simd_from` method now takes the SIMD token as the first argument instead of the second. This matches the argument order of the `from_slice`, `splat`, and `from_fn` methods on `SimdBase`. ([#180][] by [@valadaptive][])

### Removed

Expand Down Expand Up @@ -164,6 +165,7 @@ No changelog was kept for this release.
[#168]: https://github.com/linebender/fearless_simd/pull/168
[#170]: https://github.com/linebender/fearless_simd/pull/170
[#176]: https://github.com/linebender/fearless_simd/pull/176
[#180]: https://github.com/linebender/fearless_simd/pull/180

[Unreleased]: https://github.com/linebender/fearless_simd/compare/v0.3.0...HEAD
[0.3.0]: https://github.com/linebender/fearless_simd/compare/v0.3.0...v0.2.0
Expand Down
24 changes: 12 additions & 12 deletions fearless_simd/src/generated/avx2.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7009,7 +7009,7 @@ impl Simd for Avx2 {
}
impl<S: Simd> SimdFrom<__m256, S> for f32x8<S> {
#[inline(always)]
fn simd_from(arch: __m256, simd: S) -> Self {
fn simd_from(simd: S, arch: __m256) -> Self {
Self {
val: unsafe { core::mem::transmute_copy(&arch) },
simd,
Expand All @@ -7024,7 +7024,7 @@ impl<S: Simd> From<f32x8<S>> for __m256 {
}
impl<S: Simd> SimdFrom<__m256i, S> for i8x32<S> {
#[inline(always)]
fn simd_from(arch: __m256i, simd: S) -> Self {
fn simd_from(simd: S, arch: __m256i) -> Self {
Self {
val: unsafe { core::mem::transmute_copy(&arch) },
simd,
Expand All @@ -7039,7 +7039,7 @@ impl<S: Simd> From<i8x32<S>> for __m256i {
}
impl<S: Simd> SimdFrom<__m256i, S> for u8x32<S> {
#[inline(always)]
fn simd_from(arch: __m256i, simd: S) -> Self {
fn simd_from(simd: S, arch: __m256i) -> Self {
Self {
val: unsafe { core::mem::transmute_copy(&arch) },
simd,
Expand All @@ -7054,7 +7054,7 @@ impl<S: Simd> From<u8x32<S>> for __m256i {
}
impl<S: Simd> SimdFrom<__m256i, S> for mask8x32<S> {
#[inline(always)]
fn simd_from(arch: __m256i, simd: S) -> Self {
fn simd_from(simd: S, arch: __m256i) -> Self {
Self {
val: unsafe { core::mem::transmute_copy(&arch) },
simd,
Expand All @@ -7069,7 +7069,7 @@ impl<S: Simd> From<mask8x32<S>> for __m256i {
}
impl<S: Simd> SimdFrom<__m256i, S> for i16x16<S> {
#[inline(always)]
fn simd_from(arch: __m256i, simd: S) -> Self {
fn simd_from(simd: S, arch: __m256i) -> Self {
Self {
val: unsafe { core::mem::transmute_copy(&arch) },
simd,
Expand All @@ -7084,7 +7084,7 @@ impl<S: Simd> From<i16x16<S>> for __m256i {
}
impl<S: Simd> SimdFrom<__m256i, S> for u16x16<S> {
#[inline(always)]
fn simd_from(arch: __m256i, simd: S) -> Self {
fn simd_from(simd: S, arch: __m256i) -> Self {
Self {
val: unsafe { core::mem::transmute_copy(&arch) },
simd,
Expand All @@ -7099,7 +7099,7 @@ impl<S: Simd> From<u16x16<S>> for __m256i {
}
impl<S: Simd> SimdFrom<__m256i, S> for mask16x16<S> {
#[inline(always)]
fn simd_from(arch: __m256i, simd: S) -> Self {
fn simd_from(simd: S, arch: __m256i) -> Self {
Self {
val: unsafe { core::mem::transmute_copy(&arch) },
simd,
Expand All @@ -7114,7 +7114,7 @@ impl<S: Simd> From<mask16x16<S>> for __m256i {
}
impl<S: Simd> SimdFrom<__m256i, S> for i32x8<S> {
#[inline(always)]
fn simd_from(arch: __m256i, simd: S) -> Self {
fn simd_from(simd: S, arch: __m256i) -> Self {
Self {
val: unsafe { core::mem::transmute_copy(&arch) },
simd,
Expand All @@ -7129,7 +7129,7 @@ impl<S: Simd> From<i32x8<S>> for __m256i {
}
impl<S: Simd> SimdFrom<__m256i, S> for u32x8<S> {
#[inline(always)]
fn simd_from(arch: __m256i, simd: S) -> Self {
fn simd_from(simd: S, arch: __m256i) -> Self {
Self {
val: unsafe { core::mem::transmute_copy(&arch) },
simd,
Expand All @@ -7144,7 +7144,7 @@ impl<S: Simd> From<u32x8<S>> for __m256i {
}
impl<S: Simd> SimdFrom<__m256i, S> for mask32x8<S> {
#[inline(always)]
fn simd_from(arch: __m256i, simd: S) -> Self {
fn simd_from(simd: S, arch: __m256i) -> Self {
Self {
val: unsafe { core::mem::transmute_copy(&arch) },
simd,
Expand All @@ -7159,7 +7159,7 @@ impl<S: Simd> From<mask32x8<S>> for __m256i {
}
impl<S: Simd> SimdFrom<__m256d, S> for f64x4<S> {
#[inline(always)]
fn simd_from(arch: __m256d, simd: S) -> Self {
fn simd_from(simd: S, arch: __m256d) -> Self {
Self {
val: unsafe { core::mem::transmute_copy(&arch) },
simd,
Expand All @@ -7174,7 +7174,7 @@ impl<S: Simd> From<f64x4<S>> for __m256d {
}
impl<S: Simd> SimdFrom<__m256i, S> for mask64x4<S> {
#[inline(always)]
fn simd_from(arch: __m256i, simd: S) -> Self {
fn simd_from(simd: S, arch: __m256i) -> Self {
Self {
val: unsafe { core::mem::transmute_copy(&arch) },
simd,
Expand Down
Loading