about summary refs log tree commit diff
path: root/library/stdarch
AgeCommit message (Collapse)AuthorLines
2025-05-31stdarch-test: Modernization of the coding styleTsukasa OI-1/+1
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-31stdarch-gen-loongarch: Modernization of the coding styleTsukasa OI-1/+1
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-31stdarch-gen-arm: Modernization of the coding styleTsukasa OI-170/+76
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-30RISC-V: Linux: Imply Zicntr from the IMA base behaviorTsukasa OI-6/+4
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-30Add back `std_detect_env_override`sayantn-2/+69
2025-05-30Upgrade more intrinsics to the new versionsayantn-24/+54
2025-05-30Use the new definition of `rdtscp` intrinsicsayantn-4/+6
- add `-Zverify-llvm-ir` in testsuite
2025-05-30Fix s390x intrinsicssayantn-9/+9
- 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-30Fix PPC shift and rotate intrinsicssayantn-9/+9
2025-05-30Fix `ldpte` and `lddir` signaturesayantn-4/+6
- The 2nd argument of the LLVM intrinsic should be IMMARG
2025-05-30mark gfni, vaes, vpclmulqdq intrinsics as safeusamoi-132/+165
2025-05-30cmpxchg16b: use atomic_compare_exchange from libcoreRalf Jung-28/+2
2025-05-30Check cfg on features that stage0 compiler supportTsukasa OI-20/+0
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-27fix: code cleanup and renamingMadhav Madhusoodanan-54/+57
2025-05-27fix: moved common code (that required no architecture-specificMadhav Madhusoodanan-268/+243
modifications) outside the IntrinsicDefinition trait
2025-05-27fix: moved f16 formatting code to common moduleMadhav Madhusoodanan-10/+16
2025-05-27Fix: removed BaseIntrinsicTypeDefinition + code cleanupMadhav Madhusoodanan-152/+49
1. Removed default implementation of traits that are compulsorily implemented 2. Replaced BaseIntrinsicTypeDefinition with Deref<Target = IntrinsicType>
2025-05-27feat: merging changes related to f16 formattingMadhav Madhusoodanan-7/+105
2025-05-27moved more code generation functionality to `common`Madhav Madhusoodanan-286/+301
2025-05-27fix: aarch64_be issues wthin compilationMadhav Madhusoodanan-8/+11
2025-05-27feat: made constraint commonMadhav Madhusoodanan-113/+78
2025-05-27chore: file renamingMadhav Madhusoodanan-25/+24
2025-05-27code cleanupMadhav Madhusoodanan-23/+23
2025-05-27Added dynamic dispatch for easier management of `<arch>ArchitectureTest` structsMadhav Madhusoodanan-13/+16
2025-05-27moved the C compilation commands into a struct for easier handlingMadhav Madhusoodanan-55/+193
2025-05-27Removed aarch64-be specific execution command for rust test filesMadhav Madhusoodanan-23/+8
2025-05-27renamed `a64_only` data member in `Intrinsic` to `arch_tags`Madhav Madhusoodanan-4/+4
2025-05-27Added a macro to simplify <Arch>IntrinsicType definitionsMadhav Madhusoodanan-42/+59
2025-05-27introduced generic types and code refactorMadhav Madhusoodanan-640/+808
2025-05-27Updated `Argument::from_c` to remove `ArgPrep` specific argumentMadhav Madhusoodanan-7/+31
2025-05-27added target field within `IntrinsicType` to perform target level checking ↵Madhav Madhusoodanan-12/+26
cleanly
2025-05-27test commit to check if `load_Values_c` can be dissociated from target logicMadhav Madhusoodanan-24/+32
2025-05-27rename struct for naming consistencyMadhav Madhusoodanan-4/+6
2025-05-27maintaining special list of targets which need different execution commandMadhav Madhusoodanan-5/+11
2025-05-27fixed `too many files open` issueMadhav Madhusoodanan-24/+36
2025-05-27chore: added match block in `src/main.rs`Madhav Madhusoodanan-2/+13
2025-05-27chore: code consolidationMadhav Madhusoodanan-162/+145
2025-05-27chore: separated common logic within file creations, compile_c, compile_rust ↵Madhav Madhusoodanan-397/+501
and compare_outputs
2025-05-27chore: Added `ProcessedCli` to extract the logic to pre-process CLI struct argsMadhav Madhusoodanan-608/+685
2025-05-27Chore: Added `SupportedArchitectureTest` trait which must be implemented for ↵Madhav Madhusoodanan-44/+60
different architectures. Next steps: Move the existing ARM-specific implementation into one that fits well with this trait.
2025-05-27Feat: Moved majority of the code to `arm` module.Madhav Madhusoodanan-767/+687
Reasoning: 1. Majority of code assumes the usage of `Intrinsic` and related types, which is derived from the JSON structure of the ARM intrinsics JSON source file 2. Further commits will start with extracting common parts of the code (eg: Create C/Rust file, Build C/Rust file, etc)
2025-05-26std_detect: RISC-V platform guide documentation (non-table part)Tsukasa OI-0/+15
This is a partial revert of a revert, making the commit e907456b2e10622ccd854a3bba8d02ce170b5dbb come around again for non-table part.
2025-05-21allow aarch64_softfloat_neon for backwards compatibilityRalf Jung-0/+13
2025-05-20use a tuple to return the condition codeFolkert de Vries-101/+48
2025-05-20in `intrinsic-test`, format f16 like CFolkert de Vries-1/+102
2025-05-20use the right load instructionFolkert de Vries-3/+3
2025-05-20`avx512_target_feature` is now stable on nightlyFolkert de Vries-3/+0
2025-05-17Correct rustc version for the stabilization of runtime detection of VEX ↵sayantn-5/+5
variants of avx512
2025-05-17Stabilize runtime detection of VEX variants of avx512sayantn-5/+5
2025-05-12Partially stabilize LoongArch target featuresWANG Rui-11/+10