Commit Graph

92 Commits

Author SHA1 Message Date
Madhav Madhusoodanan
1d39fd0964 Chore: Added SupportedArchitectureTest trait which must be implemented for different architectures.
Next steps:
Move the existing ARM-specific implementation into one that fits well with this trait.
2025-05-27 23:27:38 +00:00
Madhav Madhusoodanan
d7edb3ea7c Feat: Moved majority of the code to arm module.
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-27 23:27:38 +00:00
Folkert de Vries
4f35c02aa0 in intrinsic-test, format f16 like C 2025-05-20 14:26:46 +00:00
James Barford-Evans
206c35a3a2 change how the test is run 2025-05-03 05:06:15 +00:00
James Barford-Evans
052293b092 add printouts for debugging 2025-05-03 05:06:15 +00:00
James Barford-Evans
89c9c8ba9c feat - FEAT_LUT neon instrinsics 2025-03-05 14:54:05 +00:00
James Barford-Evans
5ece6ac059 armV7 does not need faminmax flag 2025-03-04 15:50:04 +00:00
James Barford-Evans
de7f56ff35 Add aarch64_unstable_target_feature and relax instruction assertion 2025-03-04 15:50:04 +00:00
Kajetan Puchalski
3b58340073 intrinsic-test: Print C++ float16_t in hex
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-24 14:22:42 +00:00
Kajetan Puchalski
f4a31fd609 core-arch: Add NEON fp16 intrinsics 2025-02-24 14:22:42 +00:00
Kajetan Puchalski
ed7bf87061 intrinsic-test: Support testing f16 intrinsics 2025-02-24 14:22:42 +00:00
James Barford-Evans
b95fc44d25 fix up yaml & re-generate 2025-02-24 11:04:20 +00:00
James Barford-Evans
2ab46242f0 remove print statment and correct target name 2025-02-24 11:04:20 +00:00
James Barford-Evans
bec322f990 fix test runner for armv7 2025-02-24 11:04:20 +00:00
James Barford-Evans
f4974ae1ed ensure correct linker gets chosen 2025-02-24 11:04:20 +00:00
James Barford-Evans
7294081fda Update test runner to support big endian 2025-02-24 11:04:20 +00:00
Eric Huss
d9ec0157da Format with style edition 2024 2025-02-09 12:57:14 -08:00
Yuri Astrakhan
0760ed6ca7 Minor linting 2024-09-30 13:00:24 -04:00
Olasunkanmi Olayinka
da09b47285 feat: stabilization for stdarch_aarch64_crc32 2024-05-14 15:52:07 +02:00
Tony Arcieri
153bde14d1 Remove duplicated allow(dead_code) attribute
Accidentally added in #1552
2024-04-13 02:32:07 +02:00
Tony Arcieri
eab9f2d6d9 Stabilize AArch64 SHA3 intrinsics
See also: rust-lang/rust#117225
2024-04-12 14:08:47 +02:00
Luca Barbato
06495b6f45 intrinsic-test: Suppress a warning about dead code 2024-04-10 01:46:00 +02:00
Daniel Paoliello
a00a70eacb arm64ec 2024-03-13 22:30:36 +00:00
Eduardo Sánchez Muñoz
57479f8c9b Remove unneeded borrows 2023-11-18 20:28:46 -08:00
Jacob Bramley
211a00769c Improve intrinsic-test output formatting.
This change is simple, but makes the generated tests much easier to
follow (and debug).
2023-11-17 23:49:21 -08:00
Jacob Bramley
d2736197f7 Add --generate-only to intrinsic-test.
This is useful for debugging.
2023-11-17 23:49:21 -08:00
Jacob Bramley
7f2a7c09ef Fix intrinsic-test author handling.
CARGO_PKG_AUTHORS is :-separated.

Also add myself to intrinsic-test authors.
2023-11-01 14:33:48 +01:00
Jacob Bramley
05afebca4d Clean up intrinsic-test literals.
- 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-01 14:33:48 +01:00
Jacob Bramley
1970299926 Remove unnecessary unsafety in intrinsic tests.
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-11-01 14:33:48 +01:00
Amanieu d'Antras
ea27e5cfcb Fix various compilation errors 2023-10-29 20:39:50 +01:00
Amanieu d'Antras
b8ba57f310 Cleanup last uses of the stdsimd feature 2023-10-29 20:39:50 +01:00
Eduardo Sánchez Muñoz
eef659efee Bump clap to 4.4
Also define args with derive style instead of builder style.
2023-10-10 14:47:43 +01:00
Bruce Mitchener
5c4a950591 docs: Fix warnings and typos.
* Fix typo in HTML tag
* Mark some things with backticks to fix warnings about
  unescaped square brackets.
* Spell "initialize" correctly to fix typos.
2023-07-30 10:57:20 +01:00
Adam Gemmell
9fc8fd8375 Fix intrinsic-test rejecting the new instructions JSON field 2023-05-16 14:05:52 +02:00
Adam Gemmell
0125fa17c8 Remove ACLE submodule
This involves moving from the ACLE intrinsic definitions (which aren't
available for SVE at this point) to a JSON file. This was derived from
ARM's documentation[^1], and then relicensed under `MIT OR Apache-2.0` for
use in this repository.

[^1]: https://developer.arm.com/architectures/instruction-sets/intrinsics
2023-05-15 17:34:11 +02:00
Jacob Bramley
6e5b949ee7 Check and pass the ACLE licence on to generated tests.
The generated tests are transient, and aren't committed, so this is
primarily a safety check.
2023-01-23 18:58:28 +00:00
Yuri Astrakhan
81c221f058 Edition 2021, apply clippy::uninlined_format_args fix (#1339) 2022-10-25 20:17:23 +01:00
James McGregor
893bbdd717 Use load intrinsic and loop for intrinsic-test programs. Add --release flag back to intrinsic-test programs. 2022-08-22 23:46:30 +02:00
Frank Steffahn
df24e2a0f8 Fix a bunch of typos 2021-12-14 10:17:43 -08:00
Amanieu d'Antras
937978eeef Update the intrinsic checker tool (#1258) 2021-12-04 13:03:30 +00:00
Jamie Cunliffe
b04e740f24 Handle intrinsics with constraints in the test tool. (#1237) 2021-11-05 01:47:31 +00:00
Jamie Cunliffe
bd0e352338 Intrinsic test tool to compare neon intrinsics with C (#1170) 2021-09-09 19:16:45 +01:00