Stream: git-wasmtime

Topic: wasmtime / issue #6073 Cranelift: isplit and iconcat only...


view this post on Zulip Wasmtime GitHub notifications bot (Mar 20 2023 at 23:16):

elliottt labeled issue #6073:

Thanks for filing an issue! Please fill out the TODOs below.

.clif Test Case

test compile
target x86_64
target aarch64
target s390x
target riscv64

function %f(i64) -> i32, i32 {
block0(v0: i64):
    v1, v2 = isplit v0
    return v1, v2
}
test compile
target x86_64
target aarch64
target s390x
target riscv64

function %f(i32, i32) -> i64 {
block0(v0: i32, v1: i32):
    v2 = iconcat v0, v1
    return v2
}

Steps to Reproduce

cargo run -p cranelift-tools -- test bug.clif

Expected Results

Both functions should compile.

Actual Results

thread 'worker #3' panicked at 'should be implemented in ISLE: inst = `v1, v2 = isplit.i64 v0`, type = `Some(types::I32)`', cranelift/codegen/src/machinst/lower.rs:750:21

Versions and Environment

Cranelift version or commit: b5a2d536acb2a8a8a505116302b36173bb713748
Operating system: Linux
Architecture: x86_64

Extra Info

This problem is pretty uniform across the backends, with implementations of isplit and iconcat only being present for i128.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 20 2023 at 23:16):

elliottt labeled issue #6073:

Thanks for filing an issue! Please fill out the TODOs below.

.clif Test Case

test compile
target x86_64
target aarch64
target s390x
target riscv64

function %f(i64) -> i32, i32 {
block0(v0: i64):
    v1, v2 = isplit v0
    return v1, v2
}
test compile
target x86_64
target aarch64
target s390x
target riscv64

function %f(i32, i32) -> i64 {
block0(v0: i32, v1: i32):
    v2 = iconcat v0, v1
    return v2
}

Steps to Reproduce

cargo run -p cranelift-tools -- test bug.clif

Expected Results

Both functions should compile.

Actual Results

thread 'worker #3' panicked at 'should be implemented in ISLE: inst = `v1, v2 = isplit.i64 v0`, type = `Some(types::I32)`', cranelift/codegen/src/machinst/lower.rs:750:21

Versions and Environment

Cranelift version or commit: b5a2d536acb2a8a8a505116302b36173bb713748
Operating system: Linux
Architecture: x86_64

Extra Info

This problem is pretty uniform across the backends, with implementations of isplit and iconcat only being present for i128.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 20 2023 at 23:16):

elliottt opened issue #6073:

Thanks for filing an issue! Please fill out the TODOs below.

.clif Test Case

test compile
target x86_64
target aarch64
target s390x
target riscv64

function %f(i64) -> i32, i32 {
block0(v0: i64):
    v1, v2 = isplit v0
    return v1, v2
}
test compile
target x86_64
target aarch64
target s390x
target riscv64

function %f(i32, i32) -> i64 {
block0(v0: i32, v1: i32):
    v2 = iconcat v0, v1
    return v2
}

Steps to Reproduce

cargo run -p cranelift-tools -- test bug.clif

Expected Results

Both functions should compile.

Actual Results

thread 'worker #3' panicked at 'should be implemented in ISLE: inst = `v1, v2 = isplit.i64 v0`, type = `Some(types::I32)`', cranelift/codegen/src/machinst/lower.rs:750:21

Versions and Environment

Cranelift version or commit: b5a2d536acb2a8a8a505116302b36173bb713748
Operating system: Linux
Architecture: x86_64

Extra Info

This problem is pretty uniform across the backends, with implementations of isplit and iconcat only being present for i128.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 20 2023 at 23:16):

elliottt edited issue #6073:

isplit and iconcat lack implementations for instantiations that don't end up involving i128.

.clif Test Case

test compile
target x86_64
target aarch64
target s390x
target riscv64

function %f(i64) -> i32, i32 {
block0(v0: i64):
    v1, v2 = isplit v0
    return v1, v2
}
test compile
target x86_64
target aarch64
target s390x
target riscv64

function %f(i32, i32) -> i64 {
block0(v0: i32, v1: i32):
    v2 = iconcat v0, v1
    return v2
}

Steps to Reproduce

cargo run -p cranelift-tools -- test bug.clif

Expected Results

Both functions should compile.

Actual Results

thread 'worker #3' panicked at 'should be implemented in ISLE: inst = `v1, v2 = isplit.i64 v0`, type = `Some(types::I32)`', cranelift/codegen/src/machinst/lower.rs:750:21

Versions and Environment

Cranelift version or commit: b5a2d536acb2a8a8a505116302b36173bb713748
Operating system: Linux
Architecture: x86_64

Extra Info

This problem is pretty uniform across the backends, with implementations of isplit and iconcat only being present for i128.


Last updated: Dec 23 2024 at 13:07 UTC