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
Caleb Zulawski
cca9102429
Change bitmasks to use less opaque type
2021-07-29 04:55:28 +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
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
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
Jubilee Young
2f99cc80d8
Add pointer vectors: SimdConstPtr, SimdMutPtr
2021-06-21 16:15:19 -07:00
Jubilee Young
16765a1021
Introduce SimdArray trait
...
This provides a general framework for describing relationships
between vector types and scalar types.
2021-06-21 16:15:15 -07:00
Caleb Zulawski
b0a9fe5d07
Extract constant from scalar to_radians as well
2021-06-21 21:11:37 +00:00
Caleb Zulawski
708ae61841
Remove scalar Sum/Product over questionable order of operations
2021-06-21 21:08:26 +00:00
Caleb Zulawski
15b4e28004
Add from_bitmask ( #136 )
...
* Add from_bitmask
* Add mips workaround
2021-06-21 14:05:43 -07:00
Caleb Zulawski
7b66032ed5
Fix test typo
2021-06-13 20:11:01 +00:00
Caleb Zulawski
f102de7c8b
Add mul_add
2021-06-13 19:59:17 +00:00
Caleb Zulawski
74e6262ce4
Add min/max/clamp
2021-06-13 19:47:32 +00:00
Caleb Zulawski
b936f34a5c
Add various special functions (recip, signum, copysign)
2021-06-13 18:45:45 +00:00
Caleb Zulawski
96f0f5d29f
Implement Sum/Product over references
2021-06-13 18:00:47 +00:00
Caleb Zulawski
bdcccba55c
Implement Sum/Product traits
2021-06-13 17:52:44 +00:00
Miguel Raz Guzmán Macedo
57e67c905f
add doctests for shuffle ( #130 )
...
* add shuffle doctests/examples
2021-06-11 15:48:44 -07:00
Caleb Zulawski
68393aa594
Add mask width conversion ( #127 )
2021-06-11 15:48:05 -07:00
Jubilee
4311c0660e
Merge pull request #122 from miguelraz/nbodyexample
...
nbody example
2021-06-04 09:43:48 -07:00
miguel raz
be121c93ff
clean code vis. Jubilee's comments
2021-06-04 10:54:08 -05:00
Miguel Raz Guzmán Macedo
435d1cf7a6
Update crates/core_simd/examples/nbody.rs
...
Co-authored-by: Jubilee <46493976+workingjubilee@users.noreply.github.com>
2021-06-04 10:40:39 -05:00
miguel raz
c042f33673
clean up code, fudge approx true
2021-06-01 20:05:30 -05:00
miguel raz
70305c5fad
add main to avoid CI crash
2021-06-01 19:46:48 -05:00
miguel raz
4e86aeb7f9
finish nbody
2021-06-01 19:31:34 -05:00
miguel raz
5557907098
rewrite unaligned slice, fix output const array
2021-06-01 15:25:56 -05:00
miguel raz
f24110aa5b
collapse run_k into run
2021-06-01 12:26:29 -05:00
miguel raz
56050562f1
don't use turbofish on run
2021-06-01 12:15:37 -05:00
miguel raz
83dc5b782b
don't need clippy
2021-06-01 12:09:11 -05:00
Miguel Raz Guzmán Macedo
3c05ceec70
Update crates/core_simd/examples/nbody.rs
...
Co-authored-by: Jubilee <46493976+workingjubilee@users.noreply.github.com>
2021-05-31 18:03:55 -05:00
Caleb Zulawski
992621844f
Remove extended_key_value_attributes feature
2021-05-26 10:27:16 -04:00
miguel raz
8bea3627cb
replace sum() with horizontal_sum()
2021-05-25 21:25:42 -05:00
miguel raz
ab6af37f8f
Simdf64 from attempt
2021-05-25 20:10:55 -05:00
miguel raz
2591c59ba7
fix imports
2021-05-25 20:07:20 -05:00
miguel raz
e52d51cd45
nbody example
2021-05-25 20:00:01 -05:00
Caleb Zulawski
20c3b8e13f
Merge pull request #120 from miguelraz/simd_fsqrt
...
add simd_fsqrt intrinsic
2021-05-24 19:07:12 -04:00
Caleb Zulawski
1c18f8fd59
Add byte conversions
2021-05-24 15:02:45 -07:00
miguel raz
d6795814d4
add simd_fsqrt intrinsic
2021-05-18 10:11:37 -05:00
Caleb Zulawski
45d7e80aa8
Clarify documentation
2021-05-08 00:13:40 +00:00
Caleb Zulawski
e8cae870fc
Fix rustfmt
2021-05-08 00:11:34 +00:00
Caleb Zulawski
0bf5eb5f72
Add select for masks
2021-05-08 00:07:07 +00:00
Caleb Zulawski
563d2a2cfc
Add select function
2021-05-01 15:21:41 +00:00
Caleb Zulawski
589fce0313
Attempt to workaround MIPS bug
2021-04-30 23:22:27 -07:00
Caleb Zulawski
98dad13526
Make implementation more scalable by using a helper trait to determine bitmask size. Improve bitmask to int conversion.
2021-04-30 23:22:27 -07:00
Caleb Zulawski
eec42808aa
Update bitmask API
2021-04-28 21:56:11 +00:00
Caleb Zulawski
da42aa5403
Begin reducing mask API
2021-04-28 21:56:11 +00:00
Jubilee
5751179dc6
Merge pull request #107 from rust-lang/feat/simd-round
...
Add SIMD rounding intrinsics
2021-04-26 09:05:34 -07:00
Jubilee Young
6ea08d8d5f
Add SIMD round, trunc, fract
2021-04-25 18:31:49 -07:00
Jubilee Young
b4fda6ef06
Give rounding intrinsics their own modules
2021-04-25 18:27:03 -07:00
Jubilee Young
92d643b628
Remove Simd{U,I}128
2021-04-25 16:45:19 -07:00
Jubilee Young
f06427f4d6
Move lanes_at_most_64 to _32
2021-04-25 16:42:49 -07:00
Jubilee Young
91134e614e
Branchless abs
2021-04-25 16:42:49 -07:00
Jubilee Young
e8b6bca694
Finish fixing up abs docs
2021-04-25 16:42:49 -07:00
Caleb Zulawski
1f4e902ee7
Fix saturating math docs
2021-04-25 16:42:49 -07:00
Jubilee
24ebae870e
Merge pull request #83 from rust-lang/feature/reductions
...
Add reductions
2021-04-22 16:44:41 -07:00
Caleb Zulawski
04ee107323
Remove wrapping from sum/product fns
2021-04-22 22:41:12 +00:00
Jubilee
2fa62b91c8
Merge pull request #98 from rust-lang/feature/common-shuffles
...
Add some common shuffles
2021-04-20 23:33:01 -07:00
Caleb Zulawski
7028a58294
Attempt to clarify interleave/deinterleave
2021-04-20 01:51:06 +00:00
Caleb Zulawski
828b274ae7
Rename sum, product to horizontal_{sum,product}
2021-04-19 23:41:11 +00:00
Jubilee Young
9acc112090
Use fabs intrinsic
2021-04-19 04:49:04 +00:00
Caleb Zulawski
1999c54890
Clarify concatenation order
...
Co-authored-by: Jubilee <46493976+workingjubilee@users.noreply.github.com>
2021-04-17 15:21:25 -04:00
Caleb Zulawski
977f26f692
Add some common shuffles
2021-04-17 17:00:14 +00:00
Caleb Zulawski
e73985f25d
Merge pull request #89 from rust-lang/intrinsic-neg
...
Use neg intrinsics
2021-04-16 21:35:11 -04:00
Caleb Zulawski
01d78aa21a
Update docs
2021-04-17 01:32:45 +00:00
Jubilee Young
87b7207acd
Use neg intrinsics
2021-04-16 15:02:59 -07:00
Jubilee Young
e3f0124baf
Silence warnings
2021-04-15 15:19:44 -07:00
Caleb Zulawski
e127586709
Improve function names and docs
2021-04-11 10:59:05 -04:00
Caleb Zulawski
e2fa502617
Enable i586 workaround for both f32 and f64
2021-04-09 16:31:03 -04:00
Caleb Zulawski
3cf970fc09
Fix test sum/product implementation
2021-04-09 16:31:03 -04:00
Caleb Zulawski
3fae09bd08
Revert "Revert i586 fix, fix test instead"
...
This reverts commit 1ea2f128821339d8050ca936f24b71677352437e.
2021-04-09 16:31:03 -04:00
Caleb Zulawski
b51febbd34
Revert i586 fix, fix test instead
2021-04-09 16:31:03 -04:00
Caleb Zulawski
4b8cbd5385
Fix i586 detection
2021-04-09 16:31:03 -04:00
Caleb Zulawski
64f564866b
Update documentation and fix i586 inaccuracy
2021-04-09 16:31:03 -04:00
Caleb Zulawski
02608d44f7
Fix mask ops
2021-04-09 16:31:03 -04:00
Caleb Zulawski
193cd14b4a
Enable special handling of zero
2021-04-09 16:31:03 -04:00
Caleb Zulawski
a7b82adb12
Add tests
2021-04-09 16:31:03 -04:00
Caleb Zulawski
875b31c33f
Implement reductions
2021-04-09 16:31:03 -04:00
Caleb Zulawski
926cf3aba3
Add intrinsics
2021-04-09 16:31:03 -04:00
Caleb Zulawski
d7649f46f3
Various bug fixes
2021-04-09 16:31:03 -04:00
Caleb Zulawski
b0a005dcfb
Add floating-point classification functions
2021-04-09 16:31:03 -04:00
Caleb Zulawski
e6a530907a
Reduce maximum lanes from 64 to 32
2021-04-03 14:43:33 -04:00
Caleb Zulawski
97bbe2d86a
Fix normal and subnormal classification
2021-04-03 13:54:29 -04:00
Caleb Zulawski
07247a001f
Various bug fixes
2021-04-03 13:54:29 -04:00
Caleb Zulawski
93ce1c1a59
Add floating-point classification functions
2021-04-03 13:54:29 -04:00
Jubilee Young
331230fabf
Explain why to use saturation
2021-04-02 09:11:27 -07:00
Jubilee Young
dd1a5e41ad
Add saturating abs/neg
2021-04-02 08:55:45 -07:00