Rollup merge of #137447 - folkertdev:simd-extract-insert-dyn, r=scottmcm
add `core::intrinsics::simd::{simd_extract_dyn, simd_insert_dyn}` fixes https://github.com/rust-lang/rust/issues/137372 adds `core::intrinsics::simd::{simd_extract_dyn, simd_insert_dyn}`, which contrary to their non-dyn counterparts allow a non-const index. Many platforms (but notably not x86_64 or aarch64) have dedicated instructions for this operation, which stdarch can emit with this change. Future work is to also make the `Index` operation on the `Simd` type emit this operation, but the intrinsic can't be used directly. We'll need some MIR shenanigans for that. r? `@ghost`
This commit is contained in:
commit
45ebc4060b
6 changed files with 197 additions and 37 deletions
|
@ -1913,6 +1913,7 @@ symbols! {
|
|||
simd_eq,
|
||||
simd_expose_provenance,
|
||||
simd_extract,
|
||||
simd_extract_dyn,
|
||||
simd_fabs,
|
||||
simd_fcos,
|
||||
simd_fexp,
|
||||
|
@ -1931,6 +1932,7 @@ symbols! {
|
|||
simd_ge,
|
||||
simd_gt,
|
||||
simd_insert,
|
||||
simd_insert_dyn,
|
||||
simd_le,
|
||||
simd_lt,
|
||||
simd_masked_load,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue