afonso360 opened issue #5199:
:wave: Hey,
Fuzzgen found this when adding support for this instruction.
.clif
Test Casetest interpret test run set enable_llvm_abi_extensions=true target x86_64 function %a(i128, i128, i128) -> i128 { block0(v0: i128, v1: i128, v2: i128): v3 = select.i128 v0, v1, v2 return v3 } ; run: %a(1, 2, 3) == 2
Steps to Reproduce
clif-util test ./the-above.clif
Expected Results
The above tests to pass.
Actual Results
Finished dev [unoptimized + debuginfo] target(s) in 0.14s Running `/home/afonso/git/wasmtime/target/debug/clif-util test ./lmao.clif` thread 'worker #0' panicked at 'internal error: entered unreachable code: implemented in ISLE: inst = `v3 = select.i128 v0, v1, v2`, type = `Some(types::I128)`', cranelift/codegen/src/isa/x64/lower.rs:476:13 note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace ERROR cranelift_filetests::concurrent > FAIL: panicked in worker #0: internal error: entered unreachable code: implemented in ISLE: inst = `v3 = select.i128 v0, v1, v2`, type = `Some(types::I128)` FAIL ./lmao.clif: panicked in worker #0: internal error: entered unreachable code: implemented in ISLE: inst = `v3 = select.i128 v0, v1, v2`, type = `Some(types::I128)` 1 tests Error: 1 failure
Versions and Environment
Cranelift version or commit: main
Operating system: Linux
Architecture: x86_64
afonso360 labeled issue #5199:
:wave: Hey,
Fuzzgen found this when adding support for this instruction.
.clif
Test Casetest interpret test run set enable_llvm_abi_extensions=true target x86_64 function %a(i128, i128, i128) -> i128 { block0(v0: i128, v1: i128, v2: i128): v3 = select.i128 v0, v1, v2 return v3 } ; run: %a(1, 2, 3) == 2
Steps to Reproduce
clif-util test ./the-above.clif
Expected Results
The above tests to pass.
Actual Results
Finished dev [unoptimized + debuginfo] target(s) in 0.14s Running `/home/afonso/git/wasmtime/target/debug/clif-util test ./lmao.clif` thread 'worker #0' panicked at 'internal error: entered unreachable code: implemented in ISLE: inst = `v3 = select.i128 v0, v1, v2`, type = `Some(types::I128)`', cranelift/codegen/src/isa/x64/lower.rs:476:13 note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace ERROR cranelift_filetests::concurrent > FAIL: panicked in worker #0: internal error: entered unreachable code: implemented in ISLE: inst = `v3 = select.i128 v0, v1, v2`, type = `Some(types::I128)` FAIL ./lmao.clif: panicked in worker #0: internal error: entered unreachable code: implemented in ISLE: inst = `v3 = select.i128 v0, v1, v2`, type = `Some(types::I128)` 1 tests Error: 1 failure
Versions and Environment
Cranelift version or commit: main
Operating system: Linux
Architecture: x86_64
tnachen commented on issue #5199:
I see we already have select.i128 in some existing clif tests targeting x86_64, is there a reason why this is still erroring?
afonso360 commented on issue #5199:
Right, I think this is incorrectly described, what's failing here is selecting on a
i128
value, not usingi128
as a control type (that works fori64
and smaller).This test uses
select.i128
with ani8
condition value, but switching that toi128
makes it fail to compile. I've updated the issue to make this a bit clearer.
Last updated: Dec 23 2024 at 12:05 UTC