cfallin opened issue #10529:
With latest
main(801cd06bffeb5c555973c1f8892b7591edc37a74), this CLIF:test compile target x86_64 function u0:0(f32, f32) -> f32 { block0(v0: f32, v1: f32): v2 = bxor.f32 v0, v1 return v2 }when compiled with
$ RUST_BACKTRACE=1 RUST_LOG=trace cargo run -p cranelift-tools -- test ./t.clifresults in this panic:
thread 'worker #1' panicked at cranelift/codegen/src/isa/x64/inst/external.rs:144:9: internal error: entered unreachable code stack backtrace: 0: rust_begin_unwind at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/std/src/panicking.rs:692:5 1: core::panicking::panic_fmt at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/core/src/panicking.rs:75:14 2: core::panicking::panic at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/core/src/panicking.rs:145:5 3: cranelift_codegen::isa::x64::inst::external::enc_xmm at ./cranelift/codegen/src/isa/x64/inst/external.rs:144:9 4: <cranelift_codegen::isa::x64::inst::external::PairedXmm as cranelift_assembler_x64::api::AsReg>::enc at ./cranelift/codegen/src/isa/x64/inst/external.rs:67:20 5: cranelift_assembler_x64::xmm::Xmm<R>::enc at ./cranelift/assembler-x64/src/xmm.rs:22:19 6: cranelift_assembler_x64::xmm::Xmm<R>::to_string at ./cranelift/assembler-x64/src/xmm.rs:29:24 7: <cranelift_assembler_x64::inst::xorps_a<R> as core::fmt::Display>::fmt at ./target/debug/build/cranelift-assembler-x64-c5f27d6ae628a962/out/assembler.rs:14517:19 8: <&T as core::fmt::Display>::fmt at /home/cfallin/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/fmt/mod.rs:2643:62 9: core::fmt::rt::Argument::fmt at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/core/src/fmt/rt.rs:177:76 10: core::fmt::write at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/core/src/fmt/mod.rs:1440:21 11: core::fmt::Formatter::write_fmt at /home/cfallin/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/fmt/mod.rs:1912:13 12: <cranelift_assembler_x64::inst::Inst<R> as core::fmt::Display>::fmt at ./target/debug/build/cranelift-assembler-x64-c5f27d6ae628a962/out/assembler.rs:432:33 13: <&T as core::fmt::Display>::fmt at /home/cfallin/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/fmt/mod.rs:2643:62 14: core::fmt::rt::Argument::fmt at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/core/src/fmt/rt.rs:177:76 15: core::fmt::write at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/core/src/fmt/mod.rs:1440:21 16: <&mut W as core::fmt::Write::write_fmt::SpecWriteFmt>::spec_write_fmt at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/core/src/fmt/mod.rs:242:21 17: core::fmt::Write::write_fmt at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/core/src/fmt/mod.rs:247:9 [ ... ]It appears that the XMM-register pretty-printing can't handle pre-regalloc states.
cc @abrown
abrown closed issue #10529:
With latest
main(801cd06bffeb5c555973c1f8892b7591edc37a74), this CLIF:test compile target x86_64 function u0:0(f32, f32) -> f32 { block0(v0: f32, v1: f32): v2 = bxor.f32 v0, v1 return v2 }when compiled with
$ RUST_BACKTRACE=1 RUST_LOG=trace cargo run -p cranelift-tools -- test ./t.clifresults in this panic:
thread 'worker #1' panicked at cranelift/codegen/src/isa/x64/inst/external.rs:144:9: internal error: entered unreachable code stack backtrace: 0: rust_begin_unwind at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/std/src/panicking.rs:692:5 1: core::panicking::panic_fmt at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/core/src/panicking.rs:75:14 2: core::panicking::panic at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/core/src/panicking.rs:145:5 3: cranelift_codegen::isa::x64::inst::external::enc_xmm at ./cranelift/codegen/src/isa/x64/inst/external.rs:144:9 4: <cranelift_codegen::isa::x64::inst::external::PairedXmm as cranelift_assembler_x64::api::AsReg>::enc at ./cranelift/codegen/src/isa/x64/inst/external.rs:67:20 5: cranelift_assembler_x64::xmm::Xmm<R>::enc at ./cranelift/assembler-x64/src/xmm.rs:22:19 6: cranelift_assembler_x64::xmm::Xmm<R>::to_string at ./cranelift/assembler-x64/src/xmm.rs:29:24 7: <cranelift_assembler_x64::inst::xorps_a<R> as core::fmt::Display>::fmt at ./target/debug/build/cranelift-assembler-x64-c5f27d6ae628a962/out/assembler.rs:14517:19 8: <&T as core::fmt::Display>::fmt at /home/cfallin/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/fmt/mod.rs:2643:62 9: core::fmt::rt::Argument::fmt at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/core/src/fmt/rt.rs:177:76 10: core::fmt::write at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/core/src/fmt/mod.rs:1440:21 11: core::fmt::Formatter::write_fmt at /home/cfallin/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/fmt/mod.rs:1912:13 12: <cranelift_assembler_x64::inst::Inst<R> as core::fmt::Display>::fmt at ./target/debug/build/cranelift-assembler-x64-c5f27d6ae628a962/out/assembler.rs:432:33 13: <&T as core::fmt::Display>::fmt at /home/cfallin/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/fmt/mod.rs:2643:62 14: core::fmt::rt::Argument::fmt at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/core/src/fmt/rt.rs:177:76 15: core::fmt::write at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/core/src/fmt/mod.rs:1440:21 16: <&mut W as core::fmt::Write::write_fmt::SpecWriteFmt>::spec_write_fmt at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/core/src/fmt/mod.rs:242:21 17: core::fmt::Write::write_fmt at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/core/src/fmt/mod.rs:247:9 [ ... ]It appears that the XMM-register pretty-printing can't handle pre-regalloc states.
cc @abrown
Last updated: Dec 06 2025 at 07:03 UTC