1818 Commits

Author SHA1 Message Date
Amanieu d'Antras
341889647e Fixes to compile with latest Rust nightly 2025-06-11 14:11:23 +00:00
Laine Taffin Altman
7c2d2a3050 Darwin AArch64 detection update
Synchronizes the lists of detectable features with macOS 15.5 “Sequoia” as of June 9, 2025.
2025-06-09 23:25:18 +00:00
Trevor Gross
f0b25641fb Remove compiler-builtins from rustc-dep-of-std dependencies
Since [1], this will come automatically from `rustc-std-workspace-core`
and the crates.io dependency should no longer be specified.

[1]: https://github.com/rust-lang/rust/pull/141993
2025-06-09 23:11:45 +00:00
Folkert de Vries
852d853a03 add s390x z17 target features 2025-06-09 22:45:55 +00:00
Amanieu d'Antras
68c0308cbe Stabilize AVX512 intrinsics
FCP completed in tracking issue rust-lang/rust#111137
2025-06-02 19:45:44 +00:00
sayantn
7a9e01ad92 Fix incorrect intrinsic name in WASM 2025-06-02 19:45:08 +00:00
sayantn
77174a3f43 Fix incorrect intrinsic name in X86 2025-06-02 19:45:08 +00:00
sayantn
068cc378a6 Remove uses of deprecated type-specific pointers from ARM 2025-06-02 19:45:08 +00:00
sayantn
5d47941854 Use correct LLVM intrinsic for vmull and vaddv 2025-06-02 19:45:08 +00:00
sayantn
2665fe5729 Use rust intrinsics for more ARM intrinsics 2025-06-02 19:45:08 +00:00
Adam Gemmell
3fe6f7616d Mark Neon f16 vectors as unstable 2025-06-02 18:34:18 +00:00
Adam Gemmell
d2587282eb Revert vbsl[q]_f16 to unstable 2025-06-02 18:34:18 +00:00
Tsukasa OI
bc4333545a RISC-V: Linux 6.15 riscv_hwprobe support
This commit adds support for `riscv_hwprobe` on the Linux kernel 6.15.
It adds feature detection of 8 extensions (4 of them are new in this).

Existing RISC-V Extensions:

1.  "Zicntr"
2.  "Zihpm"
3.  "Zalrsc"
4.  "Zaamo"

New RISC-V Extensions:

5.  "Zicbom"
6.  "Zfbfmin"
7.  "Zvfbfmin"
8.  "Zvfbfwma"
2025-06-01 22:58:42 +00:00
Folkert de Vries
52115419a3 use simd_bitreverse on aarch64 2025-06-01 22:58:15 +00:00
Tsukasa OI
a78d64e36b intrinsic-test: Reverse has_constraints() condition
It seems it returns true when *no* constraints are found, opposite to
the expected behavior of the function name.

This commit reverses condition as the name suggests.
2025-05-31 11:27:16 +00:00
Tsukasa OI
e28cff7ddb intrinsic-test: Use c_prefix to generate type names
To make the type names to test correct, this commit replaces occurrences
of `rust_prefix` to `c_prefix` where necessary.
2025-05-31 11:27:16 +00:00
sayantn
1ca4587841 Stabilize sha512, sm3 and sm4 intrinsics and runtime detection 2025-05-31 09:40:04 +00:00
sayantn
ba641e58a2 Stabilize keylocker intrinsics and runtime detection 2025-05-31 09:39:49 +00:00
Tsukasa OI
26ff29e7e2 intrinsic-test: Modernization of the coding style
It modernizes the coding style of the crate intrinsic-test by fixing
Clippy warnings.

Clippy: rust version 1.89.0-nightly (6f6971078 2025-05-28)
Number of Fixed Warnings: 36/36
2025-05-31 09:38:49 +00:00
Tsukasa OI
d63fde993f stdarch-verify: Modernization of the coding style
It modernizes the coding style of the crate stdarch-verify by dealing
with Clippy warnings (allows clippy::collapsible_if but review may be
required for later changes).

Clippy: rust version 1.89.0-nightly (6f6971078 2025-05-28)
Number of Fixed Warnings: 4/4
2025-05-31 09:38:49 +00:00
Tsukasa OI
ee64b8501f stdarch-test: Modernization of the coding style
It modernizes the coding style of the crate stdarch-test by fixing
Clippy warnings.

Clippy: rust version 1.89.0-nightly (6f6971078 2025-05-28)
Number of Fixed Warnings: 1/1
2025-05-31 09:38:49 +00:00
Tsukasa OI
9610536476 stdarch-gen-loongarch: Modernization of the coding style
It modernizes the coding style of the crate stdarch-gen-loongarch by
fixing Clippy warnings.

Clippy: rust version 1.89.0-nightly (6f6971078 2025-05-28)
Number of Fixed Warnings: 1/1

Confirmed that the exact same code will be generated (note that,
generated.rs in the repository is *not* an exact output but some spaces
removed).
2025-05-31 09:38:49 +00:00
Tsukasa OI
7168d48c0b stdarch-gen-arm: Modernization of the coding style
It modernizes the coding style of the crate stdarch-gen-arm by fixing
Clippy warnings (except clippy::{collapsible_if,obfuscated_if_else} that
might make the program look worse as a result of "fixing" warnings).

Clippy: rust version 1.89.0-nightly (6f6971078 2025-05-28)
Number of Fixed Warnings: 84/84
Note:
Rust Analyzer double counts one of the Clippy warnings so it reduces
85 warnings (as reported by the Rust Analyzer).

This commit also applies similar technique used to resolve Clippy
warnings but also simplifies identifier name formatting and makes
reading easier.

Confirmed that the exact same code will be generated.
2025-05-31 09:38:49 +00:00
Tsukasa OI
7a074c14a1 RISC-V: Linux: Imply Zicntr from the IMA base behavior
As the author confirmed as in:
<https://lists.infradead.org/pipermail/linux-riscv/2025-May/070844.html>,
runtime detection of the Zicntr extension (as in the Linux kernel 6.15)
is currently (and technically) redundant on the current base IMA behavior
(although can be meaningful if new base behavior is added).

This commit implies the Zicntr extension from the base IMA behavior.
2025-05-30 21:09:38 +00:00
sayantn
5984f7c61d Add back std_detect_env_override 2025-05-30 18:04:16 +00:00
sayantn
cd63f26d86 Upgrade more intrinsics to the new version 2025-05-30 18:02:17 +00:00
sayantn
3de76d47a2 Use the new definition of rdtscp intrinsic
- add `-Zverify-llvm-ir` in testsuite
2025-05-30 18:02:17 +00:00
sayantn
28960ece72 Fix s390x intrinsics
- use correct intrinsic for unpackl
 - fix invalid use of `simd_{or,and,xor}` on floating point vectors
 - `vec_search_string` should require `vector-enhancements-2`
2025-05-30 18:02:17 +00:00
sayantn
7afd613941 Fix PPC shift and rotate intrinsics 2025-05-30 18:02:17 +00:00
sayantn
79654521ee Fix ldpte and lddir signature
- The 2nd argument of the LLVM intrinsic should be IMMARG
2025-05-30 18:02:17 +00:00
usamoi
a4a7184370 mark gfni, vaes, vpclmulqdq intrinsics as safe 2025-05-30 17:35:18 +00:00
Ralf Jung
9561e8e0a3 cmpxchg16b: use atomic_compare_exchange from libcore 2025-05-30 17:14:51 +00:00
Tsukasa OI
87b28d4885 Check cfg on features that stage0 compiler support
Since the bootstrap compiler of Rust is bumped to the commit
5dadfd5c417f0b66816cb7ca662859e2c8751fb3 (version 1.88.0-beta.3 2025-05-11),
some features should be safe to enable cfg checks.

RISC-V Features:

*   "zicsr"
*   "zicntr"
*   "zihpm"
*   "zifencei"
*   "zihintntl"
*   "zihintpause"
*   "zimop"
*   "zicboz"
*   "zicond"
*   "ztso"
*   "zfa"
*   "zca"
*   "zcb"
*   "zcmop"
*   "b"

x86 Features:

*   "amx-avx512"
*   "amx-fp8"
*   "amx-movrs"
*   "amx-tf32"
*   "amx-transpose"
2025-05-30 16:30:09 +00:00
Madhav Madhusoodanan
3e74af11f3 fix: code cleanup and renaming 2025-05-27 23:27:38 +00:00
Madhav Madhusoodanan
d8469bea64 fix: moved common code (that required no architecture-specific
modifications) outside the IntrinsicDefinition trait
2025-05-27 23:27:38 +00:00
Madhav Madhusoodanan
54e277cdd5 fix: moved f16 formatting code to common module 2025-05-27 23:27:38 +00:00
Madhav Madhusoodanan
57006ad521 Fix: removed BaseIntrinsicTypeDefinition + code cleanup
1. Removed default implementation of traits that are compulsorily
implemented
2. Replaced BaseIntrinsicTypeDefinition with Deref<Target =
IntrinsicType>
2025-05-27 23:27:38 +00:00
Madhav Madhusoodanan
6de5b7bef8 feat: merging changes related to f16 formatting 2025-05-27 23:27:38 +00:00
Madhav Madhusoodanan
2a5e678a84 moved more code generation functionality to common 2025-05-27 23:27:38 +00:00
Madhav Madhusoodanan
c01c6ceb87 fix: aarch64_be issues wthin compilation 2025-05-27 23:27:38 +00:00
Madhav Madhusoodanan
9b4768921f feat: made constraint common 2025-05-27 23:27:38 +00:00
Madhav Madhusoodanan
86f23a6c2a chore: file renaming 2025-05-27 23:27:38 +00:00
Madhav Madhusoodanan
a416e3ea11 code cleanup 2025-05-27 23:27:38 +00:00
Madhav Madhusoodanan
8d0141ee19 Added dynamic dispatch for easier management of <arch>ArchitectureTest structs 2025-05-27 23:27:38 +00:00
Madhav Madhusoodanan
587d8cebda moved the C compilation commands into a struct for easier handling 2025-05-27 23:27:38 +00:00
Madhav Madhusoodanan
445137ad13 Removed aarch64-be specific execution command for rust test files 2025-05-27 23:27:38 +00:00
Madhav Madhusoodanan
add7b2e402 renamed a64_only data member in Intrinsic to arch_tags 2025-05-27 23:27:38 +00:00
Madhav Madhusoodanan
f05ffd4a0b Added a macro to simplify <Arch>IntrinsicType definitions 2025-05-27 23:27:38 +00:00
Madhav Madhusoodanan
57c357591e introduced generic types and code refactor 2025-05-27 23:27:38 +00:00
Madhav Madhusoodanan
a993b4427c Updated Argument::from_c to remove ArgPrep specific argument 2025-05-27 23:27:38 +00:00