145 Commits

Author SHA1 Message Date
Jakub Okoński
4f0ba1ae19 Add support for masked loads & stores 2024-03-11 18:53:55 +01:00
Taiki Endo
bb4bba5fcf Remove redundant imports 2024-02-22 17:09:20 +09:00
Caleb Zulawski
f55ca305a5
Merge pull request #380 from rust-lang/bitmask-order
Fix bitmask vector bit order
2024-01-29 14:08:44 -05:00
Caleb Zulawski
e7130ec093 Add exposed_provenance for rust-lang/rust#118487 2024-01-05 17:59:47 -05:00
Caleb Zulawski
289c1d14f0 Fix bitmask vector bit order 2023-12-03 11:42:26 -05:00
Caleb Zulawski
082e3c8a5d Workaround simd_bitmask limitations 2023-11-17 10:15:12 -05:00
Caleb Zulawski
4ca9f04db5 Simplify bitmasks 2023-11-17 00:50:00 -05:00
Caleb Zulawski
8d9bcda64c Fix or silence lints 2023-11-17 00:48:35 -05:00
Caleb Zulawski
b962b612e0 Change lane to element in documentation 2023-10-20 20:44:47 -04:00
Caleb Zulawski
4fc3ce733d Simplify Swizzle trait and condense all swizzles into this trait 2023-10-20 20:10:38 -04:00
Caleb Zulawski
596aabe5c7 Add num, ptr, and cmp modules 2023-10-20 20:03:35 -04:00
Caleb Zulawski
a93ded5426 Remove generic_const_exprs 2023-10-01 22:40:19 -04:00
Caleb Zulawski
22f50df4dd
Merge pull request #362 from rust-lang/int-ops
Add various integer ops
2023-09-10 18:53:27 -04:00
Caleb Zulawski
0a1e745320 Return unsigned integers from some signed integer functions 2023-09-10 18:20:47 -04:00
Caleb Zulawski
f2ac32f21f
Merge pull request #361 from rust-lang/wrapping-negation
Add wrapping negation for unsigned integers
2023-09-10 16:59:16 -04:00
Caleb Zulawski
b6e03e5f73
Merge pull request #357 from rust-lang/subnormals
Fix subnormals
2023-09-10 16:49:48 -04:00
Caleb Zulawski
b1245ffb12 Fix bad copy-paste 2023-07-30 16:20:20 -04:00
Caleb Zulawski
8101074e2e Add various integer ops 2023-07-30 15:53:32 -04:00
Caleb Zulawski
e51ee248c3 Add tests 2023-07-28 21:26:14 -04:00
Caleb Zulawski
5c97c0db24 Add wrapping negation 2023-07-27 16:26:22 -04:00
Caleb Zulawski
baa5791a45 Document odd test behavior 2023-07-27 01:03:43 -04:00
Caleb Zulawski
cb461aceb3 Only flush comparison in test 2023-07-27 01:02:26 -04:00
Caleb Zulawski
fd712fe3f3 Fix test skip 2023-07-22 23:38:20 -04:00
Caleb Zulawski
616cb6e9e6 Disable simd_clamp test on ppc64 2023-07-22 23:00:51 -04:00
Caleb Zulawski
bd4e6616f3 Adjust clamp test 2023-07-22 20:50:49 -04:00
Caleb Zulawski
52d6397da7 Flush subnormals in reduce tests 2023-07-22 19:22:30 -04:00
Caleb Zulawski
415b50f671 Flush subnormals in f32::fract test 2023-07-22 09:16:42 -04:00
Caleb Zulawski
38c7ba09dd Handle subnormal numbers exactly 2023-07-22 00:41:21 -04:00
Caleb Zulawski
6626cd8249 Remove cast_ptr in favor of cast which acts like pointer::cast. Move number casts to number traits. 2023-05-20 17:17:56 -04:00
Jubilee
4f0d8225fa
Implement dynamic byte-swizzle prototype (rust-lang/portable-simd#334)
This is meant to be an example that is used to test
a Rust intrinsic against, which will replace it.
The interface is fairly direct and doesn't address
more nuanced or interesting permutations one can do,
nevermind on types other than bytes.

The ultimate goal is for direct LLVM support for this.
2023-04-22 18:27:52 -07:00
Caleb Zulawski
db8b23cea5 Remove reexport of simd::* 2022-11-27 23:44:20 -05:00
Caleb Zulawski
9dc690c482 Add TryFrom<&[T]> tests 2022-11-11 18:10:51 -05:00
Caleb Zulawski
572122a95d Add missing pointer tests and rename pointer cast fns to match scalars 2022-11-09 21:28:38 -05:00
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