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
Scott McMurray
9405357868
Don't field-project (.0
) into SIMD types
2025-03-06 17:55:01 +00:00
James Barford-Evans
89c9c8ba9c
feat - FEAT_LUT neon instrinsics
2025-03-05 14:54:05 +00:00
James Barford-Evans
520dfd5210
add unstable for faminmax
2025-03-04 15:50:04 +00:00
James Barford-Evans
61b9f9f9eb
mark FEAT_FAMINMAX intrinsics as safe
2025-03-04 15:50:04 +00:00
James Barford-Evans
5ece6ac059
armV7 does not need faminmax flag
2025-03-04 15:50:04 +00:00
James Barford-Evans
24555b5ac1
Add faminmax intrinsics to the skip list
2025-03-04 15:50:04 +00:00
James Barford-Evans
de7f56ff35
Add aarch64_unstable_target_feature and relax instruction assertion
2025-03-04 15:50:04 +00:00
James Barford-Evans
1088aae289
feat - FEAT_FAMINMAX neon intrinsics
2025-03-04 15:50:04 +00:00
Ralf Jung
694214b200
fix unnecessary unsafe error in doctest
2025-03-04 15:03:48 +00:00
Ralf Jung
f5a577c2d7
make _mm256_zero{upper,all} safe
2025-03-03 14:50:07 +00:00
Folkert de Vries
5b0c5d2dad
add vec_find_any_eq_or_0_idx_cc
and vec_find_any_ne_or_0_idx_cc
2025-03-03 11:09:56 +00:00
Folkert de Vries
fcf6612d42
add vec_find_any_eq_or_0_idx
and vec_find_any_ne_or_0_idx
2025-03-03 11:09:56 +00:00
Folkert de Vries
15def154eb
add vec_find_any_eq_cc
and vec_find_any_ne_cc
2025-03-03 11:09:56 +00:00
Folkert de Vries
b7bcdcb819
add vec_find_any_eq_idx
and vec_find_any_ne_idx
2025-03-03 11:09:56 +00:00
Folkert de Vries
79b89a0e14
add vec_find_any_eq
and vec_find_any_ne
2025-03-03 11:09:56 +00:00
Folkert de Vries
914cd5a539
add vec_splat
and friends
2025-03-03 11:09:56 +00:00
Folkert de Vries
08215ac576
add vec_sqrt
2025-03-03 11:09:56 +00:00
Folkert de Vries
4c48771da2
add vec_nabs
2025-03-03 11:09:56 +00:00
Folkert de Vries
b84a33dd10
add vec_subc_u128
, vec_sube_u128
, vec_subec_u128
, vec_sub_u128
...
and `vec_subc`
2025-03-03 11:09:56 +00:00
Folkert de Vries
a956edc847
add vec_sum2
, vec_sum4
and vec_sum_u128
2025-03-03 11:09:56 +00:00
Folkert de Vries
5d20f31a2c
add vec_perm
2025-03-03 11:09:56 +00:00
Folkert de Vries
33f1f20443
add vec_genmask
and vec_genmasks
2025-03-03 11:09:56 +00:00
Folkert de Vries
1766b7ce5e
pull out ShuffleMask
2025-03-03 11:09:56 +00:00
Folkert de Vries
24ef1ac370
add vec_mergel
and vec_mergeh
2025-03-03 11:09:56 +00:00
Folkert de Vries
fb05c533b8
add vec_revb
2025-03-03 11:09:56 +00:00
Folkert de Vries
7cc682d402
add vec_reve
2025-03-03 11:09:56 +00:00
Folkert de Vries
4341a8b8b3
add vec_rl_mask
2025-03-03 11:09:56 +00:00
Folkert de Vries
dc0a5c88fb
add vec_rli
2025-03-03 11:09:56 +00:00
Folkert de Vries
c9a9385b0a
add vector shift by byte
2025-03-03 11:09:56 +00:00
Folkert de Vries
81be4a28db
implement rotate left
2025-03-03 11:09:56 +00:00
Folkert de Vries
b1d20cb036
implement standard bitshifts
2025-03-03 11:09:56 +00:00
Folkert de Vries
ef68d2ffaa
implement the long bitshifts
2025-03-03 11:09:56 +00:00
Folkert de Vries
a82046181e
powerpc: use llvm.fshl
for vec_rl
2025-03-03 11:08:19 +00:00
Folkert de Vries
aa4ce89f9e
use the simd_fma
intrinsic for vec_madd
2025-03-03 11:05:07 +00:00
Ralf Jung
6a30c9320e
wasm: update for rintf intrinsic rename
2025-03-03 10:59:51 +00:00
usamoi
6c0068d93f
fix compilation on armebv7r-none-eabi
2025-03-03 10:59:14 +00:00
Eric Huss
4efb6d5fd4
Fix doctests failing due to unused_unsafe
2025-02-28 02:59:16 +00:00
usamoi
bcf796a34c
mark arm intrinsics as safe
2025-02-27 22:02:52 +00:00
Tobias Decking
25b17cf9f3
Update simd128.rs
2025-02-27 22:02:32 +00:00
James Barford-Evans
fc83e49bb1
fix - neon type signed unsigned conversions
2025-02-26 12:15:15 +00:00
aaishwarymishra@gmail.com
e18318ccf5
replaced extern "rust-intrinsic" block with core::ptr::copy_nonoverlapping
...
using core::ptr::copy_nonoverlapping for memory operations
changes core::ptr::coopy_nonoverlapping to crate::ptr::
2025-02-25 14:17:35 +00:00
Eduardo Sánchez Muñoz
b8d25bdefa
Remove some allow(unsafe_op_in_unsafe_fn)
s and use target_feature 1.1 in examples
2025-02-25 01:11:47 +00:00
Folkert de Vries
d0bc126ec5
powerpc: use simd_ceil
and simd_floor
2025-02-24 14:25:39 +00:00
Folkert de Vries
d3880872ea
nvptx: use simd_fmin
and simd_fmax
for minnum
and maxnum
2025-02-24 14:25:11 +00:00