Sean Stangl
8cd9325e20
Add a *small* blurb to Mask that is likely unobjectionable
2022-04-03 16:22:31 -06:00
Sean Stangl
21b070ce43
Correct the Mask docs, and get them to fit in search results
2022-04-03 16:15:27 -06:00
Sean Stangl
c73f1fbdde
Update crates/core_simd/src/masks.rs
...
Co-authored-by: Jacob Lifshay <programmerjake@gmail.com>
2022-04-03 15:59:22 -06:00
Sean Stangl
4e14017f3d
Standardize documentation for SIMD vector and mask types
2022-04-03 15:20:00 -06:00
Jubilee
0711e11593
rust-lang/portable-simd#267 : fix big-endian bitmasks smaller than a byte
2022-03-21 00:05:38 -07:00
Ralf Jung
35e16a1e06
rust-lang/portable-simd#266 : reduce Miri test count in round.rs
2022-03-20 16:17:33 -07:00
Ralf Jung
60555b57f1
fix big-endian bitmasks smaller than a byte
2022-03-17 10:42:39 -04:00
Ralf Jung
50fbfa4eba
add bitmask roundtrip test for vector length below 8
2022-03-16 20:28:18 -04:00
Caleb Zulawski
60486e08ed
SimdPartialOrd implies SimdPartialEq
2022-03-15 00:17:14 +00:00
Caleb Zulawski
2a02c4d9cb
Create SimdFloat trait
2022-03-13 19:57:06 +00:00
Caleb Zulawski
80469c66d6
Move comparisons to SimdPartialOrd and SimdOrd traits
2022-03-13 19:07:36 +00:00
Jubilee
72df4c4505
portable-simd#261: Rename horizontal_* to reduce_*
2022-03-12 15:34:58 -08:00
Ralf Jung
49043f4434
rust-lang/portable-simd#262 : also implement clamp for integer vectors
...
* add test from issue rust-lang/portable-simd#253
2022-03-12 15:32:28 -08:00
Ralf Jung
b6ee5293f4
rust-lang/portable-simd#259 : remove Miri from CI
2022-03-11 18:14:52 -08:00
Jacob Lifshay
b6e03f5886
Change beginner's guide to explain Reducing rather than Horizontal.
2022-03-11 16:27:00 -08:00
Jacob Lifshay
c196b8abaa
replace horizontal_* with reduce_*
2022-03-11 14:49:06 -08:00
Jorge Leitao
86b9f69622
rust-lang/portable-simd#260 : Add .min
and .max
for integers
2022-03-10 15:12:40 -08:00
Jubilee
89bc660d21
rust-lang/portable-simd#255 : run Miri on CI
...
This is allowed to fail, but might produce useful results to check on.
2022-03-09 12:08:31 -08:00
Ralf Jung
4023d77e39
run Miri on CI (but allowed to fail)
2022-03-09 10:59:28 -05:00
Ralf Jung
adbd47973e
reduce number of tests being run under Miri
2022-03-09 07:54:49 -05:00
Jubilee Young
2d13059ae9
Clean up use of cargo feature "std"
2022-03-08 13:36:29 -08:00
Jubilee Young
2e5e0ec380
Remove #![feature(const_fn_trait_bound)]
2022-03-08 13:36:29 -08:00
Ralf Jung
4ddcc006a9
rust-lang/portable-simd#252 : extern blocks don't have doc comments
2022-03-04 11:14:49 -08:00
Jubilee
30975615b7
rust-lang/portable-simd#250 : Add bitmask i{N <8} -> u8 impls
...
...and copy the notes for why they're legal.
2022-03-01 16:10:49 -08:00
Jubilee
a5789d17bf
rust-lang/portable-simd#248 : Remove default features
...
Now that we are thoroughly embedded in libcore, we don't need these on by default.
Indeed, their presence may provide confusing results during integration attempts.
2022-02-28 19:56:31 -08:00
Jubilee
5f49d4c843
rust-lang/portable-simd#239 : Bitmask conversion trait
...
Another approach that fixes rust-lang/portable-simd#223 , as an alternative to rust-lang/portable-simd#238 .
This adds the `ToBitMask` trait, which is implemented on a vector for each bitmask type it supports. This includes all unsigned integers with enough bits to contain it. The byte array variant has been separated out for now into rust-lang/portable-simd#246 and still requires `generic_const_exprs`, but the integer variants no longer require it and can make it to nightly.
2022-02-26 12:56:23 -08:00
Caleb Zulawski
20fa4b7623
Make internal mask implementation safe
2022-02-24 18:04:02 -08:00
Caleb Zulawski
11c3eefa35
Manually implement for supported lanes
2022-02-24 18:03:40 -08:00
Caleb Zulawski
842ac87747
Use bitmask trait
2022-02-24 18:02:39 -08:00
Jubilee
78a18c3433
rust-lang/portable-simd#245 : Explain unsafe contracts of core::simd
...
* Explain unsafe contracts of core::simd
This permeates the module with remarks on safety for pub methods,
layout of the Simd type, correct use of intrinsics, et cetera.
This is mostly to help others curious about how core::simd works,
including other Rust contributors, `unsafe` library authors,
and eventually ourselves.
2022-02-10 09:32:44 -08:00
Caleb Zulawski
dddfffcfb3
Add some safety comments
2022-02-09 16:15:01 -08:00
Jubilee
6143bdef6d
Merge rust-lang/portable-simd#243 from ./no-overflow-panic
...
Remove overflow panic from divrem and add basic docs to Simd<T, N>
This finishes normalizing Simd<T, N> to being approximately equivalent to Simd<Wrapping<T>, N> for all implemented operations I can think of. It also documents this fact, allowing this to close rust-lang/portable-simd#56 .
2022-02-09 12:46:41 -08:00
Jubilee
5d52455c65
Review for clarity and concision
...
Co-authored-by: Caleb Zulawski <caleb.zulawski@gmail.com>
2022-02-08 17:43:26 -08:00
Jubilee Young
e628a2991c
Document Simd is Simd<Wrapping<T>, N>
...
and other quirks like panicking
and the equivalence to zipping and mapping binary ops
2022-02-08 15:40:52 -08:00
Jubilee Young
672bfebfd8
Remove overflow panic from divrem
...
Includes some remarks in intrinsics.rs,
generated while auditing the interface for remaining UB.
2022-02-08 15:39:55 -08:00
Jubilee Young
4910274686
Genericize to_int_unchecked
2022-02-03 03:46:16 -08:00
Jubilee Young
ebf65de2ce
Delete outmoded fn round_from_int
2022-02-03 03:46:16 -08:00
Jubilee
01350a222a
Merge portable-simd#203 - deantvv/add-spectral-norm
...
Add spectral_norm example from packed_simd
2022-02-01 23:17:17 -08:00
Jubilee Young
03f6fbb21e
Omit Simd::cast during bootstrap
2022-01-27 10:59:23 -08:00
Jubilee
7072c2278e
Merge portable-simd#232 - ./feat/typecast
...
Add Simd::cast
Add core_simd/tests/cast.rs
2022-01-26 22:21:00 -08:00
Jubilee Young
0031b02cee
Add core_simd/tests/cast.rs
2022-01-26 21:04:47 -08:00
Jubilee Young
a991d48e95
Add Simd::cast
2022-01-26 18:37:02 -08:00
Caleb Zulawski
cad74346fb
Merge pull request #231 from AlecGoncharow/patch-1
...
fix documentation typo
2022-01-24 20:12:31 -05:00
Caleb Zulawski
36cca22f16
Update crates/core_simd/src/vector/float.rs
...
Co-authored-by: Alexander Ronald Altman <alexanderaltman@me.com>
2022-01-24 20:11:17 -05:00
Alec Goncharow
4fc62c2082
fix documentation typo
...
Remove redundant "neither" in the documentation comment.
2022-01-23 16:42:57 -05:00
Jubilee Young
56566d816d
Annotate signed type in int_divrem_guard
...
The way the macro expands, it may sometimes infer
"this is a uint, but doesn't impl Neg???"
Also, I made the "wrong path for intrinsics" error.
These fixes allow integration into libcore.
2022-01-20 19:22:14 -08:00
Jubilee Young
a4f5f01b8a
Use intrinsics for Mask::{to,from}_array
...
This significantly simplifies codegen and should improve mask perf.
Co-authored-by: Jacob Lifshay <programmerjake@gmail.com>
2022-01-19 21:00:21 -08:00
Caleb Zulawski
41db15373a
Merge pull request #224 from rust-lang/feature/min-max-intrinsic
...
Use intrinsic for min/max
2022-01-13 20:22:00 -05:00
Caleb Zulawski
138b9cf4bf
Use intrinsic for min/max
2022-01-13 17:59:55 -05:00
Caleb Zulawski
65cb2c90a0
Fix mask alias
2022-01-09 13:12:22 -05:00