Folkert de Vries
ccec202727
move build_c_file and build_rust_file into SupportedArchitectureTest
2025-09-07 14:11:02 +02:00
Folkert de Vries
1697f36225
remove trait IntrinsicDefinition
2025-09-07 14:11:02 +02:00
Folkert de Vries
2ba0a6e489
move print_result_c into the trait
2025-09-07 14:11:02 +02:00
Folkert de Vries
9d9ca01bfa
move print_result_c into the inner intrinsic type
2025-09-07 14:11:02 +02:00
Folkert de Vries
916424f38d
move more constants into SupportedArchitectureTest
2025-09-07 14:11:01 +02:00
Folkert de Vries
6ab097b245
move platform headers into SupportedArchitectureTest
2025-09-07 14:11:01 +02:00
Folkert de Vries
d70ef4f0a7
move compare_outputs implementation into SupportedArchitectureTest definition
2025-09-07 14:11:01 +02:00
Folkert de Vries
93101b5783
s390x: use the new u128::funnel_shl
2025-09-06 14:32:36 +02:00
Folkert de Vries
e1a3b8bdc1
Merge pull request #1911 from nikic/remove-hack
...
Remove some llvm workarounds
2025-09-03 13:16:03 +00:00
Tsukasa OI
4679533732
RISC-V: Lower requirements of clmul and clmulh
...
They don't need full "Zbc" extension but only its subset: the "Zbkc"
extension. Since the compiler implies `zbkc` from `zbc`, it's safe to
use `#[target_feature(enable = "zbkc")]`.
2025-09-03 02:13:35 +00:00
Nikita Popov
18fa6d917c
Remove some llvm workarounds
2025-09-02 10:48:42 +02:00
Folkert de Vries
ae648be783
use llvm.roundeven on arm
2025-08-29 12:15:41 +02:00
Amanieu d'Antras
b2189b8ff6
Merge pull request #1903 from folkertdev/s390x-llvm-21-fixes
...
`s390x` llvm 21 improvements
2025-08-21 20:31:06 +00:00
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
45af206618
s390x: link to a missed optimization
2025-08-20 22:20:30 +02:00
Folkert de Vries
e9162f221a
s390x: implement vec_sld using fshl
2025-08-20 22:20:30 +02:00
Folkert de Vries
dfa95c6fa4
s390x: implement vec_subc_u128 using overflowing_sub
2025-08-20 22:20:29 +02:00
Folkert de Vries
e1a1b1ded2
s390x: implement vec_mulo using core::intrinsics::simd
2025-08-20 22:20:28 +02:00
Folkert de Vries
d5cb1c49fa
wasm: use {read, write}_unaligned methods
2025-08-20 22:11:32 +02:00
Folkert de Vries
1cda88aca1
s390x: implement vec_mule using core::intrinsics::simd
2025-08-20 22:11:16 +02:00
Folkert de Vries
97d64665b9
s390x: add assert_instr for vec_extend
2025-08-20 22:11:16 +02:00
Folkert de Vries
c5ec0960f0
s390x: add assert_instr for vec_round
2025-08-20 22:11:16 +02:00
Folkert de Vries
fa163a1fca
s390x: define unpack_low using core::intrinsics::simd
2025-08-20 22:11:15 +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