Caleb Zulawski
da25087f79
Test a more useful pointer
2022-10-29 11:55:01 -04:00
Caleb Zulawski
f10e591de1
Fix wrapping pointer arithmetic
2022-10-29 11:55:01 -04:00
Caleb Zulawski
4076ba8a77
Implement scatter/gather with new pointer vector and add tests
2022-10-29 11:55:01 -04:00
Caleb Zulawski
3183afb6b5
Fix interleave/deinterleave for vectors with only one lane
2022-07-29 11:57:05 -04:00
Caleb Zulawski
5e320046ec
Merge pull request #246 from rust-lang/feature/bitmask_array
...
Add bitmask array
2022-05-31 14:42:34 -04:00
Caleb Zulawski
c44a608f5f
Merge pull request #278 from rust-lang/feature/simd-traits
...
Move element-specific functions to traits
2022-05-31 14:26:30 -04:00
Caleb Zulawski
1cee9304b3
Fix generic_const_exprs feature
2022-05-21 20:08:38 -04:00
Caleb Zulawski
b7fea94c96
Generically implement ToBitMaskArray
2022-05-21 20:02:31 -04:00
Caleb Zulawski
aa11959f19
Add mask cast tests
2022-05-21 16:34:27 -04:00
Caleb Zulawski
04be48ff97
Add float trait, and seal traits.
2022-04-15 02:11:16 -04:00
Caleb Zulawski
376957ad8c
Move integer functions to traits.
2022-04-15 02:00:50 -04:00
Jubilee
1ec010db2a
rust-lang/portable-simd#265 : Move comparisons to traits
...
A simpler variant of rust-lang/portable-simd#206 .
* Comparisons are moved to `SimdPartialEq`, `SimdPartialOrd`, and `SimdOrd`. The function names are prefixed with `simd_` to disambiguate from the regular `PartialEq` etc functions. With the functions on traits instead of `Simd` directly, shadowing the function names doesn't work very well.
* Floating point `Ord`-like functions are put into a `SimdFloat` trait. The intention is that eventually (some time after this PR) all floating point functions will be moved from `Simd` to `SimdFloat`, and the same goes for future `SimdInt`/`SimdUint` traits.
2022-04-04 10:19:20 -07:00
Jubilee
0711e11593
rust-lang/portable-simd#267 : fix big-endian bitmasks smaller than a byte
2022-03-21 00:05:38 -07:00
Ralf Jung
35e16a1e06
rust-lang/portable-simd#266 : reduce Miri test count in round.rs
2022-03-20 16:17:33 -07:00
Ralf Jung
60555b57f1
fix big-endian bitmasks smaller than a byte
2022-03-17 10:42:39 -04:00
Ralf Jung
50fbfa4eba
add bitmask roundtrip test for vector length below 8
2022-03-16 20:28:18 -04:00
Caleb Zulawski
2a02c4d9cb
Create SimdFloat trait
2022-03-13 19:57:06 +00:00
Caleb Zulawski
80469c66d6
Move comparisons to SimdPartialOrd and SimdOrd traits
2022-03-13 19:07:36 +00:00
Jubilee
72df4c4505
portable-simd#261: Rename horizontal_* to reduce_*
2022-03-12 15:34:58 -08:00
Ralf Jung
49043f4434
rust-lang/portable-simd#262 : also implement clamp for integer vectors
...
* add test from issue rust-lang/portable-simd#253
2022-03-12 15:32:28 -08:00
Jacob Lifshay
c196b8abaa
replace horizontal_* with reduce_*
2022-03-11 14:49:06 -08:00
Jorge Leitao
86b9f69622
rust-lang/portable-simd#260 : Add .min
and .max
for integers
2022-03-10 15:12:40 -08:00
Jubilee
a5789d17bf
rust-lang/portable-simd#248 : Remove default features
...
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.
2022-02-28 19:56:31 -08:00
Jubilee
5f49d4c843
rust-lang/portable-simd#239 : Bitmask conversion trait
...
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.
2022-02-26 12:56:23 -08:00
Caleb Zulawski
11c3eefa35
Manually implement for supported lanes
2022-02-24 18:03:40 -08:00
Caleb Zulawski
842ac87747
Use bitmask trait
2022-02-24 18:02:39 -08:00
Jubilee
5d52455c65
Review for clarity and concision
...
Co-authored-by: Caleb Zulawski <caleb.zulawski@gmail.com>
2022-02-08 17:43:26 -08:00
Jubilee Young
672bfebfd8
Remove overflow panic from divrem
...
Includes some remarks in intrinsics.rs,
generated while auditing the interface for remaining UB.
2022-02-08 15:39:55 -08:00
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