Jubilee Young
ced3a05526
Attempt to support to 64 lanes
2021-11-23 15:19:01 -08:00
Jubilee Young
f7b0358573
Sprinkle the crate with #[must_use]
2021-11-14 12:11:35 -08:00
Caleb Zulawski
36e198b97a
Use new bitmask intrinsics with byte arrays
2021-11-13 13:22:06 -08:00
Jubilee Young
1ce1c645cf
Rewrite Arm transmutes, reading std::arch closer
2021-11-12 16:56:14 -08:00
Jubilee Young
6ddf7ad8e1
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
949f71c0dc
Deny warnings in CI and fix
2021-11-10 14:40:32 -08:00
Jubilee
081240a663
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
349a61143c
Delete travis config, move tests to github actions.
2021-11-10 02:18:41 +00:00
Caleb Zulawski
0ecf9871fc
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
d2e87281fc
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
4e00aa68c7
rotate_{left,right} -> rotate_lanes_{left,right}
2021-11-06 00:34:23 +00:00
Caleb Zulawski
772bf2090e
Hide select impl in sealed trait
2021-10-22 00:10:44 -07:00
Caleb Zulawski
7c2d295a76
Hide mask impl details in sealed trait.
2021-10-22 00:10:44 -07:00
Jubilee Young
ab8eec7cba
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
5b4282edcd
Improve docs
2021-10-11 13:18:59 -07:00
Caleb Zulawski
765bee6362
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
cd7ecba19f
Remove adt_const_params feature
2021-10-11 13:18:59 -07:00
Caleb Zulawski
37797d9c0a
simd_shuffle -> simd_swizzle
2021-10-11 13:18:59 -07:00
Caleb Zulawski
98e4fcae5a
Fix macro in core
...
Co-authored-by: Jubilee <46493976+workingjubilee@users.noreply.github.com>
2021-10-11 13:18:59 -07: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
a16b481a08
Simplify language for scatter/gather
...
Co-authored-by: Caleb Zulawski <caleb.zulawski@gmail.com>
2021-10-03 14:35:07 -07:00
Jubilee Young
9be26656d2
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
01e9816ace
docs: fix typo gather -> scatter
...
Co-authored-by: Jacob Lifshay <programmerjake@gmail.com>
2021-10-03 11:04:58 -07:00
Jubilee Young
6d23662689
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
436ca7f7aa
Add lanes() and associated LANES const
2021-09-29 14:19:45 -07:00
Jubilee Young
b506e3e28e
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
ec05dfbbf9
Add associated LANES const
2021-09-29 17:20:07 +00:00
Magnus Ulimoen
4fbccafc66
Add lanes()
2021-09-29 16:38:03 +00:00
Jubilee Young
afd7c5a5ee
Make sure MaskElement is in bitmasks.rs
2021-09-27 15:27:34 -07:00
Jubilee Young
c2f59483f9
Feature-flag fused mul-add to block libcalls
2021-09-21 19:42:31 -07:00
Jubilee Young
6d3d07abfe
Feature-flag doc tests so they run for core
2021-09-21 17:19:35 -07:00
Jubilee Young
8342fe75f2
Cleanup more for std::simd also
2021-09-21 10:31:37 -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
8cf7a62e5d
Fix cargo features for nightly ( #155 )
...
* Fix cargo features for nightly
2021-09-08 17:01:16 -07:00
Jubilee
d42875302d
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
4aafd8e779
Rename element type variable
2021-08-16 16:38:30 -04:00
Caleb Zulawski
cf653c7b93
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
00165ed5be
Remove mask aliases
2021-08-07 21:22:10 +00:00
Caleb Zulawski
40142ac034
Remove aliases
2021-08-07 21:15:24 +00:00
Caleb Zulawski
275889f7f4
Remove remaining usage of aliases
2021-08-07 21:06:40 +00:00
Caleb Zulawski
f7f29683a8
Remove aliases from most tests
2021-08-07 20:38:41 +00:00
Caleb Zulawski
88f79d4a6f
Remove aliases from op trait impls
2021-08-07 20:20:20 +00:00
Caleb Zulawski
5ed57b4c85
Remove most usage of type aliases
2021-08-07 19:28:27 +00:00
Caleb Zulawski
e11286a362
Remove unused transmute file
2021-08-07 16:53:08 +00:00
Caleb Zulawski
e6d95e4798
Implement comparisons generically
2021-08-07 05:47:54 +00:00
Caleb Zulawski
ea0280539c
Implement select generically
2021-08-07 05:19:06 +00:00
Caleb Zulawski
de13b20b27
Convert all masks to a single type
2021-08-07 04:30:24 +00:00
Caleb Zulawski
ddc67e3bf2
Remove Mask trait
2021-08-07 01:17:27 +00:00
Caleb Zulawski
8cc38ae292
Remove Vector trait
2021-08-07 01:16:23 +00:00
Caleb Zulawski
dc4dc99649
Change to various generic impls
2021-08-06 03:45:57 +00:00