Hi! While using Cranelift as a backend for a project, I ran into a panic compiling iadd_carry instructions on x86_64. Please let me know if there is any other information I can provide that would be helpful.
.clif Test Case
function u0:0() fast {
block0:
v1465 = iconst.i32 0
v1467 = bconst.b1 false
v1468 = iconst.i32 0
v1469, v1470 = iadd_carry v1465, v1468, v1467
v1476 = bint.i8 v1470
v1356 = iconst.i64 0
v1391 -> v1356
v1423 -> v1356
v1447 -> v1356
v1464 -> v1356
v1494 -> v1356
v1516 -> v1356
v1544 -> v1356
store notrap aligned v1476, v1356+274
trap user0
}
Steps to Reproduce
cargo run -p cranelift-tools -- compile test.clif --target x86_64
Expected Results
Code successfully generates without a panic.
Actual Results
Panic: thread 'main' panicked at 'ALU+imm and ALU+carry ops should not appear here!', cranelift/codegen/src/isa/x64/lower.rs:5740:13
Versions and Environment
Cranelift version or commit: main HEAD (4a830b at time of writing)
Operating system: Linux
Architecture: x86_64
Hi! While using Cranelift as a backend for a project, I ran into a panic compiling iadd_carry instructions on x86_64. Please let me know if there is any other information I can provide that would be helpful.
.clifTest CaseSteps to Reproduce
cargo run -p cranelift-tools -- compile test.clif --target x86_64Expected Results
Code successfully generates without a panic.
Actual Results
Panic:
thread 'main' panicked at 'ALU+imm and ALU+carry ops should not appear here!', cranelift/codegen/src/isa/x64/lower.rs:5740:13Versions and Environment
Cranelift version or commit: main HEAD (4a830b at time of writing)
Operating system: Linux
Architecture: x86_64