Commit Graph

310099 Commits

Author SHA1 Message Date
sayantn cd28decba9 Make sse2 functions const 2025-12-02 03:56:18 +05:30
sayantn 7d4bcdd3fd Make sse functions const 2025-12-02 03:56:18 +05:30
sayantn 233574ace3 Make abm, bmi1, bmi2, bswap and tbm functions const 2025-12-02 03:56:18 +05:30
sayantn 742e70fe8f Modify #[simd_test] to enable const-testing 2025-12-02 03:56:17 +05:30
sayantn 453377b0ff Make some helpers const 2025-12-02 03:56:17 +05:30
sayantn b963d29852 Use ordered reduction intrinsics for integer reductions
only ordered intrinsics have implementation in rustc-const-eval
2025-12-02 03:56:15 +05:30
Folkert de Vries eb49e65e2a Merge pull request #1952 from madhav-madhusoodanan/intrinsic-test-updates
`intrinsic-test`: Coalescing all intrinsic tests into a single run of the test-file binaries
2025-12-01 21:58:40 +00:00
Madhav Madhusoodanan d5c2590972 chore: logging to trace the time taken by binaries to complete a run 2025-12-02 02:22:26 +05:30
Madhav Madhusoodanan 060b4d347c feat: reduce the intrinsics coverage for x86_64 intrinsics 2025-12-02 02:22:26 +05:30
Madhav Madhusoodanan 7215e078f5 feat: extract the delimiter to a const value for uniformity 2025-12-02 02:22:26 +05:30
Madhav Madhusoodanan 998aff3dc5 feat: add equality checks to reduce computation spent on equal outputs 2025-12-02 02:22:26 +05:30
Madhav Madhusoodanan 99fbd39a7d fix: update the comparison algorithm for cleaner comparisons 2025-12-02 02:22:21 +05:30
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
Sayantan Chakraborty e282dc1fb0 Merge pull request #1969 from sayantn/fix-kadd
use `wrapping_add` for `_kadd` intrinsics
2025-12-01 19:21:50 +00:00
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
Folkert de Vries ac05d0d945 Merge pull request #1968 from sayantn/intrinsic-test
Format `f16` values correctly in intrinsic-test
2025-11-29 20:59:18 +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
Folkert de Vries 3bbbddf4b9 Merge pull request #1964 from CrooseGit/dev/reucru01/arm-intrinsics-debug
Fixes issue with arm intrinsics not compiling in dev profile
2025-11-27 17:23:42 +00: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
Folkert de Vries 7f3fcb347b Merge pull request #1956 from sayantn/fix-tests
correct some `#[simd_test]` attributes
2025-11-16 23:00:42 +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
Sayantan Chakraborty b85138793e Merge pull request #1958 from folkertdev/ternary-logic-tests
add logic tests for ternarylogic
2025-11-11 11:21:57 +00: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