Commit Graph

589 Commits

Author SHA1 Message Date
Miguel Raz Guzmán Macedo
2c5ebfb6a2 add feature flag
couldn't run the `hellosimd` without it 🤷🏾
2022-10-09 00:08:15 -07:00
Takayuki Maeda
1a6a069365 separate the receiver from arguments in HIR under /clippy 2022-09-05 22:25:57 +09:00
Dezhi Wu
e2aec079eb Fix a bunch of typo
This PR will fix some typos detected by [typos].

I only picked the ones I was sure were spelling errors to fix, mostly in
the comments.

[typos]: https://github.com/crate-ci/typos
2022-08-31 18:24:55 +08:00
Jacob Lifshay
d5cd4a8112
Merge pull request #300 from programmerjake/all_lane_counts
add all_lane_counts feature to enable non-power-of-2 lane counts <= 64
2022-08-15 14:11:13 -07:00
Caleb Zulawski
7145dc5a41
Merge pull request #299 from rust-lang/interleave-one
Fix interleave/deinterleave for vectors with only one lane
2022-08-03 23:23:19 -04:00
Caleb Zulawski
5f7066430b Simplify expression 2022-08-01 19:57:41 -04:00
Caleb Zulawski
d030301161 Remove special case for length-1 vectors 2022-08-01 19:52:35 -04:00
Caleb Zulawski
c739af3908 Hide rustc unstable feature from docs 2022-08-01 00:38:29 -04:00
Caleb Zulawski
6bf5128235 Simplify interleave/deinterleave and fix for odd-length vectors. 2022-08-01 00:34:58 -04:00
Jacob Lifshay
8742a86b1d add all_lane_counts feature to enable non-power-of-2 lane counts <= 64 2022-07-29 16:12:24 -07:00
Caleb Zulawski
691c8b29e6
Merge pull request #295 from RalfJung/miri-backtraces
make some Miri backtraces more pretty
2022-07-29 11:59:23 -04:00
Caleb Zulawski
3183afb6b5 Fix interleave/deinterleave for vectors with only one lane 2022-07-29 11:57:05 -04:00
Ralf Jung
ddede9fb9b make some Miri backtraces more pretty 2022-07-22 09:39:23 -04:00
Thom Chiovoloni
b5f9d43ff1
rust-lang/portable-simd#289: Strengthen warnings about relying on Mask layout
This makes it more clear that you can't rely on the layout of these,
which seems worth doing given that the names vaguely suggest that you can
(and the docs only clarify that you can't on Mask but not the maskNxM aliases).
2022-07-21 14:53:07 -07:00
Jubilee Young
210275cc75 Sync core::simd up to rust-lang/portable-simd@2e081db92a 2022-07-20 17:57:56 -07:00
The Atelier
2e081db92a Fix doctest imports using as_crate feature
Within core, `use self::` does not work to import these items.
And because core is not core_simd, neither does the existing `use`.
So, use this quirky hack instead, switching the import on a feature.
2022-07-20 17:55:47 -07:00
Mark Rousskov
bbf31f9c78 Finish bumping stage0
It looks like the last time had left some remaining cfg's -- which made me think
that the stage0 bump was actually successful. This brings us to a released 1.62
beta though.
2022-07-19 16:37:34 -07:00
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
Mark Rousskov
352e7b30c2 Finish bumping stage0
It looks like the last time had left some remaining cfg's -- which made me think
that the stage0 bump was actually successful. This brings us to a released 1.62
beta though.
2022-05-27 07:36:17 -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
Ralf Jung
62e239cc51 portable-simd: use simd_arith_offset to avoid ptr-int transmutation 2022-04-12 11:09:26 -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