Ralf Jung
64bef2910b
portable-simd: use simd_arith_offset to avoid ptr-int transmutation
2022-07-19 16:37:34 -07:00
Caleb Zulawski
ed8092e96b
Clarify comment
2022-06-21 20:52:43 -04:00
Caleb Zulawski
0f6399b166
Merge pull request #284 from programmerjake/fix_splat
...
Change `Simd::splat` to not generate a loop
2022-06-21 20:50:11 -04:00
Caleb Zulawski
3e7a2ed720
Merge pull request #281 from rust-lang/to-int-unchecked
...
Deduplicate to_int_unchecked
2022-06-07 08:46:06 -04:00
Jacob Lifshay
f7412ad7b9
add workaround comment in Simd::splat
2022-06-06 12:43:29 -07:00
Jacob Lifshay
c9636158d9
Change Simd::splat
to not generate a loop
...
This fixes poor codegen in some circumstances for `u16x8::splat` on x86_64
https://rust-lang.zulipchat.com/#narrow/stream/257879-project-portable-simd/topic/Very.20bad.20.60u16x8.3A.3Asplat.60.20codegen.20on.20x86_64
2022-06-06 12:16:17 -07:00
Caleb Zulawski
5562b02ff0
Deduplicate to_int_unchecked
2022-06-02 10:19:20 -04:00
Caleb Zulawski
f237f133c1
Merge pull request #280 from rust-lang/feature/document-unsafety
...
Document unsafety
2022-05-31 20:20:00 -04:00
Caleb Zulawski
05c92c73c1
Document remaining internal unsafety, and deny undocumented unsafety
2022-05-31 14:44:23 -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
bca8dec404
Remove incorrect comment
2022-05-22 01:20:28 -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
939914e39d
Merge pull request #251 from rust-lang/mask-cast
...
Add Mask::cast
2022-05-21 17:49:35 -04:00
Caleb Zulawski
c9f4e0ef98
Use Mask::cast in From impl
2022-05-21 16:49:03 -04:00
Caleb Zulawski
aa11959f19
Add mask cast tests
2022-05-21 16:34:27 -04:00
Jubilee Young
98cd636d58
Add Mask::cast
2022-05-21 15:13:33 -04:00
Caleb Zulawski
af53b5de24
rust-lang/portable-simd#279 : Silence clippy false alarms
2022-04-25 13:32:56 -07:00
Caleb Zulawski
62d3b2e39c
Add Copy bound to SIMD traits
2022-04-16 16:17:43 -04:00
Caleb Zulawski
528bc8593a
Improve copysign documentation
2022-04-15 13:47:43 -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
Andrew Straw
9718639d61
rust-lang/portable-simd#276 : Mention slice methods as_simd() and as_simd_mut()
...
This links to a practical suggestion for how to solve the issues brought up in this section.
2022-04-11 12:17:44 -07:00
Sean Stangl
fcc5ca0f93
rust-lang/portable-simd#273 : Documentation update for reduce functions, swizzle
...
Working through giving example documentation to every Simd function.
The major change in this patch is using doc macros to generate
type-specific examples for each function, using a visually-apparent type
constructor. This makes it feel nicer to have twelve separate
documentation entries for reduce_product(), for example.
2022-04-10 23:08:34 -07:00
Sean Stangl
7136841cbd
rust-lang/portable-simd#274 : Use SIMD equality for PartialEq on SIMD vectors
2022-04-10 23:05:14 -07: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
c2fbead43a
rust-lang/portable-simd#272 : Standardize documentation for SIMD vector and mask types
...
This is a documentation-only patch that standardizes the presentation of vector types like `u32x4` and mask types like `mask32x16`.
The reasoning behind the patch was as follows:
1. Standardized terminology should be preferred, so `element` instead of `value` and `SIMD vector` instead of `vector`. These terms appear in the rest of the documentation and tutorials.
2. Try to avoid situations where two numbers are next to each other. So `16 elements of 32 bits` instead of `16 32-bit elements`.
4. Try to anticipate what readers are looking for -- so state the full bit-width directly.
### Vector Types
- Before: Vector of 32 `i8` values
- After: A 256-bit SIMD vector with 32 elements of type `i8`.
### Mask Types
- Before: Vector of 16 16-bit masks
- After: A mask for SIMD vectors with 16 elements of 32 bits.
2022-04-03 16:17:54 -07:00
Sean Stangl
8cd9325e20
Add a *small* blurb to Mask that is likely unobjectionable
2022-04-03 16:22:31 -06:00
Sean Stangl
21b070ce43
Correct the Mask docs, and get them to fit in search results
2022-04-03 16:15:27 -06:00
Sean Stangl
c73f1fbdde
Update crates/core_simd/src/masks.rs
...
Co-authored-by: Jacob Lifshay <programmerjake@gmail.com>
2022-04-03 15:59:22 -06:00
Sean Stangl
4e14017f3d
Standardize documentation for SIMD vector and mask types
2022-04-03 15:20:00 -06: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
60486e08ed
SimdPartialOrd implies SimdPartialEq
2022-03-15 00:17:14 +00: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
Ralf Jung
b6ee5293f4
rust-lang/portable-simd#259 : remove Miri from CI
2022-03-11 18:14:52 -08:00
Jacob Lifshay
b6e03f5886
Change beginner's guide to explain Reducing rather than Horizontal.
2022-03-11 16:27:00 -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
89bc660d21
rust-lang/portable-simd#255 : run Miri on CI
...
This is allowed to fail, but might produce useful results to check on.
2022-03-09 12:08:31 -08:00
Ralf Jung
4023d77e39
run Miri on CI (but allowed to fail)
2022-03-09 10:59:28 -05:00
Ralf Jung
adbd47973e
reduce number of tests being run under Miri
2022-03-09 07:54:49 -05:00
Jubilee Young
2d13059ae9
Clean up use of cargo feature "std"
2022-03-08 13:36:29 -08:00
Jubilee Young
2e5e0ec380
Remove #![feature(const_fn_trait_bound)]
2022-03-08 13:36:29 -08:00