Skip to content

Instantly share code, notes, and snippets.

@qdwang
Created October 17, 2022 06:39
Show Gist options
  • Save qdwang/6e61b9f4bce0e1f1356a0d98d915ecf3 to your computer and use it in GitHub Desktop.
Save qdwang/6e61b9f4bce0e1f1356a0d98d915ecf3 to your computer and use it in GitHub Desktop.
fn vs trait for iterator
use std::iter::Map;
#[inline]
fn triple_iter(input: impl Iterator<Item = u16>) -> impl Iterator<Item = u16> {
input.map(|x| x * 3)
}
#[inline]
fn double_iter(input: impl Iterator<Item = u16>) -> impl Iterator<Item = u16> {
input.map(|x| x * 2)
}
trait Trait<I> {
fn double(self) -> Map<I, fn(u16) -> u16>;
fn triple(self) -> Map<I, fn(u16) -> u16>;
}
impl<I: Iterator<Item = u16>> Trait<I> for I {
#[inline]
fn double(self) -> Map<I, fn(u16) -> u16> {
self.map(|x| x * 2)
}
#[inline]
fn triple(self) -> Map<I, fn(u16) -> u16> {
self.map(|x| x * 3)
}
}
fn main() {
let arg = std::env::args()
.map(|x| x.len() as u16)
.collect::<Vec<_>>()
.into_iter();
// let result: Vec<u16> = if arg.len() > 2 {
// double_iter(arg).collect()
// } else {
// triple_iter(arg).collect()
// };
let result: Vec<u16> = if arg.len() > 2 {
arg.double().collect()
} else {
arg.triple().collect()
};
println!("{result:?}");
}
.section __TEXT,__text,regular,pure_instructions
.build_version macos, 11, 0
.p2align 2
__ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17h990a54e31e05e5cbE:
.cfi_startproc
stp x29, x30, [sp, #-16]!
mov x29, sp
.cfi_def_cfa w29, 16
.cfi_offset w30, -8
.cfi_offset w29, -16
blr x0
; InlineAsm Start
; InlineAsm End
ldp x29, x30, [sp], #16
ret
.cfi_endproc
.private_extern __ZN3std2rt10lang_start17hc88bcc3c4cc96d64E
.globl __ZN3std2rt10lang_start17hc88bcc3c4cc96d64E
.p2align 2
__ZN3std2rt10lang_start17hc88bcc3c4cc96d64E:
.cfi_startproc
sub sp, sp, #32
stp x29, x30, [sp, #16]
add x29, sp, #16
.cfi_def_cfa w29, 16
.cfi_offset w30, -8
.cfi_offset w29, -16
mov x3, x2
mov x2, x1
str x0, [sp, #8]
Lloh0:
adrp x1, l___unnamed_1@PAGE
Lloh1:
add x1, x1, l___unnamed_1@PAGEOFF
add x0, sp, #8
bl __ZN3std2rt19lang_start_internal17h92a00ef694077615E
ldp x29, x30, [sp, #16]
add sp, sp, #32
ret
.loh AdrpAdd Lloh0, Lloh1
.cfi_endproc
.p2align 2
__ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17h7238f1085a7d436eE:
.cfi_startproc
stp x29, x30, [sp, #-16]!
mov x29, sp
.cfi_def_cfa w29, 16
.cfi_offset w30, -8
.cfi_offset w29, -16
ldr x0, [x0]
bl __ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17h990a54e31e05e5cbE
mov w0, #0
ldp x29, x30, [sp], #16
ret
.cfi_endproc
.p2align 2
__ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17hfb16b4a69bcdf6c0E:
.cfi_startproc
stp x20, x19, [sp, #-32]!
stp x29, x30, [sp, #16]
add x29, sp, #16
.cfi_def_cfa w29, 16
.cfi_offset w30, -8
.cfi_offset w29, -16
.cfi_offset w19, -24
.cfi_offset w20, -32
mov x19, x1
ldr x20, [x0]
mov x0, x1
bl __ZN4core3fmt9Formatter15debug_lower_hex17h5092ce823e988a6bE
tbz w0, #0, LBB3_2
mov x0, x20
mov x1, x19
ldp x29, x30, [sp, #16]
ldp x20, x19, [sp], #32
b __ZN4core3fmt3num53_$LT$impl$u20$core..fmt..LowerHex$u20$for$u20$u16$GT$3fmt17ha0aa28bbac072813E
LBB3_2:
mov x0, x19
bl __ZN4core3fmt9Formatter15debug_upper_hex17h9027bf11993dd909E
tbz w0, #0, LBB3_4
mov x0, x20
mov x1, x19
ldp x29, x30, [sp, #16]
ldp x20, x19, [sp], #32
b __ZN4core3fmt3num53_$LT$impl$u20$core..fmt..UpperHex$u20$for$u20$u16$GT$3fmt17h50f729b131024690E
LBB3_4:
mov x0, x20
mov x1, x19
ldp x29, x30, [sp, #16]
ldp x20, x19, [sp], #32
b __ZN4core3fmt3num3imp52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u16$GT$3fmt17h57b9df4611c43845E
.cfi_endproc
.p2align 2
__ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17hb8147a003ea3820fE:
.cfi_startproc
stp x29, x30, [sp, #-16]!
mov x29, sp
.cfi_def_cfa w29, 16
.cfi_offset w30, -8
.cfi_offset w29, -16
ldr x0, [x0]
bl __ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17h990a54e31e05e5cbE
mov w0, #0
ldp x29, x30, [sp], #16
ret
.cfi_endproc
.p2align 2
__ZN4core3ptr115drop_in_place$LT$core..iter..adapters..map..Map$LT$std..env..Args$C$main..main..$u7b$$u7b$closure$u7d$$u7d$$GT$$GT$17h113183b32fe3389eE:
.cfi_startproc
stp x22, x21, [sp, #-48]!
stp x20, x19, [sp, #16]
stp x29, x30, [sp, #32]
add x29, sp, #32
.cfi_def_cfa w29, 16
.cfi_offset w30, -8
.cfi_offset w29, -16
.cfi_offset w19, -24
.cfi_offset w20, -32
.cfi_offset w21, -40
.cfi_offset w22, -48
mov x19, x0
ldp x20, x8, [x0, #16]
subs x8, x8, x20
b.eq LBB5_5
mov x9, #-6148914691236517206
movk x9, #43691
umulh x8, x8, x9
lsr x8, x8, #4
mov w9, #24
madd x21, x8, x9, x20
b LBB5_3
LBB5_2:
add x20, x20, #24
cmp x20, x21
b.eq LBB5_5
LBB5_3:
ldr x1, [x20, #8]
cbz x1, LBB5_2
ldr x0, [x20]
mov w2, #1
bl ___rust_dealloc
b LBB5_2
LBB5_5:
ldr x8, [x19, #8]
cmp x8, #0
add x8, x8, x8, lsl #1
lsl x1, x8, #3
ccmp x1, #0, #4, ne
b.ne LBB5_7
ldp x29, x30, [sp, #32]
ldp x20, x19, [sp, #16]
ldp x22, x21, [sp], #48
ret
LBB5_7:
ldr x0, [x19]
mov w2, #8
ldp x29, x30, [sp, #32]
ldp x20, x19, [sp, #16]
ldp x22, x21, [sp], #48
b ___rust_dealloc
.cfi_endproc
.p2align 2
__ZN4core3ptr28drop_in_place$LT$$RF$u16$GT$17h40ed38c3325f13c6E:
.cfi_startproc
ret
.cfi_endproc
.p2align 2
__ZN4core3ptr47drop_in_place$LT$alloc..vec..Vec$LT$u16$GT$$GT$17h4a3ce274823ed447E:
.cfi_startproc
ldr x8, [x0, #8]
cmp x8, #0
add x1, x8, x8
ccmp x1, #0, #4, ne
b.ne LBB7_2
ret
LBB7_2:
ldr x0, [x0]
mov w2, #2
b ___rust_dealloc
.cfi_endproc
.p2align 2
__ZN5alloc7raw_vec11finish_grow17hb616fe6fe0462bd9E:
.cfi_startproc
stp x22, x21, [sp, #-48]!
stp x20, x19, [sp, #16]
stp x29, x30, [sp, #32]
add x29, sp, #32
.cfi_def_cfa w29, 16
.cfi_offset w30, -8
.cfi_offset w29, -16
.cfi_offset w19, -24
.cfi_offset w20, -32
.cfi_offset w21, -40
.cfi_offset w22, -48
mov x19, x0
cmp x2, #0
csel x21, xzr, x1, eq
cbz x2, LBB8_5
mov x20, x2
ldr x8, [x3, #16]
cbz x8, LBB8_6
ldr x1, [x3, #8]
cbz x1, LBB8_6
ldr x0, [x3]
mov x2, x20
mov x3, x21
bl ___rust_realloc
cmp x0, #0
csel x8, xzr, x21, eq
cbnz x0, LBB8_8
LBB8_4:
mov w9, #1
mov x8, x20
stp x21, x8, [x19, #8]
str x9, [x19]
ldp x29, x30, [sp, #32]
ldp x20, x19, [sp, #16]
ldp x22, x21, [sp], #48
ret
LBB8_5:
mov x8, #0
stp x21, x8, [x19, #8]
mov w9, #1
str x9, [x19]
ldp x29, x30, [sp, #32]
ldp x20, x19, [sp, #16]
ldp x22, x21, [sp], #48
ret
LBB8_6:
cbz x21, LBB8_9
mov x0, x21
mov x1, x20
bl ___rust_alloc
cmp x0, #0
csel x8, xzr, x21, eq
cbz x0, LBB8_4
LBB8_8:
mov x9, #0
stp x0, x8, [x19, #8]
str x9, [x19]
ldp x29, x30, [sp, #32]
ldp x20, x19, [sp, #16]
ldp x22, x21, [sp], #48
ret
LBB8_9:
mov x8, #0
mov x0, x20
cbnz x0, LBB8_8
b LBB8_4
.cfi_endproc
.p2align 2
__ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$7reserve21do_reserve_and_handle17h94c6b6deccda6185E:
.cfi_startproc
sub sp, sp, #80
stp x20, x19, [sp, #48]
stp x29, x30, [sp, #64]
add x29, sp, #64
.cfi_def_cfa w29, 16
.cfi_offset w30, -8
.cfi_offset w29, -16
.cfi_offset w19, -24
.cfi_offset w20, -32
adds x9, x1, x2
b.hs LBB9_6
mov x19, x0
ldr x8, [x0, #8]
lsl x10, x8, #1
cmp x10, x9
csel x9, x10, x9, hi
mov w10, #4
cmp x9, #4
csel x20, x9, x10, hi
adds x9, x20, x20
mov w10, #2
csel x2, xzr, x10, hs
csel x1, xzr, x9, hs
cbz x8, LBB9_4
ldr x9, [x19]
add x8, x8, x8
stp x9, x8, [sp, #24]
mov w8, #2
str x8, [sp, #40]
mov x0, sp
add x3, sp, #24
bl __ZN5alloc7raw_vec11finish_grow17hb616fe6fe0462bd9E
ldr x8, [sp]
cbnz x8, LBB9_5
LBB9_3:
ldr x8, [sp, #8]
stp x8, x20, [x19]
ldp x29, x30, [sp, #64]
ldp x20, x19, [sp, #48]
add sp, sp, #80
ret
LBB9_4:
stp xzr, xzr, [sp, #24]
str x8, [sp, #40]
mov x0, sp
add x3, sp, #24
bl __ZN5alloc7raw_vec11finish_grow17hb616fe6fe0462bd9E
ldr x8, [sp]
cbz x8, LBB9_3
LBB9_5:
ldr x1, [sp, #16]
cbnz x1, LBB9_7
LBB9_6:
bl __ZN5alloc7raw_vec17capacity_overflow17h7a83d913e09ecc3aE
LBB9_7:
ldr x0, [sp, #8]
bl __ZN5alloc5alloc18handle_alloc_error17hd43b86cce9d7e97fE
.cfi_endproc
.p2align 2
__ZN65_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt17hbc8e5c2bdb9fb666E:
.cfi_startproc
sub sp, sp, #80
stp x22, x21, [sp, #32]
stp x20, x19, [sp, #48]
stp x29, x30, [sp, #64]
add x29, sp, #64
.cfi_def_cfa w29, 16
.cfi_offset w30, -8
.cfi_offset w29, -16
.cfi_offset w19, -24
.cfi_offset w20, -32
.cfi_offset w21, -40
.cfi_offset w22, -48
ldr x20, [x0]
ldr x19, [x0, #16]
add x8, sp, #8
mov x0, x1
bl __ZN4core3fmt9Formatter10debug_list17h9ae011374ab8e100E
cbz x19, LBB10_3
lsl x21, x19, #1
Lloh2:
adrp x19, l___unnamed_2@PAGE
Lloh3:
add x19, x19, l___unnamed_2@PAGEOFF
LBB10_2:
add x22, x20, #2
str x20, [sp, #24]
add x0, sp, #8
add x1, sp, #24
mov x2, x19
bl __ZN4core3fmt8builders9DebugList5entry17h3b5837ea118d0763E
mov x20, x22
subs x21, x21, #2
b.ne LBB10_2
LBB10_3:
add x0, sp, #8
bl __ZN4core3fmt8builders9DebugList6finish17h3ce5b1711f5a1fa2E
ldp x29, x30, [sp, #64]
ldp x20, x19, [sp, #48]
ldp x22, x21, [sp, #32]
add sp, sp, #80
ret
.loh AdrpAdd Lloh2, Lloh3
.cfi_endproc
.p2align 2
__ZN4main4main17h54a6b3e9a4566b67E:
Lfunc_begin0:
.cfi_startproc
.cfi_personality 155, _rust_eh_personality
.cfi_lsda 16, Lexception0
sub sp, sp, #224
stp x24, x23, [sp, #160]
stp x22, x21, [sp, #176]
stp x20, x19, [sp, #192]
stp x29, x30, [sp, #208]
add x29, sp, #208
.cfi_def_cfa w29, 16
.cfi_offset w30, -8
.cfi_offset w29, -16
.cfi_offset w19, -24
.cfi_offset w20, -32
.cfi_offset w21, -40
.cfi_offset w22, -48
.cfi_offset w23, -56
.cfi_offset w24, -64
mov x8, sp
bl __ZN3std3env4args17h4c9bf4f97bbf6d8fE
ldp q0, q1, [sp]
stp q0, q1, [sp, #80]
Ltmp0:
add x8, sp, #32
add x0, sp, #80
bl __ZN73_$LT$std..env..Args$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h821c16611a72c112E
Ltmp1:
ldr x0, [sp, #32]
cbz x0, LBB11_27
ldp x1, x22, [sp, #40]
cbz x1, LBB11_4
mov w2, #1
bl ___rust_dealloc
LBB11_4:
Ltmp3:
add x8, sp, #32
add x0, sp, #80
bl __ZN73_$LT$std..env..Args$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9size_hint17h1e1569b2910523a8E
Ltmp4:
ldr x8, [sp, #32]
adds x8, x8, #1
csinv x8, x8, xzr, lo
mov w9, #4
cmp x8, #4
csel x23, x8, x9, hi
mov w8, #2
adds x9, x23, x23
csel x19, xzr, x8, hs
csel x21, xzr, x9, hs
b.hs LBB11_56
cbz x21, LBB11_39
mov x0, x21
mov x1, x19
bl ___rust_alloc
mov x20, x0
cbz x0, LBB11_40
LBB11_8:
strh w22, [x20]
stp x20, x23, [x29, #-96]
mov w21, #1
stur x21, [x29, #-80]
ldp q0, q1, [sp, #80]
stp q0, q1, [sp, #32]
mov w22, #2
mov w23, #2
b LBB11_10
LBB11_9:
strh w24, [x20, x22]
stur x23, [x29, #-80]
add x21, x21, #1
add x23, x23, #1
add x22, x22, #2
LBB11_10:
Ltmp5:
sub x8, x29, #72
add x0, sp, #32
bl __ZN73_$LT$std..env..Args$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h821c16611a72c112E
Ltmp6:
sub x19, x23, #1
ldur x0, [x29, #-72]
cbz x0, LBB11_18
ldp x1, x24, [x29, #-64]
cbz x1, LBB11_14
mov w2, #1
bl ___rust_dealloc
LBB11_14:
ldur x8, [x29, #-88]
cmp x19, x8
b.ne LBB11_9
Ltmp8:
sub x8, x29, #72
add x0, sp, #32
bl __ZN73_$LT$std..env..Args$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9size_hint17h1e1569b2910523a8E
Ltmp9:
ldur x8, [x29, #-72]
adds x8, x8, #1
csinv x2, x8, xzr, lo
Ltmp10:
sub x0, x29, #96
mov x1, x19
bl __ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$7reserve21do_reserve_and_handle17h94c6b6deccda6185E
Ltmp11:
ldur x20, [x29, #-96]
b LBB11_9
LBB11_18:
ldp x20, x8, [sp, #48]
sub x8, x8, x20
cbz x8, LBB11_23
mov x9, #-6148914691236517206
movk x9, #43691
umulh x8, x8, x9
lsr x8, x8, #4
mov w9, #24
madd x23, x8, x9, x20
b LBB11_21
LBB11_20:
add x20, x20, #24
cmp x20, x23
b.eq LBB11_23
LBB11_21:
ldr x1, [x20, #8]
cbz x1, LBB11_20
ldr x0, [x20]
mov w2, #1
bl ___rust_dealloc
b LBB11_20
LBB11_23:
ldr x8, [sp, #40]
cmp x8, #0
add x8, x8, x8, lsl #1
lsl x1, x8, #3
ccmp x1, #0, #4, ne
b.ne LBB11_35
ldp x10, x8, [x29, #-96]
and x9, x19, #0x7fffffffffffffff
cmp x22, #5
b.lo LBB11_36
LBB11_25:
cmp x9, #16
b.hs LBB11_41
mov x11, #0
b LBB11_44
LBB11_27:
ldp x19, x8, [sp, #96]
subs x8, x8, x19
b.eq LBB11_32
mov x9, #-6148914691236517206
movk x9, #43691
umulh x8, x8, x9
lsr x8, x8, #4
mov w9, #24
madd x20, x8, x9, x19
b LBB11_30
LBB11_29:
add x19, x19, #24
cmp x19, x20
b.eq LBB11_32
LBB11_30:
ldr x1, [x19, #8]
cbz x1, LBB11_29
ldr x0, [x19]
mov w2, #1
bl ___rust_dealloc
b LBB11_29
LBB11_32:
ldr x8, [sp, #88]
cmp x8, #0
add x8, x8, x8, lsl #1
lsl x1, x8, #3
ccmp x1, #0, #4, ne
b.eq LBB11_34
ldr x0, [sp, #80]
mov w2, #8
bl ___rust_dealloc
LBB11_34:
mov x8, #0
mov x9, #0
mov w10, #2
b LBB11_51
LBB11_35:
ldr x0, [sp, #32]
mov w2, #8
bl ___rust_dealloc
ldp x10, x8, [x29, #-96]
and x9, x19, #0x7fffffffffffffff
cmp x22, #5
b.hs LBB11_25
LBB11_36:
cbz x22, LBB11_51
cmp x9, #1
csinc x12, x9, xzr, hi
cmp x12, #16
b.hs LBB11_46
mov x11, #0
b LBB11_49
LBB11_39:
mov x20, x19
cbnz x19, LBB11_8
LBB11_40:
Ltmp16:
mov x0, x21
mov x1, x19
bl __ZN5alloc5alloc18handle_alloc_error17hd43b86cce9d7e97fE
Ltmp17:
b LBB11_57
LBB11_41:
and x12, x19, #0xf
sub x11, x9, x12
add x13, x10, #16
and x14, x21, #0x7fffffffffffffff
mov x15, x21
and x15, x15, #0xf
sub x14, x14, x15
LBB11_42:
ldp q0, q1, [x13, #-16]
shl.8h v0, v0, #1
shl.8h v1, v1, #1
stp q0, q1, [x13, #-16]
add x13, x13, #32
subs x14, x14, #16
b.ne LBB11_42
cbz x12, LBB11_51
LBB11_44:
add x12, x10, x11, lsl #1
and x13, x21, #0x7fffffffffffffff
sub x11, x13, x11
LBB11_45:
ldrh w13, [x12]
lsl w13, w13, #1
strh w13, [x12], #2
subs x11, x11, #1
b.ne LBB11_45
b LBB11_51
LBB11_46:
and x11, x12, #0x7ffffffffffffff0
add x13, x10, #16
and x14, x21, #0x7fffffffffffffff
cmp x14, #1
csinc x14, x14, xzr, hi
and x14, x14, #0x7ffffffffffffff0
movi.8h v0, #3
LBB11_47:
ldp q1, q2, [x13, #-16]
mul.8h v1, v1, v0
mul.8h v2, v2, v0
stp q1, q2, [x13, #-16]
add x13, x13, #32
subs x14, x14, #16
b.ne LBB11_47
cmp x12, x11
b.eq LBB11_51
LBB11_49:
and x12, x21, #0x7fffffffffffffff
cmp x12, #1
csinc x12, x12, xzr, hi
LBB11_50:
lsl x13, x11, #1
ldrh w14, [x10, x13]
add x15, x11, #1
add w11, w14, w14, lsl #1
strh w11, [x10, x13]
mov x11, x15
cmp x12, x15
b.ne LBB11_50
LBB11_51:
stp x10, x8, [sp, #80]
str x9, [sp, #96]
add x8, sp, #80
Lloh4:
adrp x9, __ZN65_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt17hbc8e5c2bdb9fb666E@PAGE
Lloh5:
add x9, x9, __ZN65_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt17hbc8e5c2bdb9fb666E@PAGEOFF
stp x8, x9, [sp]
Lloh6:
adrp x8, l___unnamed_3@PAGE
Lloh7:
add x8, x8, l___unnamed_3@PAGEOFF
mov w9, #2
stp x8, x9, [sp, #32]
stp xzr, xzr, [sp, #48]
mov x8, sp
mov w9, #1
stp x8, x9, [sp, #64]
Ltmp21:
add x0, sp, #32
bl __ZN3std2io5stdio6_print17ha0bc59636d784056E
Ltmp22:
ldr x8, [sp, #88]
cbz x8, LBB11_55
adds x1, x8, x8
b.eq LBB11_55
ldr x0, [sp, #80]
mov w2, #2
bl ___rust_dealloc
LBB11_55:
ldp x29, x30, [sp, #208]
ldp x20, x19, [sp, #192]
ldp x22, x21, [sp, #176]
ldp x24, x23, [sp, #160]
add sp, sp, #224
ret
LBB11_56:
Ltmp18:
bl __ZN5alloc7raw_vec17capacity_overflow17h7a83d913e09ecc3aE
Ltmp19:
LBB11_57:
brk #0x1
LBB11_58:
Ltmp23:
mov x19, x0
Ltmp24:
add x0, sp, #80
bl __ZN4core3ptr47drop_in_place$LT$alloc..vec..Vec$LT$u16$GT$$GT$17h4a3ce274823ed447E
Ltmp25:
b LBB11_66
LBB11_59:
Ltmp26:
bl __ZN4core9panicking15panic_no_unwind17hfdf5806230424742E
LBB11_60:
Ltmp2:
b LBB11_62
LBB11_61:
Ltmp20:
LBB11_62:
mov x19, x0
add x0, sp, #80
bl __ZN4core3ptr115drop_in_place$LT$core..iter..adapters..map..Map$LT$std..env..Args$C$main..main..$u7b$$u7b$closure$u7d$$u7d$$GT$$GT$17h113183b32fe3389eE
mov x0, x19
bl __Unwind_Resume
LBB11_63:
Ltmp12:
b LBB11_65
LBB11_64:
Ltmp7:
LBB11_65:
mov x19, x0
add x0, sp, #32
bl __ZN4core3ptr115drop_in_place$LT$core..iter..adapters..map..Map$LT$std..env..Args$C$main..main..$u7b$$u7b$closure$u7d$$u7d$$GT$$GT$17h113183b32fe3389eE
Ltmp13:
sub x0, x29, #96
bl __ZN4core3ptr47drop_in_place$LT$alloc..vec..Vec$LT$u16$GT$$GT$17h4a3ce274823ed447E
Ltmp14:
LBB11_66:
mov x0, x19
bl __Unwind_Resume
LBB11_67:
Ltmp15:
bl __ZN4core9panicking15panic_no_unwind17hfdf5806230424742E
.loh AdrpAdd Lloh6, Lloh7
.loh AdrpAdd Lloh4, Lloh5
Lfunc_end0:
.cfi_endproc
.section __TEXT,__gcc_except_tab
.p2align 2
GCC_except_table11:
Lexception0:
.byte 255
.byte 255
.byte 1
.uleb128 Lcst_end0-Lcst_begin0
Lcst_begin0:
.uleb128 Lfunc_begin0-Lfunc_begin0
.uleb128 Ltmp0-Lfunc_begin0
.byte 0
.byte 0
.uleb128 Ltmp0-Lfunc_begin0
.uleb128 Ltmp1-Ltmp0
.uleb128 Ltmp2-Lfunc_begin0
.byte 0
.uleb128 Ltmp3-Lfunc_begin0
.uleb128 Ltmp4-Ltmp3
.uleb128 Ltmp20-Lfunc_begin0
.byte 0
.uleb128 Ltmp5-Lfunc_begin0
.uleb128 Ltmp6-Ltmp5
.uleb128 Ltmp7-Lfunc_begin0
.byte 0
.uleb128 Ltmp8-Lfunc_begin0
.uleb128 Ltmp11-Ltmp8
.uleb128 Ltmp12-Lfunc_begin0
.byte 0
.uleb128 Ltmp16-Lfunc_begin0
.uleb128 Ltmp17-Ltmp16
.uleb128 Ltmp20-Lfunc_begin0
.byte 0
.uleb128 Ltmp21-Lfunc_begin0
.uleb128 Ltmp22-Ltmp21
.uleb128 Ltmp23-Lfunc_begin0
.byte 0
.uleb128 Ltmp18-Lfunc_begin0
.uleb128 Ltmp19-Ltmp18
.uleb128 Ltmp20-Lfunc_begin0
.byte 0
.uleb128 Ltmp24-Lfunc_begin0
.uleb128 Ltmp25-Ltmp24
.uleb128 Ltmp26-Lfunc_begin0
.byte 0
.uleb128 Ltmp25-Lfunc_begin0
.uleb128 Ltmp13-Ltmp25
.byte 0
.byte 0
.uleb128 Ltmp13-Lfunc_begin0
.uleb128 Ltmp14-Ltmp13
.uleb128 Ltmp15-Lfunc_begin0
.byte 0
.uleb128 Ltmp14-Lfunc_begin0
.uleb128 Lfunc_end0-Ltmp14
.byte 0
.byte 0
Lcst_end0:
.p2align 2
.section __TEXT,__text,regular,pure_instructions
.globl _main
.p2align 2
_main:
.cfi_startproc
sub sp, sp, #32
stp x29, x30, [sp, #16]
add x29, sp, #16
.cfi_def_cfa w29, 16
.cfi_offset w30, -8
.cfi_offset w29, -16
mov x3, x1
sxtw x2, w0
Lloh8:
adrp x8, __ZN4main4main17h54a6b3e9a4566b67E@PAGE
Lloh9:
add x8, x8, __ZN4main4main17h54a6b3e9a4566b67E@PAGEOFF
str x8, [sp, #8]
Lloh10:
adrp x1, l___unnamed_1@PAGE
Lloh11:
add x1, x1, l___unnamed_1@PAGEOFF
add x0, sp, #8
bl __ZN3std2rt19lang_start_internal17h92a00ef694077615E
ldp x29, x30, [sp, #16]
add sp, sp, #32
ret
.loh AdrpAdd Lloh10, Lloh11
.loh AdrpAdd Lloh8, Lloh9
.cfi_endproc
.section __TEXT,__const
.p2align 3
l___unnamed_4:
.byte 0
.section __DATA,__const
.p2align 3
l___unnamed_1:
.quad __ZN4core3ptr28drop_in_place$LT$$RF$u16$GT$17h40ed38c3325f13c6E
.asciz "\b\000\000\000\000\000\000\000\b\000\000\000\000\000\000"
.quad __ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17hb8147a003ea3820fE
.quad __ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17h7238f1085a7d436eE
.quad __ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17h7238f1085a7d436eE
.p2align 3
l___unnamed_2:
.quad __ZN4core3ptr28drop_in_place$LT$$RF$u16$GT$17h40ed38c3325f13c6E
.asciz "\b\000\000\000\000\000\000\000\b\000\000\000\000\000\000"
.quad __ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17hfb16b4a69bcdf6c0E
.section __TEXT,__const
l___unnamed_5:
.byte 10
.section __DATA,__const
.p2align 3
l___unnamed_3:
.quad l___unnamed_4
.space 8
.quad l___unnamed_5
.asciz "\001\000\000\000\000\000\000"
.subsections_via_symbols
.section __TEXT,__text,regular,pure_instructions
.build_version macos, 11, 0
.p2align 2
__ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17h990a54e31e05e5cbE:
.cfi_startproc
stp x29, x30, [sp, #-16]!
mov x29, sp
.cfi_def_cfa w29, 16
.cfi_offset w30, -8
.cfi_offset w29, -16
blr x0
; InlineAsm Start
; InlineAsm End
ldp x29, x30, [sp], #16
ret
.cfi_endproc
.private_extern __ZN3std2rt10lang_start17hc88bcc3c4cc96d64E
.globl __ZN3std2rt10lang_start17hc88bcc3c4cc96d64E
.p2align 2
__ZN3std2rt10lang_start17hc88bcc3c4cc96d64E:
.cfi_startproc
sub sp, sp, #32
stp x29, x30, [sp, #16]
add x29, sp, #16
.cfi_def_cfa w29, 16
.cfi_offset w30, -8
.cfi_offset w29, -16
mov x3, x2
mov x2, x1
str x0, [sp, #8]
Lloh0:
adrp x1, l___unnamed_1@PAGE
Lloh1:
add x1, x1, l___unnamed_1@PAGEOFF
add x0, sp, #8
bl __ZN3std2rt19lang_start_internal17h92a00ef694077615E
ldp x29, x30, [sp, #16]
add sp, sp, #32
ret
.loh AdrpAdd Lloh0, Lloh1
.cfi_endproc
.p2align 2
__ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17h7238f1085a7d436eE:
.cfi_startproc
stp x29, x30, [sp, #-16]!
mov x29, sp
.cfi_def_cfa w29, 16
.cfi_offset w30, -8
.cfi_offset w29, -16
ldr x0, [x0]
bl __ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17h990a54e31e05e5cbE
mov w0, #0
ldp x29, x30, [sp], #16
ret
.cfi_endproc
.p2align 2
__ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17hfb16b4a69bcdf6c0E:
.cfi_startproc
stp x20, x19, [sp, #-32]!
stp x29, x30, [sp, #16]
add x29, sp, #16
.cfi_def_cfa w29, 16
.cfi_offset w30, -8
.cfi_offset w29, -16
.cfi_offset w19, -24
.cfi_offset w20, -32
mov x19, x1
ldr x20, [x0]
mov x0, x1
bl __ZN4core3fmt9Formatter15debug_lower_hex17h5092ce823e988a6bE
tbz w0, #0, LBB3_2
mov x0, x20
mov x1, x19
ldp x29, x30, [sp, #16]
ldp x20, x19, [sp], #32
b __ZN4core3fmt3num53_$LT$impl$u20$core..fmt..LowerHex$u20$for$u20$u16$GT$3fmt17ha0aa28bbac072813E
LBB3_2:
mov x0, x19
bl __ZN4core3fmt9Formatter15debug_upper_hex17h9027bf11993dd909E
tbz w0, #0, LBB3_4
mov x0, x20
mov x1, x19
ldp x29, x30, [sp, #16]
ldp x20, x19, [sp], #32
b __ZN4core3fmt3num53_$LT$impl$u20$core..fmt..UpperHex$u20$for$u20$u16$GT$3fmt17h50f729b131024690E
LBB3_4:
mov x0, x20
mov x1, x19
ldp x29, x30, [sp, #16]
ldp x20, x19, [sp], #32
b __ZN4core3fmt3num3imp52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u16$GT$3fmt17h57b9df4611c43845E
.cfi_endproc
.p2align 2
__ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17hb8147a003ea3820fE:
.cfi_startproc
stp x29, x30, [sp, #-16]!
mov x29, sp
.cfi_def_cfa w29, 16
.cfi_offset w30, -8
.cfi_offset w29, -16
ldr x0, [x0]
bl __ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17h990a54e31e05e5cbE
mov w0, #0
ldp x29, x30, [sp], #16
ret
.cfi_endproc
.p2align 2
__ZN4core3ptr115drop_in_place$LT$core..iter..adapters..map..Map$LT$std..env..Args$C$main..main..$u7b$$u7b$closure$u7d$$u7d$$GT$$GT$17h113183b32fe3389eE:
.cfi_startproc
stp x22, x21, [sp, #-48]!
stp x20, x19, [sp, #16]
stp x29, x30, [sp, #32]
add x29, sp, #32
.cfi_def_cfa w29, 16
.cfi_offset w30, -8
.cfi_offset w29, -16
.cfi_offset w19, -24
.cfi_offset w20, -32
.cfi_offset w21, -40
.cfi_offset w22, -48
mov x19, x0
ldp x20, x8, [x0, #16]
subs x8, x8, x20
b.eq LBB5_5
mov x9, #-6148914691236517206
movk x9, #43691
umulh x8, x8, x9
lsr x8, x8, #4
mov w9, #24
madd x21, x8, x9, x20
b LBB5_3
LBB5_2:
add x20, x20, #24
cmp x20, x21
b.eq LBB5_5
LBB5_3:
ldr x1, [x20, #8]
cbz x1, LBB5_2
ldr x0, [x20]
mov w2, #1
bl ___rust_dealloc
b LBB5_2
LBB5_5:
ldr x8, [x19, #8]
cmp x8, #0
add x8, x8, x8, lsl #1
lsl x1, x8, #3
ccmp x1, #0, #4, ne
b.ne LBB5_7
ldp x29, x30, [sp, #32]
ldp x20, x19, [sp, #16]
ldp x22, x21, [sp], #48
ret
LBB5_7:
ldr x0, [x19]
mov w2, #8
ldp x29, x30, [sp, #32]
ldp x20, x19, [sp, #16]
ldp x22, x21, [sp], #48
b ___rust_dealloc
.cfi_endproc
.p2align 2
__ZN4core3ptr28drop_in_place$LT$$RF$u16$GT$17h40ed38c3325f13c6E:
.cfi_startproc
ret
.cfi_endproc
.p2align 2
__ZN4core3ptr47drop_in_place$LT$alloc..vec..Vec$LT$u16$GT$$GT$17h4a3ce274823ed447E:
.cfi_startproc
ldr x8, [x0, #8]
cmp x8, #0
add x1, x8, x8
ccmp x1, #0, #4, ne
b.ne LBB7_2
ret
LBB7_2:
ldr x0, [x0]
mov w2, #2
b ___rust_dealloc
.cfi_endproc
.p2align 2
__ZN5alloc7raw_vec11finish_grow17hb616fe6fe0462bd9E:
.cfi_startproc
stp x22, x21, [sp, #-48]!
stp x20, x19, [sp, #16]
stp x29, x30, [sp, #32]
add x29, sp, #32
.cfi_def_cfa w29, 16
.cfi_offset w30, -8
.cfi_offset w29, -16
.cfi_offset w19, -24
.cfi_offset w20, -32
.cfi_offset w21, -40
.cfi_offset w22, -48
mov x19, x0
cmp x2, #0
csel x21, xzr, x1, eq
cbz x2, LBB8_5
mov x20, x2
ldr x8, [x3, #16]
cbz x8, LBB8_6
ldr x1, [x3, #8]
cbz x1, LBB8_6
ldr x0, [x3]
mov x2, x20
mov x3, x21
bl ___rust_realloc
cmp x0, #0
csel x8, xzr, x21, eq
cbnz x0, LBB8_8
LBB8_4:
mov w9, #1
mov x8, x20
stp x21, x8, [x19, #8]
str x9, [x19]
ldp x29, x30, [sp, #32]
ldp x20, x19, [sp, #16]
ldp x22, x21, [sp], #48
ret
LBB8_5:
mov x8, #0
stp x21, x8, [x19, #8]
mov w9, #1
str x9, [x19]
ldp x29, x30, [sp, #32]
ldp x20, x19, [sp, #16]
ldp x22, x21, [sp], #48
ret
LBB8_6:
cbz x21, LBB8_9
mov x0, x21
mov x1, x20
bl ___rust_alloc
cmp x0, #0
csel x8, xzr, x21, eq
cbz x0, LBB8_4
LBB8_8:
mov x9, #0
stp x0, x8, [x19, #8]
str x9, [x19]
ldp x29, x30, [sp, #32]
ldp x20, x19, [sp, #16]
ldp x22, x21, [sp], #48
ret
LBB8_9:
mov x8, #0
mov x0, x20
cbnz x0, LBB8_8
b LBB8_4
.cfi_endproc
.p2align 2
__ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$7reserve21do_reserve_and_handle17h94c6b6deccda6185E:
.cfi_startproc
sub sp, sp, #80
stp x20, x19, [sp, #48]
stp x29, x30, [sp, #64]
add x29, sp, #64
.cfi_def_cfa w29, 16
.cfi_offset w30, -8
.cfi_offset w29, -16
.cfi_offset w19, -24
.cfi_offset w20, -32
adds x9, x1, x2
b.hs LBB9_6
mov x19, x0
ldr x8, [x0, #8]
lsl x10, x8, #1
cmp x10, x9
csel x9, x10, x9, hi
mov w10, #4
cmp x9, #4
csel x20, x9, x10, hi
adds x9, x20, x20
mov w10, #2
csel x2, xzr, x10, hs
csel x1, xzr, x9, hs
cbz x8, LBB9_4
ldr x9, [x19]
add x8, x8, x8
stp x9, x8, [sp, #24]
mov w8, #2
str x8, [sp, #40]
mov x0, sp
add x3, sp, #24
bl __ZN5alloc7raw_vec11finish_grow17hb616fe6fe0462bd9E
ldr x8, [sp]
cbnz x8, LBB9_5
LBB9_3:
ldr x8, [sp, #8]
stp x8, x20, [x19]
ldp x29, x30, [sp, #64]
ldp x20, x19, [sp, #48]
add sp, sp, #80
ret
LBB9_4:
stp xzr, xzr, [sp, #24]
str x8, [sp, #40]
mov x0, sp
add x3, sp, #24
bl __ZN5alloc7raw_vec11finish_grow17hb616fe6fe0462bd9E
ldr x8, [sp]
cbz x8, LBB9_3
LBB9_5:
ldr x1, [sp, #16]
cbnz x1, LBB9_7
LBB9_6:
bl __ZN5alloc7raw_vec17capacity_overflow17h7a83d913e09ecc3aE
LBB9_7:
ldr x0, [sp, #8]
bl __ZN5alloc5alloc18handle_alloc_error17hd43b86cce9d7e97fE
.cfi_endproc
.p2align 2
__ZN65_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt17hbc8e5c2bdb9fb666E:
.cfi_startproc
sub sp, sp, #80
stp x22, x21, [sp, #32]
stp x20, x19, [sp, #48]
stp x29, x30, [sp, #64]
add x29, sp, #64
.cfi_def_cfa w29, 16
.cfi_offset w30, -8
.cfi_offset w29, -16
.cfi_offset w19, -24
.cfi_offset w20, -32
.cfi_offset w21, -40
.cfi_offset w22, -48
ldr x20, [x0]
ldr x19, [x0, #16]
add x8, sp, #8
mov x0, x1
bl __ZN4core3fmt9Formatter10debug_list17h9ae011374ab8e100E
cbz x19, LBB10_3
lsl x21, x19, #1
Lloh2:
adrp x19, l___unnamed_2@PAGE
Lloh3:
add x19, x19, l___unnamed_2@PAGEOFF
LBB10_2:
add x22, x20, #2
str x20, [sp, #24]
add x0, sp, #8
add x1, sp, #24
mov x2, x19
bl __ZN4core3fmt8builders9DebugList5entry17h3b5837ea118d0763E
mov x20, x22
subs x21, x21, #2
b.ne LBB10_2
LBB10_3:
add x0, sp, #8
bl __ZN4core3fmt8builders9DebugList6finish17h3ce5b1711f5a1fa2E
ldp x29, x30, [sp, #64]
ldp x20, x19, [sp, #48]
ldp x22, x21, [sp, #32]
add sp, sp, #80
ret
.loh AdrpAdd Lloh2, Lloh3
.cfi_endproc
.p2align 2
__ZN4main4main17h54a6b3e9a4566b67E:
Lfunc_begin0:
.cfi_startproc
.cfi_personality 155, _rust_eh_personality
.cfi_lsda 16, Lexception0
sub sp, sp, #224
stp x24, x23, [sp, #160]
stp x22, x21, [sp, #176]
stp x20, x19, [sp, #192]
stp x29, x30, [sp, #208]
add x29, sp, #208
.cfi_def_cfa w29, 16
.cfi_offset w30, -8
.cfi_offset w29, -16
.cfi_offset w19, -24
.cfi_offset w20, -32
.cfi_offset w21, -40
.cfi_offset w22, -48
.cfi_offset w23, -56
.cfi_offset w24, -64
mov x8, sp
bl __ZN3std3env4args17h4c9bf4f97bbf6d8fE
ldp q0, q1, [sp]
stp q0, q1, [sp, #80]
Ltmp0:
add x8, sp, #32
add x0, sp, #80
bl __ZN73_$LT$std..env..Args$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h821c16611a72c112E
Ltmp1:
ldr x0, [sp, #32]
cbz x0, LBB11_27
ldp x1, x22, [sp, #40]
cbz x1, LBB11_4
mov w2, #1
bl ___rust_dealloc
LBB11_4:
Ltmp3:
add x8, sp, #32
add x0, sp, #80
bl __ZN73_$LT$std..env..Args$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9size_hint17h1e1569b2910523a8E
Ltmp4:
ldr x8, [sp, #32]
adds x8, x8, #1
csinv x8, x8, xzr, lo
mov w9, #4
cmp x8, #4
csel x23, x8, x9, hi
mov w8, #2
adds x9, x23, x23
csel x19, xzr, x8, hs
csel x21, xzr, x9, hs
b.hs LBB11_50
cbz x21, LBB11_39
mov x0, x21
mov x1, x19
bl ___rust_alloc
mov x20, x0
cbz x0, LBB11_40
LBB11_8:
strh w22, [x20]
stp x20, x23, [x29, #-96]
mov w19, #1
stur x19, [x29, #-80]
ldp q0, q1, [sp, #80]
stp q0, q1, [sp, #32]
b LBB11_10
LBB11_9:
strh w21, [x20, x19, lsl #1]
add x19, x19, #1
stur x19, [x29, #-80]
LBB11_10:
Ltmp5:
sub x8, x29, #72
add x0, sp, #32
bl __ZN73_$LT$std..env..Args$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h821c16611a72c112E
Ltmp6:
ldur x0, [x29, #-72]
cbz x0, LBB11_18
ldp x1, x21, [x29, #-64]
cbz x1, LBB11_14
mov w2, #1
bl ___rust_dealloc
LBB11_14:
ldur x8, [x29, #-88]
cmp x19, x8
b.ne LBB11_9
Ltmp8:
sub x8, x29, #72
add x0, sp, #32
bl __ZN73_$LT$std..env..Args$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9size_hint17h1e1569b2910523a8E
Ltmp9:
ldur x8, [x29, #-72]
adds x8, x8, #1
csinv x2, x8, xzr, lo
Ltmp10:
sub x0, x29, #96
mov x1, x19
bl __ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$7reserve21do_reserve_and_handle17h94c6b6deccda6185E
Ltmp11:
ldur x20, [x29, #-96]
b LBB11_9
LBB11_18:
ldp x20, x8, [sp, #48]
subs x8, x8, x20
b.eq LBB11_23
mov x9, #-6148914691236517206
movk x9, #43691
umulh x8, x8, x9
lsr x8, x8, #4
mov w9, #24
madd x21, x8, x9, x20
b LBB11_21
LBB11_20:
add x20, x20, #24
cmp x20, x21
b.eq LBB11_23
LBB11_21:
ldr x1, [x20, #8]
cbz x1, LBB11_20
ldr x0, [x20]
mov w2, #1
bl ___rust_dealloc
b LBB11_20
LBB11_23:
ldr x8, [sp, #40]
cmp x8, #0
add x8, x8, x8, lsl #1
lsl x1, x8, #3
ccmp x1, #0, #4, ne
b.ne LBB11_35
ldp x9, x8, [x29, #-96]
cmp x19, #3
b.lo LBB11_36
LBB11_25:
cmp x19, #16
b.hs LBB11_41
mov x10, #0
b LBB11_44
LBB11_27:
ldp x19, x8, [sp, #96]
subs x8, x8, x19
b.eq LBB11_32
mov x9, #-6148914691236517206
movk x9, #43691
umulh x8, x8, x9
lsr x8, x8, #4
mov w9, #24
madd x20, x8, x9, x19
b LBB11_30
LBB11_29:
add x19, x19, #24
cmp x19, x20
b.eq LBB11_32
LBB11_30:
ldr x1, [x19, #8]
cbz x1, LBB11_29
ldr x0, [x19]
mov w2, #1
bl ___rust_dealloc
b LBB11_29
LBB11_32:
ldr x8, [sp, #88]
cmp x8, #0
add x8, x8, x8, lsl #1
lsl x1, x8, #3
ccmp x1, #0, #4, ne
b.eq LBB11_34
ldr x0, [sp, #80]
mov w2, #8
bl ___rust_dealloc
LBB11_34:
mov x8, #0
mov x19, #0
mov w9, #2
b LBB11_45
LBB11_35:
ldr x0, [sp, #32]
mov w2, #8
bl ___rust_dealloc
ldp x9, x8, [x29, #-96]
cmp x19, #3
b.hs LBB11_25
LBB11_36:
cbz x19, LBB11_45
ldrh w10, [x9]
add w10, w10, w10, lsl #1
strh w10, [x9]
cmp x19, #1
b.eq LBB11_45
ldrh w10, [x9, #2]
add w10, w10, w10, lsl #1
strh w10, [x9, #2]
b LBB11_45
LBB11_39:
mov x20, x19
cbnz x19, LBB11_8
LBB11_40:
Ltmp16:
mov x0, x21
mov x1, x19
bl __ZN5alloc5alloc18handle_alloc_error17hd43b86cce9d7e97fE
Ltmp17:
b LBB11_51
LBB11_41:
and x10, x19, #0xfffffffffffffff0
add x11, x9, #16
mov x12, x10
LBB11_42:
ldp q0, q1, [x11, #-16]
shl.8h v0, v0, #1
shl.8h v1, v1, #1
stp q0, q1, [x11, #-16]
add x11, x11, #32
subs x12, x12, #16
b.ne LBB11_42
cmp x19, x10
b.eq LBB11_45
LBB11_44:
lsl x11, x10, #1
ldrh w12, [x9, x11]
add x13, x10, #1
lsl w10, w12, #1
strh w10, [x9, x11]
mov x10, x13
cmp x19, x13
b.ne LBB11_44
LBB11_45:
stp x9, x8, [sp, #80]
str x19, [sp, #96]
add x8, sp, #80
Lloh4:
adrp x9, __ZN65_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt17hbc8e5c2bdb9fb666E@PAGE
Lloh5:
add x9, x9, __ZN65_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt17hbc8e5c2bdb9fb666E@PAGEOFF
stp x8, x9, [sp]
Lloh6:
adrp x8, l___unnamed_3@PAGE
Lloh7:
add x8, x8, l___unnamed_3@PAGEOFF
mov w9, #2
stp x8, x9, [sp, #32]
stp xzr, xzr, [sp, #48]
mov x8, sp
mov w9, #1
stp x8, x9, [sp, #64]
Ltmp21:
add x0, sp, #32
bl __ZN3std2io5stdio6_print17ha0bc59636d784056E
Ltmp22:
ldr x8, [sp, #88]
cbz x8, LBB11_49
adds x1, x8, x8
b.eq LBB11_49
ldr x0, [sp, #80]
mov w2, #2
bl ___rust_dealloc
LBB11_49:
ldp x29, x30, [sp, #208]
ldp x20, x19, [sp, #192]
ldp x22, x21, [sp, #176]
ldp x24, x23, [sp, #160]
add sp, sp, #224
ret
LBB11_50:
Ltmp18:
bl __ZN5alloc7raw_vec17capacity_overflow17h7a83d913e09ecc3aE
Ltmp19:
LBB11_51:
brk #0x1
LBB11_52:
Ltmp23:
mov x19, x0
Ltmp24:
add x0, sp, #80
bl __ZN4core3ptr47drop_in_place$LT$alloc..vec..Vec$LT$u16$GT$$GT$17h4a3ce274823ed447E
Ltmp25:
b LBB11_60
LBB11_53:
Ltmp26:
bl __ZN4core9panicking15panic_no_unwind17hfdf5806230424742E
LBB11_54:
Ltmp2:
b LBB11_56
LBB11_55:
Ltmp20:
LBB11_56:
mov x19, x0
add x0, sp, #80
bl __ZN4core3ptr115drop_in_place$LT$core..iter..adapters..map..Map$LT$std..env..Args$C$main..main..$u7b$$u7b$closure$u7d$$u7d$$GT$$GT$17h113183b32fe3389eE
mov x0, x19
bl __Unwind_Resume
LBB11_57:
Ltmp12:
b LBB11_59
LBB11_58:
Ltmp7:
LBB11_59:
mov x19, x0
add x0, sp, #32
bl __ZN4core3ptr115drop_in_place$LT$core..iter..adapters..map..Map$LT$std..env..Args$C$main..main..$u7b$$u7b$closure$u7d$$u7d$$GT$$GT$17h113183b32fe3389eE
Ltmp13:
sub x0, x29, #96
bl __ZN4core3ptr47drop_in_place$LT$alloc..vec..Vec$LT$u16$GT$$GT$17h4a3ce274823ed447E
Ltmp14:
LBB11_60:
mov x0, x19
bl __Unwind_Resume
LBB11_61:
Ltmp15:
bl __ZN4core9panicking15panic_no_unwind17hfdf5806230424742E
.loh AdrpAdd Lloh6, Lloh7
.loh AdrpAdd Lloh4, Lloh5
Lfunc_end0:
.cfi_endproc
.section __TEXT,__gcc_except_tab
.p2align 2
GCC_except_table11:
Lexception0:
.byte 255
.byte 255
.byte 1
.uleb128 Lcst_end0-Lcst_begin0
Lcst_begin0:
.uleb128 Lfunc_begin0-Lfunc_begin0
.uleb128 Ltmp0-Lfunc_begin0
.byte 0
.byte 0
.uleb128 Ltmp0-Lfunc_begin0
.uleb128 Ltmp1-Ltmp0
.uleb128 Ltmp2-Lfunc_begin0
.byte 0
.uleb128 Ltmp3-Lfunc_begin0
.uleb128 Ltmp4-Ltmp3
.uleb128 Ltmp20-Lfunc_begin0
.byte 0
.uleb128 Ltmp5-Lfunc_begin0
.uleb128 Ltmp6-Ltmp5
.uleb128 Ltmp7-Lfunc_begin0
.byte 0
.uleb128 Ltmp8-Lfunc_begin0
.uleb128 Ltmp11-Ltmp8
.uleb128 Ltmp12-Lfunc_begin0
.byte 0
.uleb128 Ltmp16-Lfunc_begin0
.uleb128 Ltmp17-Ltmp16
.uleb128 Ltmp20-Lfunc_begin0
.byte 0
.uleb128 Ltmp21-Lfunc_begin0
.uleb128 Ltmp22-Ltmp21
.uleb128 Ltmp23-Lfunc_begin0
.byte 0
.uleb128 Ltmp18-Lfunc_begin0
.uleb128 Ltmp19-Ltmp18
.uleb128 Ltmp20-Lfunc_begin0
.byte 0
.uleb128 Ltmp24-Lfunc_begin0
.uleb128 Ltmp25-Ltmp24
.uleb128 Ltmp26-Lfunc_begin0
.byte 0
.uleb128 Ltmp25-Lfunc_begin0
.uleb128 Ltmp13-Ltmp25
.byte 0
.byte 0
.uleb128 Ltmp13-Lfunc_begin0
.uleb128 Ltmp14-Ltmp13
.uleb128 Ltmp15-Lfunc_begin0
.byte 0
.uleb128 Ltmp14-Lfunc_begin0
.uleb128 Lfunc_end0-Ltmp14
.byte 0
.byte 0
Lcst_end0:
.p2align 2
.section __TEXT,__text,regular,pure_instructions
.globl _main
.p2align 2
_main:
.cfi_startproc
sub sp, sp, #32
stp x29, x30, [sp, #16]
add x29, sp, #16
.cfi_def_cfa w29, 16
.cfi_offset w30, -8
.cfi_offset w29, -16
mov x3, x1
sxtw x2, w0
Lloh8:
adrp x8, __ZN4main4main17h54a6b3e9a4566b67E@PAGE
Lloh9:
add x8, x8, __ZN4main4main17h54a6b3e9a4566b67E@PAGEOFF
str x8, [sp, #8]
Lloh10:
adrp x1, l___unnamed_1@PAGE
Lloh11:
add x1, x1, l___unnamed_1@PAGEOFF
add x0, sp, #8
bl __ZN3std2rt19lang_start_internal17h92a00ef694077615E
ldp x29, x30, [sp, #16]
add sp, sp, #32
ret
.loh AdrpAdd Lloh10, Lloh11
.loh AdrpAdd Lloh8, Lloh9
.cfi_endproc
.section __TEXT,__const
.p2align 3
l___unnamed_4:
.byte 0
.section __DATA,__const
.p2align 3
l___unnamed_1:
.quad __ZN4core3ptr28drop_in_place$LT$$RF$u16$GT$17h40ed38c3325f13c6E
.asciz "\b\000\000\000\000\000\000\000\b\000\000\000\000\000\000"
.quad __ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17hb8147a003ea3820fE
.quad __ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17h7238f1085a7d436eE
.quad __ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17h7238f1085a7d436eE
.p2align 3
l___unnamed_2:
.quad __ZN4core3ptr28drop_in_place$LT$$RF$u16$GT$17h40ed38c3325f13c6E
.asciz "\b\000\000\000\000\000\000\000\b\000\000\000\000\000\000"
.quad __ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17hfb16b4a69bcdf6c0E
.section __TEXT,__const
l___unnamed_5:
.byte 10
.section __DATA,__const
.p2align 3
l___unnamed_3:
.quad l___unnamed_4
.space 8
.quad l___unnamed_5
.asciz "\001\000\000\000\000\000\000"
.subsections_via_symbols
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment