Folkert de Vries
5dd0fdcd67
Merge pull request #1919 from sayantn/fix-vreinterpret
...
Remove big-endian swizzles from `vreinterpret`
2025-09-15 08:18:20 +00:00
Tsukasa OI
a3b7aad20f
stdarch-gen-arm: Make Clippy happy
2025-09-12 11:50:51 +00:00
Tsukasa OI
221eb1f0d5
intrinsic-test: Make Clippy happy
2025-09-12 11:50:25 +00:00
Sayantan Chakraborty
269cecc91c
Merge pull request #1918 from a4lg/riscv-aes64im-lower-requirements
...
RISC-V: "Lower" requirements of `aes64im`
2025-09-11 19:59:18 +00:00
sayantn
bb31725e67
Remove big-endian swizzles from vreinterpret
2025-09-12 01:20:34 +05:30
Tsukasa OI
e54cc43867
RISC-V: "Lower" requirements of aes64im
...
This instruction is incorrectly categorized as the same one as
`aes64ks1i` and `aes64ks2` (that should require `zkne || zknd` but
currently require `zkne && zknd`) but `aes64im` only requires
the Zknd extension.
This commit fixes the category of this intrinsic (lowering the
requirements from the Rust perspective but it does not actually lower
it from the RISC-V perspective).
2025-09-11 06:42:10 +00:00
WANG Rui
614dab3ed2
loongarch: Align intrinsic signatures with LLVM
2025-09-10 23:10:19 +08:00
Folkert de Vries
4b549a7330
move target-specific definitions into constants
2025-09-07 14:11:02 +02:00
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