Stream: git-wasmtime

Topic: wasmtime / issue #5089 Cranelift: s390x fails to compile ...


view this post on Zulip Wasmtime GitHub notifications bot (Oct 21 2022 at 13:06):

afonso360 opened issue #5089:

:wave: Hey,

This is a test case that I got when trying to build the testsuite on cg_clif for s390x. This appears to be an issue with sret on the function call.

.clif Test Case

test compile
target s390x

function u0:24() -> i64 system_v {
    sig0 = (i64 sret) system_v
    fn0 = colocated u0:15 sig0

block0:
    v1 = iconst.i64 0
    call fn0(v1)  ; v1 = 0
    trap user0
}

Steps to Reproduce

Expected Results

Compilation to succeed

Actual Results

Fails with:

afonso@DESKTOP-VSTS4BC:~/git/wasmtime/cranelift$ cargo run -- compile ./lmao.clif --target s390x
    Finished dev [unoptimized + debuginfo] target(s) in 0.14s
     Running `/home/afonso/git/wasmtime/target/debug/clif-util compile ./lmao.clif --target s390x`
thread 'main' panicked at 'assertion failed: `(left == right)`
  left: `1`,
 right: `0`: the number of temporary values and destination values do not match (1 != 0); ensure the correct registers are being returned.', cranelift/codegen/src/machinst/isle.rs:1310:9
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Versions and Environment

Cranelift version or commit: main
Operating system: Linux
Architecture: s390x

cc: @uweigand

view this post on Zulip Wasmtime GitHub notifications bot (Oct 21 2022 at 13:06):

afonso360 labeled issue #5089:

:wave: Hey,

This is a test case that I got when trying to build the testsuite on cg_clif for s390x. This appears to be an issue with sret on the function call.

.clif Test Case

test compile
target s390x

function u0:24() -> i64 system_v {
    sig0 = (i64 sret) system_v
    fn0 = colocated u0:15 sig0

block0:
    v1 = iconst.i64 0
    call fn0(v1)  ; v1 = 0
    trap user0
}

Steps to Reproduce

Expected Results

Compilation to succeed

Actual Results

Fails with:

afonso@DESKTOP-VSTS4BC:~/git/wasmtime/cranelift$ cargo run -- compile ./lmao.clif --target s390x
    Finished dev [unoptimized + debuginfo] target(s) in 0.14s
     Running `/home/afonso/git/wasmtime/target/debug/clif-util compile ./lmao.clif --target s390x`
thread 'main' panicked at 'assertion failed: `(left == right)`
  left: `1`,
 right: `0`: the number of temporary values and destination values do not match (1 != 0); ensure the correct registers are being returned.', cranelift/codegen/src/machinst/isle.rs:1310:9
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Versions and Environment

Cranelift version or commit: main
Operating system: Linux
Architecture: s390x

cc: @uweigand

view this post on Zulip Wasmtime GitHub notifications bot (Oct 21 2022 at 13:06):

afonso360 labeled issue #5089:

:wave: Hey,

This is a test case that I got when trying to build the testsuite on cg_clif for s390x. This appears to be an issue with sret on the function call.

.clif Test Case

test compile
target s390x

function u0:24() -> i64 system_v {
    sig0 = (i64 sret) system_v
    fn0 = colocated u0:15 sig0

block0:
    v1 = iconst.i64 0
    call fn0(v1)  ; v1 = 0
    trap user0
}

Steps to Reproduce

Expected Results

Compilation to succeed

Actual Results

Fails with:

afonso@DESKTOP-VSTS4BC:~/git/wasmtime/cranelift$ cargo run -- compile ./lmao.clif --target s390x
    Finished dev [unoptimized + debuginfo] target(s) in 0.14s
     Running `/home/afonso/git/wasmtime/target/debug/clif-util compile ./lmao.clif --target s390x`
thread 'main' panicked at 'assertion failed: `(left == right)`
  left: `1`,
 right: `0`: the number of temporary values and destination values do not match (1 != 0); ensure the correct registers are being returned.', cranelift/codegen/src/machinst/isle.rs:1310:9
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Versions and Environment

Cranelift version or commit: main
Operating system: Linux
Architecture: s390x

cc: @uweigand

view this post on Zulip Wasmtime GitHub notifications bot (Oct 21 2022 at 13:07):

afonso360 edited issue #5089:

:wave: Hey,

This is a test case that I got when trying to build the testsuite on cg_clif for s390x. This appears to be an issue with sret on the function call.

.clif Test Case

test compile
target s390x

function u0:24() -> i64 system_v {
    sig0 = (i64 sret) system_v
    fn0 = colocated u0:15 sig0

block0:
    v1 = iconst.i64 0
    call fn0(v1)  ; v1 = 0
    trap user0
}

Steps to Reproduce

Expected Results

Compilation to succeed

Actual Results

Fails with:

afonso@DESKTOP-VSTS4BC:~/git/wasmtime/cranelift$ cargo run -- compile ./lmao.clif --target s390x
    Finished dev [unoptimized + debuginfo] target(s) in 0.14s
     Running `/home/afonso/git/wasmtime/target/debug/clif-util compile ./lmao.clif --target s390x`
thread 'main' panicked at 'assertion failed: `(left == right)`
  left: `1`,
 right: `0`: the number of temporary values and destination values do not match (1 != 0); ensure the correct registers are being returned.', cranelift/codegen/src/machinst/isle.rs:1310:9
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Versions and Environment

Cranelift version or commit: main
Operating system: Linux
Architecture: s390x

cc: @uweigand @bjorn3

view this post on Zulip Wasmtime GitHub notifications bot (Oct 21 2022 at 13:21):

afonso360 edited issue #5089:

:wave: Hey,

This is a test case that I got when trying to build the cg_clif testsuite for s390x. This appears to be an issue with sret on the function call.

.clif Test Case

test compile
target s390x

function u0:24() -> i64 system_v {
    sig0 = (i64 sret) system_v
    fn0 = colocated u0:15 sig0

block0:
    v1 = iconst.i64 0
    call fn0(v1)  ; v1 = 0
    trap user0
}

Steps to Reproduce

Expected Results

Compilation to succeed

Actual Results

Fails with:

afonso@DESKTOP-VSTS4BC:~/git/wasmtime/cranelift$ cargo run -- compile ./lmao.clif --target s390x
    Finished dev [unoptimized + debuginfo] target(s) in 0.14s
     Running `/home/afonso/git/wasmtime/target/debug/clif-util compile ./lmao.clif --target s390x`
thread 'main' panicked at 'assertion failed: `(left == right)`
  left: `1`,
 right: `0`: the number of temporary values and destination values do not match (1 != 0); ensure the correct registers are being returned.', cranelift/codegen/src/machinst/isle.rs:1310:9
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Versions and Environment

Cranelift version or commit: main
Operating system: Linux
Architecture: s390x

cc: @uweigand @bjorn3

view this post on Zulip Wasmtime GitHub notifications bot (Oct 25 2022 at 17:25):

uweigand commented on issue #5089:

Thanks for the report, @afonso360 !

view this post on Zulip Wasmtime GitHub notifications bot (Oct 25 2022 at 17:40):

cfallin closed issue #5089:

:wave: Hey,

This is a test case that I got when trying to build the cg_clif testsuite for s390x. This appears to be an issue with sret on the function call.

.clif Test Case

test compile
target s390x

function u0:24() -> i64 system_v {
    sig0 = (i64 sret) system_v
    fn0 = colocated u0:15 sig0

block0:
    v1 = iconst.i64 0
    call fn0(v1)  ; v1 = 0
    trap user0
}

Steps to Reproduce

Expected Results

Compilation to succeed

Actual Results

Fails with:

afonso@DESKTOP-VSTS4BC:~/git/wasmtime/cranelift$ cargo run -- compile ./lmao.clif --target s390x
    Finished dev [unoptimized + debuginfo] target(s) in 0.14s
     Running `/home/afonso/git/wasmtime/target/debug/clif-util compile ./lmao.clif --target s390x`
thread 'main' panicked at 'assertion failed: `(left == right)`
  left: `1`,
 right: `0`: the number of temporary values and destination values do not match (1 != 0); ensure the correct registers are being returned.', cranelift/codegen/src/machinst/isle.rs:1310:9
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Versions and Environment

Cranelift version or commit: main
Operating system: Linux
Architecture: s390x

cc: @uweigand @bjorn3


Last updated: Dec 23 2024 at 12:05 UTC