Tracking Issue for Wasm floating point instructions not in `core`
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 119k
- Forks
- 16.1k
- PR merge metrics
- PR metrics pending
Description
Feature gate: #![feature(wasm_numeric_instr)]
This is a tracking issue for floating point instructions that aren't available in core but are available as simple instructions on Wasm directly.
Public API
mod arch {
mod wasm32 {
pub fn f32_ceil(a: f32) -> f32;
pub fn f32_floor(a: f32) -> f32;
pub fn f32_trunc(a: f32) -> f32;
pub fn f32_nearest(a: f32) -> f32;
pub fn f32_sqrt(a: f32) -> f32;
pub fn f64_ceil(a: f64) -> f64;
pub fn f64_floor(a: f64) -> f64;
pub fn f64_trunc(a: f64) -> f64;
pub fn f64_nearest(a: f64) -> f64;
pub fn f64_sqrt(a: f64) -> f64;
}
}
Steps / History
- Implementation: https://github.com/rust-lang/stdarch/pull/1677
- Final comment period (FCP)^1
- Stabilization PR
Unresolved Questions
My impression from https://github.com/rust-lang/rust/issues/50145 was that these methods (except sqrt()) are not intended to ever be added to core. But looking at a recent discussion in Zulip it paints a different picture.
If indeed these methods are intended to come to core, then these additions will probably never be stabilized.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the feature gate wasm_numeric_instr and the implementation in stdarch PR 1677. Resolve whether these floating-point methods belong in core by reviewing rust-lang/rust#50145 and the linked Zulip discussion, then determine whether the remaining FCP and stabilization steps can proceed.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust, wasm
- Domain
- compilers
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100