diff options
| author | Alex Crichton <alex@alexcrichton.com> | 2021-05-27 10:52:15 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-05-27 16:52:15 +0100 |
| commit | 4d6fa80bb3c5fa85618bc4db07cf3f5d33c21364 (patch) | |
| tree | bff4f30c90ed67f835a5198287e34a3da36f09b2 /library/stdarch/examples/hex.rs | |
| parent | b3f06eb658f46996921580964df94721ef82099e (diff) | |
| download | rust-4d6fa80bb3c5fa85618bc4db07cf3f5d33c21364.tar.gz rust-4d6fa80bb3c5fa85618bc4db07cf3f5d33c21364.zip | |
wasm: Add convenience aliases with unsigned names (#1174)
Naming right now for wasm simd intrinsics takes the signededness of the instruction into account, but some operations are the same regardless of signededness, such as `i32x4_add`. This commit adds aliases for all of these operations under unsigned names as well (such as `u32x4_add`) which are just a `pub use` to rename the item as two names. The goal of this is to assist in reading code (no need to switch back and forth between `i` and `u`) as well as writing code (no need to always remember which operations are the same for signed/unsigned but only available under the signed names).
Diffstat (limited to 'library/stdarch/examples/hex.rs')
| -rw-r--r-- | library/stdarch/examples/hex.rs | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/library/stdarch/examples/hex.rs b/library/stdarch/examples/hex.rs index afefc44c368..8d41517f333 100644 --- a/library/stdarch/examples/hex.rs +++ b/library/stdarch/examples/hex.rs @@ -176,17 +176,17 @@ unsafe fn hex_encode_simd128<'a>(mut src: &[u8], dst: &'a mut [u8]) -> Result<&' let cmpmask2 = u8x16_gt(masked2, nines); // add '0' or the offset depending on the masks - let masked1 = i8x16_add(masked1, v128_bitselect(ascii_a, ascii_zero, cmpmask1)); - let masked2 = i8x16_add(masked2, v128_bitselect(ascii_a, ascii_zero, cmpmask2)); + let masked1 = u8x16_add(masked1, v128_bitselect(ascii_a, ascii_zero, cmpmask1)); + let masked2 = u8x16_add(masked2, v128_bitselect(ascii_a, ascii_zero, cmpmask2)); // Next we need to shuffle around masked{1,2} to get back to the // original source text order. The first element (res1) we'll store uses // all the low bytes from the 2 masks and the second element (res2) uses // all the upper bytes. - let res1 = i8x16_shuffle::<0, 16, 1, 17, 2, 18, 3, 19, 4, 20, 5, 21, 6, 22, 7, 23>( + let res1 = u8x16_shuffle::<0, 16, 1, 17, 2, 18, 3, 19, 4, 20, 5, 21, 6, 22, 7, 23>( masked2, masked1, ); - let res2 = i8x16_shuffle::<8, 24, 9, 25, 10, 26, 11, 27, 12, 28, 13, 29, 14, 30, 15, 31>( + let res2 = u8x16_shuffle::<8, 24, 9, 25, 10, 26, 11, 27, 12, 28, 13, 29, 14, 30, 15, 31>( masked2, masked1, ); |
