1536 Commits

Author SHA1 Message Date
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
Folkert de Vries
8ba3a7e2b0 wasm: use simd_as for float to integer conversions 2025-02-24 14:24:42 +00:00
usamoi
e5969976dd fix doctest for __m128d 2025-02-24 14:23:31 +00:00
usamoi
f53c07b3ff mark AVX512 & AVXNECONVERT intrinsics as safe
Mark all AVX512 & AVXNECONVERT SIMD-computing intrinsics as safe, except for those involving memory operations.
2025-02-24 14:23:31 +00:00
usamoi
2348f153ae mark PCLMULQDQ intrinsics as safe
Mark all PCLMULQDQ intrinsics as safe.
2025-02-24 14:23:31 +00:00
usamoi
14b0bfb900 mark AES intrinsics as safe
Mark all AES intrinsics as safe.
2025-02-24 14:23:31 +00:00
usamoi
318a69ab1b mark SHA intrinsics as safe
Mark all SHA intrinsics as safe.
2025-02-24 14:23:31 +00:00
usamoi
40e14c81db mark AVX2 intrinsics as safe
Mark all AVX2 SIMD-computing intrinsics as safe, except for those involving memory operations.
2025-02-24 14:23:31 +00:00
usamoi
4ca81c0432 mark FMA intrinsics as safe
Mark all FMA intrinsics as safe.
2025-02-24 14:23:31 +00:00
usamoi
093f6a34ef mark F16C intrinsics as safe
Mark all F16C intrinsics as safe.
2025-02-24 14:23:31 +00:00
usamoi
7cc2822ce8 mark AVX intrinsics as safe
Mark all AVX SIMD-computing intrinsics as safe, except for those involving memory operations and register operations.

`AVX+SHA512`, `AVX+SM3` and `AVX+SM4` intrinsics are missing.
2025-02-24 14:23:31 +00:00
usamoi
a355388e26 mark BMI2 intrinsics as safe
Mark all BMI2 intrinsics as safe.

`_mulx_u32` and `_mulx_u64` accepts a reference instead of a pointer.
2025-02-24 14:23:31 +00:00
usamoi
cfbeb3be9c mark BMI1 intrinsics as safe
Mark all BMI1 intrinsics as safe.
2025-02-24 14:23:31 +00:00
usamoi
9913eb5436 mark LZCNT intrinsics as safe
Mark all LZCNT intrinsics as safe.
2025-02-24 14:23:31 +00:00
usamoi
1271b7e281 mark POPCNT intrinsics as safe
Mark all POPCNT intrinsics as safe.

`_mm_popcnt_u32` and `_mm_popcnt_u64` are missing.
2025-02-24 14:23:31 +00:00
usamoi
0db395e703 mark SSE4a intrinsics as safe
Mark all SSE4a SIMD-computing intrinsics as safe, except for those involving memory operations.
2025-02-24 14:23:31 +00:00
usamoi
caafa820b1 mark SSE4.2 intrinsics as safe
Mark all SSE4.2 intrinsics as safe.
2025-02-24 14:23:31 +00:00
usamoi
d12cfd7851 mark SSE4.1 intrinsics as safe
Mark all SSE4.1 SIMD-computing intrinsics as safe, except for those involving memory operations.
2025-02-24 14:23:31 +00:00
usamoi
e801fc4ffd mark SSSE3 intrinsics as safe
Mark all SSSE3 intrinsics as safe.
2025-02-24 14:23:31 +00:00
usamoi
4836ce515e mark SSE3 SIMD intrinsics as safe
Mark all SSE3 SIMD-computing intrinsics as safe, except for those involving memory operations.
2025-02-24 14:23:31 +00:00
usamoi
f6a4a09e27 mark SSE2 SIMD intrinsics as safe
Mark all SSE2 SIMD-computing intrinsics as safe, except for those involving memory operations.
2025-02-24 14:23:31 +00:00
usamoi
74ff8754fd mark SSE SIMD intrinsics as safe
Mark all SSE SIMD-computing intrinsics as safe, except for those involving memory operations.
2025-02-24 14:23:31 +00:00
Kajetan Puchalski
3b58340073 intrinsic-test: Print C++ float16_t in hex
Upstream Rust currently does not support printing f16s in decimal.
For the intrinsics tests to work, make C++ print float16_t in the same
format.

Can be droppen once https://github.com/rust-lang/rust/pull/127013
is merged.
2025-02-24 14:22:42 +00:00
Kajetan Puchalski
f4a31fd609 core-arch: Add NEON fp16 intrinsics 2025-02-24 14:22:42 +00:00
Kajetan Puchalski
7cdc9157e6 core-arch: Add Arm f16 vector types 2025-02-24 14:22:42 +00:00
Kajetan Puchalski
ed7bf87061 intrinsic-test: Support testing f16 intrinsics 2025-02-24 14:22:42 +00:00
Kajetan Puchalski
78e6b3ede9 stdarch-verify: Support f16 vector types 2025-02-24 14:22:42 +00:00
James Barford-Evans
014fe0b9c1 fix - only use simd_shuffle! on intrinsics that require it 2025-02-24 11:04:20 +00:00
James Barford-Evans
b95fc44d25 fix up yaml & re-generate 2025-02-24 11:04:20 +00:00
James Barford-Evans
2ab46242f0 remove print statment and correct target name 2025-02-24 11:04:20 +00:00
James Barford-Evans
bec322f990 fix test runner for armv7 2025-02-24 11:04:20 +00:00
James Barford-Evans
443d1cdbf0 fix non-working intrinsics 2025-02-24 11:04:20 +00:00
James Barford-Evans
f4974ae1ed ensure correct linker gets chosen 2025-02-24 11:04:20 +00:00
James Barford-Evans
7294081fda Update test runner to support big endian 2025-02-24 11:04:20 +00:00
James Barford-Evans
d12027810c Remove hand crafted intrinsics that are now generated 2025-02-24 11:04:20 +00:00
James Barford-Evans
3b93df83b2 Update YAML & generated files 2025-02-24 11:04:20 +00:00
James Barford-Evans
f64b610918 Update generator to facilitate big endian 2025-02-24 11:04:20 +00:00
Folkert de Vries
67468b20ff add newly-added s390x features to is_s390x_feature_detected 2025-02-23 23:53:36 +00:00