about summary refs log tree commit diff
path: root/library/stdarch/crates/intrinsic-test
AgeCommit message (Collapse)AuthorLines
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-20in `intrinsic-test`, format f16 like CFolkert de Vries-1/+102
2025-05-03change how the test is runJames Barford-Evans-19/+7
2025-05-03add printouts for debuggingJames Barford-Evans-3/+10
2025-03-05feat - FEAT_LUT neon instrinsicsJames Barford-Evans-1/+27
2025-03-04armV7 does not need faminmax flagJames Barford-Evans-1/+0
2025-03-04Add faminmax intrinsics to the skip listJames Barford-Evans-0/+6
2025-03-04Add aarch64_unstable_target_feature and relax instruction assertionJames Barford-Evans-1/+2
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-2/+137
2025-02-24intrinsic-test: Support testing f16 intrinsicsKajetan Puchalski-11/+18
2025-02-24fix up yaml & re-generateJames Barford-Evans-1/+3
2025-02-24remove print statment and correct target nameJames Barford-Evans-2/+1
2025-02-24fix test runner for armv7James Barford-Evans-25/+44
2025-02-24ensure correct linker gets chosenJames Barford-Evans-9/+16
2025-02-24Update test runner to support big endianJames Barford-Evans-68/+150
2025-02-09Format with style edition 2024Eric Huss-2/+2
2025-02-09Update all crates to Rust 2024Eric Huss-1/+1
2025-02-03Consistently use the latest itertools.Jacob Bramley-1/+1
2024-09-30Minor lintingYuri Astrakhan-13/+7
2024-08-21Use #[rustc_intrinsic_const_vector_arg] for Neon intrinsicsGeorge Wort-45/+2
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-05-14feat: stabilization for stdarch_aarch64_crc32Olasunkanmi Olayinka-1/+1
2024-04-13Remove duplicated `allow(dead_code)` attributeTony Arcieri-1/+0
Accidentally added in #1552
2024-04-12Stabilize AArch64 SHA3 intrinsicsTony Arcieri-0/+1
See also: rust-lang/rust#117225
2024-04-10intrinsic-test: Suppress a warning about dead codeLuca Barbato-0/+1
2024-03-13arm64ecDaniel Paoliello-6/+6
2024-01-10Add missing ARM-v7A CRC intrinsics (#1515)eupn-2/+0
* Move aarch64 crc into arm shared module * Add missing 32-bit arm crc intrinsics On 32-bit ARM, this intrinsic emits two instructions and splits its 64-bit input parameter between them. https://gcc.gnu.org/onlinedocs/gcc-4.9.4/gcc/ARM-ACLE-Intrinsics.html
2023-11-30Revert "Work around CI failures for the ARM target"Amanieu d'Antras-20/+0
This reverts commit 5a748ec5fabcaee29351ac3c90eee4f3e16964e7.
2023-11-30Work around CI failures for the ARM targetAmanieu d'Antras-0/+20
These seem to have been introduced by recent LLVM changes. * The instruction limit for vld*/vst* has been raised. This is not a significant issue, it is only used for testing. * vld*/vst* instructions are generated with overly strict alignments: https://github.com/rust-lang/stdarch/issues/1217 * vtbl/vtbx instrinsics are failing intrinsic-test for unknown reasons.
2023-11-18Remove unneeded borrowsEduardo Sánchez Muñoz-3/+3
2023-11-17Improve intrinsic-test output formatting.Jacob Bramley-63/+132
This change is simple, but makes the generated tests much easier to follow (and debug).
2023-11-17Add --generate-only to intrinsic-test.Jacob Bramley-12/+34
This is useful for debugging.
2023-11-01Fix intrinsic-test author handling.Jacob Bramley-3/+6
CARGO_PKG_AUTHORS is :-separated. Also add myself to intrinsic-test authors.
2023-11-01Clean up intrinsic-test literals.Jacob Bramley-24/+33
- Ensure that C literals don't rely on undefined overflow behaviour. - We don't need to use 'as' casts, so remove them. - We weren't using allow(overflowing_literals), so remove it. - Format FP bit values as hex. This simplifies the test input initialisers in the generated files, making them shorter and easier to debug.
2023-11-01Remove unnecessary unsafety in intrinsic tests.Jacob Bramley-64/+79
This fixes "unnecessary `unsafe` block" warnings encountered when building the generated rust_programs. The only pattern that actually required `unsafe` was transmuting bit patterns into floats. This patch uses the safe `from_bits` instead, but because that isn't const, we have to make them local let-bound variables.
2023-10-31Drop old link from intrinsic-test README.Jacob Bramley-4/+0
Now, the README approximately matches the `--help` output.