Folkert de Vries
301bb69450
Merge pull request #1868 from folkertdev/gen-arm-remove-lazy-static
...
`stdarch-gen-arm`: remove `lazy_static`, use `LazyLock` instead
2025-07-11 23:44:24 +00:00
Sayantan Chakraborty
cd48abd478
Merge pull request #1858 from folkertdev/aarch-comparison-operators
...
aarch64: use `core::intrinsics::simd` for integer min/max
2025-07-11 23:07:13 +00:00
Folkert de Vries
d6feec7735
stdarch-gen-arm
: remove lazy_static
, use LazyLock
instead
2025-07-12 01:02:49 +02:00
Folkert de Vries
92c6a736ca
Merge pull request #1867 from hkBst/fix-test-neon
...
tests: neon is arm
2025-07-11 18:41:47 +00:00
Marijn Schouten
30556edc57
tests: neon is arm
2025-07-11 17:57:11 +00:00
Marijn Schouten
a8110072ff
thumbv7neon-unknown-linux-gnueabihf clippy fixes
2025-07-11 11:13:13 +00:00
Sayantan Chakraborty
bb7a446c75
Merge pull request #1857 from folkertdev/arm-dup
...
use `splat` for the aarch64/arm dup intrinsics
2025-07-10 22:40:03 +00:00
Folkert de Vries
6d1f9552bd
use intrinsics::simd
for integer max/min
2025-07-10 15:04:13 +02:00
Folkert de Vries
ef048d98ce
use splat
for the aarch64/arm dup intrinsics
2025-07-10 12:08:38 +02:00
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
Tsukasa OI
1bc289da3a
std_detect: RISC-V Linux: Ergonomic querying with riscv_hwprobe
...
Originally, we used an array of `riscv_hwprobe` directly and indexed
using raw numbers, making correspondence between the index and the query
key less obvious.
We also frequently used `out[idx].key != -1` to test whether the key is
supported by the `riscv_hwprobe` system call (on the Linux kernel
version we are testing) but we'd better to integrate with an operation
to retrieve the value.
This commit improves the ergonomics of feature querying by:
1. Utilizing macros to
a. enable indexing by identifier names and
b. encapsulate accesses to the `riscv_hwprobe` array to query and
2. New method `riscv_hwprobe::get()` returning `Option<u64>`,
integrating availability checking and value retrieval.
It also removes `has_ima` for now because it's redundant if we only need
to test for single base behavior.
2025-07-07 23:13:29 +00:00
kilavvy
816f029739
Update README.md
...
- Update ui.md
- Update type-alias-impl-trait.md
- Update README.md
2025-07-07 21:51:29 +00:00
Jakub Beránek
b535003608
Remove std-detect dev dependency in core_arch
2025-07-07 21:50:45 +00:00
okaneco
600497f3ed
Mark avx
broadcast intrinsics as safe
2025-07-07 21:50:01 +00:00
ltdk
e46d2207bd
Use simd_extract! macro instead of calling simd_extract directly
2025-07-07 21:48:32 +00:00
Amanieu d'Antras
8ae4e6a566
Update stabilization version of certain x86 intrinsics to 1.89
...
These were left as `CURRENT_RUSTC_VERSION` in the submodule.
2025-07-07 21:47:33 +00:00
Folkert de Vries
bb2d169700
use is_multiple_of
to check if an addr is aligned
2025-07-07 17:08:03 +00:00
Tsukasa OI
e101e383d0
std_detect: Tidying of slice length
...
We don't need to put the length of the `riscv_hwprobe` array into a
variable. This commit removes that variable and gives the length
of the output slice to the `__riscv_hwprobe` directly.
2025-07-03 11:26:07 +00:00
Folkert de Vries
359f986ddd
s390x: add feature detection for the z17 target features
2025-06-19 15:31:16 +00:00
Folkert de Vries
26b7dd4304
the generic_arg_infer
feature is now stable on nightly
2025-06-19 15:31:16 +00:00
satiscugcat
003516cd44
Test
2025-06-17 19:28:07 +00:00
satiscugcat
dcd35573f7
Ran cargo fmt, removed unexpected character
2025-06-17 19:28:07 +00:00
satiscugcat
fd1b9c72fd
Moved const fn outside unsafe block
2025-06-17 19:28:07 +00:00
satiscugcat
64dd3e4489
Changed implementation of _mm{256,512}_alignr_epi8 to match that of _mm_alignr_epi8 in ssse3.rs, also removed the import of the unreachable unchecked hint as it was no longer necessary
2025-06-17 19:28:07 +00:00
satiscugcat
48dafaa1c7
Changed implementation of bsrli in avx512.rs to match that of bslli, fixing a bug in the process.
2025-06-17 19:28:07 +00:00
satiscugcat
09475721a8
Changed the implementation of bsrli to match bslli in avx2 intrinsics
2025-06-17 19:28:07 +00:00
Aniket Mishra
1c5b2a659d
Fixing mistake in previous commit
2025-06-17 19:28:07 +00:00
Aniket Mishra
58db094d9e
Removal of redundant mod operation in _mm256_alignr_epi8
2025-06-17 19:28:07 +00:00
Aniket Mishra
8fb78f3f69
Fix in erroneous implementation of _mm256_bsrli_epi128
...
Fixing the issue mentioned in issue #1822 of rust-lang/stdarch.
2025-06-17 19:28:07 +00:00
Amanieu d'Antras
341889647e
Fixes to compile with latest Rust nightly
2025-06-11 14:11:23 +00:00
Laine Taffin Altman
7c2d2a3050
Darwin AArch64 detection update
...
Synchronizes the lists of detectable features with macOS 15.5 “Sequoia” as of June 9, 2025.
2025-06-09 23:25:18 +00:00
Trevor Gross
f0b25641fb
Remove compiler-builtins
from rustc-dep-of-std
dependencies
...
Since [1], this will come automatically from `rustc-std-workspace-core`
and the crates.io dependency should no longer be specified.
[1]: https://github.com/rust-lang/rust/pull/141993
2025-06-09 23:11:45 +00:00
Folkert de Vries
852d853a03
add s390x z17 target features
2025-06-09 22:45:55 +00:00
Amanieu d'Antras
68c0308cbe
Stabilize AVX512 intrinsics
...
FCP completed in tracking issue rust-lang/rust#111137
2025-06-02 19:45:44 +00:00
sayantn
7a9e01ad92
Fix incorrect intrinsic name in WASM
2025-06-02 19:45:08 +00:00
sayantn
77174a3f43
Fix incorrect intrinsic name in X86
2025-06-02 19:45:08 +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
3fe6f7616d
Mark Neon f16 vectors as unstable
2025-06-02 18:34:18 +00:00
Adam Gemmell
d2587282eb
Revert vbsl[q]_f16 to unstable
2025-06-02 18:34:18 +00:00
Tsukasa OI
bc4333545a
RISC-V: Linux 6.15 riscv_hwprobe
support
...
This commit adds support for `riscv_hwprobe` on the Linux kernel 6.15.
It adds feature detection of 8 extensions (4 of them are new in this).
Existing RISC-V Extensions:
1. "Zicntr"
2. "Zihpm"
3. "Zalrsc"
4. "Zaamo"
New RISC-V Extensions:
5. "Zicbom"
6. "Zfbfmin"
7. "Zvfbfmin"
8. "Zvfbfwma"
2025-06-01 22:58:42 +00:00
Folkert de Vries
52115419a3
use simd_bitreverse
on aarch64
2025-06-01 22:58:15 +00:00
Tsukasa OI
a78d64e36b
intrinsic-test: Reverse has_constraints()
condition
...
It seems it returns true when *no* constraints are found, opposite to
the expected behavior of the function name.
This commit reverses condition as the name suggests.
2025-05-31 11:27:16 +00:00
Tsukasa OI
e28cff7ddb
intrinsic-test: Use c_prefix
to generate type names
...
To make the type names to test correct, this commit replaces occurrences
of `rust_prefix` to `c_prefix` where necessary.
2025-05-31 11:27:16 +00:00