Commit Graph

356 Commits

Author SHA1 Message Date
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
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
Jubilee Young
e9cc3066a8 Remove round, trunc tests
There are no platform intrinsics in the rustc for these functions yet,
so this removes them as a distinct commit for later reversion.
2020-11-30 19:26:53 -08:00
Caleb Zulawski
3870633828 Add rounding mode test 2020-10-12 20:48:05 -04:00
Caleb Zulawski
dc85c13ff3 Account for sign bit 2020-10-11 21:41:26 -04:00
Caleb Zulawski
c27c76182b Fix UB in test (really this time) 2020-10-11 21:28:50 -04:00
Caleb Zulawski
6e07982c4c Fix UB in test 2020-10-11 19:08:25 -04: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
Caleb Zulawski
75fdacde1c Add rounding to integers 2020-10-11 13:22:26 -04:00
Caleb Zulawski
ffedbe5b15 Add rounding functions 2020-10-10 00:22:36 -04:00
Thom Chiovoloni
ffd562f218 Add comment about fneg to the bitxor in float neg 2020-10-07 13:24:21 -07:00
Thom Chiovoloni
873639d6fd Use bitxor to implement Neg for floats 2020-10-07 11:51:54 -07:00
Thom Chiovoloni
8d3d616b13 Apply review feedback 2020-10-06 13:40:39 -07:00
Thom Chiovoloni
541369c38e use NEG_INFINITY and NAN constants instead computing them 2020-10-06 12:30:19 -07:00
Thom Chiovoloni
866971adf5 Implement abs, to_bits, and from_bits for float vectors 2020-10-06 11:33:29 -07:00
Ashley Mannix
0fbf64bae8
Add CI for wasm targets using wasm-bindgen (#20) 2020-10-03 16:36:51 +10:00
Caleb Zulawski
e7f133ead0 Add licenses and update Cargo.toml 2020-10-01 23:42:10 -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
Caleb Zulawski
cfda50a82a Remove vectors under 64-bit width 2020-09-26 19:31:14 -04:00
Caleb Zulawski
88bfbb001e Mark trait methods inline 2020-09-26 14:41:01 -04:00
Caleb Zulawski
b9bf9ef3c2 Remove remaining derived traits 2020-09-26 14:30:00 -04:00
Caleb Zulawski
d817b56f1d Manually implement some traits, instead of derive 2020-09-26 14:12:30 -04:00
Caleb Zulawski
167c3c8100 Change doc attributes to comments 2020-09-25 23:23:02 -04:00
Caleb Zulawski
992768709f Remove pointer vectors 2020-09-25 21:45:09 -04:00
Caleb Zulawski
2178409df5 Remove some obsolete macros 2020-09-25 00:52:32 -04:00
Caleb Zulawski
b7d1f3e797 Improve Debug implementation, add additional formatting traits 2020-09-25 00:44:48 -04:00
Caleb Zulawski
613f242088 Add pointer vectors and implement a few more traits 2020-09-24 21:15:31 -04:00
Caleb Zulawski
3df72fddc2 Add masks 2020-09-24 19:48:18 -04:00
Caleb Zulawski
872e8f62d6 Simplify transmutes 2020-09-23 10:42:12 -04:00
Caleb Zulawski
543bcd37e9 Combine vector definition modules by scalar type 2020-09-23 10:21:19 -04:00
Caleb Zulawski
c74eec7e25
Apply suggestions from code review
Co-authored-by: Lokathor <zefria@gmail.com>
2020-09-23 08:11:43 -04:00
Caleb Zulawski
0f837a9147 Add docs 2020-09-22 20:26:25 -04:00
Caleb Zulawski
011aafea16 Add initial type implementations 2020-09-22 19:41:42 -04:00