Commit Graph

3041 Commits

Author SHA1 Message Date
Folkert de Vries 8e2069e76c run some aarch64 tests with miri on CI 2026-04-06 19:39:21 +02:00
Folkert de Vries 4b52401221 run test_vld3q tests with miri on CI 2026-04-06 19:39:20 +02:00
Folkert de Vries cb0d495dae support roundtrip of vst3q 2026-04-06 19:39:20 +02:00
Folkert de Vries 8f3850c74c check that store/load rountrip initializes all bytes 2026-04-06 19:39:20 +02:00
Folkert de Vries 598640b101 disable hexagon tests for now 2026-04-06 19:13:42 +02:00
Jakub Beránek 1276db5745 Fix rustc-pull CI workflow 2026-04-01 11:23:04 +02:00
The rustc-josh-sync Cronjob Bot 79e3df625d Merge ref 'e4fdb554ad2c' from rust-lang/rust
Pull recent changes from https://github.com/rust-lang/rust via Josh.

Upstream ref: rust-lang/rust@e4fdb554ad
Filtered ref: rust-lang/stdarch@ae05da8bd6
Upstream diff: https://github.com/rust-lang/rust/compare/eda4fc7733ee89e484d7120cafbd80dcb2fce66e...e4fdb554ad2c0270473181438e338c42b5b30b0c

This merge was created using https://github.com/rust-lang/josh-sync.
2026-03-31 15:50:44 +00:00
The rustc-josh-sync Cronjob Bot 8e815f9ae1 Prepare for merging from rust-lang/rust
This updates the rust-version file to e4fdb554ad.
2026-03-31 15:48:28 +00:00
Guillaume Gomez 67ab3ac423 Rollup merge of #154043 - RalfJung:simd-min-max, r=Amanieu,calebzulawski,antoyo
simd_fmin/fmax: make semantics and name consistent with scalar intrinsics

This is the SIMD version of https://github.com/rust-lang/rust/pull/153343: change the documented semantics of the SIMD float min/max intrinsics to that of the scalar intrinsics, and also make the name consistent. The overall semantic change this amounts to is that we restrict the non-determinism: the old semantics effectively mean "when one input is an SNaN, the result non-deterministically is a NaN or the other input"; the new semantics say that in this case the other input must be returned. For all other cases, old and new semantics are equivalent. This means all users of these intrinsics that were correct with the old semantics are still correct: the overall set of possible behaviors has become smaller, no new possible behaviors are being added.

In terms of providers of this API:
- Miri, GCC, and cranelift already implement the new semantics, so no changes are needed.
- LLVM is adjusted to use `minimumnum nsz` instead of `minnum`, thus giving us the new semantics.

In terms of consumers of this API:
- Portable SIMD almost certainly wants to match the scalar behavior, so this is strictly a bugfix here.
- Stdarch mostly stopped using the intrinsic, except on nvptx, where arguably the new semantics are closer to what we actually want than the old semantics (https://github.com/rust-lang/stdarch/issues/2056).

Q: Should there be an `f` in the intrinsic name to indicate that it is for floats? E.g., `simd_fminimum_number_nsz`?

Also see https://github.com/rust-lang/rust/issues/153395.
2026-03-29 00:06:50 +01:00
Amanieu d'Antras f8369e3d47 Merge pull request #2065 from heiher/loong-inline-always
Mark the LoongArch intrinsics as inline(always)
2026-03-26 11:09:23 +00:00
Sayantan Chakraborty 1eafc19acd Merge pull request #2041 from ArunTamil21/add-alias-tests
Add missing runtime tests for SSE alias intrinsics
2026-03-25 18:19:10 +00:00
ArunTamil21 30573344b0 Mark alias test wrappers as const fn where supported and clean up skip list 2026-03-24 12:23:05 +00:00
Jonathan Brouwer 699e1b395e Rollup merge of #153931 - cyrgani:old-consts, r=Mark-Simulacrum
remove usages of to-be-deprecated numeric constants

Split out from rust-lang/rust#146882.
2026-03-23 12:14:55 +01:00
ArunTamil21 2c76cb3479 Use const fn and remove unsafe from alias test wrappers 2026-03-22 19:50:07 +00:00
Jynn Nelson dc3ba83196 Add more docs on how to run the generator
- Note that working directory matters
- Note that stdarch-gen-arm uses nightly
- Fix missing directory. Without this, it would print to stdout in one
  giant merged file.
2026-03-19 13:43:40 +01:00
WANG Rui 9adc2b00fc Mark the LoongArch intrinsics as inline(always) 2026-03-19 20:41:22 +08:00
Ralf Jung 986a280644 simd_fmin/fmax: make semantics and name consistent with scalar intrinsics 2026-03-18 15:17:56 +01:00
ArunTamil21 7da5fbcf42 Fix formatting 2026-03-17 22:18:40 +00:00
ArunTamil21 68a6acef71 Use macros for test body deduplication in SSE alias tests 2026-03-17 22:16:33 +00:00
Sayantan Chakraborty 3776c07842 Merge pull request #2050 from folkertdev/aarch64-rand
add ACLE random number generation intrinsics
2026-03-16 21:03:10 +00:00
cyrgani a893257cea remove usages of to-be-deprecated numeric constants 2026-03-15 22:14:11 +00:00
Folkert de Vries ccf7d4e978 inline assert_instr tests 2026-03-13 11:09:47 +01:00
anonymous 30c24f4530 ci: update to actions/checkout@v6
ci is showing a lot of warnings (72) right now. apparently
actions/checkout@v4 uses Node.js 20, and all github actions are
scheduled to be force opted-in to Node.js 24 on 2026-06-02.
I don't anticipate bumping the checkout action to v6 / Node.js 24
to cause any issues (Node.js 24 drops support for ARM32 and macOS
versions <= 13.4, but this shouldn't matter because we use Docker
to test in those environments, not github runners natively) but if
it does cause issues it's probably better to find out now rather
than by surprise 3 months from now... :)
2026-03-12 16:05:20 -07:00
ArunTamil21 0eb04eb555 Fix formatting 2026-03-12 13:16:36 +00:00
ArunTamil21 ec448dd82a Merge upstream/main and resolve conflict in x86-intel.rs 2026-03-12 13:14:30 +00:00
ArunTamil21 58e5c0e879 Refactor alias tests using macros instead of meta functions 2026-03-12 13:01:57 +00:00
Folkert de Vries 4f10c640d1 remove cfg_attr on aarch64/arm64ec in the aarch64 module 2026-03-12 10:37:52 +01:00
Folkert de Vries b245493113 Merge pull request #2061 from RalfJung/f64-tests
s390x: add f64 tests for vec_min
2026-03-12 09:15:10 +00:00
Folkert de Vries ebd8272229 Merge pull request #2053 from folkertdev/aarch64-int-simd-reduce-min-max
aarch64: use `simd_reduce_{min, max}` on integers
2026-03-12 09:13:08 +00:00
Ralf Jung 80b869876a s390x: add f64 tests for vec_min 2026-03-11 18:33:14 +01:00
Ralf Jung a6687175c9 go back to portable LLVM intrinsic to avoid fallback trouble 2026-03-11 09:05:25 +01:00
Ralf Jung 47d82e245a add f32 min/max tests 2026-03-10 23:29:35 +01:00
Ralf Jung 752a87fb4b s390x: use llvm.s390 intrinsics instead of simd_fmin/fmax 2026-03-10 22:43:59 +01:00
Folkert de Vries f326a429fa Merge pull request #2051 from rust-lang/rustc-pull
Rustc pull update
2026-03-10 12:04:48 +00:00
Folkert de Vries 46bada398f aarch64: use simd_reduce_{min, max} on integers 2026-03-10 13:03:00 +01:00
Ralf Jung f1bd647047 Revert "Merge pull request #1871 from folkertdev/aarch64-float-min-max"
This reverts commit 6a8a764262df5e65c06bc5d9180046a636a53ce9, reversing
changes made to a37563b5f8cec0c873864b786c33d00386189916.
2026-03-10 12:19:33 +01:00
The rustc-josh-sync Cronjob Bot 5cc969050b Merge ref 'eda4fc7733ee' from rust-lang/rust
Pull recent changes from https://github.com/rust-lang/rust via Josh.

Upstream ref: rust-lang/rust@eda4fc7733
Filtered ref: rust-lang/stdarch@3f3adc6031
Upstream diff: https://github.com/rust-lang/rust/compare/139651428df86cf88443295542c12ea617cbb587...eda4fc7733ee89e484d7120cafbd80dcb2fce66e

This merge was created using https://github.com/rust-lang/josh-sync.
2026-03-09 04:45:01 +00:00
The rustc-josh-sync Cronjob Bot 279c43e727 Prepare for merging from rust-lang/rust
This updates the rust-version file to eda4fc7733.
2026-03-09 04:42:45 +00:00
Josh Stone 78157ddde9 Replace version placeholders with 1.95.0
(cherry picked from commit bad24ccbec)
2026-03-07 10:42:01 -08:00
Folkert de Vries 6c7d342e10 add ACLE random number generation intrinsics 2026-03-06 21:49:21 +01:00
Folkert de Vries 34943378f6 Merge pull request #2048 from sayantn/movrs
Add `movrs` intrinsics
2026-03-06 16:50:55 +00:00
Folkert de Vries c61045d520 Merge pull request #2047 from sayantn/correct-bw-const
Correct const-stability attribute for avx512bw intrinsics
2026-03-06 16:50:39 +00:00
Folkert de Vries 6abb95cc00 gate use of wasm_target_feature on wasm target arch 2026-03-06 14:09:59 +01:00
sayantn 48d573f8e5 Add movrs intrinsics 2026-03-05 18:27:37 +05:30
Folkert de Vries 3483792e0f Merge pull request #2044 from sayantn/fix-signatures
Fix LLVM intrinsic signatures for AVX-VNNI
2026-03-04 21:34:44 +00:00
sayantn 985cd2399a Add immediate AMX intrinsics 2026-03-05 02:35:38 +05:30
sayantn 35f7c8bc53 Correct stability attribute for avx512bw intrinsics 2026-03-05 00:43:31 +05:30
sayantn a24022ad4e Fix LLVM intrinsic signatures for AVX-VNNI 2026-03-02 00:32:24 +05:30
Sayantan Chakraborty e00790eb2c Merge pull request #2042 from folkertdev/aarch64-non-power-of-two-reads-writes
aarch64: fix UB in non-power-of-two reads and writes
2026-02-27 21:30:39 +00:00
ArunTamil21 952302abac Remove redundant tests for _mm_prefetch and _mm_undefined_ps
Already verified by assert_instr; no output to assert at runtime.
2026-02-27 18:28:23 +00:00