Created
October 17, 2022 06:39
-
-
Save qdwang/6e61b9f4bce0e1f1356a0d98d915ecf3 to your computer and use it in GitHub Desktop.
fn vs trait for iterator
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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:?}"); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
.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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
.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