Commit Graph

2806 Commits

Author SHA1 Message Date
Madhav Madhusoodanan 09a67dfab0 feat: increase TEST_SAMPLE_INTRINSICS_PERCENTAGE of x86_64 to 30% 2025-12-02 02:20:28 +05:30
Madhav Madhusoodanan a472b5dcd9 chore: formatting checks 2025-12-02 02:20:28 +05:30
Madhav Madhusoodanan 344acad879 feat: modified the compare function to check one huge output stream
instead of len(intrinsic) output streams
2025-12-02 02:20:28 +05:30
Madhav Madhusoodanan f0f0b8b222 feat: configure test-files to run all intrinsics in the same process 2025-12-02 02:20:28 +05:30
sayantn 9f1724d3ac use wrapping_add for _kadd intrinsics 2025-12-02 00:22:05 +05:30
Sayantan Chakraborty 21f714bf38 Merge pull request #1965 from folkertdev/s390x-shuffle
s390x: use `simd_shuffle!` macro
2025-11-30 10:46:01 +00:00
Travis Cross 46efc1b356 Merge pull request #1935 from sayantn/safe-cpuid
Make `cpuid` safe and update docs
2025-11-30 02:39:24 +00:00
sayantn 3e8185f155 Make cpuid safe and update docs 2025-11-30 02:23:29 +05:30
sayantn ae78a301e0 fix intrinsic-test to use core_arch::arch rather than std::arch 2025-11-30 02:16:43 +05:30
sayantn 8b35ef74a5 correct behavior of some intrinsics 2025-11-30 02:16:42 +05:30
sayantn 0c0de0742a Format f16 values normally, rather than use the bit patterns 2025-11-30 02:16:42 +05:30
sayantn 00ee70d216 systematically exclude svml, mmx and mpx rather than having an ad-hoc list 2025-11-30 02:16:39 +05:30
Amanieu d'Antras f7808acb3e Merge pull request #1963 from valadaptive/relaxed-minmax-docs
Correct the docs for WASM relaxed_simd's `relaxed_min`/`relaxed_max` operations
2025-11-28 15:13:33 +00:00
Folkert de Vries 989aff20e0 Merge pull request #1966 from sayantn/saturation
Use generic SIMD intrinsics for cvtepi intrinsics
2025-11-28 10:27:36 +00:00
sayantn 98a95454b0 Use generic SIMD intrinsics for AVX512BW cvtepi 2025-11-28 04:52:50 +05:30
sayantn 4c49a7a22f Refactor max/min intrinsics using a helper function 2025-11-28 03:36:44 +05:30
Folkert de Vries daa2cd340a s390x: use simd_shuffle! macro 2025-11-27 22:36:54 +01:00
reucru01 73ad94ab86 Provides work-around for vreinterpret inline fail 2025-11-27 14:06:27 +00:00
reucru01 1c2a0aaa31 Fixes differences found between clang & rust
The intrinsics test was flagging differences in aarch64_be between rust in debug and clang in O2.
It was found that rust was correct in debug, but incorrect in release,
and in both cases were being compared against clang in O2 which was also
incorrect.

The vdot intrinsics were fixed and are now correct in rust for both
release and debug. However the vcmla ones could not be as the issue lies
with LLVM. Both the vdot and vcmla intrinsics were added to the skiplist
as clang is still incorrect for both.
LLVM issue: https://github.com/llvm/llvm-project/issues/166190
2025-11-27 14:06:27 +00:00
valadaptive b3f67c73d0 Correct the docs for WASM relaxed_simd's min/max 2025-11-24 14:19:12 -05:00
reucru01 d7860a5107 Fixes generator, neon intrinics now build in debug
This fixes build issues associated with failing LLVM const param assertions
2025-11-24 15:12:44 +00:00
Sayantan Chakraborty 2922cbdd47 Merge pull request #1961 from folkertdev/pmadd-correct-signedness
correct signedness of pmadd arguments
2025-11-17 15:52:10 +00:00
Marco Ieni 2788686995 Merge pull request #1957 from marcoieni/rename-default-branch-to-main
rename default branch to main
2025-11-17 15:02:03 +00:00
Folkert de Vries ac2d97254e correct signedness of pmadd arguments 2025-11-17 16:01:02 +01:00
Folkert de Vries 57436fe950 Merge pull request #1960 from maurer/remove-tme
aarch64: Remove withdrawn FEAT_TME
2025-11-17 14:29:49 +00:00
sayantn 8fe87e9623 correct some #[simd_test] attributes 2025-11-17 01:24:03 +05:30
Matthew Maurer 0882a6e02a aarch64: Remove withdrawn FEAT_TME
ARM has withdrawn FEAT_TME
https://developer.arm.com/documentation/102105/lb-05/

LLVM has also dropped support for enabling the feature.
2025-11-14 19:25:34 +00:00
Folkert de Vries d84c69548d Merge pull request #1955 from sayantn/vector-shifts
Use SIMD intrinsics for vector shifts
2025-11-13 11:10:25 +00:00
Folkert de Vries 84c44c449d Merge pull request #1959 from folkertdev/ternary-logic-tests-2
improve ternary logic tests
2025-11-13 09:41:34 +00:00
sayantn 0ab7c9e3da Use SIMD intrinsics for vector shifts 2025-11-13 10:49:31 +05:30
Folkert de Vries 849ace0685 Merge pull request #1953 from sayantn/masked-load-store
Use generic SIMD masked load/stores for avx512 masked load/stores
2025-11-12 12:54:10 +00:00
Folkert de Vries e94ac6b638 improve ternary logic tests 2025-11-11 17:04:11 +01:00
Folkert de Vries 148a7509a1 add logic tests for ternarylogic
previously the output would just always be all zeroes
2025-11-11 11:30:14 +01:00
MarcoIeni 1b3abfea94 rename default branch to main 2025-11-11 10:04:15 +01:00
The rustc-josh-sync Cronjob Bot 485ea04b6d Merge ref '8401398e1f14' from rust-lang/rust
Pull recent changes from https://github.com/rust-lang/rust via Josh.

Upstream ref: 8401398e1f
Filtered ref: f9e99a8e85fa360f0e820dc75d46cb4583b4300d
Upstream diff: https://github.com/rust-lang/rust/compare/73e6c9ebd9123154a196300ef58e30ec8928e74e...8401398e1f14a24670ee1a3203713dc2f0f8b3a8

This merge was created using https://github.com/rust-lang/josh-sync.
2025-11-10 04:10:16 +00:00
The rustc-josh-sync Cronjob Bot 83e4d8182f Prepare for merging from rust-lang/rust
This updates the rust-version file to 8401398e1f.
2025-11-10 04:10:10 +00:00
sayantn 7ea8483696 Use generic SIMD intrinsics for AVX maskload and maskstore intrinsics 2025-11-07 05:34:31 +05:30
Folkert de Vries 7516645928 stabilize s390x_target_feature_vector 2025-11-06 12:49:48 +01:00
Folkert de Vries c59298da36 stabilize stdarch_s390x_feature_detection 2025-11-06 12:49:46 +01:00
Folkert de Vries 0645ac31cb extract s390x vector and friends to their own rust feature 2025-11-06 12:49:04 +01:00
sayantn 9126145419 Use generic SIMD masked load/stores for avx512 masked load/stores 2025-11-05 21:30:48 +05:30
Amanieu d'Antras 591487758b Merge pull request #1846 from sayantn/new-amx-intrinsics
Add intrinsics for the new AMX target features
2025-11-04 01:59:32 +00:00
Amanieu d'Antras 8dc0761a5c Merge pull request #1948 from folkertdev/forward-percentage
Forward `TEST_SAMPLE_INTRINSICS_PERCENTAGE`
2025-11-04 01:53:41 +00:00
Folkert de Vries f9dc790aa5 improve _mm256_permute2f128 tests 2025-11-02 20:09:54 +01:00
Jakub Beránek 3c9656c4f4 Merge ref '73e6c9ebd912' from rust-lang/rust
Pull recent changes from https://github.com/rust-lang/rust via Josh.

Upstream ref: 73e6c9ebd9
Filtered ref: e8bb3cae4cd2b04bdc252cdf79102717db2b2d8d
Upstream diff: https://github.com/rust-lang/rust/compare/32e7a4b92b109c24e9822c862a7c74436b50e564...73e6c9ebd9123154a196300ef58e30ec8928e74e

This merge was created using https://github.com/rust-lang/josh-sync.
2025-11-02 14:45:26 +01:00
Jakub Beránek 94a8d867ee Prepare for merging from rust-lang/rust
This updates the rust-version file to 73e6c9ebd9.
2025-11-02 14:44:51 +01:00
sayantn 17c3f8ab5e Add tests for new AMX intrinsics 2025-11-01 07:55:34 +05:30
sayantn 2815023680 Patch stdarch_verify to not check intel definition for new AMX intrinsics 2025-11-01 07:55:26 +05:30
sayantn 48116cf39d Add AMX intrinsics 2025-11-01 07:52:34 +05:30
Alisa Sireneva 420544a34a Move wasm throw intrinsic back to unwind
rustc assumes that regular `extern "Rust"` functions unwind only if the
`unwind` panic runtime is linked. `throw` was annotated as such, but
unwound unconditionally. This could cause UB when a crate built with `-C
panic=abort` called `throw` from `core` built with `-C panic=unwind`,
since no terminator was added to handle the panic arising from calling an
allegedly non-unwinding `extern "Rust"` function.

rustc was taught to recognize this condition since
https://github.com/rust-lang/rust/pull/144225 and prevented such
linkage, but this caused regressions in
https://github.com/rust-lang/rust/issues/148246, since this meant that
Emscripten projects could not be built with `-C panic=abort` without
recompiling std.

The most straightforward solution would be to move `throw` into the
`panic_unwind` crate, so that it's only compiled if the panic runtime is
guaranteed to be `unwind`, but this is messy due to our architecture.
Instead, move it into `unwind::wasm`, which is only compiled for
bare-metal targets that default to `panic = "abort"`, rendering the
issue moot.
2025-10-30 15:13:32 +03:00