1821 Commits

Author SHA1 Message Date
Folkert de Vries
f8de93acbe
stdarch-test: error if only part of an instruction matched 2025-07-15 20:20:46 +02:00
Folkert de Vries
36340cd774
stdarch-test: misc cleanups 2025-07-15 20:20:46 +02:00
Folkert de Vries
7ff9bcfd1e
stdarch-test: use std::sync::LazyLock instead of lazy_static! 2025-07-15 20:20:46 +02:00
Amanieu d'Antras
2aaa584094
Merge pull request #1872 from folkertdev/aarch64-horizontal-add
`aarch64`: use `intrinsics::simd` for horizontal add and `abs`
2025-07-15 00:19:05 +00:00
Folkert de Vries
48c33b7748
aarch64: implement vabs using instrinsics::simd 2025-07-15 01:36:20 +02:00
Amanieu d'Antras
1a8c5324f0
Merge pull request #1869 from folkertdev/s390x-use-rounding-intrinsic
`s390x`: document the different rounding flavors
2025-07-14 23:28:37 +00:00
Amanieu d'Antras
7d10ff1a18
Merge pull request #1837 from heiher/loong32
loongarch: Add basic support for LoongArch32
2025-07-14 23:27:09 +00:00
Amanieu d'Antras
dd64d860be
Merge pull request #1871 from folkertdev/aarch64-float-min-max
`aarch64`: use more of `intrinsics::simd` for min/max
2025-07-14 23:24:32 +00:00
Amanieu d'Antras
decddf758a
Merge pull request #1852 from folkertdev/optimize-intrinsic-test
`intrinsic-test`: use runner also for rust
2025-07-14 23:18:04 +00:00
Folkert de Vries
74e2cb12d1
s390x: document the different rounding flavors 2025-07-14 17:22:38 +02:00
Folkert de Vries
42bcb0668e
aarch64: use simd_reduce_add_unordered 2025-07-12 21:50:51 +02:00
Folkert de Vries
17b8fc938d
aarch64: use simd_reduce_min and simd_reduce_max for integers 2025-07-12 18:12:09 +02:00
Folkert de Vries
750ddfd8d3
aarch64: use simd_reduce_min and simd_reduce_max for floats 2025-07-12 18:12:08 +02:00
Folkert de Vries
72afae5fd6
arm: use simd_fmin and simd_fmax 2025-07-12 18:12:08 +02:00
Folkert de Vries
441824cfca
aarch64: use simd_fmin and simd_fmax 2025-07-12 18:12:08 +02:00
Folkert de Vries
ca70466fa3
aarch64: use f16::min and f16::max 2025-07-12 18:12:08 +02:00
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
a90e00172b
run rust programs with the runner 2025-07-09 23:08:47 +02:00
Folkert de Vries
7fa999f9d2
add extra log messages to track setup 2025-07-08 21:49:01 +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
WANG Rui
d63e865a95 loongarch: Add basic support for LoongArch32 2025-06-28 11:28:32 +08: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