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
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,8 @@ This release has an [MSRV][] of 1.88.
The fallback level can be restored with the `force_support_fallback` cargo feature. We don't expect this to be necessary outside
of tests.
- Code generation for `select` and `unzip` operations on x86 has been improved. ([#115][] by [@valadaptive][])
- Breaking change: The native-width associated types (`f32s`, `u8s`, etc.) for the `Avx2` struct have been widened from 128-bit
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In my mind, marking this as a breaking change is a decision on a knife-edge.
I probably wouldn't have myself, but I can understand why you have, and I'm perfectly happy for it to be marked as such.

types (like `f32x4`) to 256-bit types (like `f32x8`). ([#123][] by [@valadaptive][])

### Removed

Expand Down Expand Up @@ -113,6 +115,7 @@ No changelog was kept for this release.
[#99]: https://github.com/linebender/fearless_simd/pull/99
[#105]: https://github.com/linebender/fearless_simd/pull/105
[#115]: https://github.com/linebender/fearless_simd/pull/115
[#123]: https://github.com/linebender/fearless_simd/pull/123

[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
20 changes: 10 additions & 10 deletions fearless_simd/src/generated/avx2.rs
Original file line number Diff line number Diff line change
Expand Up @@ -35,16 +35,16 @@ impl Avx2 {
}
impl Seal for Avx2 {}
impl Simd for Avx2 {
type f32s = f32x4<Self>;
type u8s = u8x16<Self>;
type i8s = i8x16<Self>;
type u16s = u16x8<Self>;
type i16s = i16x8<Self>;
type u32s = u32x4<Self>;
type i32s = i32x4<Self>;
type mask8s = mask8x16<Self>;
type mask16s = mask16x8<Self>;
type mask32s = mask32x4<Self>;
type f32s = f32x8<Self>;
type u8s = u8x32<Self>;
type i8s = i8x32<Self>;
type u16s = u16x16<Self>;
type i16s = i16x16<Self>;
type u32s = u32x8<Self>;
type i32s = i32x8<Self>;
type mask8s = mask8x32<Self>;
type mask16s = mask16x16<Self>;
type mask32s = mask32x8<Self>;
#[inline(always)]
fn level(self) -> Level {
Level::Avx2(self)
Expand Down
20 changes: 10 additions & 10 deletions fearless_simd_gen/src/mk_avx2.rs
Original file line number Diff line number Diff line change
Expand Up @@ -97,16 +97,16 @@ fn mk_simd_impl() -> TokenStream {
// be factored out for DRY.
quote! {
impl Simd for #level_tok {
type f32s = f32x4<Self>;
type u8s = u8x16<Self>;
type i8s = i8x16<Self>;
type u16s = u16x8<Self>;
type i16s = i16x8<Self>;
type u32s = u32x4<Self>;
type i32s = i32x4<Self>;
type mask8s = mask8x16<Self>;
type mask16s = mask16x8<Self>;
type mask32s = mask32x4<Self>;
type f32s = f32x8<Self>;
type u8s = u8x32<Self>;
type i8s = i8x32<Self>;
type u16s = u16x16<Self>;
type i16s = i16x16<Self>;
type u32s = u32x8<Self>;
type i32s = i32x8<Self>;
type mask8s = mask8x32<Self>;
type mask16s = mask16x16<Self>;
type mask32s = mask32x8<Self>;
#[inline(always)]
fn level(self) -> Level {
Level::#level_tok(self)
Expand Down
Loading