Folkert de Vries
244fc326f2
Merge pull request #2026 from folkertdev/neon-vpadd
...
use `intrinsics::simd` for vpadd
2026-02-18 16:18:15 +00:00
Folkert de Vries
6671f95770
use intrinsics::simd for vpadd
2026-02-18 16:54:47 +01:00
Sayantan Chakraborty
9ce60760aa
Merge pull request #2028 from folkertdev/f64-vld
...
use `read_unaligned` for f64 `vld` and `vldq`
2026-02-18 15:50:38 +00:00
Folkert de Vries
57a1974398
neon ld1
2026-02-18 10:03:31 +01:00
Folkert de Vries
caff332902
neon ld4
2026-02-18 10:03:31 +01:00
Folkert de Vries
15e68a188c
neon ld3
2026-02-18 10:03:31 +01:00
Folkert de Vries
0168f07955
use intrinsics::simd for aarch64 deinterleaving loads
2026-02-18 10:03:31 +01:00
Folkert de Vries
dba288e0bd
lock stdout when printing a intrinsic test failure
2026-02-18 10:03:31 +01:00
Folkert de Vries
7a43a6e73d
Merge pull request #2029 from folkertdev/interleaving-load-store-roundtrip
...
test interleaving load/store roundtrip
2026-02-18 08:46:24 +00:00
Sayantan Chakraborty
33a9d03873
Merge pull request #2023 from folkertdev/neon-vmull
...
use `intrinsics::simd` for `vmull_*`
2026-02-17 22:06:34 +00:00
Folkert de Vries
061b5225f4
fix interleaving read/write not roundtripping on aarch64_be
2026-02-17 19:46:49 +01:00
Folkert de Vries
72adcde31d
test interleaving load/store roundtrip
2026-02-17 17:22:33 +01:00
Folkert de Vries
f3ff080c68
use read_unaligned for f64 vld and vldq
2026-02-17 11:34:02 +01:00
Folkert de Vries
7ce33416af
use intrinsics::simd for vmull_*
2026-02-17 00:58:11 +01:00
The rustc-josh-sync Cronjob Bot
6bbe5cc783
Merge ref '139651428df8' from rust-lang/rust
...
Pull recent changes from https://github.com/rust-lang/rust via Josh.
Upstream ref: rust-lang/rust@139651428d
Filtered ref: rust-lang/stdarch@b1e0e474e1
Upstream diff: https://github.com/rust-lang/rust/compare/db3e99bbab28c6ca778b13222becdea54533d908...139651428df86cf88443295542c12ea617cbb587
This merge was created using https://github.com/rust-lang/josh-sync .
2026-02-16 04:50:28 +00:00
The rustc-josh-sync Cronjob Bot
73cb0682f5
Prepare for merging from rust-lang/rust
...
This updates the rust-version file to 139651428d .
2026-02-16 04:48:11 +00:00
Folkert de Vries
022d24b34c
Merge pull request #1999 from androm3da/main
...
arch: Add Hexagon HVX instructions
2026-02-15 19:01:37 +00:00
Brian Cain
76c041c19a
stdarch-gen-hexagon: Fix formatting
2026-02-15 12:18:19 -06:00
Brian Cain
f5161526e6
core_arch: Add tracking issue to hexagon module declaration
...
Update the unstable attribute for the hexagon module to use the
proper tracking issue number (151523) instead of "none".
2026-02-15 12:13:00 -06:00
Brian Cain
0e08703130
stdarch-gen-hexagon: Use checked-in header file instead of downloading
...
Check in the LLVM HVX header file (hvx_hexagon_protos.h) from LLVM
22.1.0-rc1 and modify the generator to read from this local copy
instead of downloading it at runtime. This removes the ureq dependency
and makes the build more reproducible.
2026-02-15 11:58:03 -06:00
Brian Cain
d6b2cb08a8
examples: Make gaussian build on all targets
...
Restructure gaussian.rs to follow the pattern used by hex.rs and
connect5.rs.
Remove the 'hexagon' feature gate.
2026-02-15 07:10:55 -06:00
Brian Cain
be9dc99118
examples: Use HvxVectorPair for precise Gaussian blur arithmetic
...
Update the Gaussian 3x3 blur example to use HvxVectorPair widening
operations. This demonstrates that HvxVectorPair intrinsics now work
correctly with the updated nightly.
- Add #![cfg(target_arch = "hexagon")] crate-level gate
2026-02-15 07:01:00 -06:00
Amanieu d'Antras
fcc7e72a46
Merge pull request #2024 from folkertdev/arm-shift-right-and-insert
...
use `intrinsics::simd` for 'shift right and insert'
2026-02-15 07:18:32 +00:00
Jacob Pratt
ef776c603c
Rollup merge of #152188 - cuviper:placeholder-stdarch, r=Mark-Simulacrum
...
Include `library/stdarch` for `CURRENT_RUSTC_VERSION` updates
Our tool `replace-version-placeholder` uses the `tidy` file walker and its
directory filter, but that skips `library/stdarch` which we do need for public
stability markers. This PR adds a local filter function that explicitly allows
that path.
The commit for 1.94 `stdarch` updates is coming from beta rust-lang/rust#152187 .
2026-02-14 23:17:40 -05:00
Folkert de Vries
6a12103dda
use intrinsics::simd for 'shift right and insert'
2026-02-14 20:28:29 +01:00
Amanieu d'Antras
b96ea54109
Merge pull request #2017 from heiher/loong64-sync
...
loongarch: Sync SIMD intrinsics with C
2026-02-14 15:15:02 +00:00
Brian Cain
5b7ab682b4
examples: Simplify gaussian.rs with cfg gate
...
Add `#![cfg(target_arch = "hexagon")]`
- Remove redundant #[cfg(target_arch = "hexagon")] from functions
- Simplify import and constant cfg conditions
- Remove non-Hexagon test code branch from main()
2026-02-12 11:41:57 -06:00
Brian Cain
7df6e6799f
Update Cargo.lock
...
Updates cc crate to 1.2.55 which fixes macabi target triple
handling for x86_64-apple-ios-macabi builds.
2026-02-12 10:41:53 -06:00
Brian Cain
d2ce1c9c3d
stdarch-gen-hexagon: Fix clippy warnings
...
- Move regex compilations outside loops
- Use Option::map and or_else instead of manual if-let chains
- Use strip_prefix instead of manual starts_with + slice
- Use !is_empty() instead of len() >= 1
- Combine consecutive str::replace calls
2026-02-12 09:34:06 -06:00
Brian Cain
01036ee64e
stdarch-gen-hexagon: Remove unused module_name method
2026-02-12 07:54:58 -06:00
Brian Cain
eb6bbfa830
examples: Fix rustfmt formatting in gaussian.rs
2026-02-12 07:47:01 -06:00
Brian Cain
736af97d6c
examples: Add assertions to gaussian example
...
Replace print statements with assertions that verify the Gaussian 3x3
blur implementation against the Hexagon SDK reference algorithm.
- Port exact SDK Gaussian3x3u8 implementation from:
/opt/Hexagon_SDK/.../Examples/HVX/gaussian/src/gaussian.c
- Verify specific output values [15, 16, 17, 18, 19, 20, 21, 22]
for row 2, cols 1..9 with test pattern ((x + y*7) % 256)
- Assert byte-averaging approximation exactly matches SDK reference
- On Hexagon: verify HVX output matches both scalar approximation
and SDK reference exactly
2026-02-12 07:33:16 -06:00
Brian Cain
2b710f1a45
Switched to 64b and 128b crate definitions
2026-02-12 07:33:16 -06:00
Brian Cain
0a662d0f72
arch: Add Hexagon HVX instructions
2026-02-12 07:33:16 -06:00
Sayantan Chakraborty
74397dcc68
Merge pull request #2020 from Snehal-Reddy/main
...
aarch64: Guard RCPC3 intrinsics with target_has_atomic = "64"
2026-02-11 20:40:14 +00:00
Sayantan Chakraborty
3e0724784b
Merge pull request #2004 from folkertdev/arm-ld1-read
...
aarch64: use `read_unaligned` for `vld1_*`
2026-02-10 14:18:57 +00:00
Folkert de Vries
dfef1209b1
x86: use intrinsics::simd for masked truncated saturating stores
2026-02-08 22:42:48 +01:00
Josh Stone
ec3de4bac5
Replace stdarch version placeholders with 1.94
...
(cherry picked from commit b90149755a )
2026-02-05 13:41:19 -08:00
Eddy (Eduard) Stefes
edeb02f382
disable s390x vector intrinsics if softfloat is enabled
...
we will add an explicit incompatibility of softfloat and vector feature
in rutsc s390x-unknown-none-softfloat target specification.
Therefore we need to disable vector intrinsics here to be able to compile
core for this target.
2026-02-05 13:36:18 +01:00
Folkert de Vries
cfcf20fe90
Merge pull request #2018 from rust-lang/revert-2014-llvm-22-madd
...
Revert "Revert "Use LLVM intrinsics for `madd` intrinsics""
2026-02-05 09:33:31 +00:00
The rustc-josh-sync Cronjob Bot
32b93d1f94
Merge ref 'db3e99bbab28' from rust-lang/rust
...
Pull recent changes from https://github.com/rust-lang/rust via Josh.
Upstream ref: rust-lang/rust@db3e99bbab
Filtered ref: rust-lang/stdarch@4749411ab3
Upstream diff: https://github.com/rust-lang/rust/compare/873d4682c7d285540b8f28bfe637006cef8918a6...db3e99bbab28c6ca778b13222becdea54533d908
This merge was created using https://github.com/rust-lang/josh-sync .
2026-02-05 04:37:20 +00:00
The rustc-josh-sync Cronjob Bot
8c404a7649
Prepare for merging from rust-lang/rust
...
This updates the rust-version file to db3e99bbab .
2026-02-05 04:37:12 +00:00
Snehal
5e5772d11f
aarch64: Guard RCPC3 intrinsics with target_has_atomic = "64"
...
The `vldap1` and `vstl1` RCPC3 intrinsics introduced in standard library unconditionally use `AtomicI64`. This breaks builds on target that do not support 64-bit atomics, such as `aarch64-unknown-none` with `max-atomic-width` set to 0. This commit adds a `#[cfg(target_has_atomic = "64")]` guard to these intrinsics
2026-02-03 16:15:29 +00:00
ltdk
28feae0c87
Move bigint helper tracking issues
2026-02-02 18:45:26 -05:00
Folkert de Vries
54641efc68
add vpmaddwd tests back in
2026-02-02 17:05:35 +01:00
Folkert de Vries
81c0218ae8
aarch64: use read_unaligned for vld1_*
2026-02-02 15:53:56 +01:00
Folkert de Vries
f4ce247bc2
Merge pull request #2009 from folkertdev/aarch64-vld1-tests
...
test the `vld1*` functions
2026-02-02 13:47:28 +00:00
Folkert de Vries
821f139a29
Revert "Revert "Use LLVM intrinsics for madd intrinsics""
2026-02-02 10:51:20 +01:00
WANG Rui
f49a46c7aa
loongarch: Sync SIMD intrinsics with C
2026-02-02 14:58:52 +08:00
Folkert de Vries
f5540adde9
add test for multiply by one pattern
2026-02-01 16:28:16 +01:00