Caleb Zulawski
fd712fe3f3
Fix test skip
2023-07-22 23:38:20 -04:00
Caleb Zulawski
616cb6e9e6
Disable simd_clamp test on ppc64
2023-07-22 23:00:51 -04:00
Caleb Zulawski
bd4e6616f3
Adjust clamp test
2023-07-22 20:50:49 -04:00
Caleb Zulawski
52d6397da7
Flush subnormals in reduce tests
2023-07-22 19:22:30 -04:00
Caleb Zulawski
ad747af0bb
Apply workaround to ppc64
2023-07-22 18:33:33 -04:00
Caleb Zulawski
d07ce3cef9
Account for possible qemu bug
2023-07-22 17:56:21 -04:00
Caleb Zulawski
49e92a2918
Improve powerpc subnormal flushing check
2023-07-22 14:18:16 -04:00
Caleb Zulawski
415b50f671
Flush subnormals in f32::fract test
2023-07-22 09:16:42 -04:00
Caleb Zulawski
38c7ba09dd
Handle subnormal numbers exactly
2023-07-22 00:41:21 -04:00
Caleb Zulawski
dc0ba78365
Don't require strict equality when subnormals are flushed
2023-07-21 15:44:15 -04:00
Caleb Zulawski
11c43c0c16
Fix is_subnormal on architectures that flush subnormals to zero
2023-07-21 15:33:09 -04:00
Jubilee Young
7c7dbe0c50
Remove unused import
2023-07-07 04:03:54 -07:00
Jubilee
789c38fae2
Fixed cast imports in doctest ( rust-lang/portable-simd#355 )
2023-07-07 03:49:42 -07:00
Caleb Zulawski
eb0041d154
Format
2023-06-07 23:46:06 -04:00
Caleb Zulawski
0368a8c778
Merge branch 'master' into sync-upstream-2023-06-07
2023-06-07 23:41:55 -04:00
Caleb Zulawski
73d7eb5f73
Merge pull request #344 from rust-lang/prelude
...
Add a prelude
2023-05-31 20:01:28 -04:00
Caleb Zulawski
d975d8fad4
Merge pull request #348 from taiki-e/arm-big
...
Fix build error on big endian arm/aarch64
2023-05-31 20:00:26 -04:00
Caleb Zulawski
5161f2ecd0
Merge pull request #350 from rust-lang/cast
...
Remove cast_ptr in favor of cast which acts like pointer::cast (and adjust integer casts)
2023-05-31 19:58:55 -04:00
Taiki Endo
1af32f0a3a
Fix build error on big endian arm/aarch64
2023-05-30 23:10:05 +09:00
Caleb Zulawski
0315db3cc1
Re-add missing #[must_use]
2023-05-21 14:10:27 -04:00
Thom Chiovoloni
c0b7df522f
Add #[inline]
to functions which were missing it, and #[track_caller]
to ones with runtime panics from user input
2023-05-21 14:10:22 -04:00
Caleb Zulawski
f4ee1ab711
Simplify to_int_unchecked
2023-05-20 17:28:05 -04:00
Caleb Zulawski
6626cd8249
Remove cast_ptr in favor of cast which acts like pointer::cast. Move number casts to number traits.
2023-05-20 17:17:56 -04:00
David Tolnay
048264e0a3
Hide repr attribute from doc of types without guaranteed repr
2023-05-16 10:00:52 -07:00
Caleb Zulawski
c55e19cb00
Add Simd, Mask, simd_swizzle to prelude
...
Co-authored-by: Jacob Lifshay <programmerjake@gmail.com>
2023-05-12 09:16:43 -04:00
Caleb Zulawski
9e818d62b3
Ignore doctest
2023-05-12 09:16:43 -04:00
Caleb Zulawski
b3b5cfca66
Add a prelude
2023-05-12 09:16:43 -04:00
Jubilee Young
c7f6aae79c
Correct swizzle_dyn cfg for armv7 neon
2023-05-11 17:22:00 -07:00
Jubilee Young
a978408be9
Sync portable-simd to 2023 May 10
...
Sync up to rust-lang/portable-simd@852762563a
2023-05-11 12:13:00 -07:00
Jubilee Young
852762563a
Temp fix for swizzle_dyn
...
- disable the AVX512 variant for now (flaky)
- tell Clippy to knock it off
2023-05-10 06:49:00 -07:00
Jubilee Young
d361e4335f
Drop const_ptr_read feature gate
2023-05-10 06:49:00 -07:00
Jubilee Young
8f50a17c37
Fixups for sync
...
- Fix LANES over-replace
- Bring in traits
- Use less inference-heavy types
2023-05-10 06:49:00 -07:00
Caleb Zulawski
50416fcc2c
Merge pull request #345 from Sp00ph/from_to_slice
...
Use the new `load`/`store` functions in `{from,to}_slice`
2023-05-07 08:16:26 -04:00
Markus Everling
b246e45438
Fix inaccurate safety comments
2023-05-07 00:15:18 +00:00
Markus Everling
4967f25f6b
Use the new load
/store
functions in {from,to}_slice
2023-05-07 00:11:56 +00:00
Michael Goulet
a2cdcd53bf
Make sure that signatures aren't accidental refinements
2023-04-28 17:36:49 +00:00
Caleb Zulawski
c504f01abe
Use cast and improve comments
2023-04-25 21:37:04 -04:00
Caleb Zulawski
394a8845c6
Fix {to,from}_array UB when repr(simd) produces padding
2023-04-23 14:52:38 -04:00
Jubilee
ad8afa8c81
lane -> element for core::simd::Simd
( rust-lang/portable-simd#338 )
2023-04-22 19:07:46 -07:00
Jubilee
4f0d8225fa
Implement dynamic byte-swizzle prototype ( rust-lang/portable-simd#334 )
...
This is meant to be an example that is used to test
a Rust intrinsic against, which will replace it.
The interface is fairly direct and doesn't address
more nuanced or interesting permutations one can do,
nevermind on types other than bytes.
The ultimate goal is for direct LLVM support for this.
2023-04-22 18:27:52 -07:00
Jubilee Young
2b32732d0f
Do not construct Simd
2023-04-22 18:22:04 -07:00
Jubilee Young
4064678daf
Explain why to use Simd early
2023-04-22 17:58:54 -07:00
Jubilee
92259a4a6c
Clarify elementwise cmp reduces
...
Saying "elementwise (non-)equal" may suggest it returns a vector.
The comments should be clear that it instead reduces to a scalar.
Co-authored-by: Jacob Lifshay <programmerjake@gmail.com>
2023-04-22 17:58:54 -07:00
Jubilee Young
71d4c36850
lane -> element for core::simd::Simd
...
A while ago we began saying T, N instead of T, LANES in reference to Simd.
At some point that leaked in to us checking in code with const N: usize.
After a while, we had a discussion and agreed that "lanes", while common,
is unnecessary jargon for Rust learners who aren't familiar with SIMD, and
is fully interchangeable with terms for arrays like element and index.
But we never acted on that. Let's update the main type's docs, at least.
The example tweaks also enable removing a slated-for-removal nightly fn.
2023-04-22 17:58:51 -07:00
Markus Everling
f1b86baf84
Use pointer reads for better codegen in debug mode
2023-04-22 23:29:23 +00:00
Markus Everling
52833ccbe8
Add notes to avoid direct field accesses
2023-04-22 23:08:55 +00:00
Markus Everling
afad9c3f64
Don't use direct field access in Simd
functions
2023-04-22 21:40:36 +00:00
KaDiWa
280657066a
remove some unneeded imports
2023-04-12 19:27:18 +02:00
Jubilee
ceb2611592
Remove formats [T; N]
does not impl ( rust-lang/portable-simd#337 )
...
Remove these extra formatting traits, as they are
inconsistent with how arrays and slices format,
and it can cause unnecessary code bloat in binaries.
We can revisit this if people ever agree on doing these
formatters for the other slice-y types.
Prefer to dispatch to the `impl `fmt::Debug for [T]`,
to reduce the chances of monomorphizing twice.
Inlining it seems like a good idea for similar reasons?
2023-04-09 21:26:40 -07:00
Caleb Zulawski
90f2af774a
Fix lint
2023-03-26 16:11:05 -04:00