rust/library/stdarch
Kajetan Puchalski dfc5dfc8ef std_detect: Add aarch64/linux/LLVM features
Add detection for various aarch64 CPU features already supported by LLVM and Linux.

This commit adds feature detection for the following features:

- FEAT_CSSC
- FEAT_ECV
- FEAT_FAMINMAX
- FEAT_FLAGM2
- FEAT_FP8
- FEAT_FP8DOT2
- FEAT_FP8DOT4
- FEAT_FP8FMA
- FEAT_HBC
- FEAT_LSE128
- FEAT_LUT
- FEAT_MOPS
- FEAT_LRCPC3
- FEAT_SVE_B16B16
- FEAT_SVE2p1
- FEAT_WFxT

It also adds feature detection for FEAT_FPMR. It is somewhat of a
special case because FPMR only exists as a feature in LLVM 18, it has
been removed from the LLVM upstream. On that account the intention is
for it to be detectable at runtime through stdarch but not have a
corresponding compile-time Rust target feature.

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
2024-07-25 15:18:37 +01:00
..
.github/workflows Updates SDE 2024-06-30 21:45:56 +02:00
ci Added support for AMD verification 2024-06-30 21:45:56 +02:00
crates std_detect: Add aarch64/linux/LLVM features 2024-07-25 15:18:37 +01:00
examples Fix std_detect not being an unstable crate 2024-01-05 11:14:38 +00:00
intrinsics_data Use arm_intrinsics.json in stdarch-verify 2023-05-15 17:34:11 +02:00
.cirrus.yml Update FreeBSD 13 CI image 2024-03-06 19:12:01 +00:00
.gitignore Add intrinsic code generator for LoongArch 2024-02-28 08:43:52 +00:00
.gitmodules Remove ACLE submodule 2023-05-15 17:34:11 +02:00
Cargo.toml Add intrinsic code generator for LoongArch 2024-02-28 08:43:52 +00:00
CONTRIBUTING.md fix target name in contributing.md 2022-08-20 22:19:34 +02:00
LICENSE-APACHE Add license files 2017-09-25 12:43:06 -07:00
LICENSE-MIT Add license files 2017-09-25 12:43:06 -07:00
README.md Use SPDX license format and update packed_simd crate link (#1297) 2022-03-17 10:55:51 +00:00
rustfmt.toml Update the intrinsic checker tool (#1258) 2021-12-04 13:03:30 +00:00
triagebot.toml Add ping groups from Rust to stdarch 2024-02-23 22:05:35 +00:00
vendor.yml Update repo name 2019-07-09 01:37:07 +02:00

stdarch - Rust's standard library SIMD components

Actions Status

Crates

This repository contains two main crates:

  • core_arch implements core::arch - Rust's core library architecture-specific intrinsics, and

  • std_detect implements std::detect - Rust's standard library run-time CPU feature detection.

The std::simd component now lives in the packed_simd_2 crate.