about summary refs log tree commit diff
path: root/library/stdarch
AgeCommit message (Collapse)AuthorLines
2025-02-24mark BMI1 intrinsics as safeusamoi-19/+19
Mark all BMI1 intrinsics as safe.
2025-02-24mark LZCNT intrinsics as safeusamoi-2/+2
Mark all LZCNT intrinsics as safe.
2025-02-24mark POPCNT intrinsics as safeusamoi-2/+2
Mark all POPCNT intrinsics as safe. `_mm_popcnt_u32` and `_mm_popcnt_u64` are missing.
2025-02-24mark SSE4a intrinsics as safeusamoi-8/+8
Mark all SSE4a SIMD-computing intrinsics as safe, except for those involving memory operations.
2025-02-24mark SSE4.2 intrinsics as safeusamoi-38/+38
Mark all SSE4.2 intrinsics as safe.
2025-02-24mark SSE4.1 intrinsics as safeusamoi-189/+245
Mark all SSE4.1 SIMD-computing intrinsics as safe, except for those involving memory operations.
2025-02-24mark SSSE3 intrinsics as safeusamoi-63/+71
Mark all SSSE3 intrinsics as safe.
2025-02-24mark SSE3 SIMD intrinsics as safeusamoi-26/+30
Mark all SSE3 SIMD-computing intrinsics as safe, except for those involving memory operations.
2025-02-24mark SSE2 SIMD intrinsics as safeusamoi-471/+541
Mark all SSE2 SIMD-computing intrinsics as safe, except for those involving memory operations.
2025-02-24mark SSE SIMD intrinsics as safeusamoi-179/+193
Mark all SSE SIMD-computing intrinsics as safe, except for those involving memory operations.
2025-02-24intrinsic-test: Print C++ float16_t in hexKajetan Puchalski-0/+12
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-24core-arch: Add NEON fp16 intrinsicsKajetan Puchalski-73/+15985
2025-02-24core-arch: Add Arm f16 vector typesKajetan Puchalski-102/+150
2025-02-24intrinsic-test: Support testing f16 intrinsicsKajetan Puchalski-11/+18
2025-02-24stdarch-verify: Support f16 vector typesKajetan Puchalski-0/+9
2025-02-24intrinsics_data: Add Neon fp16 intrinsics to arm_intrinsics.jsonKajetan Puchalski-12/+12427
2025-02-24fix - only use simd_shuffle! on intrinsics that require itJames Barford-Evans-75204/+21
2025-02-24tidy up proposed Dockerfile & run.shJames Barford-Evans-44/+45
2025-02-24update clang to clang-19James Barford-Evans-7/+7
2025-02-24fix up yaml & re-generateJames Barford-Evans-9818/+2405
2025-02-24remove print statment and correct target nameJames Barford-Evans-9/+7
2025-02-24fix test runner for armv7James Barford-Evans-25/+44
2025-02-24fix non-working intrinsicsJames Barford-Evans-1106/+1056
2025-02-24ensure correct linker gets chosenJames Barford-Evans-9/+16
2025-02-24Update CI to facilitate big endian at some pointJames Barford-Evans-15/+78
2025-02-24Update test runner to support big endianJames Barford-Evans-68/+150
2025-02-24Remove hand crafted intrinsics that are now generatedJames Barford-Evans-9382/+492
2025-02-24Update YAML & generated filesJames Barford-Evans-1410/+111590
2025-02-24Update generator to facilitate big endianJames Barford-Evans-105/+565
2025-02-23add newly-added s390x features to `is_s390x_feature_detected`Folkert de Vries-0/+70
2025-02-23mark riscv intrinsics as safeusamoi-228/+80
2025-02-23start using the newly added target features for testingFolkert de Vries-24/+43
2025-02-23use generic llvm intrinsics for roundingFolkert de Vries-76/+94
2025-02-23simplify the `vec_abs` implementationFolkert de Vries-15/+3
2025-02-23impl `VectorMax/Min` for `vector_float/double`Folkert de Vries-0/+21
these implementations work with just the vector target feature, but they only get a dedicated instruction in vector-enhancements-1
2025-02-23implement `vec_round` and friendsFolkert de Vries-0/+284
2025-02-23use `simd_neg` in the `impl crate::ops::Neg`Folkert de Vries-2/+1
on s390x I had some problems with the old implementation not combining with other instructions well, and using the purpose-built intrinsic is just clearer.
2025-02-23use `simd_shuffle` in the implementation of `vec_splat`Folkert de Vries-16/+7
2025-02-23use `simd_ctlz` instead of an externFolkert de Vries-10/+3
2025-02-23use `llvm.nearbyint.v4f32` for roundingFolkert de Vries-1/+1
see https://godbolt.org/z/Wx1KWezbe to see that these in fact generate equivalent assembly
2025-02-23use generic llvm intrinsics for min/max on powerpcFolkert de Vries-12/+12
2025-02-23fixbendn-24/+24
2025-02-19Update wasm sub sat intrinsics for LLVM 20Nikita Popov-4/+4
The wasm-specific intrinsics have been removed in https://github.com/llvm/llvm-project/pull/109405, use the generic ones instead.
2025-02-14Remove target_feature_11 feature which is now stableAmanieu d'Antras-1/+0
2025-02-14Update CI to FreeBSD 13.4Amanieu d'Antras-1/+1
The 13.3 image is no longer provided by Google Cloud.
2025-02-13add `vec_nand`, `vec_nor`, `vec_eqv`, `vec_andc` and `vec_orc`Folkert de Vries-4/+212
2025-02-13s390x vector: add `vec_and`, `vec_or` and `vec_xor`Folkert de Vries-2/+58
2025-02-13s390x vector: add `vec_cntlz`, `vec_cnttz` and `vec_popcnt`Folkert de Vries-0/+114
2025-02-13Add the keylocker intrinsicssayantn-22/+543
2025-02-13Add runtime feature detection for keylockersayantn-1/+17