2581 Commits

Author SHA1 Message Date
sayantn
100d19ce5b
Stabilize sse4a and tbm target features
- remove some stabilized target features from `gate.rs`
2025-08-14 02:07:40 +05:30
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
Folkert de Vries
c861fbd303
use gcc 15 as the linker on loongarch 2025-08-02 14:26:47 +02:00
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
The rustc-josh-sync Cronjob Bot
8926d9cc03 Prepare for merging from rust-lang/rust
This updates the rust-version file to 32e7a4b92b109c24e9822c862a7c74436b50e564.
2025-07-31 04:20:34 +00:00
Jakub Beránek
e6c0136b68
Use GitHub app for authenticating sync workflows 2025-07-29 10:03:52 +02: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
8f0ffa8125 Reformat code 2025-07-23 15:01:42 +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
Jakub Beránek
a343926954 Prepare for merging from rust-lang/rust
This updates the rust-version file to 5a30e4307f0506bed87eeecd171f8366fdbda1dc.
2025-07-23 14:58:49 +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
Jakub Beránek
847f8db5ad
Remove std_detect from stdarch's CI 2025-07-22 20:22:16 +02:00
Jakub Beránek
608297247a
Remove std_detect from stdarch examples 2025-07-22 20:22:16 +02: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
8dc2abb5c3
Update stdarch README 2025-07-22 20:17:49 +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
426091aed5
update Cargo.lock 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
6ed7ee36e6
exclude generated rust programs from the workspace 2025-07-18 13:17:38 +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
Folkert de Vries
194aa89fdd
add CI action to check that generated files are correctly checked in 2025-07-18 11:13:59 +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