Commit Graph

50 Commits

Author SHA1 Message Date
Folkert de Vries
061a941adc remove unneeded cast 2025-07-08 10:27:34 +00:00
Folkert de Vries
92701fef20 shorten array literals 2025-07-08 10:27:34 +00:00
Folkert de Vries
323c646ec3 remote intermediate assignment 2025-07-08 10:27:34 +00:00
Folkert de Vries
82126a6eba fix whitespace in aarch64.spec.yml 2025-07-08 10:27:34 +00:00
sayantn
658b5c8f69 Use simd_funnel_sh{l,r} and simd_round_ties_even to remove uses of LLVM intrinsics 2025-07-07 23:30:02 +00:00
Marijn Schouten
fddd05bd7f some clippy fixes 2025-07-07 23:28:47 +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
d2587282eb Revert vbsl[q]_f16 to unstable 2025-06-02 18:34:18 +00:00
Folkert de Vries
52115419a3 use simd_bitreverse on aarch64 2025-06-01 22:58:15 +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
sayantn
cd63f26d86 Upgrade more intrinsics to the new version 2025-05-30 18:02:17 +00:00
James Barford-Evans
c65583c2b3 Pr feedback for instruction & hookup CI for aarch64_be 2025-05-03 05:06:15 +00:00
James Barford-Evans
ef92b59242 fix - aarch64_be tests 2025-05-03 05:06:15 +00:00
sayantn
400dab3df7 Fix stdarch-verify 2025-05-01 11:30:47 +00:00
James Barford-Evans
08b9752ee1 refactor - arm_shared intrinsics are now YAML, where possible use anchor
tags
2025-03-25 10:53:54 +00:00
James Barford-Evans
89c9c8ba9c feat - FEAT_LUT neon instrinsics 2025-03-05 14:54:05 +00:00
James Barford-Evans
520dfd5210 add unstable for faminmax 2025-03-04 15:50:04 +00:00
James Barford-Evans
61b9f9f9eb mark FEAT_FAMINMAX intrinsics as safe 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
James Barford-Evans
1088aae289 feat - FEAT_FAMINMAX neon intrinsics 2025-03-04 15:50:04 +00:00
usamoi
6c0068d93f fix compilation on armebv7r-none-eabi 2025-03-03 10:59:14 +00:00
usamoi
bcf796a34c mark arm intrinsics as safe 2025-02-27 22:02:52 +00:00
James Barford-Evans
fc83e49bb1 fix - neon type signed unsigned conversions 2025-02-26 12:15:15 +00:00
Kajetan Puchalski
f4a31fd609 core-arch: Add NEON fp16 intrinsics 2025-02-24 14:22:42 +00:00
James Barford-Evans
014fe0b9c1 fix - only use simd_shuffle! on intrinsics that require it 2025-02-24 11:04:20 +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
443d1cdbf0 fix non-working intrinsics 2025-02-24 11:04:20 +00:00
James Barford-Evans
3b93df83b2 Update YAML & generated files 2025-02-24 11:04:20 +00:00
James Barford-Evans
f64b610918 Update generator to facilitate 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
Eric Huss
699a872630 Update all crates to Rust 2024 2025-02-09 12:31:33 -08:00
Eric Huss
8a765059b0 Apply rust_2024_incompatible_pat 2025-02-09 10:04:29 -08:00
Eric Huss
64e9ca74a8 Apply missing_unsafe_on_extern 2025-02-09 09:12:30 -08:00
Jacob Bramley
bd598f3be3 Update stdarch-gen-arm path generation.
Fix both the instructions for how to regenerate each `generated.rs`, and
the logic for inferring the correct output path from each input
`.spec.yml`.
2025-02-03 21:15:41 +00:00
Jacob Bramley
81035da551 Fix usage of proc_macro2::Punct.
Restructure stdarch-gen-arm to use `Group`s with `Delimiter`s rather
than ad-hoc `Punct`s.

`Punct` should only be used to represent specific characters, and never
for bracket-like characters. Recent versions of `Punct::new` check this
with an assertion.

Note that there doesn't appear to be a way to emit a line break for
formatting reasons — `Punct::new('\n', ...)` no longer works — so this
also removes all blank lines between functions in the generated files.
2025-01-29 17:44:31 +00:00
James Barford-Evans
f283e449b1 PR feedback & pipeline 2025-01-16 14:29:19 +00:00
James Barford-Evans
28cb01cd6a Remove old ARM intrinsic generator 2025-01-16 14:29:19 +00:00
Yuri Astrakhan
196843736d Improve stdarch-gen-arm a bit
Minor nits in the code, like usage of `&Option<str>`
2024-09-28 19:50:10 -04:00
James Barford-Evans
4f6820bd1b fix rebase, remove the const_vector attribure
formatting

remove comma

put back square brackets
2024-08-21 01:18:59 +01:00
George Wort
2caf80145b Use #[rustc_intrinsic_const_vector_arg] for Neon intrinsics
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-08-21 01:18:59 +01:00
Scott McMurray
1bf1eff5cc Move entirely to array-based SIMD
See MCP#621

This tries to make as few changes as possible -- it keeps the `new` functions taking all the parameters, for example.
2024-08-08 23:47:25 +01:00
Yuri Astrakhan
dd87060bf3 Minor lints for stdarch-gen-arm/src/main.rs
Just a few minor cleanups
2024-07-25 15:41:21 +01:00
Daniel Paoliello
613efc499c Enable testing for AArch64 Windows 2024-04-19 17:21:08 +02:00
Tony Arcieri
eab9f2d6d9 Stabilize AArch64 SHA3 intrinsics
See also: rust-lang/rust#117225
2024-04-12 14:08:47 +02:00
Eduardo Sánchez Muñoz
b3da7c7b6f Fix clippy warnings in stdarch-gen 2024-04-10 13:10:58 +02:00
Daniel Paoliello
a00a70eacb arm64ec 2024-03-13 22:30:36 +00:00
WANG Rui
6ecbc8ebfb stdarch-gen: Move to stdarch-gen-arm 2024-02-28 08:43:52 +00:00