Commit Graph

38 Commits

Author SHA1 Message Date
Mark Rousskov
6afcb85219 Fix rustdoc lints 2022-11-06 17:21:22 -05: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
Ralf Jung
62e239cc51 portable-simd: use simd_arith_offset to avoid ptr-int transmutation 2022-04-12 11:09:26 -04:00
Jubilee Young
94c7da04b4 Sync portable-simd to rust-lang/portable-simd@72df4c4505 2022-03-12 16:09:37 -08:00
Guillaume Gomez
700972b1a3 Fix unused_doc_comments lint errors 2022-03-02 20:06:35 +01:00
Dylan DPC
ebb7423107 Rollup merge of #94452 - workingjubilee:sync-simd-bitmasks, r=workingjubilee
Sync portable-simd for bitmasks &c.

In the ideal case, where everything works easily and nothing has to be rearranged, it is as simple as:
- `git subtree pull -P library/portable-simd https://github.com/rust-lang/portable-simd - ${branch}`
- write the commit message
- `python x.py test --stage 1` to make sure it runs
- `git push` to your PR-to-rustc branch

If anything borks up this flow, you can fix it with sufficient git wizardry but you are usually better off going back to the source, fixing it, and starting over, before you open the PR.

r? `@calebzulawski`
2022-03-01 03:41:53 +01:00
Jubilee Young
754e077e32 Sync rust-lang/portable-simd@5f49d4c843 2022-02-28 10:17:40 -08:00
Mark Rousskov
8adbb99840 Switch bootstrap cfgs 2022-02-25 08:00:52 -05:00
Jubilee Young
efb20c2d20 Sync rust-lang/portable-simd@03f6fbb21e 2022-01-27 11:23:40 -08:00
Jubilee Young
949f71c0dc Deny warnings in CI and fix 2021-11-10 14:40:32 -08: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
Jubilee Young
b25ed7f86d Restructure crate as core module
Aligns module with rust-lang/library/core, creating an... unusual
architecture that is easier to pull in as a module, as core itself can
have no dependencies (as we haven't built core yet).
2021-09-18 23:26:10 -07: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
Jubilee
b5ba19577f
Merge pull request #139 from rust-lang/feat/gather
Add SimdArray trait and safe gather/scatter API (rust-lang/stdsimd#139)
This PR has four parts, without which it doesn't make a lot of sense:
-    The introduction of the SimdArray trait for abstraction over vectors.
-    The implementation of private vector-of-pointers types.
-    Using these to allow constructing vectors with SimdArray::gather_{or, or_default, select}.
-    Using these to allow writing vectors using SimdArray::scatter{,_select}.
2021-06-23 20:47:51 -07:00
Jubilee Young
81ceda8c5b Add SimdArray::scatter{,_select} 2021-06-21 18:18:50 -07:00
Jubilee Young
128b6f5e22 Add SimdArray::gather_{or,or_default,select} 2021-06-21 18:10:28 -07:00
Caleb Zulawski
f102de7c8b Add mul_add 2021-06-13 19:59:17 +00:00
miguel raz
d6795814d4 add simd_fsqrt intrinsic 2021-05-18 10:11:37 -05:00
Caleb Zulawski
0bf5eb5f72 Add select for masks 2021-05-08 00:07:07 +00:00
Caleb Zulawski
563d2a2cfc Add select function 2021-05-01 15:21:41 +00: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
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
24ebae870e
Merge pull request #83 from rust-lang/feature/reductions
Add reductions
2021-04-22 16:44:41 -07:00
Jubilee Young
9acc112090 Use fabs intrinsic 2021-04-19 04:49:04 +00:00
Jubilee Young
87b7207acd Use neg intrinsics 2021-04-16 15:02:59 -07:00
Caleb Zulawski
926cf3aba3 Add intrinsics 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
Jubilee Young
4a6b4c0a2e Introduce saturating math 2021-03-30 17:42:05 -07:00
Caleb Zulawski
fa77b196c8 Add std cargo feature 2021-03-22 14:00:02 -07: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
Caleb Zulawski
9cc3deaa92 Finish refactoring vector types 2020-12-14 00:00:02 -05:00
Caleb Zulawski
5bc5d7f0d1 Add comparison ops 2020-12-14 00:00:02 -05:00
Jubilee Young
3d9bbf9b86 Use simd_{floor,ceil} intrinsics for round.rs 2020-11-30 19:31:08 -08:00
Caleb Zulawski
3d8721b053 Fix casts, add tests 2020-10-11 14:32:46 -04: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