about summary refs log tree commit diff
path: root/library/stdarch
AgeCommit message (Collapse)AuthorLines
2024-09-22Add space in order to fix rendering of Rounding optionsMartin Liska-2570/+2570
2024-09-22Make documentation about `__mm_$op_ps` more preciseMartin Liska-4/+8
2024-09-22Provide link for rounding parameters - SSEMartin Liska-96/+20
2024-09-22Provide link for rounding parametersMartin Liska-2540/+2540
2024-09-22Change markdown for ROUNDING params in f16c.rsMartin Liska-10/+10
2024-09-22Ignore XSTATE_BV when comparing XTEST XsaveAreaMartin Liska-2/+8
2024-09-22Fixes the `shrd` bugSayantan Chakraborty-380/+171
2024-09-18std_detect: Add sme-b16b16 as an explicit aarch64 target featureKajetan Puchalski-7/+11
LLVM 20 split out what used to be called b16b16 and correspond to aarch64 FEAT_SVE_B16B16 into sve-b16b16 and sme-b16b16. Add sme-b16b16 as an explicit feature and update the detection accordingly.
2024-09-18Use C string literalTaiki Endo-40/+39
2024-09-18std_detect: Fix link in mips.rsTaiki Endo-1/+1
2024-09-18std_detect: Use elf_aux_info on FreeBSDTaiki Endo-60/+27
2024-09-14Enable feature detection on all Apple/Darwin targetsMads Marquart-10/+12
Tested in the simulator and on the device I had lying around, a 1st generation iPad Mini (which isn't Aarch64, but shows that the `sysctlbyname` calls still work even there, even if they return false). `sysctlbyname` _should_ be safe to use without causing rejections from the app store, as its usage is documented in: https://developer.apple.com/documentation/kernel/1387446-sysctlbyname/determining_instruction_set_characteristics Also, the standard library will use these soon anyhow, so this shouldn't affect the situation: https://github.com/rust-lang/rust/pull/129019
2024-09-14Add Mac Catalyst to CIMads Marquart-1/+6
2024-09-14Remove unnecessary SDKROOT/MACOS_DEPLOYMENT_TARGET setup in CIMads Marquart-5/+0
rustc will figure these out by itself.
2024-08-28simd_extract, simd_insert: use absolute path in macroRalf Jung-8/+7
2024-08-28simd_shuffle: pass the idx argument as a vectorRalf Jung-1/+9
2024-08-27Fix test verification and allow for generic types in intrinsicsdheaton-arm-9/+17
2024-08-27Add MTE intrinsicsdheaton-arm-0/+175
Adds intrinsic functions to `core_arch::aarch64` for MTE, as per the ACLE: - __arm_mte_create_random_tag - __arm_mte_increment_tag - __arm_mte_exclude_tag - __arm_mte_set_tag - __arm_mte_get_tag - __arm_mte_ptrdiff These are unavailable without the `mte` target feature.
2024-08-21fix rebase, remove the const_vector attribureJames Barford-Evans-98/+50
formatting remove comma put back square brackets
2024-08-21Use #[rustc_intrinsic_const_vector_arg] for Neon intrinsicsGeorge Wort-97/+102
This allows the constant vector to be passed directly to LLVM which fixes a few issues where the LLVM intrinsic expects a constant vector.
2024-08-19NVPTX: Add f16 SIMD intrinsicsKjetil Kjeka-0/+148
2024-08-19Avoid legacy numeric constantsEduardo Sánchez Muñoz-37/+33
2024-08-19Add loongarch64-unknown-linux-gnu to CIEduardo Sánchez Muñoz-1/+24
2024-08-17Use full path to refer `simd_shuffle` intrinsic from `simd_shuffle!` macroEduardo Sánchez Muñoz-8/+2
Avoids needing to import `crate::intrinsics::simd::simd_shuffle` in each file where `simd_shuffle!` is used and fixes loongarch64
2024-08-17Remove `#![feature(asm_const)]`Eduardo Sánchez Muñoz-1/+0
2024-08-16Clarify the layout documentation for x86 SIMD types.Luca Versari-30/+75
2024-08-14Document the layout of x86 SIMD types.Luca Versari-0/+45
2024-08-08Keep `Debug` the sameScott McMurray-121/+94
This ended up way more annoying than expected, because I needed to refactor the `types!` macro to separate out the stability attributes to put those on the `Debug` impl without also copying all the `#[doc]`s. But I like how it came out in the end, reducing duplication in the macro invocations. But without it all the C-consistency tests fail.
2024-08-08Move entirely to array-based SIMDScott McMurray-713/+635
See MCP#621 This tries to make as few changes as possible -- it keeps the `new` functions taking all the parameters, for example.
2024-08-04Remove the `dummy` functionSayantan Chakraborty-12/+0
2024-08-03Fix `_mm_stream_si64`Sayantan Chakraborty-1/+14
2024-08-03Fix markdown list in docsJonas Fierlings-3/+2
2024-08-03initial commit to enable amxziyizhang-1-18/+618
AMX Intrinsics: amx-tile: - _tile_loadconfig - _tile_storeconfig - _tile_loadd - _tile_release - _tile_stored - _tile_stream_loadd - _tile_zero amx-int8: - _tile_dpbssd - _tile_dpbsud - _tile_dpbusd - _tile_dpbuud amx-bf16: - _tile_dpbf16ps amx-fp16 - _tile_dpfp16ps amx-complex - _tile_cmmimfp16ps - _tile_cmmrlfp16ps
2024-07-26Update Intrinsics List to v3.6.9sayantn-162826/+142462
Add `#[inline]` to avx512ifma intrinsics Fix the test equality. Remove the stability attributes in simd types and test functions
2024-07-26AVX512FP16 Part 9: Remaining avx512fp16 and avxneconvertsayantn-43/+377
2024-07-26AVX512FP16 Part 8: Convert from f16sayantn-201/+5040
2024-07-26AVX512FP16 Part 7: Convert to f16sayantn-116/+3193
2024-07-26AVX512FP16 Part 6: Remainingsayantn-35/+1126
`cmpph`, `fpclass`, reduce, `blend`, `permutex`
2024-07-26AVX512FP16 Part 5: FP-Supportsayantn-102/+3297
`getexp`, `getmant`, `roundscale`, `scalef`, `reduce`
2024-07-26AVX512FP16 Part 4: Math functionssayantn-78/+2069
Reciprocal, RSqrt, Sqrt, Max, Min
2024-07-26AVX512FP16 Part 3: FMAsayantn-220/+6160
2024-07-26AVX512_FP16 Part 2: Complex Multiplicationsayantn-77/+2272
2024-07-26AVX512FP16 Part 1sayantn-149/+4008
Add-Sub-Mul-Div, Load-Store-Move, `comi`, `set`
2024-07-26AVX512FP16 Part 0: Typessayantn-3/+208
2024-07-25Move Wasm's relaxed SIMD to Rust v1.82daxpedda-29/+29
2024-07-25Stabilize `simd_x86_updates`sayantn-13/+13
2024-07-25Minor lints for stdarch-gen-arm/src/main.rsYuri Astrakhan-26/+14
Just a few minor cleanups
2024-07-25std_detect: Update aarch64 feature dependencies to LLVM upstreamKajetan Puchalski-26/+29
Feature dependencies for newer aarch64 fetaures differ between LLVM 18 in the Rust tree and upstream LLVM 19. This commit updates those dependencies to reflect new LLVM upstream changes.
2024-07-25std_detect: Sort aarch64 featuresKajetan Puchalski-153/+153
Alphabetically sort the list of aarch64 features. The list was getting a bit too chaotic so it was worth properly sorting.
2024-07-25std_detect: Add aarch64/linux/LLVM SME featuresKajetan Puchalski-0/+137
Add detection for SME features supported by LLVM and the Linux Kernel. Include commented-out hwcap fields for features supported by Linux but not by LLVM. This commit adds feature detection for the following features: - FEAT_SME - FEAT_SME_F16F16 - FEAT_SME_F64F64 - FEAT_SME_F8F16 - FEAT_SME_F8F32 - FEAT_SME_FA64 - FEAT_SME_I16I64 - FEAT_SME_LUTv2 - FEAT_SME2 - FEAT_SME2p1 - FEAT_SSVE_FP8DOT2 - FEAT_SSVE_FP8DOT4 - FEAT_SSVE_FP8FMA Linux features: https://github.com/torvalds/linux/blob/master/arch/arm64/include/uapi/asm/hwcap.h LLVM features: llvm-project/llvm/lib/Target/AArch64/AArch64.td