Magnus Ulimoen
4fbccafc66
Add lanes()
2021-09-29 16:38:03 +00:00
Jubilee Young
afd7c5a5ee
Make sure MaskElement is in bitmasks.rs
2021-09-27 15:27:34 -07:00
Jubilee Young
c2f59483f9
Feature-flag fused mul-add to block libcalls
2021-09-21 19:42:31 -07:00
Jubilee Young
6d3d07abfe
Feature-flag doc tests so they run for core
2021-09-21 17:19:35 -07:00
Jubilee Young
8342fe75f2
Cleanup more for std::simd also
2021-09-21 10:31:37 -07:00
Jubilee Young
b25ed7f86d
Restructure crate as core module
...
Aligns module with rust-lang/library/core, creating an... unusual
architecture that is easier to pull in as a module, as core itself can
have no dependencies (as we haven't built core yet).
2021-09-18 23:26:10 -07:00
Caleb Zulawski
8cf7a62e5d
Fix cargo features for nightly ( #155 )
...
* Fix cargo features for nightly
2021-09-08 17:01:16 -07:00
Jubilee
d42875302d
Merge pull request #154 from rust-lang/feature/generic-element-type
...
Change vectors to be generic over element type.
2021-08-17 12:10:44 -07:00
Caleb Zulawski
4aafd8e779
Rename element type variable
2021-08-16 16:38:30 -04:00
Caleb Zulawski
cf653c7b93
Update crates/core_simd/src/vector.rs
...
Co-authored-by: Jubilee <46493976+workingjubilee@users.noreply.github.com>
2021-08-13 20:40:05 -04:00
Caleb Zulawski
00165ed5be
Remove mask aliases
2021-08-07 21:22:10 +00:00
Caleb Zulawski
40142ac034
Remove aliases
2021-08-07 21:15:24 +00:00
Caleb Zulawski
275889f7f4
Remove remaining usage of aliases
2021-08-07 21:06:40 +00:00
Caleb Zulawski
f7f29683a8
Remove aliases from most tests
2021-08-07 20:38:41 +00:00
Caleb Zulawski
88f79d4a6f
Remove aliases from op trait impls
2021-08-07 20:20:20 +00:00
Caleb Zulawski
5ed57b4c85
Remove most usage of type aliases
2021-08-07 19:28:27 +00:00
Caleb Zulawski
e11286a362
Remove unused transmute file
2021-08-07 16:53:08 +00:00
Caleb Zulawski
e6d95e4798
Implement comparisons generically
2021-08-07 05:47:54 +00:00
Caleb Zulawski
ea0280539c
Implement select generically
2021-08-07 05:19:06 +00:00
Caleb Zulawski
de13b20b27
Convert all masks to a single type
2021-08-07 04:30:24 +00:00
Caleb Zulawski
ddc67e3bf2
Remove Mask trait
2021-08-07 01:17:27 +00:00
Caleb Zulawski
8cc38ae292
Remove Vector trait
2021-08-07 01:16:23 +00:00
Caleb Zulawski
dc4dc99649
Change to various generic impls
2021-08-06 03:45:57 +00:00
Caleb Zulawski
054f25f2b0
Convert all vectors to a single type
2021-08-06 02:31:24 +00:00
Caleb Zulawski
50eb35eb3b
Merge pull request #153 from rust-lang/death-of-the-author
...
Rename to portable-simd and remove other names
2021-08-05 20:49:45 -04:00
Jubilee Young
2acf204b09
Rename to portable-simd and remove other names
...
Clean up references to the repo's previous name.
Removes the authors field, which is non-obligatory since RFC 3052.
Better to omit than confound: let git log be our witness.
2021-08-04 23:12:23 -07:00
Jubilee
c36d17de4d
Merge pull request #152 from rust-lang/feature/const_eval_checked
...
Feature/const eval checked
Adds the const_evaluatable_checked cargo feature for some experimental (but very useful) function implementations. Adds testing all cargo features to CI.
2021-08-01 23:18:24 -07:00
Caleb Zulawski
cca9102429
Change bitmasks to use less opaque type
2021-07-29 04:55:28 +00:00
Caleb Zulawski
9ab050796f
Fix feature flag in CI
2021-07-28 04:33:57 +00:00
Caleb Zulawski
1f69bc459a
Add CI for testing cargo features
2021-07-28 04:26:55 +00:00
Caleb Zulawski
34384b7a68
Add const_evaluatable_checked feature, change to_bitmask to use it, and fix existing std feature
2021-07-28 04:19:31 +00:00
Jubilee
82e3405efe
Merge pull request #142 from rust-lang/feature/traits
...
Combine LanesAtMost32 and SimdArray into a single trait "Vector"
Attempts to fix some unresolved questions in #139 regarding `SimdArray` having a generic parameter.
In particular, this made it not appropriate for replacing `LanesAtMost32`. Additionally, it made it impossible to use in a context where you otherwise don't know the lane count, e.g. `impl Vector`.
An unfortunate side effect of this change is that scatter/gather no longer work in the trait (nor does anything else that references the lane count in a type. This requires the super-unstable `const_evaluatable_checked` feature).
I also threw in the change from `as_slice` to `as_array` as discussed in zulip, and fixes #51 .
2021-07-24 16:01:57 -07:00
Caleb Zulawski
97c25dd746
Add lane count marker type
2021-07-24 17:37:36 +00:00
Caleb Zulawski
f93bef35f3
Move vector implementation
2021-07-24 17:37:36 +00:00
Caleb Zulawski
529ffe05d6
Use new module naming
2021-07-24 17:37:36 +00:00
Caleb Zulawski
fdd7d6e252
Change as_slice to as_array
2021-07-24 17:37:36 +00:00
Caleb Zulawski
f178dda187
Add as_slice/as_mut_slice to Vector
2021-07-24 17:37:36 +00:00
Caleb Zulawski
c077bf3c07
Rename SimdArray to Vector, remove its generic parameter, and remove LanesAtMost32
2021-07-24 17:37:36 +00:00
Caleb Zulawski
732b7edfab
Add fmt and clippy to CI ( #147 )
...
* Add fmt and clippy to CI
* Add rust components
* Fix formatting
2021-07-23 17:43:53 -07:00
Caleb Zulawski
be96995d8d
Add portable_simd unstable feature gate ( #141 )
2021-07-19 16:13:24 -07:00
Caleb Zulawski
3954b27787
Add conversions between vendor intrinsics ( #144 )
...
* Add x86 vendor conversions
* Add wasm32 vendor types
* Add arm vendor types
* Add powerpc vendor types
2021-07-19 15:01:28 -07:00
Miguel Raz Guzmán Macedo
ac749a180b
add matrix_inversion example ( #131 )
...
* add matrix_inversion example
2021-07-19 14:58:13 -07:00
Adam Greig
871d588ec4
Add 32-bit SIMD types i/u16x2 and i/u8x4. ( #145 )
...
These types are useful for the "SIMD32" instructions available on ARMv6
(except M-class), ARMv7 (M-class with DSP), and ARMv8.
2021-07-19 14:18:29 -07:00
Caleb Zulawski
715f9ac4e3
Fix typo. Closes #140
2021-06-26 17:08:40 +00:00
Jubilee
b5ba19577f
Merge pull request #139 from rust-lang/feat/gather
...
Add SimdArray trait and safe gather/scatter API (rust-lang/stdsimd#139 )
This PR has four parts, without which it doesn't make a lot of sense:
- The introduction of the SimdArray trait for abstraction over vectors.
- The implementation of private vector-of-pointers types.
- Using these to allow constructing vectors with SimdArray::gather_{or, or_default, select}.
- Using these to allow writing vectors using SimdArray::scatter{,_select}.
2021-06-23 20:47:51 -07:00
Jubilee
3872723ead
Merge pull request #138 from rust-lang/feature/various-fns
...
Add various fns
- Sum/Product traits
- recip/to_degrees/to_radians/min/max/clamp/signum/copysign; rust-lang/stdsimd#14
- mul_add: rust-lang/stdsimd#14 , fixes rust-lang/stdsimd#102
2021-06-23 14:19:08 -07:00
Jubilee Young
1529ed43d8
Document and test doubled writes in scatter
2021-06-23 12:13:10 -07:00
Jubilee Young
f38659a46c
Add assoc const SimdArray::LANES
2021-06-22 15:28:15 -07:00
Jubilee Young
81ceda8c5b
Add SimdArray::scatter{,_select}
2021-06-21 18:18:50 -07:00
Jubilee Young
128b6f5e22
Add SimdArray::gather_{or,or_default,select}
2021-06-21 18:10:28 -07:00