Commit Graph

2932 Commits

Author SHA1 Message Date
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
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
Folkert de Vries f5540adde9 add test for multiply by one pattern 2026-02-01 16:28:16 +01:00
Folkert de Vries 141a867b02 Revert "Use LLVM intrinsics for madd intrinsics"
This reverts commit 32146718741ee22ff0d54d21b9ab60353014c980.
2026-02-01 14:20:05 +01:00
Folkert de Vries 794810f897 use more capable macro for wide store/load roundtrip tests 2026-02-01 14:17:35 +01:00
Folkert de Vries 0306275849 use macro for wide store/load roundtrip tests 2026-02-01 14:17:00 +01:00
Folkert de Vries a208e6c887 maybe fix aarch64be unsigned vector tuple loads 2026-02-01 13:38:36 +01:00
Folkert de Vries 24a2833258 test the vld1* functions 2026-02-01 13:38:35 +01:00
Sayantan Chakraborty 4a1094cd11 Merge pull request #2012 from folkertdev/llvm-22-hadds-hsubs
x86: use `intrinsics::simd` for `hadds`/`hsubs`
2026-02-01 07:10:41 +00:00
Folkert de Vries e40ae4fe2c x86: use intrinsics::simd for hadds/hsubs 2026-01-31 22:37:22 +01:00
Amanieu d'Antras c1196d4333 Merge pull request #2010 from folkertdev/powerpc-vnmsub-llvm-22
powerpc: implement `vnmsubfp` using `intrinsics::simd`
2026-01-31 19:43:04 +00:00
Amanieu d'Antras 5b8b7f577b Merge pull request #2011 from folkertdev/wasm-narrow-llvm-22
wasm: use `intrinsics::simd` for the narrow functions
2026-01-31 19:40:55 +00:00
Folkert de Vries ebc618aab5 wasm: use intrinsics::simd for the narrow functions 2026-01-31 18:47:56 +01:00
Folkert de Vries 9ea3034b58 powerpc: implement vnmsubfp using intrinsics::simd 2026-01-31 17:44:08 +01:00
Folkert de Vries 9eaf7fa384 Merge pull request #2006 from eduardosm/unsafe-tests
Avoid `unsafe fn` in aarch64, powerpc and s390x tests
2026-01-29 13:37:01 +00:00
Nikita Popov b500dd3f6b Adjust expected output for vrfin
It actually generates vrfin now
2026-01-29 11:52:33 +01:00
Nikita Popov f5d594a309 Change lanes vcopy_lane tests to avoid zip2 2026-01-29 11:52:33 +01:00
Nikita Popov 293b61e444 Ignore non-yml files in generator
Otherwise this picks up vim .swp files.
2026-01-29 11:52:33 +01:00
Nikita Popov e164dca633 Don't expect specific instructions for _mm256_set_pd/_mm_set_ps
These don't correspond to specific instructions and will produce
different instructions on x86/x86_64 based on ABI details.
2026-01-29 11:52:33 +01:00
Eduardo Sánchez Muñoz 91850e90de Avoid unsafe fn in aarch64, powerpc and s390x tests 2026-01-28 22:05:10 +01:00
Folkert de Vries 70a07c91de Merge pull request #1991 from usamoi/fp16-transmute
remove fp16 target feature from some vreinterpret intrinsics
2026-01-28 11:37:09 +00:00
usamoi 18a4a3ace0 fix overflowing_literals in avx512fp16 tests 2026-01-28 19:15:25 +08:00
usamoi f4b4ab3b23 remove fp16 target feature from some vreinterpret intrinsics 2026-01-28 19:04:59 +08:00
Folkert de Vries 5a6e86708a Merge pull request #1994 from CrooseGit/dev/reucru01/add-missing-intrinsics
Adds missing neon intrinsics
2026-01-27 21:45:28 +00:00
reucru01 9fddd28d38 Ammends typo in generator & generated 2026-01-27 15:53:01 +00:00
reucru01 9ce0ebf994 Disables assert_instr tests on windows msvc
The opcodes for these intructions are not recognised by the dissasembler on the windows msvc toolchain.
As such they are not translated to the relevant mneumonic and the `assert_instr` test fails.
Please see [failing test](https://github.com/rust-lang/stdarch/actions/runs/20992978794/job/60342796821?pr=1994#logs).
2026-01-27 15:51:41 +00:00
reucru01 57a42dbf54 Makes some A64 intrinsics available on A32
Moves the relevant defintions from the aarch64 yaml to the arm_shared.
2026-01-27 15:51:37 +00:00
Reuben Cruise 354365a0e0 Adds some arm intrinsics to bring more up-to-date with acle
- Adds vluti2 intrinsics
- Adds famin/famax intrinsics
- Adds vstl1(q) intrinsics
- Adds vldap1(q) intrinsics
	- Excludes vldap1_lane_f64 as in testing it fails assert_intr. There seems to be some bad IR gen from rust.
- Adds vscale(q) intrinsics
- Adds new intrinsics to arm_intrinsics.json
	- Had to be done manually as intrinsics are not yet on developer.arm.com
2026-01-27 15:48:26 +00:00
Amanieu d'Antras 333ce17b2c Merge pull request #1995 from CrooseGit/dev/reucru01/documentation
Adds documentation for `stdarch-gen-arm`
2026-01-27 15:32:38 +00:00
Amanieu d'Antras e20d484540 Merge pull request #1989 from eduardosm/unsafe-tests
Avoid `unsafe fn` in remaining x86 tests
2026-01-27 15:03:52 +00:00
Folkert de Vries f648ba2e0a Merge pull request #2003 from folkertdev/use-simd-splat
use `simd_splat`
2026-01-26 21:01:13 +00:00
Folkert de Vries 0ef4c3aca7 use simd_splat for the set1 functions 2026-01-26 21:03:43 +01:00
Folkert de Vries 246399cb7d use simd_splat 2026-01-26 10:38:04 +01:00
The rustc-josh-sync Cronjob Bot 7168e5d9e1 Merge ref '873d4682c7d2' from rust-lang/rust
Pull recent changes from https://github.com/rust-lang/rust via Josh.

Upstream ref: rust-lang/rust@873d4682c7
Filtered ref: rust-lang/stdarch@003d326514
Upstream diff: https://github.com/rust-lang/rust/compare/48622726c4a91c87bf6cd4dbe1000c95df59906e...873d4682c7d285540b8f28bfe637006cef8918a6

This merge was created using https://github.com/rust-lang/josh-sync.
2026-01-26 04:34:26 +00:00
The rustc-josh-sync Cronjob Bot a4f92e5d81 Prepare for merging from rust-lang/rust
This updates the rust-version file to 873d4682c7.
2026-01-26 04:32:16 +00:00
Folkert de Vries 464b309040 Merge pull request #1993 from folkertdev/stabilize-jscvt
Stabilize `__jcvt`
2026-01-24 17:48:52 +00:00
Jonathan 'theJPster' Pallant 7cc102a4ee Revised yield hints
Turns out v7 targets always have v6t2 set, so that line was redundant. Also add a link to the Arm Armv7 A.R.M.
2026-01-24 17:29:25 +00:00