Commit Graph

316 Commits

Author SHA1 Message Date
Jubilee Young ffe76ac3b1 Sync core::simd up to rust-lang/portable-simd@32b60aa4d1 2022-07-20 17:57:56 -07:00
Mark Rousskov db2819aba0 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 9a1e8f9d78 portable-simd: use simd_arith_offset to avoid ptr-int transmutation 2022-04-12 11:09:26 -04:00
Jubilee Young 65757e8718 Sync portable-simd to rust-lang/portable-simd@4e900dab02 2022-03-12 16:09:37 -08:00
T-O-R-U-S 7491780a3d Use implicit capture syntax in format_args
This updates the standard library's documentation to use the new syntax. The
documentation is worthwhile to update as it should be more idiomatic
(particularly for features like this, which are nice for users to get acquainted
with). The general codebase is likely more hassle than benefit to update: it'll
hurt git blame, and generally updates can be done by folks updating the code if
(and when) that makes things more readable with the new format.

A few places in the compiler and library code are updated (mostly just due to
already having been done when this commit was first authored).
2022-03-10 10:23:40 -05:00
Guillaume Gomez 38ee08c2c3 Fix unused_doc_comments lint errors 2022-03-02 20:06:35 +01:00
Dylan DPC 60bf73dada 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 511341d4ec Sync rust-lang/portable-simd@9e96082de6 2022-02-28 10:17:40 -08:00
Mark Rousskov 60778ff13e Switch bootstrap cfgs 2022-02-25 08:00:52 -05:00
Jubilee Young b53fb98b12 Sync rust-lang/portable-simd@c292bf63a2 2022-01-27 11:23:40 -08:00
Vadim Petrochenkov 7dd938e5c4 Merge commit '0e882f4f8f0e118457fd74bbfaacc7afac9ab797' into psimd 2021-12-17 15:10:53 +08:00
Jubilee Young 136f3a8bbe Merge commit '38f81cf2dd9de5e2959bd8c37b4ff9b472358d4a' into simd-remove-autosplats 2021-12-02 18:27:47 -08:00
Jubilee Young c3e66c5271 Rewrite Arm transmutes, reading std::arch closer 2021-11-12 16:56:14 -08:00
Jubilee Young 409f76bc18 Restrict Arm types to Arm v7+
This mostly mirrors the restrictions in std::arch.
It can be loosened slightly with later refactoring.
2021-11-11 11:40:18 -08:00
Jubilee Young 289075a269 Dynamically detect AVX512 in CI
We would like to check for errors with AVX512,
but we don't pick our CPU. So, detect available features.
This variance in checks stochastically reveals issues.
Nondeterminism is acceptable as our goal is protecting downstream.
2021-11-10 14:40:32 -08:00
Jubilee Young e283a4d214 Deny warnings in CI and fix 2021-11-10 14:40:32 -08:00
Jubilee Young 80a8553c52 Use the right name for AVX512F 2021-11-10 14:40:32 -08:00
Jubilee c5fff82d86 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 b24de897df Delete travis config, move tests to github actions. 2021-11-10 02:18:41 +00:00
Caleb Zulawski e0239df794 Merge pull request #181 from rust-lang/rotate_lanes
rotate_{left,right} -> rotate_lanes_{left,right}
2021-11-08 23:01:05 -05:00
Proloy Mishra 8b7c1c1275 add Simd::from_slice (#177)
* add `Simd::from_slice`

uses a zeroed initial array and loops so that it can be const.
unfortunately, parameterizing the assert with slice length
needs `#![feature(const_fn_fn_ptr_basics)]` to work.
2021-11-08 17:28:43 -08:00
Caleb Zulawski 2f85a21dc8 rotate_{left,right} -> rotate_lanes_{left,right} 2021-11-06 00:34:23 +00:00
Caleb Zulawski 4950b7d5b0 Hide select impl in sealed trait 2021-10-22 00:10:44 -07:00
Caleb Zulawski f8131e520e Hide mask impl details in sealed trait. 2021-10-22 00:10:44 -07:00
Jubilee Young 9292842064 Fixup import pathing for core
This changes simd_swizzle! to a decl_macro to give it a path,
so it can be imported using a path and not the crate root.
It also adds various uses that were missed and adjusts paths.
2021-10-21 18:20:06 -07:00
Caleb Zulawski 5bbc698322 Improve docs 2021-10-11 13:18:59 -07:00
Caleb Zulawski cf618d6734 Update crates/core_simd/src/swizzle.rs
Co-authored-by: Jubilee <46493976+workingjubilee@users.noreply.github.com>
2021-10-11 13:18:59 -07:00
Caleb Zulawski ed79a6cf70 Remove adt_const_params feature 2021-10-11 13:18:59 -07:00
Caleb Zulawski 7b6473b67a simd_shuffle -> simd_swizzle 2021-10-11 13:18:59 -07:00
Caleb Zulawski 63ba6b6dbc Fix macro in core
Co-authored-by: Jubilee <46493976+workingjubilee@users.noreply.github.com>
2021-10-11 13:18:59 -07:00
Caleb Zulawski 8b0ab3e6dc 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 a847293726 Simplify language for scatter/gather
Co-authored-by: Caleb Zulawski <caleb.zulawski@gmail.com>
2021-10-03 14:35:07 -07:00
Jubilee Young 46daa7402d Rewrite gather/scatter docs
Headings with # Safety and # Examples are more "std style".
Use terms like "enable" and "disable", rather than "mask" jargon.
2021-10-03 14:33:56 -07:00
Jubilee 4d8bf7d6d1 docs: fix typo gather -> scatter
Co-authored-by: Jacob Lifshay <programmerjake@gmail.com>
2021-10-03 11:04:58 -07:00
Jubilee Young 760e093546 Add {gather,scatter}_select_unchecked
This unsafe variant allows the thinnest API, in case LLVM cannot
perform loop-invariant code motion on a hot loop when the safe
form is used.

An unchecked variant could be added to other forms, but doesn't
seem likely to improve anything, since it would just add heavier
codegen.
2021-10-03 11:04:58 -07:00
Jubilee 1cfe022c0d Add lanes() and associated LANES const 2021-09-29 14:19:45 -07:00
Jubilee Young d4bfc7d3e8 Renovate for Edition 2021
In a still-future edition, `unsafe_op_in_unsafe_fn` may error.
Let's get ahead of that.
2021-09-29 14:11:40 -07:00
Magnus Ulimoen edb821b104 Add associated LANES const 2021-09-29 17:20:07 +00:00
Magnus Ulimoen 6a46dced6f Add lanes() 2021-09-29 16:38:03 +00:00
Jubilee Young 48f7826ff0 Make sure MaskElement is in bitmasks.rs 2021-09-27 15:27:34 -07:00
Jubilee Young d6346b3651 Feature-flag fused mul-add to block libcalls 2021-09-21 19:42:31 -07:00
Jubilee Young 72985b74e5 Feature-flag doc tests so they run for core 2021-09-21 17:19:35 -07:00
Jubilee Young d08740efe1 Cleanup more for std::simd also 2021-09-21 10:31:37 -07:00
Jubilee Young 3294c14e25 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 79aef2084c Fix cargo features for nightly (#155)
* Fix cargo features for nightly
2021-09-08 17:01:16 -07:00
Jubilee e02a6b1fae Merge pull request #154 from rust-lang/feature/generic-element-type
Change vectors to be generic over element type.
2021-08-17 12:10:44 -07:00
Caleb Zulawski d87b7f3ff2 Rename element type variable 2021-08-16 16:38:30 -04:00
Caleb Zulawski 76f55bb176 Update crates/core_simd/src/vector.rs
Co-authored-by: Jubilee <46493976+workingjubilee@users.noreply.github.com>
2021-08-13 20:40:05 -04:00
Caleb Zulawski d4df223a95 Remove mask aliases 2021-08-07 21:22:10 +00:00
Caleb Zulawski 8de98513ac Remove aliases 2021-08-07 21:15:24 +00:00