Commit Graph

134 Commits

Author SHA1 Message Date
Jubilee Young
4910274686 Genericize to_int_unchecked 2022-02-03 03:46:16 -08:00
Jubilee Young
ebf65de2ce Delete outmoded fn round_from_int 2022-02-03 03:46:16 -08:00
Jubilee Young
0031b02cee Add core_simd/tests/cast.rs 2022-01-26 21:04:47 -08:00
Jubilee Young
af26e3b9fd Tear down and rewrite support for float testing 2021-12-31 14:28:14 -08:00
Jubilee Young
8003b04323 impl Op<&'_ RHS> for &'_ LHS 2021-12-01 15:45:01 -08:00
Jubilee Young
257fa7aa6d Drop splats for Simd<T, _>
Unfortunately, splatting impls currently break several crates.
Rust needs more time to review possible mitigations, so
drop the impls for the `impl Add<T> for Simd<T, _>` pattern, for now.
2021-12-01 15:40:53 -08:00
Jubilee
081240a663
Merge pull request #175 from rust-lang/feature/more-actions
Delete travis config, move tests to github actions.
2021-11-09 20:12:47 -08:00
Caleb Zulawski
349a61143c Delete travis config, move tests to github actions. 2021-11-10 02:18:41 +00:00
Caleb Zulawski
4e00aa68c7 rotate_{left,right} -> rotate_lanes_{left,right} 2021-11-06 00:34:23 +00:00
Caleb Zulawski
10168fb7c4 Add new swizzle API
Expand swizzle API and migrate existing functions. Add rotate_left, rotate_right.

Hide implementation details

Add simd_shuffle macro
2021-10-11 13:18:59 -07:00
Jubilee Young
c2f59483f9 Feature-flag fused mul-add to block libcalls 2021-09-21 19:42:31 -07:00
Caleb Zulawski
8cf7a62e5d
Fix cargo features for nightly (#155)
* Fix cargo features for nightly
2021-09-08 17:01:16 -07: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
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
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
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
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
68393aa594
Add mask width conversion (#127) 2021-06-11 15:48:05 -07: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
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
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
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
Caleb Zulawski
828b274ae7 Rename sum, product to horizontal_{sum,product} 2021-04-19 23:41:11 +00:00
Caleb Zulawski
977f26f692 Add some common shuffles 2021-04-17 17:00:14 +00: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
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
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
e6a530907a Reduce maximum lanes from 64 to 32 2021-04-03 14:43:33 -04:00
Caleb Zulawski
07247a001f Various bug fixes 2021-04-03 13:54:29 -04:00
Caleb Zulawski
fa77b196c8 Add std cargo feature 2021-03-22 14:00:02 -07:00
Caleb Zulawski
8c378d3027 Add documentation 2021-02-15 18:22:56 -05:00
Caleb Zulawski
714ad639b3 Fix MulAssign typo in tests, move panic tests 2021-02-15 18:22:56 -05:00
Caleb Zulawski
0ec3ecfab1 Split ops tests 2021-02-15 18:22:56 -05:00
Caleb Zulawski
976fafcf4f Fix wasm tests 2021-02-15 18:22:56 -05:00
Caleb Zulawski
8d5702e437 Fix performance issues 2021-02-15 18:22:56 -05:00
Caleb Zulawski
38b18904d0 Remove obsolete helpers 2021-02-15 18:22:56 -05:00
Caleb Zulawski
5b0818a221 Remove old integer tests 2021-02-15 18:22:24 -05:00
Caleb Zulawski
0ac057a354 Add integer tests 2021-02-15 18:22:24 -05:00
Caleb Zulawski
d5c227998b Add proptest float tests 2021-02-15 18:22:24 -05:00
Caleb Zulawski
d3c58daa96
Merge pull request #73 from rust-lang/scalar-docs
Add to glossary: vectorize, scalar, vector register
2021-02-15 17:00:25 -05:00
Jubilee Young
08ee3385c0 Add to glossary: vectorize, scalar, vector register
Also document the lanewise scalar helpers.
2021-02-15 13:43:43 -08:00
Caleb Zulawski
26061b4e84 Fix wasm tests 2021-02-09 19:14:46 -05:00
Caleb Zulawski
9e96c8a2a8 Add missing From implementation, add simple mask API tests 2021-02-09 19:14:46 -05:00
Jubilee Young
5424140b66 Add SIMD shuffles for SimdType{2,4,8,16,32,64}
This const generic implementation for certain lane sizes represents
a more limited interface than what LLVM's shufflevector instruction
can handle, as normally the length of U can be different from the
length of T, but offers an interface that it is expected to be able
to expand the capabilities of in the future.
2021-02-05 23:28:12 -08:00
miguel raz
c67fc2e4c5 Add guards/tests for div,rem overflow cases 2021-02-02 18:59:22 -06:00
Caleb Zulawski
0ddf7acc89 Reenable rounding ops 2020-12-14 00:07:36 -05:00
Caleb Zulawski
9cc3deaa92 Finish refactoring vector types 2020-12-14 00:00:02 -05:00
Caleb Zulawski
25c7640fb3 Reenable ops and fix tests 2020-12-14 00:00:02 -05:00
Caleb Zulawski
78a8d615b5 Implement missing traits on opaque masks, fix tests 2020-12-14 00:00:02 -05:00
Jubilee Young
e9cc3066a8 Remove round, trunc tests
There are no platform intrinsics in the rustc for these functions yet,
so this removes them as a distinct commit for later reversion.
2020-11-30 19:26:53 -08:00
Caleb Zulawski
3870633828 Add rounding mode test 2020-10-12 20:48:05 -04:00
Caleb Zulawski
dc85c13ff3 Account for sign bit 2020-10-11 21:41:26 -04:00
Caleb Zulawski
c27c76182b Fix UB in test (really this time) 2020-10-11 21:28:50 -04:00
Caleb Zulawski
6e07982c4c Fix UB in test 2020-10-11 19:08:25 -04:00
Caleb Zulawski
3d8721b053 Fix casts, add tests 2020-10-11 14:32:46 -04:00
Thom Chiovoloni
873639d6fd Use bitxor to implement Neg for floats 2020-10-07 11:51:54 -07:00
Thom Chiovoloni
8d3d616b13 Apply review feedback 2020-10-06 13:40:39 -07:00
Thom Chiovoloni
541369c38e use NEG_INFINITY and NAN constants instead computing them 2020-10-06 12:30:19 -07:00
Thom Chiovoloni
866971adf5 Implement abs, to_bits, and from_bits for float vectors 2020-10-06 11:33:29 -07:00
Ashley Mannix
0fbf64bae8
Add CI for wasm targets using wasm-bindgen (#20) 2020-10-03 16:36:51 +10:00
Caleb Zulawski
43dabd1aea
Implement core::ops (#10)
* Add vector-vector arithmetic ops
* Add operators and integer conversions for masks
* Add unary traits
* Implement Index and IndexMut
* Implement by-ref ops for masks
* Document intrinsics
* Implement format traits for masks
* Add floating point ops tests
* Add integer tests
* Add mask tests
2020-10-01 19:50:15 -07:00