Folkert de Vries
f7dc654108
add vec_mulo
2025-03-16 20:02:22 +00:00
Folkert de Vries
5c61b664e7
add vec_any_* and vec_all_*
2025-03-16 20:02:22 +00:00
Folkert de Vries
e30905984c
add vec_all_nan, vec_any_nan, vec_all_numeric and vec_any_numeric
2025-03-16 20:02:22 +00:00
Folkert de Vries
2667fd06ff
add vec_cmpeq_idx and variations
2025-03-16 20:02:22 +00:00
Folkert de Vries
b866e43594
add vec_cmpeq and vec_cmpne
2025-03-16 20:02:22 +00:00
Folkert de Vries
8affaabfaf
add vec_cmpgt, vec_cmplt, vec_cmpge, vec_cmple
2025-03-16 20:02:22 +00:00
Folkert de Vries
81a2841164
let's not use &mut until we get confirmation it's OK
2025-03-16 20:02:22 +00:00
Folkert de Vries
d218bd1624
add vec_cmprg_or_0_idx_cc and vec_cmpnrg_or_0_idx_cc
2025-03-16 20:02:22 +00:00
Folkert de Vries
790d77e4e6
add vec_cmprg_or_0_idx and vec_cmpnrg_or_0_idx
2025-03-16 20:02:22 +00:00
Folkert de Vries
3660dfff5a
add vec_cmprg_cc and friends
2025-03-16 20:02:22 +00:00
Folkert de Vries
895d11f085
add vec_cmprg_idx and vec_cmpnrg_idx
2025-03-16 20:02:22 +00:00
Folkert de Vries
511a8eb3cd
add vec_cmpnrg
2025-03-16 20:02:22 +00:00
Folkert de Vries
edbeee5b25
add vec_cmprg
2025-03-16 20:02:22 +00:00
Folkert de Vries
b4b126edfc
add vec_sld, vec_sldb, vec_sldw and vec_srdb
2025-03-16 20:02:22 +00:00
Folkert de Vries
239f240515
add vec_msum_u128
2025-03-16 20:02:22 +00:00
Folkert de Vries
0c011430d9
add vec_cp_until_zero and vec_cp_until_zero_cc
2025-03-16 20:02:22 +00:00
Folkert de Vries
efe09e0c85
add vec_signed and vec_unsigned
2025-03-16 20:02:22 +00:00
Folkert de Vries
c29266a029
add vec_extend_s64
2025-03-16 20:02:22 +00:00
Folkert de Vries
68b9d71cb8
add vec_double and vec_float
2025-03-16 20:02:22 +00:00
Folkert de Vries
d4c98b0930
add vec_search_string_cc and vec_search_string_until_zero_cc
2025-03-16 20:02:22 +00:00
Folkert de Vries
2ba9c9cf38
add vec_test_mask
2025-03-16 20:02:22 +00:00
Folkert de Vries
9dcbd2f873
add vec_fp_test_data_class
2025-03-16 20:02:22 +00:00
Folkert de Vries
45767c74d0
add vec_scatter
2025-03-16 20:02:22 +00:00
Folkert de Vries
8ad4a919dc
add vec_sel
2025-03-16 20:02:22 +00:00
Folkert de Vries
57f9b31542
add vec_bperm_u128
2025-03-16 20:02:22 +00:00
Folkert de Vries
9815ca674a
add vec_gather_element
2025-03-16 20:02:22 +00:00
Folkert de Vries
ac7e696e64
add vec_nmadd
2025-03-16 13:50:11 +00:00
Folkert de Vries
f44b1845d3
add vec_gfmsum_accum and vec_gfmsum_accum_128
2025-03-16 13:50:11 +00:00
Folkert de Vries
2207ace2cc
add vec_gfmsum_128
2025-03-16 13:50:11 +00:00
Folkert de Vries
d10f272da5
add vec_gfmsum
2025-03-16 13:50:11 +00:00
Folkert de Vries
7ea1b873de
clarify fixme waiting for a newer llvm version
2025-03-16 13:50:11 +00:00
Folkert de Vries
01182e5a75
add vec_nmsub
2025-03-16 13:50:11 +00:00
Folkert de Vries
baec44b6da
add vec_mule
2025-03-16 13:50:11 +00:00
Folkert de Vries
ea91fd9164
add vec_add_u128, vec_addc_u128, vec_adde_u128 and vec_addce_u128
2025-03-16 13:50:11 +00:00
Folkert de Vries
f9750fbb9c
add vec_checksum
2025-03-16 13:50:11 +00:00
Folkert de Vries
8a7d50ae1b
add vec_avg
2025-03-16 13:50:11 +00:00
Folkert de Vries
37706d107d
add vec_unpackh and vec_unpackl
2025-03-16 13:50:11 +00:00
Folkert de Vries
08735d3a7e
correct name of signed splat functions
2025-03-16 13:50:11 +00:00
Folkert de Vries
167b13e6d3
test vec_rl
2025-03-16 13:50:11 +00:00
Folkert de Vries
0b0f5193cb
add vec_madd and vec_msub
2025-03-16 13:50:11 +00:00
Folkert de Vries
3a0ba7f08e
add vec_packs_cc and vec_packsu_cc
2025-03-16 13:50:11 +00:00
Folkert de Vries
34629d4d20
add vec_pack, vec_packs and vec_packsu
2025-03-16 13:50:11 +00:00
Folkert de Vries
6abac3ce99
add vec_load_bndry, __lcbb and vec_load_pair
2025-03-16 13:50:11 +00:00
Folkert de Vries
5092b69ef0
add vec_load_len_r and vec_store_len_r
2025-03-16 13:50:11 +00:00
Folkert de Vries
6761c73789
add vec_load_len and vec_store_len
2025-03-16 13:50:11 +00:00
Folkert de Vries
3813933b58
add vec_xl and vec_xst
2025-03-16 13:50:11 +00:00
Folkert de Vries
e4d33640d0
add vec_reve
2025-03-16 13:50:11 +00:00
Alex Crichton
267558c5c2
Document safety conditions of simd shifts
2025-03-16 13:20:37 +00:00
Alex Crichton
28580edab8
Fix rustfmt
2025-03-16 13:20:37 +00:00
Alex Crichton
ab098c6be6
wasm32: Fix undefined behavior with shift intrinsics
...
This commit fixes an issue where simd shift intrinsic in LLVM are
undefined behavior if the shift amount is larger than the bit width of
the lane. While in WebAssembly the corresponding instructions are
defined as masking out the upper bits we need to represent that
explicitly in LLVM IR to ensure that the semantics remain defined.
cc rust-lang/rust#137941
2025-03-16 13:20:37 +00:00