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
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
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
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
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
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
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
WANG Rui
da892b54be
loongarch: Mark SIMD intrinsics without memory access as safe
2025-07-18 20:42:19 +08:00
WANG Rui
b57ff35641
loongarch: Mark partial basic intrinsics as safe
2025-07-18 11:52:17 +08:00
Folkert de Vries
b74c4825cb
test for the high version of a number of instructions
2025-07-17 02:12:15 +02:00
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
Folkert de Vries
f6f6715990
s390x: fix tests that matched on prefix of instruction
2025-07-15 20:20:46 +02:00
Amanieu d'Antras
2aaa584094
Merge pull request #1872 from folkertdev/aarch64-horizontal-add
...
`aarch64`: use `intrinsics::simd` for horizontal add and `abs`
2025-07-15 00:19:05 +00:00
Folkert de Vries
48c33b7748
aarch64
: implement vabs
using instrinsics::simd
2025-07-15 01:36:20 +02:00
Amanieu d'Antras
1a8c5324f0
Merge pull request #1869 from folkertdev/s390x-use-rounding-intrinsic
...
`s390x`: document the different rounding flavors
2025-07-14 23:28:37 +00:00
Amanieu d'Antras
7d10ff1a18
Merge pull request #1837 from heiher/loong32
...
loongarch: Add basic support for LoongArch32
2025-07-14 23:27:09 +00:00
Folkert de Vries
74e2cb12d1
s390x
: document the different rounding flavors
2025-07-14 17:22:38 +02:00
Folkert de Vries
42bcb0668e
aarch64
: use simd_reduce_add_unordered
2025-07-12 21:50:51 +02:00
Folkert de Vries
17b8fc938d
aarch64
: use simd_reduce_min
and simd_reduce_max
for integers
2025-07-12 18:12:09 +02:00
Folkert de Vries
750ddfd8d3
aarch64
: use simd_reduce_min
and simd_reduce_max
for floats
2025-07-12 18:12:08 +02:00
Folkert de Vries
72afae5fd6
arm
: use simd_fmin
and simd_fmax
2025-07-12 18:12:08 +02:00