- 12 3月, 2022 1 次提交
-
-
由 Ralf Jung 提交于
-
- 11 3月, 2022 1 次提交
-
-
由 Jorge Leitao 提交于
-
- 10 3月, 2022 1 次提交
-
-
由 Jubilee 提交于
This is allowed to fail, but might produce useful results to check on.
-
- 09 3月, 2022 4 次提交
-
-
由 Ralf Jung 提交于
-
由 Ralf Jung 提交于
-
由 Jubilee Young 提交于
-
由 Jubilee Young 提交于
-
- 05 3月, 2022 1 次提交
-
-
由 Ralf Jung 提交于
-
- 02 3月, 2022 1 次提交
-
-
由 Jubilee 提交于
...and copy the notes for why they're legal.
-
- 01 3月, 2022 1 次提交
-
-
由 Jubilee 提交于
Now that we are thoroughly embedded in libcore, we don't need these on by default. Indeed, their presence may provide confusing results during integration attempts.
-
- 27 2月, 2022 1 次提交
-
-
由 Jubilee 提交于
Another approach that fixes rust-lang/portable-simd#223, as an alternative to rust-lang/portable-simd#238. This adds the `ToBitMask` trait, which is implemented on a vector for each bitmask type it supports. This includes all unsigned integers with enough bits to contain it. The byte array variant has been separated out for now into rust-lang/portable-simd#246 and still requires `generic_const_exprs`, but the integer variants no longer require it and can make it to nightly.
-
- 25 2月, 2022 3 次提交
-
-
由 Caleb Zulawski 提交于
-
由 Caleb Zulawski 提交于
-
由 Caleb Zulawski 提交于
-
- 11 2月, 2022 1 次提交
-
-
由 Jubilee 提交于
* Explain unsafe contracts of core::simd This permeates the module with remarks on safety for pub methods, layout of the Simd type, correct use of intrinsics, et cetera. This is mostly to help others curious about how core::simd works, including other Rust contributors, `unsafe` library authors, and eventually ourselves.
-
- 10 2月, 2022 2 次提交
-
-
由 Caleb Zulawski 提交于
-
由 Jubilee 提交于
Remove overflow panic from divrem and add basic docs to Simd<T, N> This finishes normalizing Simd<T, N> to being approximately equivalent to Simd<Wrapping<T>, N> for all implemented operations I can think of. It also documents this fact, allowing this to close rust-lang/portable-simd#56.
-
- 09 2月, 2022 3 次提交
-
-
由 Jubilee 提交于
Co-authored-by: NCaleb Zulawski <caleb.zulawski@gmail.com>
-
由 Jubilee Young 提交于
and other quirks like panicking and the equivalence to zipping and mapping binary ops
-
由 Jubilee Young 提交于
Includes some remarks in intrinsics.rs, generated while auditing the interface for remaining UB.
-
- 03 2月, 2022 2 次提交
-
-
由 Jubilee Young 提交于
-
由 Jubilee Young 提交于
-
- 02 2月, 2022 1 次提交
-
-
由 Jubilee 提交于
Add spectral_norm example from packed_simd
-
- 28 1月, 2022 1 次提交
-
-
由 Jubilee Young 提交于
-
- 27 1月, 2022 3 次提交
-
-
由 Jubilee 提交于
Add Simd::cast Add core_simd/tests/cast.rs
-
由 Jubilee Young 提交于
-
由 Jubilee Young 提交于
-
- 25 1月, 2022 2 次提交
-
-
由 Caleb Zulawski 提交于
fix documentation typo
-
由 Caleb Zulawski 提交于
Co-authored-by: NAlexander Ronald Altman <alexanderaltman@me.com>
-
- 24 1月, 2022 1 次提交
-
-
由 Alec Goncharow 提交于
Remove redundant "neither" in the documentation comment.
-
- 21 1月, 2022 1 次提交
-
-
由 Jubilee Young 提交于
The way the macro expands, it may sometimes infer "this is a uint, but doesn't impl Neg???" Also, I made the "wrong path for intrinsics" error. These fixes allow integration into libcore.
-
- 20 1月, 2022 1 次提交
-
-
由 Jubilee Young 提交于
This significantly simplifies codegen and should improve mask perf. Co-authored-by: NJacob Lifshay <programmerjake@gmail.com>
-
- 14 1月, 2022 2 次提交
-
-
由 Caleb Zulawski 提交于
Use intrinsic for min/max
-
由 Caleb Zulawski 提交于
-
- 10 1月, 2022 1 次提交
-
-
由 Caleb Zulawski 提交于
-
- 01 1月, 2022 3 次提交
-
-
由 Jubilee 提交于
impl std::simd::StdFloat This introduces an extension trait to allow use of floating point methods that need runtime support. It is *excessively* documented because its mere existence is quite vexing, as the entire thing constitutes a leakage of implementation details into user observable space. Eventually the entire thing will ideally be folded into core and restructured to match the rest of the library, whatever that structure might look like at the time. This is preferred in lieu of the "lang item" path because any energy the lang items require (and it will be significant, by Simulacrum's estimation) is better spent on implementing our libmvec.
-
由 Jubilee Young 提交于
-
由 Jubilee Young 提交于
While consulting with Simulacrum on how to make available the float functions that currently require runtime support for `Simd<f32, N>` and `Simd<f64, N>`, we realized breaking coherence with the classic approach of lang items was, since `{core,std}::simd::Simd` is a `ty::Adt`, likely to be quite a bit nasty. The project group has a long-term plan for how to get around this kind of issue and move the associated functions into libcore, but that will likely take time as well. Since all routes forward are temporally costly, we probably will skip the lang item approach entirely and go the "proper" route, but in the interests of having something this year for people to play around with, this extension trait was whipped up. For now, while it involves a lot of fairly internal details most users shouldn't have to care about, I went ahead and fully documented the situation for any passerby to read on the trait, as the situation is quite unusual and puzzling to begin with.
-
- 30 12月, 2021 1 次提交
-
-
由 Jubilee 提交于
Refactor ops.rs with wrapping shifts This approaches reducing macro nesting in a slightly different way. Instead of just flattening details, make one macro apply another. This allows specifying all details up-front in the first macro invocation, making it easier to audit and refactor in the future. This refactor also has some functional changes. Only one is a true behavior change, however: - The visible one is that SIMD shifts are now wrapping, not panicking on overflow - `core::simd` now has a lot more instances of `#[must_use]`, which merely lints - div/rem now perform a SIMD check but remain as before, which should improve performance but be invisible
-
- 24 12月, 2021 1 次提交
-
-
由 Jubilee Young 提交于
-