Folkert de Vries
1fab09a95c
use simd_ctlz instead of an extern
2025-02-23 23:21:06 +00:00
Folkert de Vries
ac92d7d006
use llvm.nearbyint.v4f32 for rounding
...
see https://godbolt.org/z/Wx1KWezbe to see that these in fact generate equivalent assembly
2025-02-23 23:21:06 +00:00
Folkert de Vries
f6d53388e6
use generic llvm intrinsics for min/max on powerpc
2025-02-23 23:21:06 +00:00
bendn
ae8b7b38aa
fix
2025-02-23 23:15:57 +00:00
Nikita Popov
96c609e5f7
Update wasm sub sat intrinsics for LLVM 20
...
The wasm-specific intrinsics have been removed in
https://github.com/llvm/llvm-project/pull/109405 , use the generic
ones instead.
2025-02-19 17:04:36 +00:00
Amanieu d'Antras
3107e07899
Remove target_feature_11 feature which is now stable
2025-02-14 16:40:26 +00:00
Folkert de Vries
d28b3b3eea
add vec_nand, vec_nor, vec_eqv, vec_andc and vec_orc
2025-02-13 10:55:13 +00:00
Folkert de Vries
8e6208b18f
s390x vector: add vec_and, vec_or and vec_xor
2025-02-13 10:55:13 +00:00
Folkert de Vries
507a298ba9
s390x vector: add vec_cntlz, vec_cnttz and vec_popcnt
2025-02-13 10:55:13 +00:00
sayantn
46fbfe9b09
Add the keylocker intrinsics
2025-02-13 10:54:53 +00:00
sayantn
2a6953d38a
Add runtime feature detection for keylocker
2025-02-13 10:54:53 +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
1d091e3aaa
Update documentation for unsafe_op_in_unsafe_fn
...
For the documentation side, we probably want to show the Rust 2024
style.
2025-02-09 12:31:33 -08:00
Eric Huss
844a604bf0
Allow unsafe_op_in_unsafe_fn
...
Because stdarch has a really large number of unsafe functions with
single-line calls, `unsafe_op_in_unsafe_fn` would end up adding a lot of
noise, so for now we will allow it to migrate to 2024.
2025-02-09 12:31:30 -08:00
Eric Huss
2d74744885
Apply unsafe_attr_outside_unsafe
2025-02-09 10:53:07 -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
Folkert de Vries
fe2acd4184
some doc changes
2025-02-07 22:42:27 +00:00
Folkert de Vries
6adb9dec75
add vec_splats for s390x
2025-02-07 22:42:27 +00:00
Folkert de Vries
55d37bd777
add vec_abs for s390x
2025-02-07 22:42:27 +00:00
Folkert de Vries
9be5f9b5f6
add vec_max and vec_min for s390x
2025-02-07 22:42:27 +00:00
Folkert de Vries
950229cd7d
add vec_sub and vec_mul for s390x
2025-02-07 22:42:27 +00:00
Folkert de Vries
7f6d35d196
implement VectorAdd for s390x
2025-02-07 22:42:27 +00:00
sayantn
c6f32bca9d
Small refactorings in x86-intel.rs
...
remove `PRINT_MISSING_LISTS` as it was unused
rename `PRINT_MISSING_LISTS_MARKDOWN`
2025-02-07 22:09:48 +00:00
sayantn
efb7cf80b9
Move all x86 std_detect tests to x86-specific.rs to reduce duplication
2025-02-07 22:09:48 +00:00
sayantn
e6ea3dc21c
Remove CSR accessing tests as they are immediate UB
2025-02-07 22:09:48 +00:00
sayantn
b7036c26db
Fix names of several tests
...
Rewrote `_mm_cvtps_ph` and `_mm_cvtph_ps` tests
2025-02-07 22:09:48 +00:00
Jacob Bramley
039f322e18
Consistently use the latest itertools.
2025-02-03 21:15:41 +00: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
Folkert de Vries
96576234db
implement VectorAdd for s390x
2025-01-20 14:48:56 +00:00
Folkert de Vries
48bbd53d19
basic infra for s390x vector intrinsics
2025-01-20 14:48:56 +00:00
Folkert de Vries
b5babcfac2
add is_s390x_feature_detected
2025-01-16 20:39:13 +00:00
James Barford-Evans
a1be13aeeb
refactor - remove Sized as it is implicit
2025-01-16 14:29:19 +00:00
James Barford-Evans
ebd0c622cd
remove - relaxing if size
2025-01-16 14:29:19 +00:00
James Barford-Evans
56f7baadc9
fix: always inline signed conversions
2025-01-16 14:29:19 +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
James Barford-Evans
57b6779050
Generator supports creating neon instructions from YAML
2025-01-16 14:29:19 +00:00
Luca Vizzarro
03e4f2636e
Generator for SVE intrinsics.
...
Co-authored-by: Jamie Cunliffe <Jamie.Cunliffe@arm.com>
Co-authored-by: Jacob Bramley <jacob.bramley@arm.com>
Co-authored-by: Luca Vizzarro <Luca.Vizzarro@arm.com>
Co-authored-by: Adam Gemmell <adam.gemmell@arm.com>
2025-01-16 14:29:19 +00:00
Adam Gemmell
9e24b307df
Add SVE support to stdarch-verify
...
Co-authored-by: Jamie Cunliffe <Jamie.Cunliffe@arm.com>
Co-authored-by: Jacob Bramley <jacob.bramley@arm.com>
Co-authored-by: Luca Vizzarro <Luca.Vizzarro@arm.com>
2025-01-16 14:29:19 +00:00
Satoshi Tanda
17422c6089
Fix typo and prettify comment
2024-12-29 10:44:14 +00:00
sayantn
a19239f298
Remove 2 unused intrinsics
2024-12-27 11:23:44 +00:00
sayantn
4da1071b68
Remove v64.rs as it was superseded by simd.rs
2024-12-27 11:23:44 +00:00
sayantn
3a3146a56c
Refactor the as_* functions in x86
2024-12-27 11:23:44 +00:00
WANG Rui
75ec201457
core_arch: Add LoongArch basic intrinsics
2024-12-23 22:28:34 +00:00
Laine Taffin Altman
dbdcef3f3c
Expand feature detection on AArch64 Darwin
...
This reflects the currently available set of sysctl values as of macOS 15, on 2024-12-21. Features not (yet) exposed by `is_aarch64_feature_detected` have been left in comments to document their existence for the future.
2024-12-23 10:54:10 +00:00
sayantn
96154fbde8
Fix _mm*_mask_cmp_ep*_mask bug with IMM3=7
2024-12-21 12:02:41 +00:00
daxpedda
9ea6010f16
Fix Wasm f*_sqrt() doc
2024-12-21 12:02:28 +00:00