1879 Commits

Author SHA1 Message Date
Folkert de Vries
98bd1d7445
use simd_saturating_{add, sub} on neon 2025-08-21 10:25:00 +02:00
Amanieu d'Antras
0b0c42478f
Merge pull request #1901 from folkertdev/wasm-read-unaligned
wasm: use `{read, write}_unaligned` methods
2025-08-20 20:44:05 +00:00
Folkert de Vries
6d74280ae4
Merge pull request #1899 from dpaoliello/arm64ec
Add testing for Arm64EC Windows
2025-08-20 20:42:51 +00:00
Folkert de Vries
d5cb1c49fa
wasm: use {read, write}_unaligned methods 2025-08-20 22:11:32 +02:00
Nikita Popov
3302e3e09a Adjust immediate for vrndscalepd tests
The immediate here encodes both the rounding mode (in the low bits)
and the scale (in the high bits). Make sure the scale is non-zero.
2025-08-20 11:23:46 +02:00
Nikita Popov
92f6310890 Work around selection failure without avx512vl 2025-08-20 11:23:46 +02:00
Nikita Popov
4a8b8231b1 Add missing avx512vl target features 2025-08-20 11:23:46 +02:00
Nikita Popov
135de7c8df Use intrinsics for some s390x operations 2025-08-20 11:23:30 +02:00
Nikita Popov
f9bc63d78f Drop no longer needed feature gates 2025-08-20 11:23:30 +02:00
Daniel Paoliello
f2c0c3dd44 Add testing for Arm64EC Windows 2025-08-10 13:19:06 -07:00
Folkert de Vries
de01bd3c72
use IntoIterator for the add_flags methods 2025-08-05 12:42:03 +02:00
Folkert de Vries
841c8e4f93
Merge pull request #1895 from madhav-madhusoodanan/intrinsic-test-intrinsictype-cleanup
`intrinsic-test`: Cleaning the `IntrinsicType` struct and related functionalities
2025-08-05 08:58:45 +00:00
Madhav Madhusoodanan
e84116db8e chore: moved chunk_info to common and code cleanup 2025-08-05 13:27:36 +05:30
Madhav Madhusoodanan
76dce27325 feat: cleaned the IntrinsicType struct and associated functions.
Changes: 1. Removed `from_c` from the IntrinsicType definition. 2. Moved
the `from_c` arm-specific definition to an ArmIntrinsicType-specific
impl block
2025-08-05 13:21:47 +05:30
Folkert de Vries
c691374cc1
Merge pull request #1889 from rust-lang/rustc-pull
Rustc pull update
2025-08-03 10:44:41 +00:00
Madhav Madhusoodanan
3b216c3f6f feat: Added another variant of the Constraint enum 2025-08-03 15:33:46 +05:30
The rustc-josh-sync Cronjob Bot
49aa0ecc7b Merge ref '32e7a4b92b10' from rust-lang/rust
Pull recent changes from https://github.com/rust-lang/rust via Josh.

Upstream ref: 32e7a4b92b109c24e9822c862a7c74436b50e564
Filtered ref: 56d8aa13f54944edb711f3bdd7013b082dbaa65b

This merge was created using https://github.com/rust-lang/josh-sync.
2025-07-31 04:20:38 +00:00
bors
2b5e239c6b Auto merge of #144225 - purplesyringa:unwinding-intrinsics, r=nikic
Don't special-case llvm.* as nounwind

Certain LLVM intrinsics, such as `llvm.wasm.throw`, can unwind. Marking them as nounwind causes us to skip cleanup of locals and optimize out `catch_unwind` under inlining or when `llvm.wasm.throw` is used directly by user code.

The motivation for forcibly marking llvm.* as nounwind is no longer present: most intrinsics are linked as `extern "C"` or other non-unwinding ABIs, so we won't codegen `invoke` for them anyway.

Closes rust-lang/rust#132416.

`@rustbot` label +T-compiler +A-panic
2025-07-27 23:05:48 +00:00
Madhav Madhusoodanan
c07f8bbdc2 chore: handling the case where --generate-only flag is passed 2025-07-27 18:00:41 +05:30
Madhav Madhusoodanan
90d97f617f feat: updated Argument<T> type for functional compatibility with other
architectures too
2025-07-27 11:40:00 +05:30
Sayantan Chakraborty
f998575273
Merge pull request #1863 from folkertdev/combine-rust-files
`intrinsic-test`: combine rust files for faster compilation
2025-07-25 21:54:14 +00:00
Alisa Sireneva
17519aeaef Allow ffi_unwind_calls for arch::wasm32::throw 2025-07-25 18:28:03 +03:00
Folkert de Vries
cc15f022e7
Merge pull request #1879 from heiher/loong-simd-unified-types
loongarch: Use unified data types for SIMD intrinsics
2025-07-25 13:46:59 +00:00
WANG Rui
49ea48d952 loongarch: Use unified data types for SIMD intrinsics 2025-07-25 09:31:58 +08:00
Aurelia Molzer
be947d4d2b Add non-temporal note for maskmoveu_si128
Like any other non-temporal instructions this has additional safety requirements
due to the mismatch with the Rust memory model. It is vital to know when using
this instruction.
2025-07-24 14:52:26 +02:00
Jakub Beránek
67f73c7547 Merge ref '5a30e4307f05' from rust-lang/rust
Pull recent changes from https://github.com/rust-lang/rust via Josh.

Upstream ref: 5a30e4307f0506bed87eeecd171f8366fdbda1dc
Filtered ref: 59749e9f8c765d3021796a9fe0c188643c4b8d77

This merge was created using https://github.com/rust-lang/josh-sync.
2025-07-23 14:59:10 +02:00
klensy
d8bf6c48a4 bump serde_with. Weird that it works without std feature, but 2025-07-23 12:22:33 +03:00
klensy
cb27ff0715 remove unused deps 2025-07-23 11:40:44 +03:00
Folkert de Vries
aaa5d91a02
remove lazy_static dependency from intrinsic-test
we use `std::sync::LazyLock` now.
2025-07-22 20:20:48 +02:00
Jakub Beránek
5b2de8ab27
Move std_detect from library/stdarch to library 2025-07-22 20:17:06 +02:00
Folkert de Vries
b658b3d251
work around not being able to project out of SIMD values any more 2025-07-22 19:32:09 +02:00
Folkert de Vries
3051039b94
generate arrays of type-erased function pointers 2025-07-19 02:11:15 +02:00
Folkert de Vries
83804bf2ce
split rust code into crates
so that we get more parallelism out of cargo
2025-07-19 02:11:07 +02:00
Folkert de Vries
215d8edfed
combine rust files into one compilation 2025-07-19 01:50:16 +02:00
Amanieu d'Antras
9b7d31c851
Merge pull request #1862 from folkertdev/combine-c-files
`intrinsic-test`: combine C files for faster compilation
2025-07-18 21:23:35 +00:00
Amanieu d'Antras
8fe55684d8
Merge pull request #1860 from folkertdev/stdarch-test-cleanup
`stdarch-test`: various cleanups
2025-07-18 20:27:56 +00:00
Folkert de Vries
d198c4fbf5
Merge pull request #1874 from heiher/loong-safe
loongarch: Mark partial intrinsics as safe
2025-07-18 13:15:24 +00:00
WANG Rui
da892b54be loongarch: Mark SIMD intrinsics without memory access as safe 2025-07-18 20:42:19 +08:00
Folkert de Vries
846c591bf6
intrinsic-test: combine C files for more efficient compilation 2025-07-18 13:24:11 +02:00
Folkert de Vries
a657eb29e2
Merge pull request #1878 from madhav-madhusoodanan/intrinsic-test-box-removing-and-more
`intrinsic-test`: Implemented DerefMut for ArmIntrinsicTest
2025-07-18 10:20:35 +00:00
Folkert de Vries
2b6d8f36c8
Merge pull request #1861 from folkertdev/streamline-c-compilation
`intrinsic-test`: streamline c compilation
2025-07-18 10:12:22 +00:00
Folkert de Vries
76de7566e4
Merge pull request #1877 from folkertdev/check-stdarch-gen
Check that the checked-in version of `stdarch-gen-{arm, loongarch}` is up-to-date
2025-07-18 09:48:49 +00:00
Folkert de Vries
75887cf995
improve cpp compiler execution 2025-07-18 11:38:18 +02:00
Folkert de Vries
668fdbe41e
pass the whole config to C compiler construction 2025-07-18 11:25:11 +02:00
WANG Rui
b57ff35641 loongarch: Mark partial basic intrinsics as safe 2025-07-18 11:52:17 +08:00
Folkert de Vries
5438a7c110
stdarch-test: for now, allow if only part of an instruction matched 2025-07-17 02:12:16 +02:00
Folkert de Vries
b74c4825cb
test for the high version of a number of instructions 2025-07-17 02:12:15 +02:00
Madhav Madhusoodanan
10d7b7b676 Implemented DerefMut for ArmIntrinsicTest
More details: 1. Moved the return type of IntrinsicType::from_c to
Rust<Self, String> from Result<Box<Self>, String>
2025-07-16 23:49:04 +05:30
Folkert de Vries
0d9d209417
fix space in generated loongarch 2025-07-16 16:27:51 +02:00
Amanieu d'Antras
f694b583e6
Merge pull request #1875 from sayantn/sde-update
Bump CI versions
2025-07-16 12:23:08 +00:00