commit | c56f5e781d86216baf05661f96774e1f6de86c30 | [log] [tgz] |
---|---|---|
author | Emmanuel Gil Peyrot <linkmauve@linkmauve.fr> | Thu Oct 09 15:32:17 2025 +0000 |
committer | Emmanuel Gil Peyrot <linkmauve@linkmauve.fr> | Fri Oct 10 13:29:42 2025 +0000 |
tree | 9015992bbcf94401116e6c1f7bcf0a9fa0c8d7f9 | |
parent | 5adf0516d06244edbb7d4d7696be3be06364eec9 [diff] |
Implement fjcvtzs under the name __jcvt like the C intrinsic This instruction is only available when the jsconv target_feature is available, so on ARMv8.3 or higher. It is used e.g. by Ruffle[0] to speed up its conversion from f64 to i32, or by any JS engine probably. I’ve picked the stdarch_aarch64_jscvt feature because it’s the name of the FEAT_JSCVT, but hesitated with naming it stdarch_aarch64_jsconv (the name of the target_feature) or stdarch_aarch64_jcvt (the name of the C intrinsic) or stdarch_aarch64_fjcvtzs (the name of the instruction), this choice is purely arbitrary and I guess it could be argued one way or another. I wouldn’t expect it to stay unstable for too long, so ultimately this shouldn’t matter much. This feature is now tracked in this issue[1]. [0] https://github.com/ruffle-rs/ruffle/pull/21780 [1] https://github.com/rust-lang/rust/issues/147555
This repository contains the core_arch
crate, which implements core::arch
- Rust's core library architecture-specific intrinsics.
The std::simd
component now lives in the packed_simd_2
crate.
This repository is linked to rust-lang/rust
as a josh subtree. You can use the rustc-josh-sync tool to perform synchronization.
You can find a guide on how to perform the synchronization here.