Commit Graph

2925 Commits

Author SHA1 Message Date
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
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 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
Jonathan 'theJPster' Pallant 96897f016e Add ARMv6 bare-metal targets
Three targets, covering A32 and T32 instructions, and soft-float and
hard-float ABIs. Hard-float not available in Thumb mode. Atomics
in Thumb mode require __sync* functions from compiler-builtins.
2026-01-24 17:29:25 +00:00
Amanieu d'Antras 5ec32b532c Merge pull request #1998 from folkertdev/test-vmulh_lane_f16
test `vmulh_lane_f16` in intrinsic test
2026-01-22 23:58:54 +00:00
Folkert de Vries cf08a111d0 s390x: add nnp-assist intrinsics
Because `qemu` does not support these (yet), I haven't added any runtime tests
2026-01-22 18:29:45 +01:00
Folkert de Vries b1ef655cb3 use simd_extract_dyn for extract 2026-01-22 17:00:45 +01:00
Folkert de Vries bf7c1c2d82 test vmulh_lane_f16 in intrinsic test 2026-01-21 20:57:49 +01:00
Sayantan Chakraborty d251a38981 Merge pull request #1974 from JamieCunliffe/inline-always-neon
Mark the neon intrinsics as inline(always).
2026-01-20 16:19:29 +00:00
Sayantan Chakraborty 0d802f5078 Merge pull request #1992 from folkertdev/remove-impl-neg
remove `impl Neg` on s390x/powerpc vector types
2026-01-17 16:43:13 +00:00