LaoLittle opened issue #12696:
.clifTest Casetest compile target aarch64 function %bitcast_neon_repro() -> i64x2 { block0: v0 = iconst.i64 0x0001_0001_0001_0001 v1 = bitcast.i16x4 little v0 v2 = iadd v1, v1 v3 = bitcast.i64 little v2 v4 = scalar_to_vector.i64x2 v3 return v4 }Running `target/debug/clif-util bugpoint cranelift/filetests/filetests/runtests/issue_new.clif aarch64` pass 0 phase remove inst pass 0 phase replace inst with const pass 0 phase replace inst with trap pass 0 phase move inst to entry block pass 0 phase remove block pass 0 phase replace block parameter with const pass 0 phase remove unused entities pass 0 phase merge blocks After pass 0, remaining insts/blocks: 6/1 (stop reducing) Crash message: assertion `left == right` failed left: Float right: Int function %bitcast_neon_repro() -> i64x2 fast { const0 = 0x0000000000000000 block0: v0 = iconst.i64 0x0001_0001_0001_0001 v1 = vconst.i16x4 const0 v2 = iadd v1, v1 ; v1 = const0, v1 = const0 v3 = bitcast.i64 little v2 v4 = scalar_to_vector.i64x2 v3 return v4 } 1 blocks 6 insts -> 1 blocks 6 instsSteps to Reproduce
Bit casting a scalar value into vector value and then use it with
iadd.Expected Results
The function compiles and works correctly.
Actual Results
thread 'main' (1222467) panicked at cranelift/codegen/src/isa/aarch64/inst/emit.rs:97:5: assertion `left == right` failed left: Float right: Int stack backtrace: 0: 0x104a146d0 - std::backtrace_rs::backtrace::libunwind::trace::h42f133f3098ffd03 at /rustc/01f6ddf7588f42ae2d7eb0a2f21d44e8e96674cf/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 1: 0x104a146d0 - std::backtrace_rs::backtrace::trace_unsynchronized::hd178d68fe7c421df at /rustc/01f6ddf7588f42ae2d7eb0a2f21d44e8e96674cf/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 2: 0x104a146d0 - std::sys::backtrace::_print_fmt::hc068691005599a77 at /rustc/01f6ddf7588f42ae2d7eb0a2f21d44e8e96674cf/library/std/src/sys/backtrace.rs:68:9 3: 0x104a146d0 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h10dcb5e2ebe8f0ac at /rustc/01f6ddf7588f42ae2d7eb0a2f21d44e8e96674cf/library/std/src/sys/backtrace.rs:38:26 4: 0x104a2342c - core::fmt::rt::Argument::fmt::h7125e9747c4f6580 at /rustc/01f6ddf7588f42ae2d7eb0a2f21d44e8e96674cf/library/core/src/fmt/rt.rs:152:76 5: 0x104a2342c - core::fmt::write::hd5926bdf73ee24f4 at /rustc/01f6ddf7588f42ae2d7eb0a2f21d44e8e96674cf/library/core/src/fmt/mod.rs:1686:22 6: 0x1049f3c0c - std::io::default_write_fmt::h672bd49f4ec68dd3 at /rustc/01f6ddf7588f42ae2d7eb0a2f21d44e8e96674cf/library/std/src/io/mod.rs:639:11 7: 0x1049f3c0c - std::io::Write::write_fmt::h7c97e47276bac25e at /rustc/01f6ddf7588f42ae2d7eb0a2f21d44e8e96674cf/library/std/src/io/mod.rs:1994:13 8: 0x1049fc4c0 - std::sys::backtrace::BacktraceLock::print::he4632254b99ae048 at /rustc/01f6ddf7588f42ae2d7eb0a2f21d44e8e96674cf/library/std/src/sys/backtrace.rs:41:25 9: 0x1049fc4c0 - std::panicking::default_hook::{{closure}}::h49a8add86c9a65d5 at /rustc/01f6ddf7588f42ae2d7eb0a2f21d44e8e96674cf/library/std/src/panicking.rs:292:27 10: 0x1049fc3c0 - std::panicking::default_hook::h5bd341aa6d010dc8 at /rustc/01f6ddf7588f42ae2d7eb0a2f21d44e8e96674cf/library/std/src/panicking.rs:319:9 11: 0x1049fc8b8 - std::panicking::panic_with_hook::hbf4b5b50eb72ae21 at /rustc/01f6ddf7588f42ae2d7eb0a2f21d44e8e96674cf/library/std/src/panicking.rs:825:13 12: 0x1049fc56c - std::panicking::panic_handler::{{closure}}::h24ca9bac65f2240f at /rustc/01f6ddf7588f42ae2d7eb0a2f21d44e8e96674cf/library/std/src/panicking.rs:698:13 13: 0x1049f9238 - std::sys::backtrace::__rust_end_short_backtrace::hf48afbd2b4eb8a2d at /rustc/01f6ddf7588f42ae2d7eb0a2f21d44e8e96674cf/library/std/src/sys/backtrace.rs:176:18 14: 0x1049ec264 - __rustc[9e6a08e89e4b9111]::rust_begin_unwind at /rustc/01f6ddf7588f42ae2d7eb0a2f21d44e8e96674cf/library/std/src/panicking.rs:689:5 15: 0x104a6f208 - core::panicking::panic_fmt::h702fd765199c1b52 at /rustc/01f6ddf7588f42ae2d7eb0a2f21d44e8e96674cf/library/core/src/panicking.rs:80:14 16: 0x104a6f108 - core::panicking::assert_failed_inner::h2f9ce117ba7393cc 17: 0x104a68560 - core::panicking::assert_failed::ha5223c41403bcb1b at /Users/laolittle/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/panicking.rs:394:5 18: 0x1038d4118 - cranelift_codegen::isa::aarch64::inst::emit::machreg_to_gpr::h497cc05d7da5e83a at /Users/laolittle/RustProjects/wasmtime/cranelift/codegen/src/isa/aarch64/inst/emit.rs:97:5 19: 0x1038d3b98 - cranelift_codegen::isa::aarch64::inst::emit::enc_arith_rrr::h5942217f851fba21 at /Users/laolittle/RustProjects/wasmtime/cranelift/codegen/src/isa/aarch64/inst/emit.rs:115:12 20: 0x103496a18 - cranelift_codegen::isa::aarch64::inst::emit::<impl cranelift_codegen::machinst::MachInstEmit for cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst>::emit::h569d9903de053545 at /Users/laolittle/RustProjects/wasmtime/cranelift/codegen/src/isa/aarch64/inst/emit.rs:785:27 21: 0x1037b1984 - cranelift_codegen::machinst::vcode::VCode<I>::emit::{{closure}}::h34a95641c829c67b at /Users/laolittle/RustProjects/wasmtime/cranelift/codegen/src/machinst/vcode.rs:865:22 22: 0x1037ab648 - cranelift_codegen::machinst::vcode::VCode<I>::emit::hc7998f58ff70d948 at /Users/laolittle/RustProjects/wasmtime/cranelift/codegen/src/machinst/vcode.rs:1040:29 23: 0x103a55b54 - <cranelift_codegen::isa::aarch64::AArch64Backend as cranelift_codegen::isa::TargetIsa>::compile_function::h3d4fe4d6b7b2013f at /Users/laolittle/RustProjects/wasmtime/cranelift/codegen/src/isa/aarch64/mod.rs:76:33 24: 0x10423f6f4 - cranelift_codegen::context::Context::compile_stencil::h32e4cb2e891c9df1 at /Users/laolittle/RustProjects/wasmtime/cranelift/codegen/src/context.rs:140:26 25: 0x10423fd28 - cranelift_codegen::context::Context::compile::h58fa5acbbefc7e8b at /Users/laolittle/RustProjects/wasmtime/cranelift/codegen/src/context.rs:217:14 26: 0x102fe93e8 - clif_util::compile::handle_module::h50a9724bd6f031bd at /Users/laolittle/RustProjects/wasmtime/cranelift/src/compile.rs:104:14 27: 0x102fba7e8 - clif_util::compile::run::h8519991651957e7c at /Users/laolittle/RustProjects/wasmtime/cranelift/src/compile.rs:67:9 28: 0x102fdb88c - clif_util::main::h17ef68621aa0be14 at /Users/laolittle/RustProjects/wasmtime/cranelift/src/clif-util.rs:84:33 29: 0x102fc8700 - core::ops::function::FnOnce::call_once::he45eb97b44e3a573 at /Users/laolittle/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/ops/function.rs:250:5 30: 0x102fab51c - std::sys::backtrace::__rust_begin_short_backtrace::h91825d9a42c7e653 at /Users/laolittle/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/std/src/sys/backtrace.rs:160:18 31: 0x102fe44bc - std::rt::lang_start::{{closure}}::h01fea3224c0d9bd6 at /Users/laolittle/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/std/src/rt.rs:206:18 32: 0x1049f53bc - core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once::hf12ebee2a5b8b3c1 at /rustc/01f6ddf7588f42ae2d7eb0a2f21d44e8e96674cf/library/core/src/ops/function.rs:287:21 33: 0x1049f53bc - std::panicking::catch_unwind::do_call::h60c0ce3b8eb9cbc1 at /rustc/01f6ddf7588f42ae2d7eb0a2f21d44e8e96674cf/library/std/src/panicking.rs:581:40 34: 0x1049f53bc - std::panicking::catch_unwind::h9558f519c39b0c09 at /rustc/01f6ddf7588f42ae2d7eb0a2f21d44e8e96674cf/library/std/src/panicking.rs:544:19 35: 0x1049f53bc - std::panic::catch_unwind::h534461dff0762a6c at /rustc/01f6ddf7588f42ae2d7eb0a2f21d44e8e96674cf/library/std/src/panic.rs:359:14 36: 0x1049f53bc - std::rt::lang_start_internal::{{closure}}::h25a6c7f491c6d2dd at /rustc/01f6ddf7588f42ae2d7eb0a2f21d44e8e96674cf/library/std/src/rt.rs:175:24 37: 0x1049f53bc - std::panicking::catch_unwind::do_call::h682739c7c8fbedff at /rustc/01f6ddf7588f42ae2d7eb0a2f21d44e8e96674cf/library/std/src/panicking.rs:581:40 38: 0x1049f53bc - std::panicking::catch_unwind::h9ab8e9d040370c81 at /rustc/01f6ddf7588f42ae2d7eb0a2f21d44e8e96674cf/library/std/src/panicking.rs:544:19 39: 0x1049f53bc - std::panic::catch_unwind::he33858ddec5b32c4 at /rustc/01f6ddf7588f42ae2d7eb0a2f21d44e8e96674cf/library/st [message truncated]
LaoLittle added the bug label to Issue #12696.
LaoLittle added the cranelift label to Issue #12696.
cfallin closed issue #12696:
.clifTest Casetest compile target aarch64 function %bitcast_neon_repro() -> i64x2 { block0: v0 = iconst.i64 0x0001_0001_0001_0001 v1 = bitcast.i16x4 little v0 v2 = iadd v1, v1 v3 = bitcast.i64 little v2 v4 = scalar_to_vector.i64x2 v3 return v4 }Running `target/debug/clif-util bugpoint cranelift/filetests/filetests/runtests/issue_new.clif aarch64` pass 0 phase remove inst pass 0 phase replace inst with const pass 0 phase replace inst with trap pass 0 phase move inst to entry block pass 0 phase remove block pass 0 phase replace block parameter with const pass 0 phase remove unused entities pass 0 phase merge blocks After pass 0, remaining insts/blocks: 6/1 (stop reducing) Crash message: assertion `left == right` failed left: Float right: Int function %bitcast_neon_repro() -> i64x2 fast { const0 = 0x0000000000000000 block0: v0 = iconst.i64 0x0001_0001_0001_0001 v1 = vconst.i16x4 const0 v2 = iadd v1, v1 ; v1 = const0, v1 = const0 v3 = bitcast.i64 little v2 v4 = scalar_to_vector.i64x2 v3 return v4 } 1 blocks 6 insts -> 1 blocks 6 instsSteps to Reproduce
Bit casting a scalar value into vector value and then use it with
iadd.Expected Results
The function compiles and works correctly.
Actual Results
thread 'main' (1222467) panicked at cranelift/codegen/src/isa/aarch64/inst/emit.rs:97:5: assertion `left == right` failed left: Float right: Int stack backtrace: 0: 0x104a146d0 - std::backtrace_rs::backtrace::libunwind::trace::h42f133f3098ffd03 at /rustc/01f6ddf7588f42ae2d7eb0a2f21d44e8e96674cf/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 1: 0x104a146d0 - std::backtrace_rs::backtrace::trace_unsynchronized::hd178d68fe7c421df at /rustc/01f6ddf7588f42ae2d7eb0a2f21d44e8e96674cf/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 2: 0x104a146d0 - std::sys::backtrace::_print_fmt::hc068691005599a77 at /rustc/01f6ddf7588f42ae2d7eb0a2f21d44e8e96674cf/library/std/src/sys/backtrace.rs:68:9 3: 0x104a146d0 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h10dcb5e2ebe8f0ac at /rustc/01f6ddf7588f42ae2d7eb0a2f21d44e8e96674cf/library/std/src/sys/backtrace.rs:38:26 4: 0x104a2342c - core::fmt::rt::Argument::fmt::h7125e9747c4f6580 at /rustc/01f6ddf7588f42ae2d7eb0a2f21d44e8e96674cf/library/core/src/fmt/rt.rs:152:76 5: 0x104a2342c - core::fmt::write::hd5926bdf73ee24f4 at /rustc/01f6ddf7588f42ae2d7eb0a2f21d44e8e96674cf/library/core/src/fmt/mod.rs:1686:22 6: 0x1049f3c0c - std::io::default_write_fmt::h672bd49f4ec68dd3 at /rustc/01f6ddf7588f42ae2d7eb0a2f21d44e8e96674cf/library/std/src/io/mod.rs:639:11 7: 0x1049f3c0c - std::io::Write::write_fmt::h7c97e47276bac25e at /rustc/01f6ddf7588f42ae2d7eb0a2f21d44e8e96674cf/library/std/src/io/mod.rs:1994:13 8: 0x1049fc4c0 - std::sys::backtrace::BacktraceLock::print::he4632254b99ae048 at /rustc/01f6ddf7588f42ae2d7eb0a2f21d44e8e96674cf/library/std/src/sys/backtrace.rs:41:25 9: 0x1049fc4c0 - std::panicking::default_hook::{{closure}}::h49a8add86c9a65d5 at /rustc/01f6ddf7588f42ae2d7eb0a2f21d44e8e96674cf/library/std/src/panicking.rs:292:27 10: 0x1049fc3c0 - std::panicking::default_hook::h5bd341aa6d010dc8 at /rustc/01f6ddf7588f42ae2d7eb0a2f21d44e8e96674cf/library/std/src/panicking.rs:319:9 11: 0x1049fc8b8 - std::panicking::panic_with_hook::hbf4b5b50eb72ae21 at /rustc/01f6ddf7588f42ae2d7eb0a2f21d44e8e96674cf/library/std/src/panicking.rs:825:13 12: 0x1049fc56c - std::panicking::panic_handler::{{closure}}::h24ca9bac65f2240f at /rustc/01f6ddf7588f42ae2d7eb0a2f21d44e8e96674cf/library/std/src/panicking.rs:698:13 13: 0x1049f9238 - std::sys::backtrace::__rust_end_short_backtrace::hf48afbd2b4eb8a2d at /rustc/01f6ddf7588f42ae2d7eb0a2f21d44e8e96674cf/library/std/src/sys/backtrace.rs:176:18 14: 0x1049ec264 - __rustc[9e6a08e89e4b9111]::rust_begin_unwind at /rustc/01f6ddf7588f42ae2d7eb0a2f21d44e8e96674cf/library/std/src/panicking.rs:689:5 15: 0x104a6f208 - core::panicking::panic_fmt::h702fd765199c1b52 at /rustc/01f6ddf7588f42ae2d7eb0a2f21d44e8e96674cf/library/core/src/panicking.rs:80:14 16: 0x104a6f108 - core::panicking::assert_failed_inner::h2f9ce117ba7393cc 17: 0x104a68560 - core::panicking::assert_failed::ha5223c41403bcb1b at /Users/laolittle/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/panicking.rs:394:5 18: 0x1038d4118 - cranelift_codegen::isa::aarch64::inst::emit::machreg_to_gpr::h497cc05d7da5e83a at /Users/laolittle/RustProjects/wasmtime/cranelift/codegen/src/isa/aarch64/inst/emit.rs:97:5 19: 0x1038d3b98 - cranelift_codegen::isa::aarch64::inst::emit::enc_arith_rrr::h5942217f851fba21 at /Users/laolittle/RustProjects/wasmtime/cranelift/codegen/src/isa/aarch64/inst/emit.rs:115:12 20: 0x103496a18 - cranelift_codegen::isa::aarch64::inst::emit::<impl cranelift_codegen::machinst::MachInstEmit for cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst>::emit::h569d9903de053545 at /Users/laolittle/RustProjects/wasmtime/cranelift/codegen/src/isa/aarch64/inst/emit.rs:785:27 21: 0x1037b1984 - cranelift_codegen::machinst::vcode::VCode<I>::emit::{{closure}}::h34a95641c829c67b at /Users/laolittle/RustProjects/wasmtime/cranelift/codegen/src/machinst/vcode.rs:865:22 22: 0x1037ab648 - cranelift_codegen::machinst::vcode::VCode<I>::emit::hc7998f58ff70d948 at /Users/laolittle/RustProjects/wasmtime/cranelift/codegen/src/machinst/vcode.rs:1040:29 23: 0x103a55b54 - <cranelift_codegen::isa::aarch64::AArch64Backend as cranelift_codegen::isa::TargetIsa>::compile_function::h3d4fe4d6b7b2013f at /Users/laolittle/RustProjects/wasmtime/cranelift/codegen/src/isa/aarch64/mod.rs:76:33 24: 0x10423f6f4 - cranelift_codegen::context::Context::compile_stencil::h32e4cb2e891c9df1 at /Users/laolittle/RustProjects/wasmtime/cranelift/codegen/src/context.rs:140:26 25: 0x10423fd28 - cranelift_codegen::context::Context::compile::h58fa5acbbefc7e8b at /Users/laolittle/RustProjects/wasmtime/cranelift/codegen/src/context.rs:217:14 26: 0x102fe93e8 - clif_util::compile::handle_module::h50a9724bd6f031bd at /Users/laolittle/RustProjects/wasmtime/cranelift/src/compile.rs:104:14 27: 0x102fba7e8 - clif_util::compile::run::h8519991651957e7c at /Users/laolittle/RustProjects/wasmtime/cranelift/src/compile.rs:67:9 28: 0x102fdb88c - clif_util::main::h17ef68621aa0be14 at /Users/laolittle/RustProjects/wasmtime/cranelift/src/clif-util.rs:84:33 29: 0x102fc8700 - core::ops::function::FnOnce::call_once::he45eb97b44e3a573 at /Users/laolittle/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/ops/function.rs:250:5 30: 0x102fab51c - std::sys::backtrace::__rust_begin_short_backtrace::h91825d9a42c7e653 at /Users/laolittle/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/std/src/sys/backtrace.rs:160:18 31: 0x102fe44bc - std::rt::lang_start::{{closure}}::h01fea3224c0d9bd6 at /Users/laolittle/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/std/src/rt.rs:206:18 32: 0x1049f53bc - core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once::hf12ebee2a5b8b3c1 at /rustc/01f6ddf7588f42ae2d7eb0a2f21d44e8e96674cf/library/core/src/ops/function.rs:287:21 33: 0x1049f53bc - std::panicking::catch_unwind::do_call::h60c0ce3b8eb9cbc1 at /rustc/01f6ddf7588f42ae2d7eb0a2f21d44e8e96674cf/library/std/src/panicking.rs:581:40 34: 0x1049f53bc - std::panicking::catch_unwind::h9558f519c39b0c09 at /rustc/01f6ddf7588f42ae2d7eb0a2f21d44e8e96674cf/library/std/src/panicking.rs:544:19 35: 0x1049f53bc - std::panic::catch_unwind::h534461dff0762a6c at /rustc/01f6ddf7588f42ae2d7eb0a2f21d44e8e96674cf/library/std/src/panic.rs:359:14 36: 0x1049f53bc - std::rt::lang_start_internal::{{closure}}::h25a6c7f491c6d2dd at /rustc/01f6ddf7588f42ae2d7eb0a2f21d44e8e96674cf/library/std/src/rt.rs:175:24 37: 0x1049f53bc - std::panicking::catch_unwind::do_call::h682739c7c8fbedff at /rustc/01f6ddf7588f42ae2d7eb0a2f21d44e8e96674cf/library/std/src/panicking.rs:581:40 38: 0x1049f53bc - std::panicking::catch_unwind::h9ab8e9d040370c81 at /rustc/01f6ddf7588f42ae2d7eb0a2f21d44e8e96674cf/library/std/src/panicking.rs:544:19 39: 0x1049f53bc - std::panic::catch_unwind::he33858ddec5b32c4 at /rustc/01f6ddf7588f42ae2d7eb0a2f21d44e8e96674cf/library/std/ [message truncated]
Last updated: Mar 23 2026 at 16:19 UTC