bytecodealliance / bytecodealliance/wasmtime
cranelift: Implement unordered float comparisions for AArch64
- Dominant language
- Rust
- Stars
- 18.6k
- Forks
- 1.8k
- Avg merge
- 1d 18h
- Merged PRs (30d)
- 126
Description
👋 Hey,
While working in the `fcmp` testsuite for #4849 I discovered that all unordered float comparisons are unimplemented in AArch64.
I don't actually need this, its just a tracking issue.
### `.clif` Test Case
```
test run
target aarch64
function %fcmp_uge_f32(f32, f32) -> b1 {
block0(v0: f32, v1: f32):
v2 = fcmp uge v0, v1
return v2
}
; run: %fcmp_uge_f32(0x0.5, 0x0.5) == true
```
A more comprehensive test suite was introduced in #4849
### Steps to Reproduce
* `clif-util test ./the-above.clif`
### Expected Results
The test to pass.
### Actual Results
Crashes with unimplemented.
https://github.com/bytecodealliance/wasmtime/blob/d2e19b8d74f557d862214938aa3184efe2409641/cranelift/codegen/src/isa/aarch64/lower.rs#L950-L968
### Versions and Environment
Cranelift version or commit: main
Operating system: Linux
Architecture: AArch64
Contributor guide
Assessment
This issue has not been assessed yet.