Commit Graph

72 Commits

Author SHA1 Message Date
Caleb Zulawski
7028a58294 Attempt to clarify interleave/deinterleave 2021-04-20 01:51:06 +00:00
Caleb Zulawski
1999c54890
Clarify concatenation order
Co-authored-by: Jubilee <46493976+workingjubilee@users.noreply.github.com>
2021-04-17 15:21:25 -04:00
Caleb Zulawski
977f26f692 Add some common shuffles 2021-04-17 17:00:14 +00:00
Caleb Zulawski
e73985f25d
Merge pull request #89 from rust-lang/intrinsic-neg
Use neg intrinsics
2021-04-16 21:35:11 -04:00
Jubilee Young
87b7207acd Use neg intrinsics 2021-04-16 15:02:59 -07:00
Jubilee Young
e3f0124baf Silence warnings 2021-04-15 15:19:44 -07:00
Caleb Zulawski
e6a530907a Reduce maximum lanes from 64 to 32 2021-04-03 14:43:33 -04:00
Caleb Zulawski
97bbe2d86a Fix normal and subnormal classification 2021-04-03 13:54:29 -04:00
Caleb Zulawski
07247a001f Various bug fixes 2021-04-03 13:54:29 -04:00
Caleb Zulawski
93ce1c1a59 Add floating-point classification functions 2021-04-03 13:54:29 -04:00
Jubilee Young
331230fabf Explain why to use saturation 2021-04-02 09:11:27 -07:00
Jubilee Young
dd1a5e41ad Add saturating abs/neg 2021-04-02 08:55:45 -07: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
a2302da5b2 Move macros.rs to first.rs
This awkwardly has to go first right now, and we don't want more
macros to go into this ambiguously named mod, so let's rename it
to be more literal.
2021-02-21 17:32:23 -08:00
Jubilee Young
39fb223385 Partially carve macros.rs into other files
The base impl_vector! in macros.rs is staying put for the moment as
it must go first before everything in order to work.

Everything else, like transmutes, specific type impls, etc. have
been moved into appropriate files elsewhere to subdivide concerns.
2021-02-21 17:32:23 -08:00
Jubilee Young
ca15e4fcd8 cat vector types by kind
Rearrange aliases to bottom of files
2021-02-21 17:32:15 -08:00
Jubilee Young
27f094f5ee Nominate base files 2021-02-21 16:25:58 -08:00
Jubilee Young
1a19ad4fb0 Reorg vectors into crate::vector::*; 2021-02-21 16:25:58 -08:00
Jubilee Young
2f2a463c0d Remove From<Scalar> for SimdTy impl
0. It was not being tested.
1. The possible conversions are ambiguous between splatting
   and setting a single value but zero-initializing the rest.
2. Splat works fine.
2021-02-16 10:04:50 -08:00
Caleb Zulawski
2b3f4b258c Add LanesAtMost64 bounds 2021-02-15 18:38:35 -05:00
Caleb Zulawski
976fafcf4f Fix wasm tests 2021-02-15 18:22:56 -05:00
Caleb Zulawski
d5c227998b Add proptest float tests 2021-02-15 18:22:24 -05:00
Caleb Zulawski
faae170f5f Remove glob import 2021-02-13 00:52:42 -05:00
Caleb Zulawski
16904ebfc7 Add missing type bounds 2021-02-13 00:49:51 -05:00
Caleb Zulawski
6362540f11 Limit all types to 64 lanes 2021-02-09 22:13:27 -05:00
Caleb Zulawski
9e96c8a2a8 Add missing From implementation, add simple mask API tests 2021-02-09 19:14:46 -05:00
Caleb Zulawski
92293aff9d Add bitmask that supports up to 64 lanes. Simplify mask op API. 2021-02-09 19:14:46 -05:00
Ashley Mannix
1b0c231948
Merge pull request #62 from rust-lang/feature/shuffle-self
Add SIMD shuffles for SimdType{2,4,8,16,32,64}
2021-02-09 13:16:17 +10: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
miguel raz
8bea63425e AsRef -> as_slices() 2021-02-03 17:46:08 -06:00
Jubilee
98015403c5
Merge pull request #55 from miguelraz/min-panics
implement guards in rem and div unsound cases
2021-02-02 17:21:09 -08:00
miguel raz
c67fc2e4c5 Add guards/tests for div,rem overflow cases 2021-02-02 18:59:22 -06:00
Jubilee Young
cb036b534d min_const_generics ride the train to stable 2021-01-26 21:46:10 -08:00
Caleb Zulawski
59947717c5 Add workaround for rust-lang/rust#80108 2020-12-17 01:19:39 -05:00
Caleb Zulawski
9b8cb18c9f Remove obsolete files 2020-12-14 00:40:59 -05:00
Caleb Zulawski
62d98e3a11 Remove obsolete macros 2020-12-14 00:34:32 -05:00
Caleb Zulawski
2720ccc5a7 Fix masks 2020-12-14 00:27:20 -05:00
Caleb Zulawski
0ddf7acc89 Reenable rounding ops 2020-12-14 00:07:36 -05:00
Caleb Zulawski
9cc3deaa92 Finish refactoring vector types 2020-12-14 00:00:02 -05:00
Caleb Zulawski
25c7640fb3 Reenable ops and fix tests 2020-12-14 00:00:02 -05:00
Caleb Zulawski
22576bb6e0 Implement additional functions 2020-12-14 00:00:02 -05:00
Caleb Zulawski
27e944231c Begin changing vectors to const generics 2020-12-14 00:00:02 -05:00
Caleb Zulawski
35b9ab9f5c Simplify some formatting 2020-12-14 00:00:02 -05:00
Caleb Zulawski
78a8d615b5 Implement missing traits on opaque masks, fix tests 2020-12-14 00:00:02 -05:00
Caleb Zulawski
5bc5d7f0d1 Add comparison ops 2020-12-14 00:00:02 -05:00
Caleb Zulawski
cebc2ca707 Add opaque masks 2020-12-13 23:59:07 -05:00
Jubilee Young
3d9bbf9b86 Use simd_{floor,ceil} intrinsics for round.rs 2020-11-30 19:31:08 -08:00
Caleb Zulawski
5805c7a051 Fix comment 2020-10-11 14:34:57 -04:00
Caleb Zulawski
3d8721b053 Fix casts, add tests 2020-10-11 14:32:46 -04:00