Stream: git-wasmtime

Topic: wasmtime / issue #12316 Cranelift: AArch64 *_not ISLE rul...


view this post on Zulip Wasmtime GitHub notifications bot (Jan 11 2026 at 22:32):

zzjas opened issue #12316:

.clif Test Case

test compile
target aarch64

function %band_not_f32(f32, f32) -> f32 {
block0(v0: f32, v1: f32):
    v2 = bnot v1
    v3 = band v0, v2
    return v3
}

Steps to Reproduce

RUST_BACKTRACE=1 cargo run -p cranelift-tools --bin clif-util -- compile --target aarch64 -p test.clif

Expected Results

No crashes

Actual Results

thread 'main' (78954) panicked at .../.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/regalloc2-0.13.4/src/lib.rs:664:17:
assertion `left == right` failed
  left: Float
 right: Int

Versions and Environment

Cranelift version or commit: 67ce1ef23b8a5fb8ab293828cd719402b83d5b5b

Operating system: Ubuntu 22.04.5

Architecture: x86_64

Extra Info

Several *_not rules use (fits_in_64 ty) without constraining to integer types:

The base band/bor/bxor rules were correctly fixed to use (fits_in_64 (ty_int ty)) at lines 1386, 1423, and 1481 by #11811, but the *_not variants were not updated.

Thanks for looking into this and please let us know if we missed anything or if you have any feedback!

view this post on Zulip Wasmtime GitHub notifications bot (Jan 11 2026 at 22:32):

zzjas added the bug label to Issue #12316.

view this post on Zulip Wasmtime GitHub notifications bot (Jan 11 2026 at 22:32):

zzjas added the cranelift label to Issue #12316.

view this post on Zulip Wasmtime GitHub notifications bot (Jan 12 2026 at 23:16):

fitzgen commented on issue #12316:

Thanks for the report. Fix in https://github.com/bytecodealliance/wasmtime/pull/12326

view this post on Zulip Wasmtime GitHub notifications bot (Jan 13 2026 at 00:04):

cfallin closed issue #12316:

.clif Test Case

test compile
target aarch64

function %band_not_f32(f32, f32) -> f32 {
block0(v0: f32, v1: f32):
    v2 = bnot v1
    v3 = band v0, v2
    return v3
}

Steps to Reproduce

RUST_BACKTRACE=1 cargo run -p cranelift-tools --bin clif-util -- compile --target aarch64 -p test.clif

Expected Results

No crashes

Actual Results

thread 'main' (78954) panicked at .../.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/regalloc2-0.13.4/src/lib.rs:664:17:
assertion `left == right` failed
  left: Float
 right: Int

Versions and Environment

Cranelift version or commit: 67ce1ef23b8a5fb8ab293828cd719402b83d5b5b

Operating system: Ubuntu 22.04.5

Architecture: x86_64

Extra Info

Several *_not rules use (fits_in_64 ty) without constraining to integer types:

The base band/bor/bxor rules were correctly fixed to use (fits_in_64 (ty_int ty)) at lines 1386, 1423, and 1481 by #11811, but the *_not variants were not updated.

Thanks for looking into this and please let us know if we missed anything or if you have any feedback!


Last updated: Jan 29 2026 at 13:25 UTC