Skip to content

LLVM instruction selection error when spilling operand debuginfo to stack for AArch64 SVE predicates <vscale x N x i1> where N != 16 #150419

@h3fang

Description

@h3fang

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.

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

No one assigned

    Labels

    A-codegenArea: Code generationC-bugCategory: This is a bug.O-AArch64Armv8-A or later processors in AArch64 modeT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.

    Type

    No type

    Projects

    Status

    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions