-
-
Notifications
You must be signed in to change notification settings - Fork 14.4k
Closed
Labels
A-codegenArea: Code generationArea: Code generationC-bugCategory: This is a bug.Category: This is a bug.O-AArch64Armv8-A or later processors in AArch64 modeArmv8-A or later processors in AArch64 modeT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the compiler team, which will review and decide on the PR/issue.
Description
I tried this code (https://godbolt.org/z/edj7vz3e9):
#![allow(internal_features)]
#![feature(rustc_attrs, link_llvm_intrinsics)]
#[rustc_scalable_vector(16)]
#[allow(non_camel_case_types)]
#[repr(transparent)]
pub struct svbool_t(bool);
#[rustc_scalable_vector(4)]
#[allow(non_camel_case_types)]
#[repr(transparent)]
pub struct svbool4_t(bool);
impl std::convert::Into<svbool_t> for svbool4_t {
#[inline(always)]
fn into(self) -> svbool_t {
unsafe extern "C" {
#[link_name = "llvm.aarch64.sve.convert.to.svbool.nxv4i1"]
fn convert_to_svbool(b: svbool4_t) -> svbool_t;
}
unsafe { convert_to_svbool(self) }
}
}
pub fn svwhilelt_b32_u64(op1: u64, op2: u64) -> svbool_t {
unsafe extern "C" {
#[link_name = "llvm.aarch64.sve.whilelo.nxv4i1.u64"]
fn _svwhilelt_b32_u64(op1: u64, op2: u64) -> svbool4_t;
}
unsafe { _svwhilelt_b32_u64(op1, op2) }.into()
}I expected to see this happen: compiles successfully.
Instead, this happened: failed to compile with error.
rustc-LLVM ERROR: Cannot select: 0x7fb7ed3a05b0: ch = store<(store (<vscale x 1 x s8>) into %ir.3, align 4)> 0x7fb7ed3a03f0, 0x7fb7ed3a0230, FrameIndex:i64<0>, undef:i64
0x7fb7ed3a0230: nxv4i1 = get_active_lane_mask 0x7fb7ed3a0070, 0x7fb7ed3a0150, example.rs:30:14
0x7fb7ed3a0070: i64,ch = CopyFromReg 0x7fb7ed21bd20, Register:i64 %0
0x7fb7ed3a0150: i64,ch = CopyFromReg 0x7fb7ed21bd20, Register:i64 %1
In function: _RNvCs5pe9rO2ESBx_7example17svwhilelt_b32_u64
Compiler returned: 101
Compile with -C debuginfo=0 or -C debuginfo=1 works well.
Analysis
The debuginfo for SVE predicates <vscale x N x i1> where N != 16 should be ignored by this commit.
rust/compiler/rustc_codegen_ssa/src/mir/debuginfo.rs
Lines 438 to 452 in 89eea57
| if operand.layout.ty.is_scalable_vector() | |
| && bx.sess().target.arch == rustc_target::spec::Arch::AArch64 | |
| && let ty::Adt(adt, args) = &operand.layout.ty.kind() | |
| && let Some(marker_type_field) = | |
| adt.non_enum_variant().fields.get(FieldIdx::from_u32(0)) | |
| { | |
| let marker_type = marker_type_field.ty(bx.tcx(), args); | |
| // i.e. `<vscale x N x i1>` when `N != 16` | |
| if let ty::Slice(element_ty) = marker_type.kind() | |
| && element_ty.is_bool() | |
| && adt.repr().scalable != Some(ScalableElt::ElementCount(16)) | |
| { | |
| return; | |
| } | |
| } |
The problem comes from line 446. The marker_type.kind() is ty::Bool instead of ty::Slice, so the code doesn't work as intended.
Meta
rustc --version --verbose:
rustc 1.94.0-nightly (e7d44143a 2025-12-24)
binary: rustc
commit-hash: e7d44143a12a526488e4f0c0d7ea8e62a4fe9354
commit-date: 2025-12-24
host: x86_64-unknown-linux-gnu
release: 1.94.0-nightly
LLVM version: 21.1.8
Internal compiler ID: nightly
No backtrace.
tracing log with "RUSTC_LOG=rustc_codegen_ssa=debug,rustc_codegen_llvm=debug"
DEBUG rustc_codegen_ssa::back::metadata getting rlib metadata for /home/h3f/projects/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/aarch64-unknown-linux-gnu/lib/libstd-b722ecfd18460264.rlib
DEBUG rustc_codegen_ssa::back::metadata getting rlib metadata for /home/h3f/projects/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/aarch64-unknown-linux-gnu/lib/libstd_detect-b3fdc47f3d355bad.rlib
DEBUG rustc_codegen_ssa::back::metadata getting rlib metadata for /home/h3f/projects/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/aarch64-unknown-linux-gnu/lib/libcore-624b00c374a358a8.rlib
DEBUG rustc_codegen_ssa::back::metadata getting rlib metadata for /home/h3f/projects/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/aarch64-unknown-linux-gnu/lib/liballoc-f2772df9365cc4da.rlib
DEBUG rustc_codegen_ssa::back::metadata getting rlib metadata for /home/h3f/projects/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/aarch64-unknown-linux-gnu/lib/libcompiler_builtins-53bd3af74bc58210.rlib
DEBUG rustc_codegen_ssa::back::metadata getting rlib metadata for /home/h3f/projects/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/aarch64-unknown-linux-gnu/lib/liblibc-8d8a49490d6b18a5.rlib
DEBUG rustc_codegen_ssa::back::metadata getting rlib metadata for /home/h3f/projects/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/aarch64-unknown-linux-gnu/lib/librustc_std_workspace_core-6beee1409bec0d5d.rlib
DEBUG rustc_codegen_ssa::back::metadata getting rlib metadata for /home/h3f/projects/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/aarch64-unknown-linux-gnu/lib/libunwind-d84c6b56dc0a48be.rlib
DEBUG rustc_codegen_ssa::back::metadata getting rlib metadata for /home/h3f/projects/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/aarch64-unknown-linux-gnu/lib/libminiz_oxide-ef8c35a4029e1a12.rlib
DEBUG rustc_codegen_ssa::back::metadata getting rlib metadata for /home/h3f/projects/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/aarch64-unknown-linux-gnu/lib/libadler2-0d225b3d0412fa92.rlib
DEBUG rustc_codegen_ssa::back::metadata getting rlib metadata for /home/h3f/projects/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/aarch64-unknown-linux-gnu/lib/libhashbrown-652447b1e838a6d1.rlib
DEBUG rustc_codegen_ssa::back::metadata getting rlib metadata for /home/h3f/projects/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/aarch64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-84820e8648f0cf13.rlib
DEBUG rustc_codegen_ssa::back::metadata getting rlib metadata for /home/h3f/projects/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/aarch64-unknown-linux-gnu/lib/libstd_detect-b3fdc47f3d355bad.rlib
DEBUG rustc_codegen_ssa::back::metadata getting rlib metadata for /home/h3f/projects/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/aarch64-unknown-linux-gnu/lib/librustc_demangle-5ef949d6f622f056.rlib
DEBUG rustc_codegen_ssa::back::metadata getting rlib metadata for /home/h3f/projects/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/aarch64-unknown-linux-gnu/lib/libcfg_if-94c4a8f9b958cb90.rlib
DEBUG rustc_codegen_ssa::back::metadata getting rlib metadata for /home/h3f/projects/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/aarch64-unknown-linux-gnu/lib/libaddr2line-a245022b019119c8.rlib
DEBUG rustc_codegen_ssa::back::metadata getting rlib metadata for /home/h3f/projects/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/aarch64-unknown-linux-gnu/lib/libgimli-c62209d43f4ec605.rlib
DEBUG rustc_codegen_ssa::back::metadata getting rlib metadata for /home/h3f/projects/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/aarch64-unknown-linux-gnu/lib/libobject-a2fa2dac4168f971.rlib
DEBUG rustc_codegen_ssa::back::metadata getting rlib metadata for /home/h3f/projects/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/aarch64-unknown-linux-gnu/lib/libmemchr-7d75c34d451546bb.rlib
DEBUG rustc_codegen_ssa::back::metadata getting rlib metadata for /home/h3f/projects/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/aarch64-unknown-linux-gnu/lib/libpanic_unwind-af6a46d2374d192d.rlib
DEBUG rustc_codegen_ssa::back::symbol_export EXPORTED SYMBOL (local): _RNvCsdHHX9MsTYBi_9debuginfo17svwhilelt_b32_u64 (Rust)
DEBUG rustc_codegen_llvm::debuginfo CodegenUnitDebugContext::new
DEBUG rustc_codegen_llvm::debuginfo::metadata build_compile_unit_di_node: "src/debuginfo.rs/@/debuginfo.9fa162b06e2e3ac2-cgu.0"
DEBUG rustc_codegen_ssa::mono_item BEGIN PREDEFINING 'fn svwhilelt_b32_u64 (Fn(Item(DefId(0:13 ~ debuginfo[9fa1]::svwhilelt_b32_u64)), 139834379250504))' in cgu debuginfo.9fa162b06e2e3ac2-cgu.0
DEBUG rustc_codegen_ssa::mono_item symbol _RNvCsdHHX9MsTYBi_9debuginfo17svwhilelt_b32_u64
DEBUG rustc_codegen_llvm::declare declare_rust_fn(name="_RNvCsdHHX9MsTYBi_9debuginfo17svwhilelt_b32_u64", fn_abi=FnAbi { args: [ArgAbi { layout: TyAndLayout { ty: i64, layout: Layout { size: Size(8 bytes), align: AbiAlign { abi: Align(8 bytes) }, backend_repr: Scalar(Initialized { value: Int(I64, true), valid_range: 0..=18446744073709551615 }), fields: Primitive, largest_niche: None, uninhabited: false, variants: Single { index: 0 }, max_repr_align: None, unadjusted_abi_align: Align(8 bytes), randomization_seed: 4294967303 } }, mode: Direct(ArgAttributes { regular: NoUndef, arg_ext: None, pointee_size: Size(0 bytes), pointee_align: None }) }, ArgAbi { layout: TyAndLayout { ty: i64, layout: Layout { size: Size(8 bytes), align: AbiAlign { abi: Align(8 bytes) }, backend_repr: Scalar(Initialized { value: Int(I64, true), valid_range: 0..=18446744073709551615 }), fields: Primitive, largest_niche: None, uninhabited: false, variants: Single { index: 0 }, max_repr_align: None, unadjusted_abi_align: Align(8 bytes), randomization_seed: 4294967303 } }, mode: Direct(ArgAttributes { regular: NoUndef, arg_ext: None, pointee_size: Size(0 bytes), pointee_align: None }) }], ret: ArgAbi { layout: TyAndLayout { ty: svbool_t, layout: Layout { size: Size(16 bytes), align: AbiAlign { abi: Align(16 bytes) }, backend_repr: ScalableVector { element: Initialized { value: Int(I8, false), valid_range: 0..=1 }, count: 16 }, fields: Arbitrary { offsets: [Size(0 bytes)], in_memory_order: [0] }, largest_niche: Some(Niche { offset: Size(0 bytes), value: Int(I8, false), valid_range: 0..=1 }), uninhabited: false, variants: Single { index: 0 }, max_repr_align: None, unadjusted_abi_align: Align(1 bytes), randomization_seed: 281483566645265 } }, mode: Direct(ArgAttributes { regular: , arg_ext: None, pointee_size: Size(0 bytes), pointee_align: None }) }, c_variadic: false, fixed_count: 2, conv: Rust, can_unwind: true })
DEBUG rustc_codegen_llvm::type_of llvm_type(TyAndLayout {
ty: svbool_t,
layout: Layout {
size: Size(16 bytes),
align: AbiAlign {
abi: Align(16 bytes),
},
backend_repr: ScalableVector {
element: Initialized {
value: Int(
I8,
false,
),
valid_range: 0..=1,
},
count: 16,
},
fields: Arbitrary {
offsets: [
Size(0 bytes),
],
in_memory_order: [
0,
],
},
largest_niche: Some(
Niche {
offset: Size(0 bytes),
value: Int(
I8,
false,
),
valid_range: 0..=1,
},
),
uninhabited: false,
variants: Single {
index: 0,
},
max_repr_align: None,
unadjusted_abi_align: Align(1 bytes),
randomization_seed: 281483566645265,
},
})
DEBUG rustc_codegen_llvm::type_of --> mapped TyAndLayout {
ty: svbool_t,
layout: Layout {
size: Size(16 bytes),
align: AbiAlign {
abi: Align(16 bytes),
},
backend_repr: ScalableVector {
element: Initialized {
value: Int(
I8,
false,
),
valid_range: 0..=1,
},
count: 16,
},
fields: Arbitrary {
offsets: [
Size(0 bytes),
],
in_memory_order: [
0,
],
},
largest_niche: Some(
Niche {
offset: Size(0 bytes),
value: Int(
I8,
false,
),
valid_range: 0..=1,
},
),
uninhabited: false,
variants: Single {
index: 0,
},
max_repr_align: None,
unadjusted_abi_align: Align(1 bytes),
randomization_seed: 281483566645265,
},
} to llty=<vscale x 16 x i1>
DEBUG rustc_codegen_llvm::declare declare_raw_fn(name="_RNvCsdHHX9MsTYBi_9debuginfo17svwhilelt_b32_u64", ty=<vscale x 16 x i1> (i64, i64))
DEBUG rustc_codegen_llvm::declare declare_simple_fn(name="_RNvCsdHHX9MsTYBi_9debuginfo17svwhilelt_b32_u64", ty=<vscale x 16 x i1> (i64, i64))
DEBUG rustc_codegen_llvm::mono_item predefine_fn: instance = Instance { def: Item(DefId(0:13 ~ debuginfo[9fa1]::svwhilelt_b32_u64)), args: [] }
DEBUG rustc_codegen_ssa::mono_item END PREDEFINING 'fn svwhilelt_b32_u64 (Fn(Item(DefId(0:13 ~ debuginfo[9fa1]::svwhilelt_b32_u64)), 139834379250504))' in cgu debuginfo.9fa162b06e2e3ac2-cgu.0
DEBUG rustc_codegen_ssa::mono_item BEGIN PREDEFINING 'fn <svbool4_t as Into<svbool_t>>::into (Fn(Item(DefId(0:10 ~ debuginfo[9fa1]::{impl#0}::into)), 139834379250504))' in cgu debuginfo.9fa162b06e2e3ac2-cgu.0
DEBUG rustc_codegen_ssa::mono_item symbol _RNvXCsdHHX9MsTYBi_9debuginfoNtB2_9svbool4_tINtNtCs7D9OQsQgQbp_4core7convert4IntoNtB2_8svbool_tE4into
DEBUG rustc_codegen_llvm::declare declare_rust_fn(name="_RNvXCsdHHX9MsTYBi_9debuginfoNtB2_9svbool4_tINtNtCs7D9OQsQgQbp_4core7convert4IntoNtB2_8svbool_tE4into", fn_abi=FnAbi { args: [ArgAbi { layout: TyAndLayout { ty: svbool4_t, layout: Layout { size: Size(4 bytes), align: AbiAlign { abi: Align(4 bytes) }, backend_repr: ScalableVector { element: Initialized { value: Int(I8, false), valid_range: 0..=1 }, count: 4 }, fields: Arbitrary { offsets: [Size(0 bytes)], in_memory_order: [0] }, largest_niche: Some(Niche { offset: Size(0 bytes), value: Int(I8, false), valid_range: 0..=1 }), uninhabited: false, variants: Single { index: 0 }, max_repr_align: None, unadjusted_abi_align: Align(1 bytes), randomization_seed: 281483566645253 } }, mode: Direct(ArgAttributes { regular: , arg_ext: None, pointee_size: Size(0 bytes), pointee_align: None }) }], ret: ArgAbi { layout: TyAndLayout { ty: svbool_t, layout: Layout { size: Size(16 bytes), align: AbiAlign { abi: Align(16 bytes) }, backend_repr: ScalableVector { element: Initialized { value: Int(I8, false), valid_range: 0..=1 }, count: 16 }, fields: Arbitrary { offsets: [Size(0 bytes)], in_memory_order: [0] }, largest_niche: Some(Niche { offset: Size(0 bytes), value: Int(I8, false), valid_range: 0..=1 }), uninhabited: false, variants: Single { index: 0 }, max_repr_align: None, unadjusted_abi_align: Align(1 bytes), randomization_seed: 281483566645265 } }, mode: Direct(ArgAttributes { regular: , arg_ext: None, pointee_size: Size(0 bytes), pointee_align: None }) }, c_variadic: false, fixed_count: 1, conv: Rust, can_unwind: true })
DEBUG rustc_codegen_llvm::type_of llvm_type(TyAndLayout {
ty: svbool4_t,
layout: Layout {
size: Size(4 bytes),
align: AbiAlign {
abi: Align(4 bytes),
},
backend_repr: ScalableVector {
element: Initialized {
value: Int(
I8,
false,
),
valid_range: 0..=1,
},
count: 4,
},
fields: Arbitrary {
offsets: [
Size(0 bytes),
],
in_memory_order: [
0,
],
},
largest_niche: Some(
Niche {
offset: Size(0 bytes),
value: Int(
I8,
false,
),
valid_range: 0..=1,
},
),
uninhabited: false,
variants: Single {
index: 0,
},
max_repr_align: None,
unadjusted_abi_align: Align(1 bytes),
randomization_seed: 281483566645253,
},
})
DEBUG rustc_codegen_llvm::type_of --> mapped TyAndLayout {
ty: svbool4_t,
layout: Layout {
size: Size(4 bytes),
align: AbiAlign {
abi: Align(4 bytes),
},
backend_repr: ScalableVector {
element: Initialized {
value: Int(
I8,
false,
),
valid_range: 0..=1,
},
count: 4,
},
fields: Arbitrary {
offsets: [
Size(0 bytes),
],
in_memory_order: [
0,
],
},
largest_niche: Some(
Niche {
offset: Size(0 bytes),
value: Int(
I8,
false,
),
valid_range: 0..=1,
},
),
uninhabited: false,
variants: Single {
index: 0,
},
max_repr_align: None,
unadjusted_abi_align: Align(1 bytes),
randomization_seed: 281483566645253,
},
} to llty=<vscale x 4 x i1>
DEBUG rustc_codegen_llvm::declare declare_raw_fn(name="_RNvXCsdHHX9MsTYBi_9debuginfoNtB2_9svbool4_tINtNtCs7D9OQsQgQbp_4core7convert4IntoNtB2_8svbool_tE4into", ty=<vscale x 16 x i1> (<vscale x 4 x i1>))
DEBUG rustc_codegen_llvm::declare declare_simple_fn(name="_RNvXCsdHHX9MsTYBi_9debuginfoNtB2_9svbool4_tINtNtCs7D9OQsQgQbp_4core7convert4IntoNtB2_8svbool_tE4into", ty=<vscale x 16 x i1> (<vscale x 4 x i1>))
DEBUG rustc_codegen_llvm::mono_item predefine_fn: instance = Instance { def: Item(DefId(0:10 ~ debuginfo[9fa1]::{impl#0}::into)), args: [] }
DEBUG rustc_codegen_ssa::mono_item END PREDEFINING 'fn <svbool4_t as Into<svbool_t>>::into (Fn(Item(DefId(0:10 ~ debuginfo[9fa1]::{impl#0}::into)), 139834379250504))' in cgu debuginfo.9fa162b06e2e3ac2-cgu.0
DEBUG rustc_codegen_ssa::mono_item BEGIN IMPLEMENTING 'fn svwhilelt_b32_u64 (Fn(Item(DefId(0:13 ~ debuginfo[9fa1]::svwhilelt_b32_u64)), 139834379250504))' in cgu debuginfo.9fa162b06e2e3ac2-cgu.0
INFO rustc_codegen_ssa::base codegen_instance(svwhilelt_b32_u64)
rustc_codegen_ssa::mir::codegen_mir instance=Instance { def: Item(DefId(0:13 ~ debuginfo[9fa1]::svwhilelt_b32_u64)), args: [] }
0ms DEBUG rustc_codegen_llvm::callee get_fn(instance=Instance { def: Item(DefId(0:13 ~ debuginfo[9fa1]::svwhilelt_b32_u64)), args: [] })
0ms DEBUG rustc_codegen_ssa::mir fn_abi: FnAbi { args: [ArgAbi { layout: TyAndLayout { ty: i64, layout: Layout { size: Size(8 bytes), align: AbiAlign { abi: Align(8 bytes) }, backend_repr: Scalar(Initialized { value: Int(I64, true), valid_range: 0..=18446744073709551615 }), fields: Primitive, largest_niche: None, uninhabited: false, variants: Single { index: 0 }, max_repr_align: None, unadjusted_abi_align: Align(8 bytes), randomization_seed: 4294967303 } }, mode: Direct(ArgAttributes { regular: NoUndef, arg_ext: None, pointee_size: Size(0 bytes), pointee_align: None }) }, ArgAbi { layout: TyAndLayout { ty: i64, layout: Layout { size: Size(8 bytes), align: AbiAlign { abi: Align(8 bytes) }, backend_repr: Scalar(Initialized { value: Int(I64, true), valid_range: 0..=18446744073709551615 }), fields: Primitive, largest_niche: None, uninhabited: false, variants: Single { index: 0 }, max_repr_align: None, unadjusted_abi_align: Align(8 bytes), randomization_seed: 4294967303 } }, mode: Direct(ArgAttributes { regular: NoUndef, arg_ext: None, pointee_size: Size(0 bytes), pointee_align: None }) }], ret: ArgAbi { layout: TyAndLayout { ty: svbool_t, layout: Layout { size: Size(16 bytes), align: AbiAlign { abi: Align(16 bytes) }, backend_repr: ScalableVector { element: Initialized { value: Int(I8, false), valid_range: 0..=1 }, count: 16 }, fields: Arbitrary { offsets: [Size(0 bytes)], in_memory_order: [0] }, largest_niche: Some(Niche { offset: Size(0 bytes), value: Int(I8, false), valid_range: 0..=1 }), uninhabited: false, variants: Single { index: 0 }, max_repr_align: None, unadjusted_abi_align: Align(1 bytes), randomization_seed: 281483566645265 } }, mode: Direct(ArgAttributes { regular: , arg_ext: None, pointee_size: Size(0 bytes), pointee_align: None }) }, c_variadic: false, fixed_count: 2, conv: Rust, can_unwind: true }
rustc_codegen_llvm::debuginfo::metadata::alloc_new_file_metadata
0ms DEBUG rustc_codegen_llvm::debuginfo::metadata source_file.name=Real(RealFileName { local: Some(InnerRealFileName { name: "src/debuginfo.rs", working_directory: "/home/h3f/projects/sve", embeddable_name: "/home/h3f/projects/sve/src/debuginfo.rs" }), maybe_remapped: InnerRealFileName { name: "src/debuginfo.rs", working_directory: "/home/h3f/projects/sve", embeddable_name: "/home/h3f/projects/sve/src/debuginfo.rs" }, scopes: RemapPathScopeComponents(0x0) })
0ms DEBUG rustc_codegen_llvm::debuginfo::metadata working_directory="/home/h3f/projects/sve", embeddable_name="/home/h3f/projects/sve/src/debuginfo.rs"
0ms DEBUG rustc_codegen_llvm::debuginfo::metadata type_di_node: svbool_t kind: svbool_t
0ms DEBUG rustc_codegen_llvm::debuginfo::metadata type_di_node: bool kind: bool
0ms DEBUG rustc_codegen_llvm::debuginfo::metadata build_basic_type_di_node: bool
0ms DEBUG rustc_codegen_llvm::debuginfo::metadata type_di_node: i64 kind: i64
0ms DEBUG rustc_codegen_llvm::debuginfo::metadata build_basic_type_di_node: i64
0ms DEBUG rustc_codegen_ssa::mir monomorphize: self.instance=Instance { def: Item(DefId(0:13 ~ debuginfo[9fa1]::svwhilelt_b32_u64)), args: [] }
0ms DEBUG rustc_codegen_ssa::mir monomorphize: self.instance=Instance { def: Item(DefId(0:13 ~ debuginfo[9fa1]::svwhilelt_b32_u64)), args: [] }
0ms DEBUG rustc_codegen_ssa::mir monomorphize: self.instance=Instance { def: Item(DefId(0:13 ~ debuginfo[9fa1]::svwhilelt_b32_u64)), args: [] }
0ms DEBUG rustc_codegen_ssa::mir monomorphize: self.instance=Instance { def: Item(DefId(0:13 ~ debuginfo[9fa1]::svwhilelt_b32_u64)), args: [] }
0ms DEBUG rustc_codegen_ssa::mir monomorphize: self.instance=Instance { def: Item(DefId(0:13 ~ debuginfo[9fa1]::svwhilelt_b32_u64)), args: [] }
0ms DEBUG rustc_codegen_ssa::mir monomorphize: self.instance=Instance { def: Item(DefId(0:13 ~ debuginfo[9fa1]::svwhilelt_b32_u64)), args: [] }
0ms DEBUG rustc_codegen_ssa::mir monomorphize: self.instance=Instance { def: Item(DefId(0:13 ~ debuginfo[9fa1]::svwhilelt_b32_u64)), args: [] }
0ms DEBUG rustc_codegen_ssa::mir monomorphize: self.instance=Instance { def: Item(DefId(0:13 ~ debuginfo[9fa1]::svwhilelt_b32_u64)), args: [] }
0ms DEBUG rustc_codegen_ssa::mir::analyze visit_place(place=_1, context=NonMutatingUse(Copy))
0ms DEBUG rustc_codegen_ssa::mir::analyze visit_place(place=_2, context=NonMutatingUse(Copy))
0ms DEBUG rustc_codegen_ssa::mir::analyze visit_place(place=_3, context=MutatingUse(Call))
0ms DEBUG rustc_codegen_ssa::mir monomorphize: self.instance=Instance { def: Item(DefId(0:13 ~ debuginfo[9fa1]::svwhilelt_b32_u64)), args: [] }
0ms DEBUG rustc_codegen_ssa::mir::analyze visit_place(place=_3, context=NonMutatingUse(Move))
0ms DEBUG rustc_codegen_ssa::mir::analyze visit_place(place=_0, context=MutatingUse(Call))
0ms DEBUG rustc_codegen_ssa::mir monomorphize: self.instance=Instance { def: Item(DefId(0:13 ~ debuginfo[9fa1]::svwhilelt_b32_u64)), args: [] }
0ms DEBUG rustc_codegen_ssa::mir monomorphize: self.instance=Instance { def: Item(DefId(0:13 ~ debuginfo[9fa1]::svwhilelt_b32_u64)), args: [] }
0ms DEBUG rustc_codegen_ssa::mir monomorphize: self.instance=Instance { def: Item(DefId(0:13 ~ debuginfo[9fa1]::svwhilelt_b32_u64)), args: [] }
0ms DEBUG rustc_codegen_ssa::mir monomorphize: self.instance=Instance { def: Item(DefId(0:13 ~ debuginfo[9fa1]::svwhilelt_b32_u64)), args: [] }
0ms DEBUG rustc_codegen_ssa::mir alloc: _0 -> operand
0ms DEBUG rustc_codegen_ssa::mir monomorphize: self.instance=Instance { def: Item(DefId(0:13 ~ debuginfo[9fa1]::svwhilelt_b32_u64)), args: [] }
0ms DEBUG rustc_codegen_ssa::mir alloc: _3 -> operand
0ms DEBUG rustc_codegen_ssa::mir monomorphize: self.instance=Instance { def: Item(DefId(0:13 ~ debuginfo[9fa1]::svwhilelt_b32_u64)), args: [] }
0ms DEBUG rustc_codegen_ssa::mir monomorphize: self.instance=Instance { def: Item(DefId(0:13 ~ debuginfo[9fa1]::svwhilelt_b32_u64)), args: [] }
0ms DEBUG rustc_codegen_ssa::mir::operand OperandRef::store: operand=Immediate((i64:i64 %0)), dest=PlaceRef { val: PlaceValue { llval: (ptr: %3 = alloca [8 x i8], align 8), llextra: None, align: Align(8 bytes) }, layout: TyAndLayout { ty: i64, layout: Layout { size: Size(8 bytes), align: AbiAlign { abi: Align(8 bytes) }, backend_repr: Scalar(Initialized { value: Int(I64, true), valid_range: 0..=18446744073709551615 }), fields: Primitive, largest_niche: None, uninhabited: false, variants: Single { index: 0 }, max_repr_align: None, unadjusted_abi_align: Align(8 bytes), randomization_seed: 4294967303 } } }
0ms DEBUG rustc_codegen_llvm::builder Store (i64:i64 %0) -> (ptr: %3 = alloca [8 x i8], align 8) (MemFlags(0x0))
0ms DEBUG rustc_codegen_ssa::mir::operand OperandRef::store: operand=Immediate((i64:i64 %1)), dest=PlaceRef { val: PlaceValue { llval: (ptr: %3 = alloca [8 x i8], align 8), llextra: None, align: Align(8 bytes) }, layout: TyAndLayout { ty: i64, layout: Layout { size: Size(8 bytes), align: AbiAlign { abi: Align(8 bytes) }, backend_repr: Scalar(Initialized { value: Int(I64, true), valid_range: 0..=18446744073709551615 }), fields: Primitive, largest_niche: None, uninhabited: false, variants: Single { index: 0 }, max_repr_align: None, unadjusted_abi_align: Align(8 bytes), randomization_seed: 4294967303 } } }
0ms DEBUG rustc_codegen_llvm::builder Store (i64:i64 %1) -> (ptr: %3 = alloca [8 x i8], align 8) (MemFlags(0x0))
0ms DEBUG rustc_codegen_ssa::mir::block codegen_block(bb0=BasicBlockData { statements: [], after_last_stmt_debuginfos: StmtDebugInfos([]), terminator: Some(Terminator { source_info: SourceInfo { span: src/debuginfo.rs:30:14: 30:42 (#0), scope: scope[0] }, kind: _3 = svwhilelt_b32_u64::_svwhilelt_b32_u64(copy _1, copy _2) -> [return: bb1, unwind unreachable] }), is_cleanup: false })
0ms DEBUG rustc_codegen_ssa::mir::block codegen_terminator: Terminator { source_info: SourceInfo { span: src/debuginfo.rs:30:14: 30:42 (#0), scope: scope[0] }, kind: _3 = svwhilelt_b32_u64::_svwhilelt_b32_u64(copy _1, copy _2) -> [return: bb1, unwind unreachable] }
0ms DEBUG rustc_codegen_ssa::mir::operand codegen_operand(operand=svwhilelt_b32_u64::_svwhilelt_b32_u64)
0ms DEBUG rustc_codegen_ssa::mir monomorphize: self.instance=Instance { def: Item(DefId(0:13 ~ debuginfo[9fa1]::svwhilelt_b32_u64)), args: [] }
0ms DEBUG rustc_codegen_ssa::mir monomorphize: self.instance=Instance { def: Item(DefId(0:13 ~ debuginfo[9fa1]::svwhilelt_b32_u64)), args: [] }
0ms DEBUG rustc_codegen_ssa::mir monomorphize: self.instance=Instance { def: Item(DefId(0:13 ~ debuginfo[9fa1]::svwhilelt_b32_u64)), args: [] }
0ms DEBUG rustc_codegen_ssa::mir::operand codegen_operand(operand=copy _1)
0ms DEBUG rustc_codegen_ssa::mir::operand codegen_consume(place_ref=_1)
0ms DEBUG rustc_codegen_ssa::mir monomorphize: self.instance=Instance { def: Item(DefId(0:13 ~ debuginfo[9fa1]::svwhilelt_b32_u64)), args: [] }
0ms DEBUG rustc_codegen_ssa::mir::operand maybe_codegen_consume_direct(place_ref=_1)
0ms DEBUG rustc_codegen_ssa::mir::operand codegen_operand(operand=copy _2)
0ms DEBUG rustc_codegen_ssa::mir::operand codegen_consume(place_ref=_2)
0ms DEBUG rustc_codegen_ssa::mir monomorphize: self.instance=Instance { def: Item(DefId(0:13 ~ debuginfo[9fa1]::svwhilelt_b32_u64)), args: [] }
0ms DEBUG rustc_codegen_ssa::mir::operand maybe_codegen_consume_direct(place_ref=_2)
0ms DEBUG rustc_codegen_llvm::callee get_fn(instance=Instance { def: Item(DefId(0:15 ~ debuginfo[9fa1]::svwhilelt_b32_u64::{extern#0}::_svwhilelt_b32_u64)), args: [] })
0ms DEBUG rustc_codegen_llvm::callee get_fn(Instance { def: Item(DefId(0:15 ~ debuginfo[9fa1]::svwhilelt_b32_u64::{extern#0}::_svwhilelt_b32_u64)), args: [] }: FnDef(DefId(0:15 ~ debuginfo[9fa1]::svwhilelt_b32_u64::{extern#0}::_svwhilelt_b32_u64), [])) => llvm.aarch64.sve.whilelo.nxv4i1.i64
0ms DEBUG rustc_codegen_llvm::declare get_declared_value(name="llvm.aarch64.sve.whilelo.nxv4i1.i64")
0ms DEBUG rustc_codegen_llvm::declare declare_rust_fn(name="llvm.aarch64.sve.whilelo.nxv4i1.i64", fn_abi=FnAbi { args: [ArgAbi { layout: TyAndLayout { ty: i64, layout: Layout { size: Size(8 bytes), align: AbiAlign { abi: Align(8 bytes) }, backend_repr: Scalar(Initialized { value: Int(I64, true), valid_range: 0..=18446744073709551615 }), fields: Primitive, largest_niche: None, uninhabited: false, variants: Single { index: 0 }, max_repr_align: None, unadjusted_abi_align: Align(8 bytes), randomization_seed: 4294967303 } }, mode: Direct(ArgAttributes { regular: NoUndef, arg_ext: None, pointee_size: Size(0 bytes), pointee_align: None }) }, ArgAbi { layout: TyAndLayout { ty: i64, layout: Layout { size: Size(8 bytes), align: AbiAlign { abi: Align(8 bytes) }, backend_repr: Scalar(Initialized { value: Int(I64, true), valid_range: 0..=18446744073709551615 }), fields: Primitive, largest_niche: None, uninhabited: false, variants: Single { index: 0 }, max_repr_align: None, unadjusted_abi_align: Align(8 bytes), randomization_seed: 4294967303 } }, mode: Direct(ArgAttributes { regular: NoUndef, arg_ext: None, pointee_size: Size(0 bytes), pointee_align: None }) }], ret: ArgAbi { layout: TyAndLayout { ty: svbool4_t, layout: Layout { size: Size(4 bytes), align: AbiAlign { abi: Align(4 bytes) }, backend_repr: ScalableVector { element: Initialized { value: Int(I8, false), valid_range: 0..=1 }, count: 4 }, fields: Arbitrary { offsets: [Size(0 bytes)], in_memory_order: [0] }, largest_niche: Some(Niche { offset: Size(0 bytes), value: Int(I8, false), valid_range: 0..=1 }), uninhabited: false, variants: Single { index: 0 }, max_repr_align: None, unadjusted_abi_align: Align(1 bytes), randomization_seed: 281483566645253 } }, mode: Direct(ArgAttributes { regular: , arg_ext: None, pointee_size: Size(0 bytes), pointee_align: None }) }, c_variadic: false, fixed_count: 2, conv: C, can_unwind: false })
0ms DEBUG rustc_codegen_llvm::declare declare_raw_fn(name="llvm.aarch64.sve.whilelo.nxv4i1.i64", ty=<vscale x 4 x i1> (i64, i64))
0ms DEBUG rustc_codegen_llvm::declare declare_simple_fn(name="llvm.aarch64.sve.whilelo.nxv4i1.i64", ty=<vscale x 4 x i1> (i64, i64))
0ms DEBUG rustc_codegen_llvm::callee get_fn: not casting pointer!
0ms DEBUG rustc_codegen_llvm::builder call (ptr:; Function Attrs: nocallback nofree nosync nounwind willreturn memory(none) uwtable
declare <vscale x 4 x i1> @llvm.aarch64.sve.whilelo.nxv4i1.i64(i64, i64) unnamed_addr #2
) with args ([(i64:i64 %0), (i64:i64 %1)])
0ms DEBUG rustc_codegen_ssa::mir monomorphize: self.instance=Instance { def: Item(DefId(0:13 ~ debuginfo[9fa1]::svwhilelt_b32_u64)), args: [] }
0ms DEBUG rustc_codegen_ssa::mir::block codegen_block(bb1=BasicBlockData { statements: [], after_last_stmt_debuginfos: StmtDebugInfos([]), terminator: Some(Terminator { source_info: SourceInfo { span: src/debuginfo.rs:30:5: 30:51 (#0), scope: scope[0] }, kind: _0 = <svbool4_t as Into<svbool_t>>::into(move _3) -> [return: bb2, unwind continue] }), is_cleanup: false })
0ms DEBUG rustc_codegen_ssa::mir::block codegen_terminator: Terminator { source_info: SourceInfo { span: src/debuginfo.rs:30:5: 30:51 (#0), scope: scope[0] }, kind: _0 = <svbool4_t as Into<svbool_t>>::into(move _3) -> [return: bb2, unwind continue] }
0ms DEBUG rustc_codegen_ssa::mir::operand codegen_operand(operand=<svbool4_t as Into<svbool_t>>::into)
0ms DEBUG rustc_codegen_ssa::mir monomorphize: self.instance=Instance { def: Item(DefId(0:13 ~ debuginfo[9fa1]::svwhilelt_b32_u64)), args: [] }
0ms DEBUG rustc_codegen_ssa::mir monomorphize: self.instance=Instance { def: Item(DefId(0:13 ~ debuginfo[9fa1]::svwhilelt_b32_u64)), args: [] }
0ms DEBUG rustc_codegen_ssa::mir monomorphize: self.instance=Instance { def: Item(DefId(0:13 ~ debuginfo[9fa1]::svwhilelt_b32_u64)), args: [] }
0ms DEBUG rustc_codegen_ssa::mir::operand codegen_operand(operand=move _3)
0ms DEBUG rustc_codegen_ssa::mir::operand codegen_consume(place_ref=_3)
0ms DEBUG rustc_codegen_ssa::mir monomorphize: self.instance=Instance { def: Item(DefId(0:13 ~ debuginfo[9fa1]::svwhilelt_b32_u64)), args: [] }
0ms DEBUG rustc_codegen_ssa::mir::operand maybe_codegen_consume_direct(place_ref=_3)
0ms DEBUG rustc_codegen_llvm::callee get_fn(instance=Instance { def: Item(DefId(0:10 ~ debuginfo[9fa1]::{impl#0}::into)), args: [] })
0ms DEBUG rustc_codegen_llvm::builder call (ptr:; Function Attrs: alwaysinline uwtable
declare internal <vscale x 16 x i1> @_RNvXCsdHHX9MsTYBi_9debuginfoNtB2_9svbool4_tINtNtCs7D9OQsQgQbp_4core7convert4IntoNtB2_8svbool_tE4into(<vscale x 4 x i1>) unnamed_addr #1
) with args ([(<vscale x 4 x i1>: %5 = call <vscale x 4 x i1> @llvm.aarch64.sve.whilelo.nxv4i1.i64(i64 %0, i64 %1) #3, !dbg !20)])
0ms DEBUG rustc_codegen_ssa::mir monomorphize: self.instance=Instance { def: Item(DefId(0:13 ~ debuginfo[9fa1]::svwhilelt_b32_u64)), args: [] }
0ms DEBUG rustc_codegen_ssa::mir::block codegen_block(bb2=BasicBlockData { statements: [], after_last_stmt_debuginfos: StmtDebugInfos([]), terminator: Some(Terminator { source_info: SourceInfo { span: src/debuginfo.rs:31:2: 31:2 (#0), scope: scope[0] }, kind: return }), is_cleanup: false })
0ms DEBUG rustc_codegen_ssa::mir::block codegen_terminator: Terminator { source_info: SourceInfo { span: src/debuginfo.rs:31:2: 31:2 (#0), scope: scope[0] }, kind: return }
0ms DEBUG rustc_codegen_ssa::mir::operand codegen_consume(place_ref=_0)
0ms DEBUG rustc_codegen_ssa::mir monomorphize: self.instance=Instance { def: Item(DefId(0:13 ~ debuginfo[9fa1]::svwhilelt_b32_u64)), args: [] }
0ms DEBUG rustc_codegen_ssa::mir::operand maybe_codegen_consume_direct(place_ref=_0)
DEBUG rustc_codegen_ssa::mono_item END IMPLEMENTING 'fn svwhilelt_b32_u64 (Fn(Item(DefId(0:13 ~ debuginfo[9fa1]::svwhilelt_b32_u64)), 139834379250504))' in cgu debuginfo.9fa162b06e2e3ac2-cgu.0
DEBUG rustc_codegen_ssa::mono_item BEGIN IMPLEMENTING 'fn <svbool4_t as Into<svbool_t>>::into (Fn(Item(DefId(0:10 ~ debuginfo[9fa1]::{impl#0}::into)), 139834379250504))' in cgu debuginfo.9fa162b06e2e3ac2-cgu.0
INFO rustc_codegen_ssa::base codegen_instance(<svbool4_t as Into<svbool_t>>::into)
rustc_codegen_ssa::mir::codegen_mir instance=Instance { def: Item(DefId(0:10 ~ debuginfo[9fa1]::{impl#0}::into)), args: [] }
0ms DEBUG rustc_codegen_llvm::callee get_fn(instance=Instance { def: Item(DefId(0:10 ~ debuginfo[9fa1]::{impl#0}::into)), args: [] })
0ms DEBUG rustc_codegen_ssa::mir fn_abi: FnAbi { args: [ArgAbi { layout: TyAndLayout { ty: svbool4_t, layout: Layout { size: Size(4 bytes), align: AbiAlign { abi: Align(4 bytes) }, backend_repr: ScalableVector { element: Initialized { value: Int(I8, false), valid_range: 0..=1 }, count: 4 }, fields: Arbitrary { offsets: [Size(0 bytes)], in_memory_order: [0] }, largest_niche: Some(Niche { offset: Size(0 bytes), value: Int(I8, false), valid_range: 0..=1 }), uninhabited: false, variants: Single { index: 0 }, max_repr_align: None, unadjusted_abi_align: Align(1 bytes), randomization_seed: 281483566645253 } }, mode: Direct(ArgAttributes { regular: , arg_ext: None, pointee_size: Size(0 bytes), pointee_align: None }) }], ret: ArgAbi { layout: TyAndLayout { ty: svbool_t, layout: Layout { size: Size(16 bytes), align: AbiAlign { abi: Align(16 bytes) }, backend_repr: ScalableVector { element: Initialized { value: Int(I8, false), valid_range: 0..=1 }, count: 16 }, fields: Arbitrary { offsets: [Size(0 bytes)], in_memory_order: [0] }, largest_niche: Some(Niche { offset: Size(0 bytes), value: Int(I8, false), valid_range: 0..=1 }), uninhabited: false, variants: Single { index: 0 }, max_repr_align: None, unadjusted_abi_align: Align(1 bytes), randomization_seed: 281483566645265 } }, mode: Direct(ArgAttributes { regular: , arg_ext: None, pointee_size: Size(0 bytes), pointee_align: None }) }, c_variadic: false, fixed_count: 1, conv: Rust, can_unwind: true }
0ms DEBUG rustc_codegen_llvm::debuginfo::metadata type_di_node: svbool4_t kind: svbool4_t
0ms DEBUG rustc_codegen_ssa::mir monomorphize: self.instance=Instance { def: Item(DefId(0:10 ~ debuginfo[9fa1]::{impl#0}::into)), args: [] }
0ms DEBUG rustc_codegen_ssa::mir monomorphize: self.instance=Instance { def: Item(DefId(0:10 ~ debuginfo[9fa1]::{impl#0}::into)), args: [] }
0ms DEBUG rustc_codegen_ssa::mir monomorphize: self.instance=Instance { def: Item(DefId(0:10 ~ debuginfo[9fa1]::{impl#0}::into)), args: [] }
0ms DEBUG rustc_codegen_ssa::mir monomorphize: self.instance=Instance { def: Item(DefId(0:10 ~ debuginfo[9fa1]::{impl#0}::into)), args: [] }
0ms DEBUG rustc_codegen_ssa::mir::analyze visit_place(place=_1, context=NonMutatingUse(Copy))
0ms DEBUG rustc_codegen_ssa::mir::analyze visit_place(place=_0, context=MutatingUse(Call))
0ms DEBUG rustc_codegen_ssa::mir monomorphize: self.instance=Instance { def: Item(DefId(0:10 ~ debuginfo[9fa1]::{impl#0}::into)), args: [] }
0ms DEBUG rustc_codegen_ssa::mir monomorphize: self.instance=Instance { def: Item(DefId(0:10 ~ debuginfo[9fa1]::{impl#0}::into)), args: [] }
0ms DEBUG rustc_codegen_ssa::mir monomorphize: self.instance=Instance { def: Item(DefId(0:10 ~ debuginfo[9fa1]::{impl#0}::into)), args: [] }
0ms DEBUG rustc_codegen_ssa::mir alloc: _0 -> operand
0ms DEBUG rustc_codegen_ssa::mir monomorphize: self.instance=Instance { def: Item(DefId(0:10 ~ debuginfo[9fa1]::{impl#0}::into)), args: [] }
0ms DEBUG rustc_codegen_ssa::mir::operand OperandRef::store: operand=Immediate((<vscale x 4 x i1>:<vscale x 4 x i1> %0)), dest=PlaceRef { val: PlaceValue { llval: (ptr: %2 = alloca <vscale x 4 x i1>, align 4), llextra: None, align: Align(4 bytes) }, layout: TyAndLayout { ty: svbool4_t, layout: Layout { size: Size(4 bytes), align: AbiAlign { abi: Align(4 bytes) }, backend_repr: ScalableVector { element: Initialized { value: Int(I8, false), valid_range: 0..=1 }, count: 4 }, fields: Arbitrary { offsets: [Size(0 bytes)], in_memory_order: [0] }, largest_niche: Some(Niche { offset: Size(0 bytes), value: Int(I8, false), valid_range: 0..=1 }), uninhabited: false, variants: Single { index: 0 }, max_repr_align: None, unadjusted_abi_align: Align(1 bytes), randomization_seed: 281483566645253 } } }
0ms DEBUG rustc_codegen_llvm::builder Store (<vscale x 4 x i1>:<vscale x 4 x i1> %0) -> (ptr: %2 = alloca <vscale x 4 x i1>, align 4) (MemFlags(0x0))
0ms DEBUG rustc_codegen_ssa::mir::block codegen_block(bb0=BasicBlockData { statements: [], after_last_stmt_debuginfos: StmtDebugInfos([]), terminator: Some(Terminator { source_info: SourceInfo { span: src/debuginfo.rs:21:18: 21:41 (#0), scope: scope[0] }, kind: _0 = <svbool4_t as Into<svbool_t>>::into::convert_to_svbool(copy _1) -> [return: bb1, unwind unreachable] }), is_cleanup: false })
0ms DEBUG rustc_codegen_ssa::mir::block codegen_terminator: Terminator { source_info: SourceInfo { span: src/debuginfo.rs:21:18: 21:41 (#0), scope: scope[0] }, kind: _0 = <svbool4_t as Into<svbool_t>>::into::convert_to_svbool(copy _1) -> [return: bb1, unwind unreachable] }
0ms DEBUG rustc_codegen_ssa::mir::operand codegen_operand(operand=<svbool4_t as Into<svbool_t>>::into::convert_to_svbool)
0ms DEBUG rustc_codegen_ssa::mir monomorphize: self.instance=Instance { def: Item(DefId(0:10 ~ debuginfo[9fa1]::{impl#0}::into)), args: [] }
0ms DEBUG rustc_codegen_ssa::mir monomorphize: self.instance=Instance { def: Item(DefId(0:10 ~ debuginfo[9fa1]::{impl#0}::into)), args: [] }
0ms DEBUG rustc_codegen_ssa::mir monomorphize: self.instance=Instance { def: Item(DefId(0:10 ~ debuginfo[9fa1]::{impl#0}::into)), args: [] }
0ms DEBUG rustc_codegen_ssa::mir::operand codegen_operand(operand=copy _1)
0ms DEBUG rustc_codegen_ssa::mir::operand codegen_consume(place_ref=_1)
0ms DEBUG rustc_codegen_ssa::mir monomorphize: self.instance=Instance { def: Item(DefId(0:10 ~ debuginfo[9fa1]::{impl#0}::into)), args: [] }
0ms DEBUG rustc_codegen_ssa::mir::operand maybe_codegen_consume_direct(place_ref=_1)
0ms DEBUG rustc_codegen_llvm::callee get_fn(instance=Instance { def: Item(DefId(0:12 ~ debuginfo[9fa1]::{impl#0}::into::{extern#0}::convert_to_svbool)), args: [] })
0ms DEBUG rustc_codegen_llvm::callee get_fn(Instance { def: Item(DefId(0:12 ~ debuginfo[9fa1]::{impl#0}::into::{extern#0}::convert_to_svbool)), args: [] }: FnDef(DefId(0:12 ~ debuginfo[9fa1]::{impl#0}::into::{extern#0}::convert_to_svbool), [])) => llvm.aarch64.sve.convert.to.svbool.nxv4i1
0ms DEBUG rustc_codegen_llvm::declare get_declared_value(name="llvm.aarch64.sve.convert.to.svbool.nxv4i1")
0ms DEBUG rustc_codegen_llvm::declare declare_rust_fn(name="llvm.aarch64.sve.convert.to.svbool.nxv4i1", fn_abi=FnAbi { args: [ArgAbi { layout: TyAndLayout { ty: svbool4_t, layout: Layout { size: Size(4 bytes), align: AbiAlign { abi: Align(4 bytes) }, backend_repr: ScalableVector { element: Initialized { value: Int(I8, false), valid_range: 0..=1 }, count: 4 }, fields: Arbitrary { offsets: [Size(0 bytes)], in_memory_order: [0] }, largest_niche: Some(Niche { offset: Size(0 bytes), value: Int(I8, false), valid_range: 0..=1 }), uninhabited: false, variants: Single { index: 0 }, max_repr_align: None, unadjusted_abi_align: Align(1 bytes), randomization_seed: 281483566645253 } }, mode: Direct(ArgAttributes { regular: , arg_ext: None, pointee_size: Size(0 bytes), pointee_align: None }) }], ret: ArgAbi { layout: TyAndLayout { ty: svbool_t, layout: Layout { size: Size(16 bytes), align: AbiAlign { abi: Align(16 bytes) }, backend_repr: ScalableVector { element: Initialized { value: Int(I8, false), valid_range: 0..=1 }, count: 16 }, fields: Arbitrary { offsets: [Size(0 bytes)], in_memory_order: [0] }, largest_niche: Some(Niche { offset: Size(0 bytes), value: Int(I8, false), valid_range: 0..=1 }), uninhabited: false, variants: Single { index: 0 }, max_repr_align: None, unadjusted_abi_align: Align(1 bytes), randomization_seed: 281483566645265 } }, mode: Direct(ArgAttributes { regular: , arg_ext: None, pointee_size: Size(0 bytes), pointee_align: None }) }, c_variadic: false, fixed_count: 1, conv: C, can_unwind: false })
0ms DEBUG rustc_codegen_llvm::declare declare_raw_fn(name="llvm.aarch64.sve.convert.to.svbool.nxv4i1", ty=<vscale x 16 x i1> (<vscale x 4 x i1>))
0ms DEBUG rustc_codegen_llvm::declare declare_simple_fn(name="llvm.aarch64.sve.convert.to.svbool.nxv4i1", ty=<vscale x 16 x i1> (<vscale x 4 x i1>))
0ms DEBUG rustc_codegen_llvm::callee get_fn: not casting pointer!
0ms DEBUG rustc_codegen_llvm::builder call (ptr:; Function Attrs: nocallback nofree nosync nounwind willreturn memory(none) uwtable
declare <vscale x 16 x i1> @llvm.aarch64.sve.convert.to.svbool.nxv4i1(<vscale x 4 x i1>) unnamed_addr #2
) with args ([(<vscale x 4 x i1>:<vscale x 4 x i1> %0)])
0ms DEBUG rustc_codegen_ssa::mir monomorphize: self.instance=Instance { def: Item(DefId(0:10 ~ debuginfo[9fa1]::{impl#0}::into)), args: [] }
0ms DEBUG rustc_codegen_ssa::mir::block codegen_block(bb1=BasicBlockData { statements: [], after_last_stmt_debuginfos: StmtDebugInfos([]), terminator: Some(Terminator { source_info: SourceInfo { span: src/debuginfo.rs:22:6: 22:6 (#0), scope: scope[0] }, kind: return }), is_cleanup: false })
0ms DEBUG rustc_codegen_ssa::mir::block codegen_terminator: Terminator { source_info: SourceInfo { span: src/debuginfo.rs:22:6: 22:6 (#0), scope: scope[0] }, kind: return }
0ms DEBUG rustc_codegen_ssa::mir::operand codegen_consume(place_ref=_0)
0ms DEBUG rustc_codegen_ssa::mir monomorphize: self.instance=Instance { def: Item(DefId(0:10 ~ debuginfo[9fa1]::{impl#0}::into)), args: [] }
0ms DEBUG rustc_codegen_ssa::mir::operand maybe_codegen_consume_direct(place_ref=_0)
DEBUG rustc_codegen_ssa::mono_item END IMPLEMENTING 'fn <svbool4_t as Into<svbool_t>>::into (Fn(Item(DefId(0:10 ~ debuginfo[9fa1]::{impl#0}::into)), 139834379250504))' in cgu debuginfo.9fa162b06e2e3ac2-cgu.0
DEBUG rustc_codegen_llvm::debuginfo finalize
DEBUG rustc_codegen_llvm::back::write write_output_file output="debuginfo.debuginfo.9fa162b06e2e3ac2-cgu.0.rcgu.o" dwo_output=None
rustc-LLVM ERROR: Cannot select: 0x7f2d8c11dce0: ch = store<(store (<vscale x 1 x s8>) into %ir.3, align 4)> 0x7f2d8c11db20, 0x7f2d8c11d960, FrameIndex:i64<0>, undef:i64
0x7f2d8c11d960: nxv4i1 = get_active_lane_mask 0x7f2d8c11d7a0, 0x7f2d8c11d880, src/debuginfo.rs:30:14
0x7f2d8c11d7a0: i64,ch = CopyFromReg 0x7f2d8c0bfc20, Register:i64 %0
0x7f2d8c11d880: i64,ch = CopyFromReg 0x7f2d8c0bfc20, Register:i64 %1
In function: _RNvCsdHHX9MsTYBi_9debuginfo17svwhilelt_b32_u64
Metadata
Metadata
Assignees
Labels
A-codegenArea: Code generationArea: Code generationC-bugCategory: This is a bug.Category: This is a bug.O-AArch64Armv8-A or later processors in AArch64 modeArmv8-A or later processors in AArch64 modeT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the compiler team, which will review and decide on the PR/issue.
Type
Projects
Status
Done