bytecodealliance / bytecodealliance/wasmtime

cranelift: Implement unordered float comparisions for AArch64

Open
#4,850 1 comment 0 reactions 0 assignees View on GitHub
bug cranelift cranelift:area: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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.