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
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
sayantn
08ef071717
Update wasmprinter
to latest
2025-07-16 17:18:23 +05:30
sayantn
ed2918988b
Bump versions in CI
...
- `clang-19` -> `clang-20` in ARM
- `gcc-14.2` -> `gcc-14.3` in AArch64-BE
- `gcc-14` ->`gcc-15` in LA64
- `riscv-gnu-v2025.01.20` -> `riscv-gnu-v2025.07.03` in Risc-V 32
- `wasmtime-v18.0.2` -> `wasmtime-v34.0.1`
2025-07-16 17:18:23 +05:30
Madhav Madhusoodanan
959d191a25
Modified Typekind to group the Signed and Unsigned version of types.
2025-07-16 17:12:12 +05:30
Folkert de Vries
bdd1ca1eea
aarch64
: check for trn1
and trn2
2025-07-15 22:17:03 +02:00
Folkert de Vries
c13e3aa6b4
aarch64
: check for uzp1
and uzp2
2025-07-15 22:17:02 +02:00
Folkert de Vries
ce3eabfd70
aarch64
: check for zip1
and zip2
2025-07-15 22:17:02 +02:00