Commit graph

193 commits

Author SHA1 Message Date
miguel raz
4e86aeb7f9 finish nbody 2021-06-01 19:31:34 -05:00
miguel raz
5557907098 rewrite unaligned slice, fix output const array 2021-06-01 15:25:56 -05:00
miguel raz
f24110aa5b collapse run_k into run 2021-06-01 12:26:29 -05:00
miguel raz
56050562f1 don't use turbofish on run 2021-06-01 12:15:37 -05:00
miguel raz
83dc5b782b don't need clippy 2021-06-01 12:09:11 -05:00
Miguel Raz Guzmán Macedo
3c05ceec70
Update crates/core_simd/examples/nbody.rs
Co-authored-by: Jubilee <46493976+workingjubilee@users.noreply.github.com>
2021-05-31 18:03:55 -05:00
Caleb Zulawski
992621844f Remove extended_key_value_attributes feature 2021-05-26 10:27:16 -04:00
miguel raz
8bea3627cb replace sum() with horizontal_sum() 2021-05-25 21:25:42 -05:00
miguel raz
ab6af37f8f Simdf64 from attempt 2021-05-25 20:10:55 -05:00
miguel raz
2591c59ba7 fix imports 2021-05-25 20:07:20 -05:00
miguel raz
e52d51cd45 nbody example 2021-05-25 20:00:01 -05:00
Caleb Zulawski
20c3b8e13f
Merge pull request #120 from miguelraz/simd_fsqrt
add simd_fsqrt intrinsic
2021-05-24 19:07:12 -04:00
Caleb Zulawski
1c18f8fd59 Add byte conversions 2021-05-24 15:02:45 -07:00
miguel raz
d6795814d4 add simd_fsqrt intrinsic 2021-05-18 10:11:37 -05:00
Caleb Zulawski
45d7e80aa8 Clarify documentation 2021-05-08 00:13:40 +00:00
Caleb Zulawski
e8cae870fc Fix rustfmt 2021-05-08 00:11:34 +00: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
589fce0313 Attempt to workaround MIPS bug 2021-04-30 23:22:27 -07: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
Caleb Zulawski
da42aa5403 Begin reducing mask API 2021-04-28 21:56:11 +00:00
Jubilee
5751179dc6
Merge pull request #107 from rust-lang/feat/simd-round
Add SIMD rounding intrinsics
2021-04-26 09:05:34 -07: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 Young
92d643b628 Remove Simd{U,I}128 2021-04-25 16:45:19 -07:00
Jubilee Young
f06427f4d6 Move lanes_at_most_64 to _32 2021-04-25 16:42:49 -07:00
Jubilee Young
91134e614e Branchless abs 2021-04-25 16:42:49 -07:00
Jubilee Young
e8b6bca694 Finish fixing up abs docs 2021-04-25 16:42:49 -07:00
Caleb Zulawski
1f4e902ee7 Fix saturating math docs 2021-04-25 16:42:49 -07:00
Jubilee
24ebae870e
Merge pull request #83 from rust-lang/feature/reductions
Add reductions
2021-04-22 16:44:41 -07:00
Caleb Zulawski
04ee107323 Remove wrapping from sum/product fns 2021-04-22 22:41:12 +00:00
Jubilee
2fa62b91c8
Merge pull request #98 from rust-lang/feature/common-shuffles
Add some common shuffles
2021-04-20 23:33:01 -07:00
Caleb Zulawski
7028a58294 Attempt to clarify interleave/deinterleave 2021-04-20 01:51:06 +00:00
Caleb Zulawski
828b274ae7 Rename sum, product to horizontal_{sum,product} 2021-04-19 23:41:11 +00:00
Jubilee Young
9acc112090 Use fabs intrinsic 2021-04-19 04:49:04 +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
Caleb Zulawski
01d78aa21a Update docs 2021-04-17 01:32:45 +00: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
e127586709 Improve function names and docs 2021-04-11 10:59:05 -04:00
Caleb Zulawski
e2fa502617 Enable i586 workaround for both f32 and f64 2021-04-09 16:31:03 -04:00
Caleb Zulawski
3cf970fc09 Fix test sum/product implementation 2021-04-09 16:31:03 -04:00
Caleb Zulawski
3fae09bd08 Revert "Revert i586 fix, fix test instead"
This reverts commit 1ea2f128821339d8050ca936f24b71677352437e.
2021-04-09 16:31:03 -04:00
Caleb Zulawski
b51febbd34 Revert i586 fix, fix test instead 2021-04-09 16:31:03 -04:00
Caleb Zulawski
4b8cbd5385 Fix i586 detection 2021-04-09 16:31:03 -04:00
Caleb Zulawski
64f564866b Update documentation and fix i586 inaccuracy 2021-04-09 16:31:03 -04:00
Caleb Zulawski
02608d44f7 Fix mask ops 2021-04-09 16:31:03 -04:00
Caleb Zulawski
193cd14b4a Enable special handling of zero 2021-04-09 16:31:03 -04:00
Caleb Zulawski
a7b82adb12 Add tests 2021-04-09 16:31:03 -04:00
Caleb Zulawski
875b31c33f Implement reductions 2021-04-09 16:31:03 -04:00
Caleb Zulawski
926cf3aba3 Add intrinsics 2021-04-09 16:31:03 -04:00
Caleb Zulawski
d7649f46f3 Various bug fixes 2021-04-09 16:31:03 -04:00
Caleb Zulawski
b0a005dcfb Add floating-point classification functions 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
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
Caleb Zulawski
8cb1fe0c0e Fix wasm-bindgen dependency 2021-03-06 22:00:39 -05: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
8c378d3027 Add documentation 2021-02-15 18:22:56 -05:00
Caleb Zulawski
714ad639b3 Fix MulAssign typo in tests, move panic tests 2021-02-15 18:22:56 -05:00
Caleb Zulawski
0ec3ecfab1 Split ops tests 2021-02-15 18:22:56 -05:00
Caleb Zulawski
976fafcf4f Fix wasm tests 2021-02-15 18:22:56 -05:00
Caleb Zulawski
8d5702e437 Fix performance issues 2021-02-15 18:22:56 -05:00
Caleb Zulawski
38b18904d0 Remove obsolete helpers 2021-02-15 18:22:56 -05:00
Caleb Zulawski
b38d342d77 Simplify test creation 2021-02-15 18:22:24 -05:00
Caleb Zulawski
223daea83e Update supported lane counts 2021-02-15 18:22:24 -05:00
Caleb Zulawski
5b0818a221 Remove old integer tests 2021-02-15 18:22:24 -05:00
Caleb Zulawski
0ac057a354 Add integer tests 2021-02-15 18:22:24 -05:00
Caleb Zulawski
d5c227998b Add proptest float tests 2021-02-15 18:22:24 -05:00
Caleb Zulawski
d3c58daa96
Merge pull request #73 from rust-lang/scalar-docs
Add to glossary: vectorize, scalar, vector register
2021-02-15 17:00:25 -05:00
Jubilee Young
08ee3385c0 Add to glossary: vectorize, scalar, vector register
Also document the lanewise scalar helpers.
2021-02-15 13:43:43 -08: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
26061b4e84 Fix wasm tests 2021-02-09 19:14:46 -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