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
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
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
bjorn3
65b5210bdb
Skip building wasm-bindgen-test on non-wasm targets
...
This reduces compilation time
2023-03-26 12:56:35 +02:00
Caleb Zulawski
36829ddca7
Check that vectors aren't padded
2023-02-19 15:35:36 -05:00
Caleb Zulawski
0fd7c8e138
Add copy_to_slice
2023-02-19 12:33:40 -05:00
Yang Hau
e3ef226f7b
Fix the typo
2023-01-23 11:00:35 +07:00
The Atelier
da3bd6d3a0
Update dot_product example import
2022-12-03 18:41:43 -08:00
Miguel Raz Guzmán Macedo
64247a327d
add _scalar names for dot_product examples
2022-12-03 16:12:24 -08:00
Miguel Raz Guzmán Macedo
aeac9ed373
proper mul_add arg order, added tests
2022-12-03 16:12:24 -08:00
Miguel Raz Guzmán Macedo
4ddfd2f3f8
non allocating fold simd
...
allocating fold with std::ops::Add::add
2022-12-03 16:12:19 -08:00
Miguel Raz Guzmán Macedo
4615805ec2
add remainder dot_product and cleanup
...
cleanup dot_product and README.md
2022-12-03 16:12:00 -08:00
Miguel Raz Guzmán Macedo
c08a4d1f10
add more basic dot products and comments, README
2022-12-03 16:12:00 -08:00
miguel raz
df3a63906c
add dot_product example
2022-12-03 16:12:00 -08:00
Caleb Zulawski
1547dd66f9
Merge pull request #318 from thomcc/simd_from_slice
...
Avoid a scalar loop in `Simd::from_slice`
2022-11-28 09:17:02 -05:00
Thom Chiovoloni
54b6f6923e
Avoid a scalar loop in Simd::from_slice
2022-11-28 06:03:32 -08:00
Caleb Zulawski
db8b23cea5
Remove reexport of simd::*
2022-11-27 23:44:20 -05:00
Caleb Zulawski
6e30c6eca3
Merge pull request #315 from rust-lang/scatter-gather-ptr
...
Scatter/gather for pointers
2022-11-19 21:37:58 -05:00
Caleb Zulawski
7e614f0438
Fix typo typo
2022-11-12 22:41:44 -05:00
Caleb Zulawski
c247915eb8
Update crates/core_simd/src/vector.rs
...
Co-authored-by: Jubilee <46493976+workingjubilee@users.noreply.github.com>
2022-11-12 22:39:54 -05:00
Caleb Zulawski
bef4c41fc0
Add test examples
2022-11-11 21:31:05 -05:00
Caleb Zulawski
fd53445d05
Add pointer scatter/gather
2022-11-11 19:48:27 -05:00
Caleb Zulawski
9dc690c482
Add TryFrom<&[T]> tests
2022-11-11 18:10:51 -05:00
Caleb Zulawski
7ac1fbbcb1
impl TryFrom<&[T]> for Simd
2022-11-11 17:32:48 -05:00
Caleb Zulawski
572122a95d
Add missing pointer tests and rename pointer cast fns to match scalars
2022-11-09 21:28:38 -05:00
Caleb Zulawski
469c620bde
Account for pointer metadata in pointer bounds
2022-10-29 11:55:01 -04:00
Caleb Zulawski
078cb58e76
Apply suggestions from code review
...
Co-authored-by: Jacob Lifshay <programmerjake@gmail.com>
2022-10-29 11:55:01 -04:00
Caleb Zulawski
a79718ffa8
Use new intrinsics
2022-10-29 11:55:01 -04:00
Caleb Zulawski
0fcc4069c1
Fix pointer mutability casts and safety lints
2022-10-29 11:55:01 -04:00
Caleb Zulawski
e5db1ecc82
Fix documentation
2022-10-29 11:55:01 -04:00
Caleb Zulawski
dadf98a290
Remove duplicate intrinsic
2022-10-29 11:55:01 -04:00
Caleb Zulawski
176cc81324
Update for new intrinsics
2022-10-29 11:55:01 -04:00
Caleb Zulawski
8a5a5732a1
Clarify addr and with_addr implementations
2022-10-29 11:55:01 -04:00
Caleb Zulawski
e7cc021189
Fix casts
2022-10-29 11:55:01 -04:00
Caleb Zulawski
da25087f79
Test a more useful pointer
2022-10-29 11:55:01 -04:00
Caleb Zulawski
f10e591de1
Fix wrapping pointer arithmetic
2022-10-29 11:55:01 -04:00
Caleb Zulawski
6b3c599ba2
Add missing safety comment
2022-10-29 11:55:01 -04:00
Caleb Zulawski
4076ba8a77
Implement scatter/gather with new pointer vector and add tests
2022-10-29 11:55:01 -04:00
Caleb Zulawski
7e96f5dbea
Use safe casts
2022-10-29 11:53:48 -04:00
Caleb Zulawski
d3cfd7c5c9
Add vectors of pointers
2022-10-29 11:53:48 -04:00
Caleb Zulawski
402b50a272
Improve variable names
2022-10-16 23:46:18 -04:00
Caleb Zulawski
61a6f1854f
Specify aliases in one place, and make it more uniform which are defined
2022-10-16 21:38:13 -04:00
Caleb Zulawski
4491309cb0
Mark more mask functions inline
2022-10-16 13:31:42 -04:00
Jacob Lifshay
d5cd4a8112
Merge pull request #300 from programmerjake/all_lane_counts
...
add all_lane_counts feature to enable non-power-of-2 lane counts <= 64
2022-08-15 14:11:13 -07:00
Caleb Zulawski
7145dc5a41
Merge pull request #299 from rust-lang/interleave-one
...
Fix interleave/deinterleave for vectors with only one lane
2022-08-03 23:23:19 -04:00
Caleb Zulawski
5f7066430b
Simplify expression
2022-08-01 19:57:41 -04:00
Caleb Zulawski
d030301161
Remove special case for length-1 vectors
2022-08-01 19:52:35 -04:00