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 Casetest 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
clif-util compile ./the-above.clif --target s390x
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
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 Casetest 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
clif-util compile ./the-above.clif --target s390x
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
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 Casetest 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
clif-util compile ./the-above.clif --target s390x
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
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 Casetest 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
clif-util compile ./the-above.clif --target s390x
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
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 Casetest 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
clif-util compile ./the-above.clif --target s390x
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
uweigand commented on issue #5089:
Thanks for the report, @afonso360 !
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 Casetest 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
clif-util compile ./the-above.clif --target s390x
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