diff --git a/internal/native/neon/f32toa_arm64.s b/internal/native/neon/f32toa_arm64.s index 7f6159bfd..6b6b557b3 100644 --- a/internal/native/neon/f32toa_arm64.s +++ b/internal/native/neon/f32toa_arm64.s @@ -12,13 +12,14 @@ TEXT ·__f32toa_entry__(SB), NOSPLIT, $16 RET // .p2align 2, 0x00 _f32toa: - WORD $0xa9be7bfd // stp fp, lr, [sp, #-32]! + WORD $0xd10083ff // sub sp, sp, #32 + WORD $0xa900fbfd // stp fp, lr, [sp, #8] WORD $0xa93ffbfd // stp fp, lr, [sp, #-8] WORD $0xd10023fd // sub fp, sp, #8 WORD $0x1e260009 // fmov w9, s0 WORD $0x5317792b // ubfx w11, w9, #23, #8 WORD $0x7103fd7f // cmp w11, #255 - WORD $0x54005a20 // b.eq LBB0_130 $2884(%rip) + WORD $0x54005b20 // b.eq LBB0_130 $2916(%rip) WORD $0x528005a8 // mov w8, #45 WORD $0x39000008 // strb w8, [x0] WORD $0x531f7d2a // lsr w10, w9, #31 @@ -29,7 +30,7 @@ _f32toa: WORD $0x1200592e // and w14, w9, #0x7fffff WORD $0x5290d3e9 // mov w9, #34463 WORD $0x72a00029 // movk w9, #1, lsl #16 - WORD $0x3400592b // cbz w11, LBB0_131 $2852(%rip) + WORD $0x34005a4b // cbz w11, LBB0_131 $2888(%rip) WORD $0x320901cd // orr w13, w14, #0x800000 WORD $0x5102596c // sub w12, w11, #150 WORD $0x5101fd6f // sub w15, w11, #127 @@ -41,7 +42,7 @@ _f32toa: WORD $0x9acf2210 // lsl x16, x16, x15 WORD $0x2a3003f0 // mvn w16, w16 WORD $0xea0d021f // tst x16, x13 - WORD $0x54001100 // b.eq LBB0_17 $544(%rip) + WORD $0x54001120 // b.eq LBB0_17 $548(%rip) LBB0_5: WORD $0x120001af // and w15, w13, #0x1 WORD $0x710001df // cmp w14, #0 @@ -68,7 +69,7 @@ LBB0_5: WORD $0x1100058c // add w12, w12, #1 WORD $0x528003ed // mov w13, #31 Lloh0: - WORD $0x10005b4e // adr x14, _pow10_ceil_sig_f32.g $2920(%rip) + WORD $0x10005c6e // adr x14, _pow10_ceil_sig_f32.g $2956(%rip) Lloh1: WORD $0x910001ce // add x14, x14, _pow10_ceil_sig_f32.g@PAGEOFF $0(%rip) WORD $0x4b0b01ad // sub w13, w13, w11 @@ -108,7 +109,7 @@ Lloh1: WORD $0x1a9f87e1 // cset w1, ls WORD $0x1a8c858c // cinc w12, w12, ls WORD $0x6b01023f // cmp w17, w1 - WORD $0x540004c0 // b.eq LBB0_11 $152(%rip) + WORD $0x540004e0 // b.eq LBB0_11 $156(%rip) LBB0_7: WORD $0xd3427dac // ubfx x12, x13, #2, #30 WORD $0x121e75b1 // and w17, w13, #0xfffffffc @@ -130,29 +131,30 @@ LBB0_7: WORD $0x7200021f // tst w16, #0x1 WORD $0x1a8c11ac // csel w12, w13, w12, ne WORD $0x6b09019f // cmp w12, w9 - WORD $0x54000289 // b.ls LBB0_12 $80(%rip) + WORD $0x540002a9 // b.ls LBB0_12 $84(%rip) LBB0_8: WORD $0x52884809 // mov w9, #16960 WORD $0x72a001e9 // movk w9, #15, lsl #16 WORD $0x6b09019f // cmp w12, w9 - WORD $0x54000302 // b.hs LBB0_14 $96(%rip) + WORD $0x54000322 // b.hs LBB0_14 $100(%rip) WORD $0x528000cd // mov w13, #6 WORD $0x0b0b01a9 // add w9, w13, w11 WORD $0x5100592e // sub w14, w9, #22 WORD $0x310071df // cmn w14, #28 - WORD $0x54000ac8 // b.hi LBB0_22 $344(%rip) - WORD $0x140000ba // b LBB0_43 $744(%rip) + WORD $0x54000ae8 // b.hi LBB0_22 $348(%rip) + WORD $0x140000bc // b LBB0_43 $752(%rip) LBB0_10: WORD $0x52800609 // mov w9, #48 WORD $0x39000109 // strb w9, [x8] WORD $0x4b000108 // sub w8, w8, w0 WORD $0x11000500 // add w0, w8, #1 - WORD $0xa8c27bfd // ldp fp, lr, [sp], #32 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 WORD $0xd65f03c0 // ret LBB0_11: WORD $0x1100056b // add w11, w11, #1 WORD $0x6b09019f // cmp w12, w9 - WORD $0x54fffdc8 // b.hi LBB0_8 $-72(%rip) + WORD $0x54fffda8 // b.hi LBB0_8 $-76(%rip) LBB0_12: WORD $0x7100299f // cmp w12, #10 WORD $0x540002c2 // b.hs LBB0_15 $88(%rip) @@ -161,7 +163,7 @@ LBB0_12: WORD $0x5100592e // sub w14, w9, #22 WORD $0x310071df // cmn w14, #28 WORD $0x540008a8 // b.hi LBB0_22 $276(%rip) - WORD $0x140000a9 // b LBB0_43 $676(%rip) + WORD $0x140000aa // b LBB0_43 $680(%rip) LBB0_14: WORD $0x528000e9 // mov w9, #7 WORD $0x5292d00d // mov w13, #38528 @@ -177,7 +179,7 @@ LBB0_14: WORD $0x5100592e // sub w14, w9, #22 WORD $0x310071df // cmn w14, #28 WORD $0x540006c8 // b.hi LBB0_22 $216(%rip) - WORD $0x1400009a // b LBB0_43 $616(%rip) + WORD $0x1400009b // b LBB0_43 $620(%rip) LBB0_15: WORD $0x7101919f // cmp w12, #100 WORD $0x54000582 // b.hs LBB0_20 $176(%rip) @@ -186,15 +188,15 @@ LBB0_15: WORD $0x5100592e // sub w14, w9, #22 WORD $0x310071df // cmn w14, #28 WORD $0x540005c8 // b.hi LBB0_22 $184(%rip) - WORD $0x14000092 // b LBB0_43 $584(%rip) + WORD $0x14000093 // b LBB0_43 $588(%rip) LBB0_17: WORD $0x1acf25ab // lsr w11, w13, w15 Lloh2: - WORD $0x100046ea // adr x10, _Digits $2268(%rip) + WORD $0x100047ea // adr x10, _Digits $2300(%rip) Lloh3: WORD $0x9100014a // add x10, x10, _Digits@PAGEOFF $0(%rip) WORD $0x6b09017f // cmp w11, w9 - WORD $0x54001029 // b.ls LBB0_40 $516(%rip) + WORD $0x54001049 // b.ls LBB0_40 $520(%rip) WORD $0x5292d009 // mov w9, #38528 WORD $0x72a01309 // movk w9, #152, lsl #16 WORD $0x6b09017f // cmp w11, w9 @@ -226,16 +228,16 @@ LBB0_19: WORD $0x7900058e // strh w14, [x12, #2] WORD $0xaa0d03eb // mov x11, x13 WORD $0x7101917f // cmp w11, #100 - WORD $0x54002262 // b.hs LBB0_77 $1100(%rip) - WORD $0x14000120 // b LBB0_79 $1152(%rip) + WORD $0x540022e2 // b.hs LBB0_77 $1116(%rip) + WORD $0x14000124 // b LBB0_79 $1168(%rip) LBB0_20: WORD $0x710fa19f // cmp w12, #1000 - WORD $0x54000c62 // b.hs LBB0_42 $396(%rip) + WORD $0x54000c82 // b.hs LBB0_42 $400(%rip) WORD $0x5280006d // mov w13, #3 WORD $0x0b0b01a9 // add w9, w13, w11 WORD $0x5100592e // sub w14, w9, #22 WORD $0x310071df // cmn w14, #28 - WORD $0x54000cc9 // b.ls LBB0_43 $408(%rip) + WORD $0x54000ce9 // b.ls LBB0_43 $412(%rip) LBB0_22: WORD $0x37f803cb // tbnz w11, #31, LBB0_26 $120(%rip) WORD $0x2a0d03ee // mov w14, w13 @@ -256,7 +258,7 @@ LBB0_22: WORD $0x52800c91 // mov w17, #100 WORD $0x1b11b1ec // msub w12, w15, w17, w12 Lloh4: - WORD $0x10003f51 // adr x17, _Digits $2024(%rip) + WORD $0x10004051 // adr x17, _Digits $2056(%rip) Lloh5: WORD $0x91000231 // add x17, x17, _Digits@PAGEOFF $0(%rip) WORD $0x786c5a2c // ldrh w12, [x17, w12, uxtw #1] @@ -272,16 +274,16 @@ LBB0_25: WORD $0x1400001f // b LBB0_33 $124(%rip) LBB0_26: WORD $0x7100013f // cmp w9, #0 - WORD $0x5400240c // b.gt LBB0_88 $1152(%rip) + WORD $0x540024cc // b.gt LBB0_88 $1176(%rip) WORD $0x5285c60e // mov w14, #11824 WORD $0x7800250e // strh w14, [x8], #2 - WORD $0x36f823a9 // tbz w9, #31, LBB0_88 $1140(%rip) + WORD $0x36f82469 // tbz w9, #31, LBB0_88 $1164(%rip) WORD $0x2a2d03ee // mvn w14, w13 WORD $0x4b0b01ce // sub w14, w14, w11 WORD $0x7100fddf // cmp w14, #63 - WORD $0x540020c2 // b.hs LBB0_83 $1048(%rip) + WORD $0x54002182 // b.hs LBB0_83 $1072(%rip) WORD $0x5280000e // mov w14, #0 - WORD $0x14000111 // b LBB0_86 $1092(%rip) + WORD $0x14000117 // b LBB0_86 $1116(%rip) LBB0_30: WORD $0xaa0b03ef // mov x15, x11 WORD $0x7101919f // cmp w12, #100 @@ -292,7 +294,7 @@ LBB0_31: WORD $0x72aa3d71 // movk w17, #20971, lsl #16 WORD $0x52800c81 // mov w1, #100 Lloh6: - WORD $0x10003b82 // adr x2, _Digits $1904(%rip) + WORD $0x10003c82 // adr x2, _Digits $1936(%rip) Lloh7: WORD $0x91000042 // add x2, x2, _Digits@PAGEOFF $0(%rip) LBB0_32: @@ -309,24 +311,25 @@ LBB0_32: LBB0_33: WORD $0x8b09010c // add x12, x8, x9 WORD $0x710029ff // cmp w15, #10 - WORD $0x54000143 // b.lo LBB0_36 $40(%rip) + WORD $0x54000163 // b.lo LBB0_36 $44(%rip) Lloh8: - WORD $0x100039b0 // adr x16, _Digits $1844(%rip) + WORD $0x10003ab0 // adr x16, _Digits $1876(%rip) Lloh9: WORD $0x91000210 // add x16, x16, _Digits@PAGEOFF $0(%rip) WORD $0x786f5a0f // ldrh w15, [x16, w15, uxtw #1] WORD $0x7900010f // strh w15, [x8] WORD $0x6b0901bf // cmp w13, w9 - WORD $0x54000103 // b.lo LBB0_37 $32(%rip) + WORD $0x54000123 // b.lo LBB0_37 $36(%rip) LBB0_35: WORD $0x4b000180 // sub w0, w12, w0 - WORD $0xa8c27bfd // ldp fp, lr, [sp], #32 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 WORD $0xd65f03c0 // ret LBB0_36: WORD $0x321c05ef // orr w15, w15, #0x30 WORD $0x3900010f // strb w15, [x8] WORD $0x6b0901bf // cmp w13, w9 - WORD $0x54ffff42 // b.hs LBB0_35 $-24(%rip) + WORD $0x54ffff22 // b.hs LBB0_35 $-28(%rip) LBB0_37: WORD $0x8b0a0008 // add x8, x0, x10 WORD $0x8b0e010d // add x13, x8, x14 @@ -336,16 +339,16 @@ LBB0_37: WORD $0x9a8d9508 // csinc x8, x8, x13, ls WORD $0xcb0d0108 // sub x8, x8, x13 WORD $0xf100211f // cmp x8, #8 - WORD $0x540035a3 // b.lo LBB0_128 $1716(%rip) + WORD $0x54003663 // b.lo LBB0_128 $1740(%rip) WORD $0xf101011f // cmp x8, #64 - WORD $0x54001242 // b.hs LBB0_67 $584(%rip) + WORD $0x540012a2 // b.hs LBB0_67 $596(%rip) WORD $0xd2800009 // mov x9, #0 - WORD $0x1400009e // b LBB0_71 $632(%rip) + WORD $0x140000a1 // b LBB0_71 $644(%rip) LBB0_40: WORD $0x7100297f // cmp w11, #10 - WORD $0x54001142 // b.hs LBB0_65 $552(%rip) + WORD $0x540011a2 // b.hs LBB0_65 $564(%rip) WORD $0x52800029 // mov w9, #1 - WORD $0x140000aa // b LBB0_76 $680(%rip) + WORD $0x140000ad // b LBB0_76 $692(%rip) LBB0_42: WORD $0x53047d89 // lsr w9, w12, #4 WORD $0x7109c53f // cmp w9, #625 @@ -354,7 +357,7 @@ LBB0_42: WORD $0x0b0b01a9 // add w9, w13, w11 WORD $0x5100592e // sub w14, w9, #22 WORD $0x310071df // cmn w14, #28 - WORD $0x54fff388 // b.hi LBB0_22 $-400(%rip) + WORD $0x54fff368 // b.hi LBB0_22 $-404(%rip) LBB0_43: WORD $0x9100050b // add x11, x8, #1 WORD $0x2a0d03ed // mov w13, w13 @@ -377,7 +380,7 @@ LBB0_43: WORD $0x52800c81 // mov w1, #100 WORD $0x1b01b22c // msub w12, w17, w1, w12 Lloh10: - WORD $0x10003261 // adr x1, _Digits $1612(%rip) + WORD $0x10003341 // adr x1, _Digits $1640(%rip) Lloh11: WORD $0x91000021 // add x1, x1, _Digits@PAGEOFF $0(%rip) WORD $0x786c582c // ldrh w12, [x1, w12, uxtw #1] @@ -405,7 +408,7 @@ LBB0_50: WORD $0x72aa3d71 // movk w17, #20971, lsl #16 WORD $0x52800c81 // mov w1, #100 Lloh12: - WORD $0x10002fc2 // adr x2, _Digits $1528(%rip) + WORD $0x100030a2 // adr x2, _Digits $1556(%rip) Lloh13: WORD $0x91000042 // add x2, x2, _Digits@PAGEOFF $0(%rip) LBB0_51: @@ -423,7 +426,7 @@ LBB0_52: WORD $0x7100299f // cmp w12, #10 WORD $0x54000123 // b.lo LBB0_54 $36(%rip) Lloh14: - WORD $0x10002e0f // adr x15, _Digits $1472(%rip) + WORD $0x10002eef // adr x15, _Digits $1500(%rip) Lloh15: WORD $0x910001ef // add x15, x15, _Digits@PAGEOFF $0(%rip) WORD $0x8b2c45ef // add x15, x15, w12, uxtw #1 @@ -468,7 +471,7 @@ LBB0_60: WORD $0x1a89b149 // csel w9, w10, w9, lt WORD $0x3900050b // strb w11, [x8, #1] WORD $0x7101913f // cmp w9, #100 - WORD $0x54000223 // b.lo LBB0_62 $68(%rip) + WORD $0x54000243 // b.lo LBB0_62 $72(%rip) WORD $0x529999aa // mov w10, #52429 WORD $0x72b9998a // movk w10, #52428, lsl #16 WORD $0x9baa7d2a // umull x10, w9, w10 @@ -476,7 +479,7 @@ LBB0_60: WORD $0x5280014b // mov w11, #10 WORD $0x1b0ba549 // msub w9, w10, w11, w9 Lloh16: - WORD $0x1000284b // adr x11, _Digits $1288(%rip) + WORD $0x1000292b // adr x11, _Digits $1316(%rip) Lloh17: WORD $0x9100016b // add x11, x11, _Digits@PAGEOFF $0(%rip) WORD $0x786a796a // ldrh w10, [x11, x10, lsl #1] @@ -485,27 +488,30 @@ Lloh17: WORD $0x39001109 // strb w9, [x8, #4] WORD $0x9100150c // add x12, x8, #5 WORD $0x4b000180 // sub w0, w12, w0 - WORD $0xa8c27bfd // ldp fp, lr, [sp], #32 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 WORD $0xd65f03c0 // ret LBB0_62: WORD $0x7100293f // cmp w9, #10 - WORD $0x54000123 // b.lo LBB0_64 $36(%rip) + WORD $0x54000143 // b.lo LBB0_64 $40(%rip) Lloh18: - WORD $0x100026ca // adr x10, _Digits $1240(%rip) + WORD $0x1000278a // adr x10, _Digits $1264(%rip) Lloh19: WORD $0x9100014a // add x10, x10, _Digits@PAGEOFF $0(%rip) WORD $0x78695949 // ldrh w9, [x10, w9, uxtw #1] WORD $0x79000509 // strh w9, [x8, #2] WORD $0x9100110c // add x12, x8, #4 WORD $0x4b000180 // sub w0, w12, w0 - WORD $0xa8c27bfd // ldp fp, lr, [sp], #32 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 WORD $0xd65f03c0 // ret LBB0_64: WORD $0x321c0529 // orr w9, w9, #0x30 WORD $0x91000d0c // add x12, x8, #3 WORD $0x39000909 // strb w9, [x8, #2] WORD $0x4b000180 // sub w0, w12, w0 - WORD $0xa8c27bfd // ldp fp, lr, [sp], #32 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 WORD $0xd65f03c0 // ret LBB0_65: WORD $0x7101917f // cmp w11, #100 @@ -525,9 +531,9 @@ LBB0_68: WORD $0xf10101ef // subs x15, x15, #64 WORD $0x54ffffa1 // b.ne LBB0_68 $-12(%rip) WORD $0xeb09011f // cmp x8, x9 - WORD $0x54ffea40 // b.eq LBB0_35 $-696(%rip) + WORD $0x54ffe9c0 // b.eq LBB0_35 $-712(%rip) WORD $0xf27d091f // tst x8, #0x38 - WORD $0x54002160 // b.eq LBB0_127 $1068(%rip) + WORD $0x540021c0 // b.eq LBB0_127 $1080(%rip) LBB0_71: WORD $0x927df10d // and x13, x8, #0xfffffffffffffff8 WORD $0x8b0d016b // add x11, x11, x13 @@ -541,11 +547,11 @@ LBB0_72: WORD $0xb1002129 // adds x9, x9, #8 WORD $0x54ffffc1 // b.ne LBB0_72 $-8(%rip) WORD $0xeb0d011f // cmp x8, x13 - WORD $0x54ffe880 // b.eq LBB0_35 $-752(%rip) - WORD $0x140000ff // b LBB0_128 $1020(%rip) + WORD $0x54ffe800 // b.eq LBB0_35 $-768(%rip) + WORD $0x14000102 // b LBB0_128 $1032(%rip) LBB0_74: WORD $0x710f9d7f // cmp w11, #999 - WORD $0x54000408 // b.hi LBB0_82 $128(%rip) + WORD $0x54000448 // b.hi LBB0_82 $136(%rip) WORD $0x52800069 // mov w9, #3 LBB0_76: WORD $0x8b090109 // add x9, x8, x9 @@ -570,17 +576,19 @@ LBB0_78: WORD $0x54fffee8 // b.hi LBB0_78 $-36(%rip) LBB0_79: WORD $0x7100297f // cmp w11, #10 - WORD $0x540000c3 // b.lo LBB0_81 $24(%rip) + WORD $0x540000e3 // b.lo LBB0_81 $28(%rip) WORD $0x786b594a // ldrh w10, [x10, w11, uxtw #1] WORD $0x7900010a // strh w10, [x8] WORD $0x4b000120 // sub w0, w9, w0 - WORD $0xa8c27bfd // ldp fp, lr, [sp], #32 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 WORD $0xd65f03c0 // ret LBB0_81: WORD $0x321c056a // orr w10, w11, #0x30 WORD $0x3900010a // strb w10, [x8] WORD $0x4b000120 // sub w0, w9, w0 - WORD $0xa8c27bfd // ldp fp, lr, [sp], #32 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 WORD $0xd65f03c0 // ret LBB0_82: WORD $0x53047d69 // lsr w9, w11, #4 @@ -589,8 +597,8 @@ LBB0_82: WORD $0x9a8c3589 // cinc x9, x12, hs WORD $0x8b09010c // add x12, x8, x9 WORD $0xaa0c03e9 // mov x9, x12 - WORD $0x54ffd742 // b.hs LBB0_19 $-1304(%rip) - WORD $0x17ffffdf // b LBB0_77 $-132(%rip) + WORD $0x54ffd682 // b.hs LBB0_19 $-1328(%rip) + WORD $0x17ffffdd // b LBB0_77 $-140(%rip) LBB0_83: WORD $0x910005cf // add x15, x14, #1 WORD $0x927a69ee // and x14, x15, #0x1ffffffc0 @@ -635,7 +643,7 @@ LBB0_88: WORD $0x52800c91 // mov w17, #100 WORD $0x1b11b20c // msub w12, w16, w17, w12 Lloh20: - WORD $0x10001751 // adr x17, _Digits $744(%rip) + WORD $0x10001791 // adr x17, _Digits $752(%rip) Lloh21: WORD $0x91000231 // add x17, x17, _Digits@PAGEOFF $0(%rip) WORD $0x786c5a2c // ldrh w12, [x17, w12, uxtw #1] @@ -664,7 +672,7 @@ LBB0_95: WORD $0x72aa3d71 // movk w17, #20971, lsl #16 WORD $0x52800c81 // mov w1, #100 Lloh22: - WORD $0x10001482 // adr x2, _Digits $656(%rip) + WORD $0x100014c2 // adr x2, _Digits $664(%rip) Lloh23: WORD $0x91000042 // add x2, x2, _Digits@PAGEOFF $0(%rip) LBB0_96: @@ -682,7 +690,7 @@ LBB0_97: WORD $0x71002a1f // cmp w16, #10 WORD $0x540000c3 // b.lo LBB0_99 $24(%rip) Lloh24: - WORD $0x100012ca // adr x10, _Digits $600(%rip) + WORD $0x1000130a // adr x10, _Digits $608(%rip) Lloh25: WORD $0x9100014a // add x10, x10, _Digits@PAGEOFF $0(%rip) WORD $0x7870594a // ldrh w10, [x10, w16, uxtw #1] @@ -708,7 +716,7 @@ LBB0_101: WORD $0x8b0a01ac // add x12, x13, x10 WORD $0x9100058c // add x12, x12, #1 WORD $0x7100053f // cmp w9, #1 - WORD $0x54ffd72b // b.lt LBB0_35 $-1308(%rip) + WORD $0x54ffd66b // b.lt LBB0_35 $-1332(%rip) WORD $0x0b0e01e2 // add w2, w15, w14 WORD $0x0b0a0042 // add w2, w2, w10 WORD $0x11000442 // add w2, w2, #1 @@ -727,7 +735,7 @@ LBB0_101: LBB0_107: WORD $0xcb0a0029 // sub x9, x1, x10 WORD $0x7100053f // cmp w9, #1 - WORD $0x54ffd4eb // b.lt LBB0_35 $-1380(%rip) + WORD $0x54ffd42b // b.lt LBB0_35 $-1404(%rip) WORD $0x4b0f016b // sub w11, w11, w15 WORD $0x4b0a016b // sub w11, w11, w10 WORD $0x5100096b // sub w11, w11, #2 @@ -767,7 +775,7 @@ LBB0_113: WORD $0xeb01011f // cmp x8, x1 WORD $0x54ffff01 // b.ne LBB0_113 $-32(%rip) WORD $0xeb0b023f // cmp x17, x11 - WORD $0x54ffd040 // b.eq LBB0_35 $-1528(%rip) + WORD $0x54ffcf80 // b.eq LBB0_35 $-1552(%rip) LBB0_115: WORD $0x52800608 // mov w8, #48 LBB0_116: @@ -775,7 +783,7 @@ LBB0_116: WORD $0x1100056b // add w11, w11, #1 WORD $0x6b09017f // cmp w11, w9 WORD $0x54ffffab // b.lt LBB0_116 $-12(%rip) - WORD $0x17fffe7c // b LBB0_35 $-1552(%rip) + WORD $0x17fffe76 // b LBB0_35 $-1576(%rip) LBB0_117: WORD $0xd280000f // mov x15, #0 WORD $0x927a616c // and x12, x11, #0x7fffffc0 @@ -835,7 +843,8 @@ LBB0_126: WORD $0x8b0a01a8 // add x8, x13, x10 WORD $0x9100090c // add x12, x8, #2 WORD $0x4b000180 // sub w0, w12, w0 - WORD $0xa8c27bfd // ldp fp, lr, [sp], #32 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 WORD $0xd65f03c0 // ret LBB0_127: WORD $0x8b09016b // add x11, x11, x9 @@ -845,15 +854,16 @@ LBB0_129: WORD $0x38001568 // strb w8, [x11], #1 WORD $0xeb0c017f // cmp x11, x12 WORD $0x54ffffc3 // b.lo LBB0_129 $-8(%rip) - WORD $0x17fffe40 // b LBB0_35 $-1792(%rip) + WORD $0x17fffe39 // b LBB0_35 $-1820(%rip) LBB0_130: WORD $0x52800000 // mov w0, #0 - WORD $0xa8c27bfd // ldp fp, lr, [sp], #32 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 WORD $0xd65f03c0 // ret LBB0_131: WORD $0x1280128c // mov w12, #-149 WORD $0xaa0e03ed // mov x13, x14 - WORD $0x17fffd42 // b LBB0_5 $-2808(%rip) + WORD $0x17fffd39 // b LBB0_5 $-2844(%rip) _Digits: WORD $0x31303030 // .ascii 4, '0001020304050607' WORD $0x33303230 // .ascii 4, '0203040506070809' @@ -906,7 +916,7 @@ _Digits: WORD $0x37393639 // .ascii 4, '96979899' WORD $0x39393839 // .ascii 4, '9899' WORD $0x00000000 // .p2align 3, 0x00 -_LB_2bbb0b22: // _pow10_ceil_sig_f32.g +_LB_39ebe06c: // _pow10_ceil_sig_f32.g WORD $0x4b43fcf5; WORD $0x81ceb32c // .quad -9093133594791772939 WORD $0x5e14fc32; WORD $0xa2425ff7 // .quad -6754730975062328270 WORD $0x359a3b3f; WORD $0xcad2f7f5 // .quad -3831727700400522433 diff --git a/internal/native/neon/f64toa_arm64.s b/internal/native/neon/f64toa_arm64.s index 7ad358564..032c22089 100644 --- a/internal/native/neon/f64toa_arm64.s +++ b/internal/native/neon/f64toa_arm64.s @@ -12,13 +12,14 @@ TEXT ·__f64toa_entry__(SB), NOSPLIT, $16 RET // .p2align 2, 0x00 _f64toa: - WORD $0xa9be7bfd // stp fp, lr, [sp, #-32]! + WORD $0xd10083ff // sub sp, sp, #32 + WORD $0xa900fbfd // stp fp, lr, [sp, #8] WORD $0xa93ffbfd // stp fp, lr, [sp, #-8] WORD $0xd10023fd // sub fp, sp, #8 WORD $0x9e660009 // fmov x9, d0 WORD $0xd374f92b // ubfx x11, x9, #52, #11 WORD $0x711ffd7f // cmp w11, #2047 - WORD $0x54007b20 // b.eq LBB0_171 $3940(%rip) + WORD $0x54007c20 // b.eq LBB0_171 $3972(%rip) WORD $0x528005a8 // mov w8, #45 WORD $0x39000008 // strb w8, [x0] WORD $0xd37ffd2a // lsr x10, x9, #63 @@ -30,7 +31,7 @@ _f64toa: WORD $0xd29c7fed // mov x13, #58367 WORD $0xf2aa816d // movk x13, #21515, lsl #16 WORD $0xf2c0004d // movk x13, #2, lsl #32 - WORD $0x34007aeb // cbz w11, LBB0_174 $3932(%rip) + WORD $0x34007c0b // cbz w11, LBB0_174 $3968(%rip) WORD $0xb24c01c9 // orr x9, x14, #0x10000000000000 WORD $0x5110cd6c // sub w12, w11, #1075 WORD $0x510ffd6f // sub w15, w11, #1023 @@ -41,7 +42,7 @@ _f64toa: WORD $0x92800010 // mov x16, #-1 WORD $0x9acf2210 // lsl x16, x16, x15 WORD $0xea30013f // bics xzr, x9, x16 - WORD $0x54000fc0 // b.eq LBB0_18 $504(%rip) + WORD $0x54000fe0 // b.eq LBB0_18 $508(%rip) LBB0_5: WORD $0xf10001df // cmp x14, #0 WORD $0x1a9f17ee // cset w14, eq @@ -68,7 +69,7 @@ LBB0_5: WORD $0x5280248e // mov w14, #292 WORD $0x4b0b01ce // sub w14, w14, w11 Lloh0: - WORD $0x10007f11 // adr x17, _pow10_ceil_sig.g $4064(%rip) + WORD $0x10008031 // adr x17, _pow10_ceil_sig.g $4100(%rip) Lloh1: WORD $0x91000231 // add x17, x17, _pow10_ceil_sig.g@PAGEOFF $0(%rip) WORD $0x8b2e522e // add x14, x17, w14, uxtw #4 @@ -118,7 +119,7 @@ Lloh1: WORD $0x1a9f87e1 // cset w1, ls WORD $0x9a8c858c // cinc x12, x12, ls WORD $0x6b01023f // cmp w17, w1 - WORD $0x54000440 // b.eq LBB0_11 $136(%rip) + WORD $0x54000460 // b.eq LBB0_11 $140(%rip) LBB0_7: WORD $0xd342fdcc // lsr x12, x14, #2 WORD $0x927ef5d1 // and x17, x14, #0xfffffffffffffffc @@ -139,31 +140,32 @@ LBB0_7: WORD $0x7200021f // tst w16, #0x1 WORD $0x9a8911cc // csel x12, x14, x9, ne WORD $0xeb0d019f // cmp x12, x13 - WORD $0x54000229 // b.ls LBB0_12 $68(%rip) + WORD $0x54000249 // b.ls LBB0_12 $72(%rip) LBB0_8: WORD $0xd29d0009 // mov x9, #59392 WORD $0xf2a90ec9 // movk x9, #18550, lsl #16 WORD $0xf2c002e9 // movk x9, #23, lsl #32 WORD $0xeb09019f // cmp x12, x9 - WORD $0x54000202 // b.hs LBB0_14 $64(%rip) + WORD $0x54000222 // b.hs LBB0_14 $68(%rip) WORD $0x5280016d // mov w13, #11 - WORD $0x140000f0 // b LBB0_67 $960(%rip) + WORD $0x140000f3 // b LBB0_67 $972(%rip) LBB0_10: WORD $0x52800609 // mov w9, #48 WORD $0x39000109 // strb w9, [x8] WORD $0x4b000108 // sub w8, w8, w0 WORD $0x11000500 // add w0, w8, #1 - WORD $0xa8c27bfd // ldp fp, lr, [sp], #32 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 WORD $0xd65f03c0 // ret LBB0_11: WORD $0x1100056b // add w11, w11, #1 WORD $0xeb0d019f // cmp x12, x13 - WORD $0x54fffe28 // b.hi LBB0_8 $-60(%rip) + WORD $0x54fffe08 // b.hi LBB0_8 $-64(%rip) LBB0_12: WORD $0xf100299f // cmp x12, #10 WORD $0x54000142 // b.hs LBB0_16 $40(%rip) WORD $0x5280002d // mov w13, #1 - WORD $0x140000e3 // b LBB0_67 $908(%rip) + WORD $0x140000e5 // b LBB0_67 $916(%rip) LBB0_14: WORD $0xd2820009 // mov x9, #4096 WORD $0xf2ba94a9 // movk x9, #54437, lsl #16 @@ -171,16 +173,16 @@ LBB0_14: WORD $0xeb09019f // cmp x12, x9 WORD $0x54000262 // b.hs LBB0_21 $76(%rip) WORD $0x5280018d // mov w13, #12 - WORD $0x140000dc // b LBB0_67 $880(%rip) + WORD $0x140000de // b LBB0_67 $888(%rip) LBB0_16: WORD $0xf101919f // cmp x12, #100 WORD $0x540002c2 // b.hs LBB0_23 $88(%rip) WORD $0x5280004d // mov w13, #2 - WORD $0x140000d8 // b LBB0_67 $864(%rip) + WORD $0x140000da // b LBB0_67 $872(%rip) LBB0_18: WORD $0x9acf252a // lsr x10, x9, x15 Lloh2: - WORD $0x10006c09 // adr x9, _Digits $3456(%rip) + WORD $0x10006d09 // adr x9, _Digits $3488(%rip) Lloh3: WORD $0x91000129 // add x9, x9, _Digits@PAGEOFF $0(%rip) WORD $0xeb0d015f // cmp x10, x13 @@ -199,18 +201,18 @@ LBB0_21: WORD $0xeb09019f // cmp x12, x9 WORD $0x54000182 // b.hs LBB0_27 $48(%rip) WORD $0x528001ad // mov w13, #13 - WORD $0x140000c5 // b LBB0_67 $788(%rip) + WORD $0x140000c7 // b LBB0_67 $796(%rip) LBB0_23: WORD $0xf10fa19f // cmp x12, #1000 WORD $0x540001e2 // b.hs LBB0_29 $60(%rip) WORD $0x5280006d // mov w13, #3 - WORD $0x140000c1 // b LBB0_67 $772(%rip) + WORD $0x140000c3 // b LBB0_67 $780(%rip) LBB0_25: WORD $0xf100295f // cmp x10, #10 WORD $0x540002e2 // b.hs LBB0_33 $92(%rip) WORD $0x5280002b // mov w11, #1 WORD $0x8b0b010b // add x11, x8, x11 - WORD $0x1400033e // b LBB0_176 $3320(%rip) + WORD $0x14000346 // b LBB0_176 $3352(%rip) LBB0_27: WORD $0xd2880009 // mov x9, #16384 WORD $0xf2a20f49 // movk x9, #4218, lsl #16 @@ -218,13 +220,13 @@ LBB0_27: WORD $0xeb09019f // cmp x12, x9 WORD $0x54000282 // b.hs LBB0_35 $80(%rip) WORD $0x528001cd // mov w13, #14 - WORD $0x140000b5 // b LBB0_67 $724(%rip) + WORD $0x140000b7 // b LBB0_67 $732(%rip) LBB0_29: WORD $0xd344fd89 // lsr x9, x12, #4 WORD $0xf109c53f // cmp x9, #625 WORD $0x540002c2 // b.hs LBB0_37 $88(%rip) WORD $0x5280008d // mov w13, #4 - WORD $0x140000b0 // b LBB0_67 $704(%rip) + WORD $0x140000b2 // b LBB0_67 $712(%rip) LBB0_31: WORD $0xd282000b // mov x11, #4096 WORD $0xf2ba94ab // movk x11, #54437, lsl #16 @@ -238,7 +240,7 @@ LBB0_33: WORD $0x540002e2 // b.hs LBB0_41 $92(%rip) WORD $0x5280004b // mov w11, #2 WORD $0x8b0b010b // add x11, x8, x11 - WORD $0x14000326 // b LBB0_176 $3224(%rip) + WORD $0x1400032e // b LBB0_176 $3256(%rip) LBB0_35: WORD $0xb2718be9 // mov x9, #1125899906809856 WORD $0xf2b498c9 // movk x9, #42182, lsl #16 @@ -246,13 +248,13 @@ LBB0_35: WORD $0xeb09019f // cmp x12, x9 WORD $0x54000282 // b.hs LBB0_43 $80(%rip) WORD $0x528001ed // mov w13, #15 - WORD $0x1400009d // b LBB0_67 $628(%rip) + WORD $0x1400009f // b LBB0_67 $636(%rip) LBB0_37: WORD $0xd345fd89 // lsr x9, x12, #5 WORD $0xf130d53f // cmp x9, #3125 WORD $0x540002c2 // b.hs LBB0_45 $88(%rip) WORD $0x528000ad // mov w13, #5 - WORD $0x14000098 // b LBB0_67 $608(%rip) + WORD $0x1400009a // b LBB0_67 $616(%rip) LBB0_39: WORD $0xd294000b // mov x11, #40960 WORD $0xf2a9ce4b // movk x11, #20082, lsl #16 @@ -266,7 +268,7 @@ LBB0_41: WORD $0x54000302 // b.hs LBB0_49 $96(%rip) WORD $0x5280006b // mov w11, #3 WORD $0x8b0b010b // add x11, x8, x11 - WORD $0x1400030e // b LBB0_176 $3128(%rip) + WORD $0x14000316 // b LBB0_176 $3160(%rip) LBB0_43: WORD $0xd2adf829 // mov x9, #1874919424 WORD $0xf2d0de49 // movk x9, #34546, lsl #32 @@ -275,14 +277,14 @@ LBB0_43: WORD $0x52800209 // mov w9, #16 LBB0_44: WORD $0x1a89352d // cinc w13, w9, hs - WORD $0x14000085 // b LBB0_67 $532(%rip) + WORD $0x14000087 // b LBB0_67 $540(%rip) LBB0_45: WORD $0x52884809 // mov w9, #16960 WORD $0x72a001e9 // movk w9, #15, lsl #16 WORD $0xeb09019f // cmp x12, x9 WORD $0x54000202 // b.hs LBB0_51 $64(%rip) WORD $0x528000cd // mov w13, #6 - WORD $0x1400007f // b LBB0_67 $508(%rip) + WORD $0x14000081 // b LBB0_67 $516(%rip) LBB0_47: WORD $0xd288000b // mov x11, #16384 WORD $0xf2a20f4b // movk x11, #4218, lsl #16 @@ -294,17 +296,17 @@ LBB0_47: LBB0_49: WORD $0xd344fd4b // lsr x11, x10, #4 WORD $0xf109c57f // cmp x11, #625 - WORD $0x54000d42 // b.hs LBB0_63 $424(%rip) + WORD $0x54000d82 // b.hs LBB0_63 $432(%rip) WORD $0x5280008b // mov w11, #4 WORD $0x8b0b010b // add x11, x8, x11 - WORD $0x140002f4 // b LBB0_176 $3024(%rip) + WORD $0x140002fc // b LBB0_176 $3056(%rip) LBB0_51: WORD $0x5292d009 // mov w9, #38528 WORD $0x72a01309 // movk w9, #152, lsl #16 WORD $0xeb09019f // cmp x12, x9 - WORD $0x54000d22 // b.hs LBB0_65 $420(%rip) + WORD $0x54000d62 // b.hs LBB0_65 $428(%rip) WORD $0x528000ed // mov w13, #7 - WORD $0x1400006c // b LBB0_67 $432(%rip) + WORD $0x1400006e // b LBB0_67 $440(%rip) LBB0_53: WORD $0xb2718beb // mov x11, #1125899906809856 WORD $0xf2b498cb // movk x11, #42182, lsl #16 @@ -358,7 +360,7 @@ LBB0_55: WORD $0xaa0d03ea // mov x10, x13 WORD $0xd3447dad // ubfx x13, x13, #4, #28 WORD $0x7109c5bf // cmp w13, #625 - WORD $0x540057e3 // b.lo LBB0_177 $2812(%rip) + WORD $0x540058e3 // b.lo LBB0_177 $2844(%rip) LBB0_56: WORD $0x529c1fee // mov w14, #57599 WORD $0x72a0beae // movk w14, #1525, lsl #16 @@ -397,30 +399,32 @@ LBB0_59: WORD $0xaa0a03ed // mov x13, x10 LBB0_60: WORD $0x710029bf // cmp w13, #10 - WORD $0x540000c3 // b.lo LBB0_62 $24(%rip) + WORD $0x540000e3 // b.lo LBB0_62 $28(%rip) WORD $0x786d5928 // ldrh w8, [x9, w13, uxtw #1] WORD $0x781fe188 // sturh w8, [x12, #-2] WORD $0x4b000160 // sub w0, w11, w0 - WORD $0xa8c27bfd // ldp fp, lr, [sp], #32 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 WORD $0xd65f03c0 // ret LBB0_62: WORD $0x321c05a9 // orr w9, w13, #0x30 WORD $0x39000109 // strb w9, [x8] WORD $0x4b000160 // sub w0, w11, w0 - WORD $0xa8c27bfd // ldp fp, lr, [sp], #32 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 WORD $0xd65f03c0 // ret LBB0_63: WORD $0xd345fd4b // lsr x11, x10, #5 WORD $0xf130d57f // cmp x11, #3125 - WORD $0x54004c62 // b.hs LBB0_166 $2444(%rip) + WORD $0x54004d02 // b.hs LBB0_166 $2464(%rip) WORD $0x528000ab // mov w11, #5 WORD $0x8b0b010b // add x11, x8, x11 - WORD $0x14000288 // b LBB0_176 $2592(%rip) + WORD $0x1400028e // b LBB0_176 $2616(%rip) LBB0_65: WORD $0x529c2009 // mov w9, #57600 WORD $0x72a0bea9 // movk w9, #1525, lsl #16 WORD $0xeb09019f // cmp x12, x9 - WORD $0x54004c62 // b.hs LBB0_168 $2444(%rip) + WORD $0x54004d02 // b.hs LBB0_168 $2464(%rip) WORD $0x5280010d // mov w13, #8 LBB0_67: WORD $0x0b0b01a9 // add w9, w13, w11 @@ -435,10 +439,10 @@ LBB0_67: WORD $0xaa0c03f0 // mov x16, x12 WORD $0x53047e0c // lsr w12, w16, #4 WORD $0x7109c59f // cmp w12, #625 - WORD $0x540017a2 // b.hs LBB0_94 $756(%rip) + WORD $0x540017c2 // b.hs LBB0_94 $760(%rip) LBB0_70: WORD $0xaa1003ec // mov x12, x16 - WORD $0x140000d2 // b LBB0_96 $840(%rip) + WORD $0x140000d3 // b LBB0_96 $844(%rip) LBB0_71: WORD $0x37f8074b // tbnz w11, #31, LBB0_77 $232(%rip) WORD $0x2a0d03ee // mov w14, w13 @@ -461,7 +465,7 @@ LBB0_75: WORD $0x5283e00f // mov w15, #7936 WORD $0x72bf414f // movk w15, #64010, lsl #16 WORD $0x1b0f320c // madd w12, w16, w15, w12 - WORD $0x3400144c // cbz w12, LBB0_93 $648(%rip) + WORD $0x3400146c // cbz w12, LBB0_93 $652(%rip) WORD $0xd280000f // mov x15, #0 WORD $0x5282eb31 // mov w17, #5977 WORD $0x72ba36f1 // movk w17, #53687, lsl #16 @@ -484,7 +488,7 @@ LBB0_75: WORD $0x1b027e22 // mul w2, w17, w2 WORD $0x53137c42 // lsr w2, w2, #19 Lloh4: - WORD $0x10004a44 // adr x4, _Digits $2376(%rip) + WORD $0x10004b04 // adr x4, _Digits $2400(%rip) Lloh5: WORD $0x91000084 // add x4, x4, _Digits@PAGEOFF $0(%rip) WORD $0x786c788c // ldrh w12, [x4, x12, lsl #1] @@ -501,19 +505,19 @@ Lloh5: WORD $0x53047e0c // lsr w12, w16, #4 WORD $0x7109c59f // cmp w12, #625 WORD $0x54fff8c3 // b.lo LBB0_70 $-232(%rip) - WORD $0x14000081 // b LBB0_94 $516(%rip) + WORD $0x14000082 // b LBB0_94 $520(%rip) LBB0_77: WORD $0x7100013f // cmp w9, #0 - WORD $0x5400234c // b.gt LBB0_123 $1128(%rip) + WORD $0x540023cc // b.gt LBB0_123 $1144(%rip) WORD $0x5285c60e // mov w14, #11824 WORD $0x7800250e // strh w14, [x8], #2 - WORD $0x36f822e9 // tbz w9, #31, LBB0_123 $1116(%rip) + WORD $0x36f82369 // tbz w9, #31, LBB0_123 $1132(%rip) WORD $0x2a2d03ee // mvn w14, w13 WORD $0x4b0b01ce // sub w14, w14, w11 WORD $0x7100fddf // cmp w14, #63 - WORD $0x54002002 // b.hs LBB0_118 $1024(%rip) + WORD $0x54002082 // b.hs LBB0_118 $1040(%rip) WORD $0x5280000e // mov w14, #0 - WORD $0x1400010b // b LBB0_121 $1068(%rip) + WORD $0x1400010f // b LBB0_121 $1084(%rip) LBB0_81: WORD $0xd29cefef // mov x15, #59263 WORD $0xf2b8460f // movk x15, #49712, lsl #16 @@ -546,7 +550,7 @@ LBB0_81: WORD $0x53137c21 // lsr w1, w1, #19 WORD $0x1b02bc22 // msub w2, w1, w2, w15 Lloh6: - WORD $0x10004303 // adr x3, _Digits $2144(%rip) + WORD $0x100043c3 // adr x3, _Digits $2168(%rip) Lloh7: WORD $0x91000063 // add x3, x3, _Digits@PAGEOFF $0(%rip) WORD $0x786c786c // ldrh w12, [x3, x12, lsl #1] @@ -573,7 +577,7 @@ LBB0_82: WORD $0x72aa3d63 // movk w3, #20971, lsl #16 WORD $0x52800c84 // mov w4, #100 Lloh8: - WORD $0x10004005 // adr x5, _Digits $2048(%rip) + WORD $0x100040c5 // adr x5, _Digits $2072(%rip) Lloh9: WORD $0x910000a5 // add x5, x5, _Digits@PAGEOFF $0(%rip) LBB0_83: @@ -600,7 +604,7 @@ LBB0_84: WORD $0x52800c91 // mov w17, #100 WORD $0x1b11c190 // msub w16, w12, w17, w16 Lloh10: - WORD $0x10003d31 // adr x17, _Digits $1956(%rip) + WORD $0x10003df1 // adr x17, _Digits $1980(%rip) Lloh11: WORD $0x91000231 // add x17, x17, _Digits@PAGEOFF $0(%rip) WORD $0x92403e10 // and x16, x16, #0xffff @@ -610,24 +614,25 @@ Lloh11: LBB0_86: WORD $0x8b09010c // add x12, x8, x9 WORD $0x71002a1f // cmp w16, #10 - WORD $0x54000143 // b.lo LBB0_89 $40(%rip) + WORD $0x54000163 // b.lo LBB0_89 $44(%rip) Lloh12: - WORD $0x10003c08 // adr x8, _Digits $1920(%rip) + WORD $0x10003cc8 // adr x8, _Digits $1944(%rip) Lloh13: WORD $0x91000108 // add x8, x8, _Digits@PAGEOFF $0(%rip) WORD $0x78705908 // ldrh w8, [x8, w16, uxtw #1] WORD $0x781fe1e8 // sturh w8, [x15, #-2] WORD $0x6b0901bf // cmp w13, w9 - WORD $0x54000103 // b.lo LBB0_90 $32(%rip) + WORD $0x54000123 // b.lo LBB0_90 $36(%rip) LBB0_88: WORD $0x4b000180 // sub w0, w12, w0 - WORD $0xa8c27bfd // ldp fp, lr, [sp], #32 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 WORD $0xd65f03c0 // ret LBB0_89: WORD $0x321c060f // orr w15, w16, #0x30 WORD $0x3900010f // strb w15, [x8] WORD $0x6b0901bf // cmp w13, w9 - WORD $0x54ffff42 // b.hs LBB0_88 $-24(%rip) + WORD $0x54ffff22 // b.hs LBB0_88 $-28(%rip) LBB0_90: WORD $0x8b000148 // add x8, x10, x0 WORD $0x8b0e010d // add x13, x8, x14 @@ -637,17 +642,17 @@ LBB0_90: WORD $0x9a8d9508 // csinc x8, x8, x13, ls WORD $0xcb0d0108 // sub x8, x8, x13 WORD $0xf100211f // cmp x8, #8 - WORD $0x540032c3 // b.lo LBB0_164 $1624(%rip) + WORD $0x54003343 // b.lo LBB0_164 $1640(%rip) WORD $0xf101011f // cmp x8, #64 - WORD $0x54000ea2 // b.hs LBB0_111 $468(%rip) + WORD $0x54000f02 // b.hs LBB0_111 $480(%rip) WORD $0xd2800009 // mov x9, #0 - WORD $0x14000081 // b LBB0_115 $516(%rip) + WORD $0x14000084 // b LBB0_115 $528(%rip) LBB0_93: WORD $0x928000ef // mov x15, #-8 WORD $0xd10021ce // sub x14, x14, #8 WORD $0x53047e0c // lsr w12, w16, #4 WORD $0x7109c59f // cmp w12, #625 - WORD $0x54ffe8a3 // b.lo LBB0_70 $-748(%rip) + WORD $0x54ffe883 // b.lo LBB0_70 $-752(%rip) LBB0_94: WORD $0x529c1ff1 // mov w17, #57599 WORD $0x72a0beb1 // movk w17, #1525, lsl #16 @@ -658,7 +663,7 @@ LBB0_94: WORD $0x72aa3d63 // movk w3, #20971, lsl #16 WORD $0x52800c84 // mov w4, #100 Lloh14: - WORD $0x10003725 // adr x5, _Digits $1764(%rip) + WORD $0x100037c5 // adr x5, _Digits $1784(%rip) Lloh15: WORD $0x910000a5 // add x5, x5, _Digits@PAGEOFF $0(%rip) LBB0_95: @@ -685,7 +690,7 @@ LBB0_96: WORD $0x52800c91 // mov w17, #100 WORD $0x1b11b20c // msub w12, w16, w17, w12 Lloh16: - WORD $0x10003451 // adr x17, _Digits $1672(%rip) + WORD $0x100034f1 // adr x17, _Digits $1692(%rip) Lloh17: WORD $0x91000231 // add x17, x17, _Digits@PAGEOFF $0(%rip) WORD $0x92403d8c // and x12, x12, #0xffff @@ -696,7 +701,7 @@ LBB0_98: WORD $0x7100299f // cmp w12, #10 WORD $0x540000c3 // b.lo LBB0_100 $24(%rip) Lloh18: - WORD $0x10003350 // adr x16, _Digits $1640(%rip) + WORD $0x100033f0 // adr x16, _Digits $1660(%rip) Lloh19: WORD $0x91000210 // add x16, x16, _Digits@PAGEOFF $0(%rip) WORD $0x786c5a0c // ldrh w12, [x16, w12, uxtw #1] @@ -739,7 +744,7 @@ LBB0_106: WORD $0x1a89b149 // csel w9, w10, w9, lt WORD $0x3900050b // strb w11, [x8, #1] WORD $0x7101913f // cmp w9, #100 - WORD $0x54000223 // b.lo LBB0_108 $68(%rip) + WORD $0x54000243 // b.lo LBB0_108 $72(%rip) WORD $0x529999aa // mov w10, #52429 WORD $0x72b9998a // movk w10, #52428, lsl #16 WORD $0x9baa7d2a // umull x10, w9, w10 @@ -747,7 +752,7 @@ LBB0_106: WORD $0x5280014b // mov w11, #10 WORD $0x1b0ba549 // msub w9, w10, w11, w9 Lloh20: - WORD $0x10002dcb // adr x11, _Digits $1464(%rip) + WORD $0x10002e6b // adr x11, _Digits $1484(%rip) Lloh21: WORD $0x9100016b // add x11, x11, _Digits@PAGEOFF $0(%rip) WORD $0x786a796a // ldrh w10, [x11, x10, lsl #1] @@ -756,27 +761,30 @@ Lloh21: WORD $0x39001109 // strb w9, [x8, #4] WORD $0x9100150c // add x12, x8, #5 WORD $0x4b000180 // sub w0, w12, w0 - WORD $0xa8c27bfd // ldp fp, lr, [sp], #32 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 WORD $0xd65f03c0 // ret LBB0_108: WORD $0x7100293f // cmp w9, #10 - WORD $0x54000123 // b.lo LBB0_110 $36(%rip) + WORD $0x54000143 // b.lo LBB0_110 $40(%rip) Lloh22: - WORD $0x10002c4a // adr x10, _Digits $1416(%rip) + WORD $0x10002cca // adr x10, _Digits $1432(%rip) Lloh23: WORD $0x9100014a // add x10, x10, _Digits@PAGEOFF $0(%rip) WORD $0x78695949 // ldrh w9, [x10, w9, uxtw #1] WORD $0x79000509 // strh w9, [x8, #2] WORD $0x9100110c // add x12, x8, #4 WORD $0x4b000180 // sub w0, w12, w0 - WORD $0xa8c27bfd // ldp fp, lr, [sp], #32 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 WORD $0xd65f03c0 // ret LBB0_110: WORD $0x321c0529 // orr w9, w9, #0x30 WORD $0x91000d0c // add x12, x8, #3 WORD $0x39000909 // strb w9, [x8, #2] WORD $0x4b000180 // sub w0, w12, w0 - WORD $0xa8c27bfd // ldp fp, lr, [sp], #32 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 WORD $0xd65f03c0 // ret LBB0_111: WORD $0x927ae509 // and x9, x8, #0xffffffffffffffc0 @@ -791,9 +799,9 @@ LBB0_112: WORD $0xf10101ef // subs x15, x15, #64 WORD $0x54ffffa1 // b.ne LBB0_112 $-12(%rip) WORD $0xeb09011f // cmp x8, x9 - WORD $0x54ffede0 // b.eq LBB0_88 $-580(%rip) + WORD $0x54ffed60 // b.eq LBB0_88 $-596(%rip) WORD $0xf27d091f // tst x8, #0x38 - WORD $0x54002220 // b.eq LBB0_163 $1092(%rip) + WORD $0x54002240 // b.eq LBB0_163 $1096(%rip) LBB0_115: WORD $0x927df10d // and x13, x8, #0xfffffffffffffff8 WORD $0x8b0d016b // add x11, x11, x13 @@ -807,8 +815,8 @@ LBB0_116: WORD $0xb1002129 // adds x9, x9, #8 WORD $0x54ffffc1 // b.ne LBB0_116 $-8(%rip) WORD $0xeb0d011f // cmp x8, x13 - WORD $0x54ffec20 // b.eq LBB0_88 $-636(%rip) - WORD $0x14000105 // b LBB0_164 $1044(%rip) + WORD $0x54ffeba0 // b.eq LBB0_88 $-652(%rip) + WORD $0x14000106 // b LBB0_164 $1048(%rip) LBB0_118: WORD $0x910005d0 // add x16, x14, #1 WORD $0x927a6a0e // and x14, x16, #0x1ffffffc0 @@ -877,7 +885,7 @@ LBB0_126: WORD $0x1b017e01 // mul w1, w16, w1 WORD $0x53137c21 // lsr w1, w1, #19 Lloh24: - WORD $0x10001fa3 // adr x3, _Digits $1012(%rip) + WORD $0x10001fe3 // adr x3, _Digits $1020(%rip) Lloh25: WORD $0x91000063 // add x3, x3, _Digits@PAGEOFF $0(%rip) WORD $0x786c786c // ldrh w12, [x3, x12, lsl #1] @@ -911,7 +919,7 @@ LBB0_129: WORD $0x72aa3d63 // movk w3, #20971, lsl #16 WORD $0x52800c84 // mov w4, #100 Lloh26: - WORD $0x10001be5 // adr x5, _Digits $892(%rip) + WORD $0x10001c25 // adr x5, _Digits $900(%rip) Lloh27: WORD $0x910000a5 // add x5, x5, _Digits@PAGEOFF $0(%rip) LBB0_130: @@ -938,7 +946,7 @@ LBB0_131: WORD $0x52800c91 // mov w17, #100 WORD $0x1b11c1b0 // msub w16, w13, w17, w16 Lloh28: - WORD $0x10001911 // adr x17, _Digits $800(%rip) + WORD $0x10001951 // adr x17, _Digits $808(%rip) Lloh29: WORD $0x91000231 // add x17, x17, _Digits@PAGEOFF $0(%rip) WORD $0x92403e10 // and x16, x16, #0xffff @@ -949,7 +957,7 @@ LBB0_133: WORD $0x71002a1f // cmp w16, #10 WORD $0x540000c3 // b.lo LBB0_135 $24(%rip) Lloh30: - WORD $0x1000180d // adr x13, _Digits $768(%rip) + WORD $0x1000184d // adr x13, _Digits $776(%rip) Lloh31: WORD $0x910001ad // add x13, x13, _Digits@PAGEOFF $0(%rip) WORD $0x787059ad // ldrh w13, [x13, w16, uxtw #1] @@ -975,7 +983,7 @@ LBB0_137: WORD $0x8b0d01cc // add x12, x14, x13 WORD $0x9100058c // add x12, x12, #1 WORD $0x7100053f // cmp w9, #1 - WORD $0x54ffda0b // b.lt LBB0_88 $-1216(%rip) + WORD $0x54ffd98b // b.lt LBB0_88 $-1232(%rip) WORD $0x0b0a01e2 // add w2, w15, w10 WORD $0x0b0d0042 // add w2, w2, w13 WORD $0x11000442 // add w2, w2, #1 @@ -994,7 +1002,7 @@ LBB0_137: LBB0_143: WORD $0xcb0d0029 // sub x9, x1, x13 WORD $0x7100053f // cmp w9, #1 - WORD $0x54ffd7cb // b.lt LBB0_88 $-1288(%rip) + WORD $0x54ffd74b // b.lt LBB0_88 $-1304(%rip) WORD $0x4b0f016b // sub w11, w11, w15 WORD $0x4b0d016b // sub w11, w11, w13 WORD $0x5100096b // sub w11, w11, #2 @@ -1034,7 +1042,7 @@ LBB0_149: WORD $0xeb01011f // cmp x8, x1 WORD $0x54ffff01 // b.ne LBB0_149 $-32(%rip) WORD $0xeb0b023f // cmp x17, x11 - WORD $0x54ffd320 // b.eq LBB0_88 $-1436(%rip) + WORD $0x54ffd2a0 // b.eq LBB0_88 $-1452(%rip) LBB0_151: WORD $0x52800608 // mov w8, #48 LBB0_152: @@ -1042,7 +1050,7 @@ LBB0_152: WORD $0x1100056b // add w11, w11, #1 WORD $0x6b09017f // cmp w11, w9 WORD $0x54ffffab // b.lt LBB0_152 $-12(%rip) - WORD $0x17fffe93 // b LBB0_88 $-1460(%rip) + WORD $0x17fffe8f // b LBB0_88 $-1476(%rip) LBB0_153: WORD $0xd280000f // mov x15, #0 WORD $0x927a614b // and x11, x10, #0x7fffffc0 @@ -1102,7 +1110,8 @@ LBB0_162: WORD $0x8b0d01c8 // add x8, x14, x13 WORD $0x9100090c // add x12, x8, #2 WORD $0x4b000180 // sub w0, w12, w0 - WORD $0xa8c27bfd // ldp fp, lr, [sp], #32 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 WORD $0xd65f03c0 // ret LBB0_163: WORD $0x8b09016b // add x11, x11, x9 @@ -1112,7 +1121,7 @@ LBB0_165: WORD $0x38001568 // strb w8, [x11], #1 WORD $0xeb0c017f // cmp x11, x12 WORD $0x54ffffc3 // b.lo LBB0_165 $-8(%rip) - WORD $0x17fffe57 // b LBB0_88 $-1700(%rip) + WORD $0x17fffe52 // b LBB0_88 $-1720(%rip) LBB0_166: WORD $0x5288480b // mov w11, #16960 WORD $0x72a001eb // movk w11, #15, lsl #16 @@ -1120,24 +1129,25 @@ LBB0_166: WORD $0x54000122 // b.hs LBB0_169 $36(%rip) WORD $0x528000cb // mov w11, #6 WORD $0x8b0b010b // add x11, x8, x11 - WORD $0x14000022 // b LBB0_176 $136(%rip) + WORD $0x14000023 // b LBB0_176 $140(%rip) LBB0_168: WORD $0x52994009 // mov w9, #51712 WORD $0x72a77349 // movk w9, #15258, lsl #16 WORD $0xeb09019f // cmp x12, x9 WORD $0x52800129 // mov w9, #9 - WORD $0x17fffd15 // b LBB0_44 $-2988(%rip) + WORD $0x17fffd0e // b LBB0_44 $-3016(%rip) LBB0_169: WORD $0x5292d00b // mov w11, #38528 WORD $0x72a0130b // movk w11, #152, lsl #16 WORD $0xeb0b015f // cmp x10, x11 - WORD $0x540000e2 // b.hs LBB0_172 $28(%rip) + WORD $0x54000102 // b.hs LBB0_172 $32(%rip) WORD $0x528000eb // mov w11, #7 WORD $0x8b0b010b // add x11, x8, x11 - WORD $0x14000016 // b LBB0_176 $88(%rip) + WORD $0x14000017 // b LBB0_176 $92(%rip) LBB0_171: WORD $0x52800000 // mov w0, #0 - WORD $0xa8c27bfd // ldp fp, lr, [sp], #32 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 WORD $0xd65f03c0 // ret LBB0_172: WORD $0x529c200b // mov w11, #57600 @@ -1150,7 +1160,7 @@ LBB0_172: LBB0_174: WORD $0x1280862c // mov w12, #-1074 WORD $0xaa0e03e9 // mov x9, x14 - WORD $0x17fffc33 // b LBB0_5 $-3892(%rip) + WORD $0x17fffc2a // b LBB0_5 $-3928(%rip) LBB0_175: WORD $0x5299400b // mov w11, #51712 WORD $0x72a7734b // movk w11, #15258, lsl #16 @@ -1159,17 +1169,17 @@ LBB0_175: WORD $0x9a8b356b // cinc x11, x11, hs WORD $0x8b0b010b // add x11, x8, x11 WORD $0xd360fd4c // lsr x12, x10, #32 - WORD $0xb5ffa36c // cbnz x12, LBB0_55 $-2964(%rip) + WORD $0xb5ffa26c // cbnz x12, LBB0_55 $-2996(%rip) LBB0_176: WORD $0xaa0b03ec // mov x12, x11 WORD $0xd3447d4d // ubfx x13, x10, #4, #28 WORD $0x7109c5bf // cmp w13, #625 - WORD $0x54ffa862 // b.hs LBB0_56 $-2804(%rip) + WORD $0x54ffa762 // b.hs LBB0_56 $-2836(%rip) LBB0_177: WORD $0xaa0a03ed // mov x13, x10 WORD $0x710191bf // cmp w13, #100 - WORD $0x54ffaae2 // b.hs LBB0_59 $-2724(%rip) - WORD $0x17fffd60 // b LBB0_60 $-2688(%rip) + WORD $0x54ffa9e2 // b.hs LBB0_59 $-2756(%rip) + WORD $0x17fffd58 // b LBB0_60 $-2720(%rip) _Digits: WORD $0x31303030 // .ascii 4, '0001020304050607' WORD $0x33303230 // .ascii 4, '0203040506070809' @@ -1222,7 +1232,7 @@ _Digits: WORD $0x37393639 // .ascii 4, '96979899' WORD $0x39393839 // .ascii 4, '9899' // .p2align 3, 0x00 -_LB_1c672955: // _pow10_ceil_sig.g +_LB_954f1ff9: // _pow10_ceil_sig.g WORD $0xbebcdc4f; WORD $0xff77b1fc // .quad -38366372719436721 WORD $0x13bb0f7b; WORD $0x25e8e89c // .quad 2731688931043774331 WORD $0xf73609b1; WORD $0x9faacf3d // .quad -6941508010590729807 diff --git a/internal/native/neon/get_by_path_arm64.s b/internal/native/neon/get_by_path_arm64.s index 5a862af70..558a7877d 100644 --- a/internal/native/neon/get_by_path_arm64.s +++ b/internal/native/neon/get_by_path_arm64.s @@ -61,12 +61,12 @@ lCPI0_2: // .p2align 2, 0x00 _get_by_path: WORD $0xd10343ff // sub sp, sp, #208 - WORD $0xa9066ffc // stp x28, x27, [sp, #96] - WORD $0xa90767fa // stp x26, x25, [sp, #112] - WORD $0xa9085ff8 // stp x24, x23, [sp, #128] - WORD $0xa90957f6 // stp x22, x21, [sp, #144] - WORD $0xa90a4ff4 // stp x20, x19, [sp, #160] - WORD $0xa90b7bfd // stp fp, lr, [sp, #176] + WORD $0xa906effc // stp x28, x27, [sp, #104] + WORD $0xa907e7fa // stp x26, x25, [sp, #120] + WORD $0xa908dff8 // stp x24, x23, [sp, #136] + WORD $0xa909d7f6 // stp x22, x21, [sp, #152] + WORD $0xa90acff4 // stp x20, x19, [sp, #168] + WORD $0xa90bfbfd // stp fp, lr, [sp, #184] WORD $0xa93ffbfd // stp fp, lr, [sp, #-8] WORD $0xd10023fd // sub fp, sp, #8 WORD $0xf9400448 // ldr x8, [x2, #8] @@ -4668,12 +4668,12 @@ LBB0_831: WORD $0x92800028 // mov x8, #-2 LBB0_832: WORD $0xaa0803e0 // mov x0, x8 - WORD $0xa94b7bfd // ldp fp, lr, [sp, #176] - WORD $0xa94a4ff4 // ldp x20, x19, [sp, #160] - WORD $0xa94957f6 // ldp x22, x21, [sp, #144] - WORD $0xa9485ff8 // ldp x24, x23, [sp, #128] - WORD $0xa94767fa // ldp x26, x25, [sp, #112] - WORD $0xa9466ffc // ldp x28, x27, [sp, #96] + WORD $0xa94bfbfd // ldp fp, lr, [sp, #184] + WORD $0xa94acff4 // ldp x20, x19, [sp, #168] + WORD $0xa949d7f6 // ldp x22, x21, [sp, #152] + WORD $0xa948dff8 // ldp x24, x23, [sp, #136] + WORD $0xa947e7fa // ldp x26, x25, [sp, #120] + WORD $0xa946effc // ldp x28, x27, [sp, #104] WORD $0x910343ff // add sp, sp, #208 WORD $0xd65f03c0 // ret LBB0_833: diff --git a/internal/native/neon/html_escape_arm64.s b/internal/native/neon/html_escape_arm64.s index 233a0b2d5..c8e25e179 100644 --- a/internal/native/neon/html_escape_arm64.s +++ b/internal/native/neon/html_escape_arm64.s @@ -56,7 +56,8 @@ lCPI0_1: // .byte 15 _html_escape: - WORD $0xa9be7bfd // stp fp, lr, [sp, #-32]! + WORD $0xd10083ff // sub sp, sp, #32 + WORD $0xa900fbfd // stp fp, lr, [sp, #8] WORD $0xa93ffbfd // stp fp, lr, [sp, #-8] WORD $0xd10023fd // sub fp, sp, #8 WORD $0xaa0203e8 // mov x8, x2 @@ -68,12 +69,12 @@ _html_escape: WORD $0x4f07e441 // movi.16b v1, #226 WORD $0x4f07e7a2 // movi.16b v2, #253 Lloh0: - WORD $0x10fffda8 // adr x8, lCPI0_0 $-76(%rip) + WORD $0x10fffd88 // adr x8, lCPI0_0 $-80(%rip) Lloh1: WORD $0x3dc00103 // ldr q3, [x8, lCPI0_0@PAGEOFF] $0(%rip) WORD $0x4f01e784 // movi.16b v4, #60 Lloh2: - WORD $0x10fffdc8 // adr x8, lCPI0_1 $-72(%rip) + WORD $0x10fffda8 // adr x8, lCPI0_1 $-76(%rip) Lloh3: WORD $0x3dc00105 // ldr q5, [x8, lCPI0_1@PAGEOFF] $0(%rip) WORD $0x52800029 // mov w9, #1 @@ -81,14 +82,14 @@ Lloh3: WORD $0xf2ea000a // movk x10, #20480, lsl #48 WORD $0x52801c4b // mov w11, #226 Lloh4: - WORD $0x10001dcc // adr x12, __HtmlQuoteTab $952(%rip) + WORD $0x10001e2c // adr x12, __HtmlQuoteTab $964(%rip) Lloh5: WORD $0x9100018c // add x12, x12, __HtmlQuoteTab@PAGEOFF $0(%rip) WORD $0xaa0003ee // mov x14, x0 WORD $0xaa0203e8 // mov x8, x2 LBB0_2: WORD $0xf10005bf // cmp x13, #1 - WORD $0x54001cab // b.lt LBB0_59 $916(%rip) + WORD $0x54001ceb // b.lt LBB0_59 $924(%rip) WORD $0xf1003c3f // cmp x1, #15 WORD $0x1a9f97e5 // cset w5, hi WORD $0xaa0d03f1 // mov x17, x13 @@ -190,13 +191,13 @@ LBB0_21: WORD $0xf100009f // cmp x4, #0 WORD $0x9a8f1205 // csel x5, x16, x15, ne WORD $0xb6f803e5 // tbz x5, #63, LBB0_32 $124(%rip) - WORD $0x1400007b // b LBB0_57 $492(%rip) + WORD $0x1400007c // b LBB0_57 $496(%rip) LBB0_22: WORD $0x5ac0020f // rbit w15, w16 WORD $0x5ac011ef // clz w15, w15 WORD $0x8b1101e5 // add x5, x15, x17 WORD $0xb6f80345 // tbz x5, #63, LBB0_32 $104(%rip) - WORD $0x14000076 // b LBB0_57 $472(%rip) + WORD $0x14000077 // b LBB0_57 $476(%rip) LBB0_23: WORD $0x7100209f // cmp w4, #8 WORD $0x540007c3 // b.lo LBB0_42 $248(%rip) @@ -227,7 +228,7 @@ LBB0_30: WORD $0xaa2f03ef // mvn x15, x15 WORD $0x8b0e01e5 // add x5, x15, x14 LBB0_31: - WORD $0xb7f80bc5 // tbnz x5, #63, LBB0_57 $376(%rip) + WORD $0xb7f80be5 // tbnz x5, #63, LBB0_57 $380(%rip) LBB0_32: WORD $0x8b0501ce // add x14, x14, x5 WORD $0x8b050108 // add x8, x8, x5 @@ -242,7 +243,7 @@ LBB0_32: WORD $0x8b315181 // add x1, x12, w17, uxtw #4 WORD $0xb9800031 // ldrsw x17, [x1] WORD $0xeb1101ad // subs x13, x13, x17 - WORD $0x54000b0b // b.lt LBB0_58 $352(%rip) + WORD $0x54000b4b // b.lt LBB0_58 $360(%rip) LBB0_35: WORD $0xf1001224 // subs x4, x17, #4 WORD $0x5400010b // b.lt LBB0_37 $32(%rip) @@ -293,7 +294,7 @@ LBB0_47: WORD $0xcb0e01ef // sub x15, x15, x14 WORD $0x8b0401e5 // add x5, x15, x4 WORD $0xb6fff965 // tbz x5, #63, LBB0_32 $-212(%rip) - WORD $0x14000027 // b LBB0_57 $156(%rip) + WORD $0x14000028 // b LBB0_57 $160(%rip) LBB0_48: WORD $0x78402485 // ldrh w5, [x4], #2 WORD $0x78002605 // strh w5, [x16], #2 @@ -322,10 +323,10 @@ LBB0_50: WORD $0xb9800031 // ldrsw x17, [x1] WORD $0xeb1101ad // subs x13, x13, x17 WORD $0x54fff7ea // b.ge LBB0_35 $-260(%rip) - WORD $0x14000015 // b LBB0_58 $84(%rip) + WORD $0x14000017 // b LBB0_58 $92(%rip) LBB0_54: WORD $0xf10005ad // subs x13, x13, #1 - WORD $0x540002ab // b.lt LBB0_59 $84(%rip) + WORD $0x540002eb // b.lt LBB0_59 $92(%rip) WORD $0x3800150b // strb w11, [x8], #1 WORD $0xaa0e03f0 // mov x16, x14 WORD $0x910005ce // add x14, x14, #1 @@ -335,7 +336,8 @@ LBB0_56: WORD $0xcb020108 // sub x8, x8, x2 WORD $0xf9000068 // str x8, [x3] WORD $0xcb0001c0 // sub x0, x14, x0 - WORD $0xa8c27bfd // ldp fp, lr, [sp], #32 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 WORD $0xd65f03c0 // ret LBB0_57: WORD $0x8b0200a9 // add x9, x5, x2 @@ -344,7 +346,8 @@ LBB0_57: WORD $0xf9000068 // str x8, [x3] WORD $0xcb0e0008 // sub x8, x0, x14 WORD $0x8b050100 // add x0, x8, x5 - WORD $0xa8c27bfd // ldp fp, lr, [sp], #32 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 WORD $0xd65f03c0 // ret LBB0_58: WORD $0xcb020108 // sub x8, x8, x2 @@ -352,7 +355,8 @@ LBB0_58: LBB0_59: WORD $0xaa2e03e8 // mvn x8, x14 WORD $0x8b000100 // add x0, x8, x0 - WORD $0xa8c27bfd // ldp fp, lr, [sp], #32 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 WORD $0xd65f03c0 // ret // .p2align 3, 0x00 __HtmlQuoteTab: diff --git a/internal/native/neon/i64toa_arm64.s b/internal/native/neon/i64toa_arm64.s index dcf5d5053..a41e8e1c5 100644 --- a/internal/native/neon/i64toa_arm64.s +++ b/internal/native/neon/i64toa_arm64.s @@ -72,13 +72,14 @@ lCPI0_3: // .byte 15 _i64toa: - WORD $0xa9be7bfd // stp fp, lr, [sp, #-32]! + WORD $0xd10083ff // sub sp, sp, #32 + WORD $0xa900fbfd // stp fp, lr, [sp, #8] WORD $0xa93ffbfd // stp fp, lr, [sp, #-8] WORD $0xd10023fd // sub fp, sp, #8 - WORD $0xb7f80621 // tbnz x1, #63, LBB0_10 $196(%rip) + WORD $0xb7f80641 // tbnz x1, #63, LBB0_10 $200(%rip) WORD $0xd344fc28 // lsr x8, x1, #4 WORD $0xf109c11f // cmp x8, #624 - WORD $0x540008c8 // b.hi LBB0_13 $280(%rip) + WORD $0x540008e8 // b.hi LBB0_13 $284(%rip) WORD $0x53023c28 // ubfx w8, w1, #2, #14 WORD $0x52828f69 // mov w9, #5243 WORD $0x1b097d08 // mul w8, w8, w9 @@ -91,7 +92,7 @@ _i64toa: WORD $0x710fa03f // cmp w1, #1000 WORD $0x540000e3 // b.lo LBB0_4 $28(%rip) Lloh0: - WORD $0x100053ea // adr x10, _Digits $2684(%rip) + WORD $0x100054ea // adr x10, _Digits $2716(%rip) Lloh1: WORD $0x9100014a // add x10, x10, _Digits@PAGEOFF $0(%rip) WORD $0x3869694a // ldrb w10, [x10, x9] @@ -100,11 +101,11 @@ Lloh1: WORD $0x14000004 // b LBB0_6 $16(%rip) LBB0_4: WORD $0x7101903f // cmp w1, #100 - WORD $0x540002c3 // b.lo LBB0_9 $88(%rip) + WORD $0x540002e3 // b.lo LBB0_9 $92(%rip) WORD $0x5280000a // mov w10, #0 LBB0_6: Lloh2: - WORD $0x100052cb // adr x11, _Digits $2648(%rip) + WORD $0x100053cb // adr x11, _Digits $2680(%rip) Lloh3: WORD $0x9100016b // add x11, x11, _Digits@PAGEOFF $0(%rip) WORD $0x8b294169 // add x9, x11, w9, uxtw @@ -113,7 +114,7 @@ Lloh3: WORD $0x382a480b // strb w11, [x0, w10, uxtw] LBB0_7: Lloh4: - WORD $0x1000520a // adr x10, _Digits $2624(%rip) + WORD $0x1000530a // adr x10, _Digits $2656(%rip) Lloh5: WORD $0x9100014a // add x10, x10, _Digits@PAGEOFF $0(%rip) WORD $0x3868694b // ldrb w11, [x10, x8] @@ -121,7 +122,7 @@ Lloh5: WORD $0x3829480b // strb w11, [x0, w9, uxtw] LBB0_8: Lloh6: - WORD $0x10005169 // adr x9, _Digits $2604(%rip) + WORD $0x10005269 // adr x9, _Digits $2636(%rip) Lloh7: WORD $0x91000129 // add x9, x9, _Digits@PAGEOFF $0(%rip) WORD $0x8b282128 // add x8, x9, w8, uxth @@ -129,14 +130,15 @@ Lloh7: WORD $0x11000548 // add w8, w10, #1 WORD $0x382a4809 // strb w9, [x0, w10, uxtw] WORD $0xaa0803e0 // mov x0, x8 - WORD $0xa8c27bfd // ldp fp, lr, [sp], #32 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 WORD $0xd65f03c0 // ret LBB0_9: WORD $0x52800009 // mov w9, #0 WORD $0x5280000a // mov w10, #0 WORD $0x7100283f // cmp w1, #10 - WORD $0x54fffde2 // b.hs LBB0_7 $-68(%rip) - WORD $0x17fffff3 // b LBB0_8 $-52(%rip) + WORD $0x54fffdc2 // b.hs LBB0_7 $-72(%rip) + WORD $0x17fffff2 // b LBB0_8 $-56(%rip) LBB0_10: WORD $0x528005a9 // mov w9, #45 WORD $0xaa0003e8 // mov x8, x0 @@ -144,7 +146,7 @@ LBB0_10: WORD $0xcb0103e9 // neg x9, x1 WORD $0xd344fd2a // lsr x10, x9, #4 WORD $0xf109c15f // cmp x10, #624 - WORD $0x54001028 // b.hi LBB0_28 $516(%rip) + WORD $0x54001068 // b.hi LBB0_28 $524(%rip) WORD $0x53023d2a // ubfx w10, w9, #2, #14 WORD $0x52828f6b // mov w11, #5243 WORD $0x1b0b7d4a // mul w10, w10, w11 @@ -157,7 +159,7 @@ LBB0_10: WORD $0x710fa13f // cmp w9, #1000 WORD $0x540004e3 // b.lo LBB0_16 $156(%rip) Lloh8: - WORD $0x10004d69 // adr x9, _Digits $2476(%rip) + WORD $0x10004e49 // adr x9, _Digits $2504(%rip) Lloh9: WORD $0x91000129 // add x9, x9, _Digits@PAGEOFF $0(%rip) WORD $0x386b6929 // ldrb w9, [x9, x11] @@ -168,7 +170,7 @@ LBB0_13: WORD $0x529c2008 // mov w8, #57600 WORD $0x72a0bea8 // movk w8, #1525, lsl #16 WORD $0xeb08003f // cmp x1, x8 - WORD $0x54001182 // b.hs LBB0_31 $560(%rip) + WORD $0x540011c2 // b.hs LBB0_31 $568(%rip) WORD $0x5282eb28 // mov w8, #5977 WORD $0x72ba36e8 // movk w8, #53687, lsl #16 WORD $0x92407c29 // and x9, x1, #0xffffffff @@ -190,22 +192,22 @@ LBB0_13: WORD $0x5292cfeb // mov w11, #38527 WORD $0x72a0130b // movk w11, #152, lsl #16 WORD $0x6b0b003f // cmp w1, w11 - WORD $0x540003e9 // b.ls LBB0_21 $124(%rip) + WORD $0x54000409 // b.ls LBB0_21 $128(%rip) Lloh10: - WORD $0x1000496b // adr x11, _Digits $2348(%rip) + WORD $0x10004a4b // adr x11, _Digits $2376(%rip) Lloh11: WORD $0x9100016b // add x11, x11, _Digits@PAGEOFF $0(%rip) WORD $0x386a696b // ldrb w11, [x11, x10] WORD $0x3900000b // strb w11, [x0] WORD $0x5280002c // mov w12, #1 - WORD $0x1400001e // b LBB0_23 $120(%rip) + WORD $0x1400001f // b LBB0_23 $124(%rip) LBB0_16: WORD $0x7101913f // cmp w9, #100 - WORD $0x54000863 // b.lo LBB0_26 $268(%rip) + WORD $0x540008a3 // b.lo LBB0_26 $276(%rip) WORD $0x52800009 // mov w9, #0 LBB0_18: Lloh12: - WORD $0x1000484c // adr x12, _Digits $2312(%rip) + WORD $0x1000492c // adr x12, _Digits $2340(%rip) Lloh13: WORD $0x9100018c // add x12, x12, _Digits@PAGEOFF $0(%rip) WORD $0x8b2b418b // add x11, x12, w11, uxtw @@ -214,7 +216,7 @@ Lloh13: WORD $0x3829490c // strb w12, [x8, w9, uxtw] LBB0_19: Lloh14: - WORD $0x10004789 // adr x9, _Digits $2288(%rip) + WORD $0x10004869 // adr x9, _Digits $2316(%rip) Lloh15: WORD $0x91000129 // add x9, x9, _Digits@PAGEOFF $0(%rip) WORD $0x386a6929 // ldrb w9, [x9, x10] @@ -222,7 +224,7 @@ Lloh15: WORD $0x382b4909 // strb w9, [x8, w11, uxtw] LBB0_20: Lloh16: - WORD $0x100046e9 // adr x9, _Digits $2268(%rip) + WORD $0x100047c9 // adr x9, _Digits $2296(%rip) Lloh17: WORD $0x91000129 // add x9, x9, _Digits@PAGEOFF $0(%rip) WORD $0x8b2a2129 // add x9, x9, w10, uxth @@ -231,17 +233,18 @@ Lloh17: WORD $0x382c490a // strb w10, [x8, w12, uxtw] WORD $0x11000528 // add w8, w9, #1 WORD $0xaa0803e0 // mov x0, x8 - WORD $0xa8c27bfd // ldp fp, lr, [sp], #32 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 WORD $0xd65f03c0 // ret LBB0_21: WORD $0x528847eb // mov w11, #16959 WORD $0x72a001eb // movk w11, #15, lsl #16 WORD $0x6b0b003f // cmp w1, w11 - WORD $0x540005c9 // b.ls LBB0_27 $184(%rip) + WORD $0x540005e9 // b.ls LBB0_27 $188(%rip) WORD $0x5280000c // mov w12, #0 LBB0_23: Lloh18: - WORD $0x1000450b // adr x11, _Digits $2208(%rip) + WORD $0x100045cb // adr x11, _Digits $2232(%rip) Lloh19: WORD $0x9100016b // add x11, x11, _Digits@PAGEOFF $0(%rip) WORD $0x8b2a416a // add x10, x11, w10, uxtw @@ -250,7 +253,7 @@ Lloh19: WORD $0x382c480a // strb w10, [x0, w12, uxtw] LBB0_24: Lloh20: - WORD $0x1000444a // adr x10, _Digits $2184(%rip) + WORD $0x1000450a // adr x10, _Digits $2208(%rip) Lloh21: WORD $0x9100014a // add x10, x10, _Digits@PAGEOFF $0(%rip) WORD $0x3869694c // ldrb w12, [x10, x9] @@ -268,7 +271,7 @@ LBB0_25: WORD $0x92403d08 // and x8, x8, #0xffff WORD $0xd37ff908 // lsl x8, x8, #1 Lloh22: - WORD $0x1000426c // adr x12, _Digits $2124(%rip) + WORD $0x1000432c // adr x12, _Digits $2148(%rip) Lloh23: WORD $0x9100018c // add x12, x12, _Digits@PAGEOFF $0(%rip) WORD $0x8b292189 // add x9, x12, w9, uxth @@ -285,26 +288,27 @@ Lloh23: WORD $0x11001548 // add w8, w10, #5 WORD $0x390011a9 // strb w9, [x13, #4] WORD $0xaa0803e0 // mov x0, x8 - WORD $0xa8c27bfd // ldp fp, lr, [sp], #32 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 WORD $0xd65f03c0 // ret LBB0_26: WORD $0x5280000b // mov w11, #0 WORD $0x5280000c // mov w12, #0 WORD $0x7100293f // cmp w9, #10 - WORD $0x54fff842 // b.hs LBB0_19 $-248(%rip) - WORD $0x17ffffc6 // b LBB0_20 $-232(%rip) + WORD $0x54fff802 // b.hs LBB0_19 $-256(%rip) + WORD $0x17ffffc4 // b LBB0_20 $-240(%rip) LBB0_27: WORD $0x5280000b // mov w11, #0 WORD $0x5280000a // mov w10, #0 WORD $0x53057c2c // lsr w12, w1, #5 WORD $0x7130d59f // cmp w12, #3125 - WORD $0x54fffac2 // b.hs LBB0_24 $-168(%rip) - WORD $0x17ffffda // b LBB0_25 $-152(%rip) + WORD $0x54fffaa2 // b.hs LBB0_24 $-172(%rip) + WORD $0x17ffffd9 // b LBB0_25 $-156(%rip) LBB0_28: WORD $0x529c200a // mov w10, #57600 WORD $0x72a0beaa // movk w10, #1525, lsl #16 WORD $0xeb0a013f // cmp x9, x10 - WORD $0x54001622 // b.hs LBB0_39 $708(%rip) + WORD $0x54001662 // b.hs LBB0_39 $716(%rip) WORD $0x5282eb2a // mov w10, #5977 WORD $0x72ba36ea // movk w10, #53687, lsl #16 WORD $0x9baa7d2a // umull x10, w9, w10 @@ -326,21 +330,21 @@ LBB0_28: WORD $0x5292cfed // mov w13, #38527 WORD $0x72a0130d // movk w13, #152, lsl #16 WORD $0x6b0d013f // cmp w9, w13 - WORD $0x54000d09 // b.ls LBB0_33 $416(%rip) + WORD $0x54000d29 // b.ls LBB0_33 $420(%rip) Lloh24: - WORD $0x10003b8d // adr x13, _Digits $1904(%rip) + WORD $0x10003c2d // adr x13, _Digits $1924(%rip) Lloh25: WORD $0x910001ad // add x13, x13, _Digits@PAGEOFF $0(%rip) WORD $0x386c69ad // ldrb w13, [x13, x12] WORD $0x3900010d // strb w13, [x8] WORD $0x5280002e // mov w14, #1 - WORD $0x14000067 // b LBB0_35 $412(%rip) + WORD $0x14000068 // b LBB0_35 $416(%rip) LBB0_31: WORD $0xd2adf82a // mov x10, #1874919424 WORD $0xf2d0de4a // movk x10, #34546, lsl #32 WORD $0xf2e0046a // movk x10, #35, lsl #48 WORD $0xeb0a003f // cmp x1, x10 - WORD $0x54001e42 // b.hs LBB0_41 $968(%rip) + WORD $0x54001ea2 // b.hs LBB0_41 $980(%rip) WORD $0xd299dfa9 // mov x9, #52989 WORD $0xf2b08c29 // movk x9, #33889, lsl #16 WORD $0xf2cee229 // movk x9, #30481, lsl #32 @@ -367,7 +371,7 @@ LBB0_31: WORD $0x4e413821 // zip1.8h v1, v1, v1 WORD $0x4e813821 // zip1.4s v1, v1, v1 Lloh26: - WORD $0x10ffdf69 // adr x9, lCPI0_0 $-1044(%rip) + WORD $0x10ffdee9 // adr x9, lCPI0_0 $-1060(%rip) Lloh27: WORD $0xfd400122 // ldr d2, [x9, lCPI0_0@PAGEOFF] $0(%rip) WORD $0x2e62c024 // umull.4s v4, v1, v2 @@ -375,7 +379,7 @@ Lloh27: WORD $0x2e62c021 // umull.4s v1, v1, v2 WORD $0x4e415881 // uzp2.8h v1, v4, v1 Lloh28: - WORD $0x10ffdee9 // adr x9, lCPI0_1 $-1060(%rip) + WORD $0x10ffde69 // adr x9, lCPI0_1 $-1076(%rip) Lloh29: WORD $0xfd400124 // ldr d4, [x9, lCPI0_1@PAGEOFF] $0(%rip) WORD $0x2e64c026 // umull.4s v6, v1, v4 @@ -414,12 +418,12 @@ Lloh29: WORD $0x4e208420 // add.16b v0, v1, v0 WORD $0x4e209821 // cmeq.16b v1, v1, #0 Lloh30: - WORD $0x10ffda88 // adr x8, lCPI0_2 $-1200(%rip) + WORD $0x10ffda08 // adr x8, lCPI0_2 $-1216(%rip) Lloh31: WORD $0x3dc00102 // ldr q2, [x8, lCPI0_2@PAGEOFF] $0(%rip) WORD $0x4e221c21 // and.16b v1, v1, v2 Lloh32: - WORD $0x10ffdaa8 // adr x8, lCPI0_3 $-1196(%rip) + WORD $0x10ffda28 // adr x8, lCPI0_3 $-1212(%rip) Lloh33: WORD $0x3dc00102 // ldr q2, [x8, lCPI0_3@PAGEOFF] $0(%rip) WORD $0x4e020021 // tbl.16b v1, { v1 }, v2 @@ -430,7 +434,7 @@ Lloh33: WORD $0x5ac00108 // rbit w8, w8 WORD $0x5ac01108 // clz w8, w8 Lloh34: - WORD $0x10003689 // adr x9, _VecShiftShuffles $1744(%rip) + WORD $0x10003709 // adr x9, _VecShiftShuffles $1760(%rip) Lloh35: WORD $0x91000129 // add x9, x9, _VecShiftShuffles@PAGEOFF $0(%rip) WORD $0x3ce85921 // ldr q1, [x9, w8, uxtw #4] @@ -441,17 +445,18 @@ Lloh35: WORD $0x52800209 // mov w9, #16 WORD $0x4b080128 // sub w8, w9, w8 WORD $0xaa0803e0 // mov x0, x8 - WORD $0xa8c27bfd // ldp fp, lr, [sp], #32 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 WORD $0xd65f03c0 // ret LBB0_33: WORD $0x528847ed // mov w13, #16959 WORD $0x72a001ed // movk w13, #15, lsl #16 WORD $0x6b0d013f // cmp w9, w13 - WORD $0x54000549 // b.ls LBB0_38 $168(%rip) + WORD $0x54000569 // b.ls LBB0_38 $172(%rip) WORD $0x5280000e // mov w14, #0 LBB0_35: Lloh36: - WORD $0x10002e0d // adr x13, _Digits $1472(%rip) + WORD $0x10002e8d // adr x13, _Digits $1488(%rip) Lloh37: WORD $0x910001ad // add x13, x13, _Digits@PAGEOFF $0(%rip) WORD $0x8b2c41ac // add x12, x13, w12, uxtw @@ -460,7 +465,7 @@ Lloh37: WORD $0x382e490c // strb w12, [x8, w14, uxtw] LBB0_36: Lloh38: - WORD $0x10002d4c // adr x12, _Digits $1448(%rip) + WORD $0x10002dcc // adr x12, _Digits $1464(%rip) Lloh39: WORD $0x9100018c // add x12, x12, _Digits@PAGEOFF $0(%rip) WORD $0x386b698e // ldrb w14, [x12, x11] @@ -478,7 +483,7 @@ LBB0_37: WORD $0x92403d29 // and x9, x9, #0xffff WORD $0xd37ff929 // lsl x9, x9, #1 Lloh40: - WORD $0x10002b6d // adr x13, _Digits $1388(%rip) + WORD $0x10002bed // adr x13, _Digits $1404(%rip) Lloh41: WORD $0x910001ad // add x13, x13, _Digits@PAGEOFF $0(%rip) WORD $0x8b2b21ab // add x11, x13, w11, uxth @@ -496,21 +501,22 @@ Lloh41: WORD $0x3900110a // strb w10, [x8, #4] WORD $0x11000528 // add w8, w9, #1 WORD $0xaa0803e0 // mov x0, x8 - WORD $0xa8c27bfd // ldp fp, lr, [sp], #32 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 WORD $0xd65f03c0 // ret LBB0_38: WORD $0x5280000d // mov w13, #0 WORD $0x5280000c // mov w12, #0 WORD $0x53057d2e // lsr w14, w9, #5 WORD $0x7130d5df // cmp w14, #3125 - WORD $0x54fffb42 // b.hs LBB0_36 $-152(%rip) - WORD $0x17ffffde // b LBB0_37 $-136(%rip) + WORD $0x54fffb22 // b.hs LBB0_36 $-156(%rip) + WORD $0x17ffffdd // b LBB0_37 $-140(%rip) LBB0_39: WORD $0xd2adf82c // mov x12, #1874919424 WORD $0xf2d0de4c // movk x12, #34546, lsl #32 WORD $0xf2e0046c // movk x12, #35, lsl #48 WORD $0xeb0c013f // cmp x9, x12 - WORD $0x540019a2 // b.hs LBB0_47 $820(%rip) + WORD $0x540019e2 // b.hs LBB0_47 $828(%rip) WORD $0xd299dfab // mov x11, #52989 WORD $0xf2b08c2b // movk x11, #33889, lsl #16 WORD $0xf2cee22b // movk x11, #30481, lsl #32 @@ -537,7 +543,7 @@ LBB0_39: WORD $0x4e413821 // zip1.8h v1, v1, v1 WORD $0x4e813821 // zip1.4s v1, v1, v1 Lloh42: - WORD $0x10ffccea // adr x10, lCPI0_0 $-1636(%rip) + WORD $0x10ffcc2a // adr x10, lCPI0_0 $-1660(%rip) Lloh43: WORD $0xfd400142 // ldr d2, [x10, lCPI0_0@PAGEOFF] $0(%rip) WORD $0x2e62c024 // umull.4s v4, v1, v2 @@ -545,7 +551,7 @@ Lloh43: WORD $0x2e62c021 // umull.4s v1, v1, v2 WORD $0x4e415881 // uzp2.8h v1, v4, v1 Lloh44: - WORD $0x10ffcc6a // adr x10, lCPI0_1 $-1652(%rip) + WORD $0x10ffcbaa // adr x10, lCPI0_1 $-1676(%rip) Lloh45: WORD $0xfd400144 // ldr d4, [x10, lCPI0_1@PAGEOFF] $0(%rip) WORD $0x2e64c026 // umull.4s v6, v1, v4 @@ -584,12 +590,12 @@ Lloh45: WORD $0x4e208420 // add.16b v0, v1, v0 WORD $0x4e209821 // cmeq.16b v1, v1, #0 Lloh46: - WORD $0x10ffc809 // adr x9, lCPI0_2 $-1792(%rip) + WORD $0x10ffc749 // adr x9, lCPI0_2 $-1816(%rip) Lloh47: WORD $0x3dc00122 // ldr q2, [x9, lCPI0_2@PAGEOFF] $0(%rip) WORD $0x4e221c21 // and.16b v1, v1, v2 Lloh48: - WORD $0x10ffc829 // adr x9, lCPI0_3 $-1788(%rip) + WORD $0x10ffc769 // adr x9, lCPI0_3 $-1812(%rip) Lloh49: WORD $0x3dc00122 // ldr q2, [x9, lCPI0_3@PAGEOFF] $0(%rip) WORD $0x4e020021 // tbl.16b v1, { v1 }, v2 @@ -600,7 +606,7 @@ Lloh49: WORD $0x5ac00129 // rbit w9, w9 WORD $0x5ac01129 // clz w9, w9 Lloh50: - WORD $0x1000240a // adr x10, _VecShiftShuffles $1152(%rip) + WORD $0x1000244a // adr x10, _VecShiftShuffles $1160(%rip) Lloh51: WORD $0x9100014a // add x10, x10, _VecShiftShuffles@PAGEOFF $0(%rip) WORD $0x3ce95941 // ldr q1, [x10, w9, uxtw #4] @@ -612,7 +618,8 @@ Lloh51: WORD $0x4b090109 // sub w9, w8, w9 WORD $0x11000528 // add w8, w9, #1 WORD $0xaa0803e0 // mov x0, x8 - WORD $0xa8c27bfd // ldp fp, lr, [sp], #32 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 WORD $0xd65f03c0 // ret LBB0_41: WORD $0xd28f0ae9 // mov x9, #30807 @@ -631,7 +638,7 @@ LBB0_43: WORD $0x71018d7f // cmp w11, #99 WORD $0x540000e8 // b.hi LBB0_45 $28(%rip) Lloh52: - WORD $0x10001a49 // adr x9, _Digits $840(%rip) + WORD $0x10001a89 // adr x9, _Digits $848(%rip) Lloh53: WORD $0x91000129 // add x9, x9, _Digits@PAGEOFF $0(%rip) WORD $0x786b5929 // ldrh w9, [x9, w11, uxtw #1] @@ -649,7 +656,7 @@ LBB0_45: WORD $0x92403d29 // and x9, x9, #0xffff WORD $0xd37ff929 // lsl x9, x9, #1 Lloh54: - WORD $0x1000186c // adr x12, _Digits $780(%rip) + WORD $0x100018ac // adr x12, _Digits $788(%rip) Lloh55: WORD $0x9100018c // add x12, x12, _Digits@PAGEOFF $0(%rip) WORD $0x3869698d // ldrb w13, [x12, x9] @@ -686,7 +693,7 @@ LBB0_46: WORD $0x4e413821 // zip1.8h v1, v1, v1 WORD $0x4e813821 // zip1.4s v1, v1, v1 Lloh56: - WORD $0x10ffbc8c // adr x12, lCPI0_0 $-2160(%rip) + WORD $0x10ffbbac // adr x12, lCPI0_0 $-2188(%rip) Lloh57: WORD $0xfd400183 // ldr d3, [x12, lCPI0_0@PAGEOFF] $0(%rip) WORD $0x2e63c025 // umull.4s v5, v1, v3 @@ -694,7 +701,7 @@ Lloh57: WORD $0x2e63c021 // umull.4s v1, v1, v3 WORD $0x4e4158a1 // uzp2.8h v1, v5, v1 Lloh58: - WORD $0x10ffbc0c // adr x12, lCPI0_1 $-2176(%rip) + WORD $0x10ffbb2c // adr x12, lCPI0_1 $-2204(%rip) Lloh59: WORD $0xfd400185 // ldr d5, [x12, lCPI0_1@PAGEOFF] $0(%rip) WORD $0x2e65c026 // umull.4s v6, v1, v5 @@ -735,7 +742,8 @@ Lloh59: WORD $0x3ca94800 // str q0, [x0, w9, uxtw] WORD $0x321c0128 // orr w8, w9, #0x10 WORD $0xaa0803e0 // mov x0, x8 - WORD $0xa8c27bfd // ldp fp, lr, [sp], #32 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 WORD $0xd65f03c0 // ret LBB0_47: WORD $0xd28f0aeb // mov x11, #30807 @@ -754,7 +762,7 @@ LBB0_49: WORD $0x71018dbf // cmp w13, #99 WORD $0x540000e8 // b.hi LBB0_51 $28(%rip) Lloh60: - WORD $0x10000c6b // adr x11, _Digits $396(%rip) + WORD $0x10000c8b // adr x11, _Digits $400(%rip) Lloh61: WORD $0x9100016b // add x11, x11, _Digits@PAGEOFF $0(%rip) WORD $0x786d596b // ldrh w11, [x11, w13, uxtw #1] @@ -773,7 +781,7 @@ LBB0_51: WORD $0x92403d6b // and x11, x11, #0xffff WORD $0xd37ff96b // lsl x11, x11, #1 Lloh62: - WORD $0x10000a6e // adr x14, _Digits $332(%rip) + WORD $0x10000a8e // adr x14, _Digits $336(%rip) Lloh63: WORD $0x910001ce // add x14, x14, _Digits@PAGEOFF $0(%rip) WORD $0x386b69cf // ldrb w15, [x14, x11] @@ -810,7 +818,7 @@ LBB0_52: WORD $0x4e413821 // zip1.8h v1, v1, v1 WORD $0x4e813821 // zip1.4s v1, v1, v1 Lloh64: - WORD $0x10ffae8d // adr x13, lCPI0_0 $-2608(%rip) + WORD $0x10ffad8d // adr x13, lCPI0_0 $-2640(%rip) Lloh65: WORD $0xfd4001a3 // ldr d3, [x13, lCPI0_0@PAGEOFF] $0(%rip) WORD $0x2e63c025 // umull.4s v5, v1, v3 @@ -818,7 +826,7 @@ Lloh65: WORD $0x2e63c021 // umull.4s v1, v1, v3 WORD $0x4e4158a1 // uzp2.8h v1, v5, v1 Lloh66: - WORD $0x10ffae0d // adr x13, lCPI0_1 $-2624(%rip) + WORD $0x10ffad0d // adr x13, lCPI0_1 $-2656(%rip) Lloh67: WORD $0xfd4001a5 // ldr d5, [x13, lCPI0_1@PAGEOFF] $0(%rip) WORD $0x2e65c026 // umull.4s v6, v1, v5 @@ -860,7 +868,8 @@ Lloh67: WORD $0x321c0169 // orr w9, w11, #0x10 WORD $0x11000528 // add w8, w9, #1 WORD $0xaa0803e0 // mov x0, x8 - WORD $0xa8c27bfd // ldp fp, lr, [sp], #32 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 WORD $0xd65f03c0 // ret _Digits: WORD $0x31303030 // .ascii 4, '0001020304050607' @@ -913,7 +922,7 @@ _Digits: WORD $0x35393439 // .ascii 4, '949596979899' WORD $0x37393639 // .ascii 4, '96979899' WORD $0x39393839 // .ascii 4, '9899' - WORD $0x00000000 // .p2align 4, 0x00 + // .p2align 4, 0x00 _VecShiftShuffles: WORD $0x03020100 // .ascii 4, '\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f' WORD $0x07060504 // .ascii 4, '\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x01\x02\x03\x04' diff --git a/internal/native/neon/lookup_small_key_arm64.s b/internal/native/neon/lookup_small_key_arm64.s index 35b0baf07..fb856f144 100644 --- a/internal/native/neon/lookup_small_key_arm64.s +++ b/internal/native/neon/lookup_small_key_arm64.s @@ -56,7 +56,8 @@ lCPI0_1: // .byte 15 _lookup_small_key: - WORD $0xa9be7bfd // stp fp, lr, [sp, #-32]! + WORD $0xd10083ff // sub sp, sp, #32 + WORD $0xa900fbfd // stp fp, lr, [sp, #8] WORD $0xa93ffbfd // stp fp, lr, [sp, #-8] WORD $0xd10023fd // sub fp, sp, #8 WORD $0xf940040a // ldr x10, [x0, #8] @@ -65,14 +66,14 @@ _lookup_small_key: WORD $0x8b294928 // add x8, x9, w9, uxtw #2 WORD $0x8b08016c // add x12, x11, x8 WORD $0x39400188 // ldrb w8, [x12] - WORD $0x34001ba8 // cbz w8, LBB0_46 $884(%rip) + WORD $0x34001be8 // cbz w8, LBB0_46 $892(%rip) WORD $0xf940000f // ldr x15, [x0] WORD $0xb840118c // ldur w12, [x12, #1] WORD $0x1102958d // add w13, w12, #165 WORD $0x8b0d016d // add x13, x11, x13 WORD $0x92401d4e // and x14, x10, #0xff WORD $0x7100253f // cmp w9, #9 - WORD $0x54000922 // b.hs LBB0_20 $292(%rip) + WORD $0x54000942 // b.hs LBB0_20 $296(%rip) WORD $0x11000530 // add w16, w9, #1 WORD $0x394001f1 // ldrb w17, [x15] WORD $0x528000e0 // mov w0, #7 @@ -85,7 +86,7 @@ LBB0_3: LBB0_4: WORD $0x8b1001ad // add x13, x13, x16 WORD $0x71000421 // subs w1, w1, #1 - WORD $0x54000b40 // b.eq LBB0_23 $360(%rip) + WORD $0x54000b60 // b.eq LBB0_23 $364(%rip) LBB0_5: WORD $0x394001a3 // ldrb w3, [x13] WORD $0x6b11007f // cmp w3, w17 @@ -153,7 +154,8 @@ LBB0_18: LBB0_19: WORD $0x8b0e01a8 // add x8, x13, x14 WORD $0x39400100 // ldrb w0, [x8] - WORD $0xa8c27bfd // ldp fp, lr, [sp], #32 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 WORD $0xd65f03c0 // ret LBB0_20: WORD $0xad4001e1 // ldp q1, q0, [x15] @@ -161,11 +163,11 @@ LBB0_20: WORD $0x9ace21ef // lsl x15, x15, x14 WORD $0x11000530 // add w16, w9, #1 Lloh0: - WORD $0x10fff371 // adr x17, lCPI0_0 $-404(%rip) + WORD $0x10fff331 // adr x17, lCPI0_0 $-412(%rip) Lloh1: WORD $0x3dc00222 // ldr q2, [x17, lCPI0_0@PAGEOFF] $0(%rip) Lloh2: - WORD $0x10fff3b1 // adr x17, lCPI0_1 $-396(%rip) + WORD $0x10fff371 // adr x17, lCPI0_1 $-404(%rip) Lloh3: WORD $0x3dc00223 // ldr q3, [x17, lCPI0_1@PAGEOFF] $0(%rip) WORD $0xaa0803f1 // mov x17, x8 @@ -184,7 +186,7 @@ LBB0_21: WORD $0x33103c20 // bfi w0, w1, #16, #16 WORD $0x2a0f0000 // orr w0, w0, w15 WORD $0x3100041f // cmn w0, #1 - WORD $0x54fffca0 // b.eq LBB0_19 $-108(%rip) + WORD $0x54fffc80 // b.eq LBB0_19 $-112(%rip) WORD $0x8b1001ad // add x13, x13, x16 WORD $0x71000631 // subs w17, w17, #1 WORD $0x54fffde1 // b.ne LBB0_21 $-68(%rip) @@ -203,7 +205,7 @@ LBB0_24: WORD $0x8b02016b // add x11, x11, x2 WORD $0x92401d4a // and x10, x10, #0xff WORD $0x7100253f // cmp w9, #9 - WORD $0x54000902 // b.hs LBB0_43 $288(%rip) + WORD $0x54000922 // b.hs LBB0_43 $292(%rip) WORD $0x0e013c2c // umov.b w12, v1[0] WORD $0x0e033c2d // umov.b w13, v1[1] WORD $0x0e053c2e // umov.b w14, v1[2] @@ -222,7 +224,7 @@ LBB0_26: LBB0_27: WORD $0x8b09016b // add x11, x11, x9 WORD $0x71000508 // subs w8, w8, #1 - WORD $0x54000a80 // b.eq LBB0_46 $336(%rip) + WORD $0x54000aa0 // b.eq LBB0_46 $340(%rip) LBB0_28: WORD $0x39400163 // ldrb w3, [x11] WORD $0x6b2c007f // cmp w3, w12, uxtb @@ -283,7 +285,8 @@ LBB0_41: LBB0_42: WORD $0x8b0a0168 // add x8, x11, x10 WORD $0x39400100 // ldrb w0, [x8] - WORD $0xa8c27bfd // ldp fp, lr, [sp], #32 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 WORD $0xd65f03c0 // ret LBB0_43: WORD $0x4e228402 // add.16b v2, v0, v2 @@ -294,11 +297,11 @@ LBB0_43: WORD $0x9aca218c // lsl x12, x12, x10 WORD $0x11000529 // add w9, w9, #1 Lloh4: - WORD $0x10ffe50d // adr x13, lCPI0_0 $-864(%rip) + WORD $0x10ffe4ad // adr x13, lCPI0_0 $-876(%rip) Lloh5: WORD $0x3dc001a2 // ldr q2, [x13, lCPI0_0@PAGEOFF] $0(%rip) Lloh6: - WORD $0x10ffe54d // adr x13, lCPI0_1 $-856(%rip) + WORD $0x10ffe4ed // adr x13, lCPI0_1 $-868(%rip) Lloh7: WORD $0x3dc001a3 // ldr q3, [x13, lCPI0_1@PAGEOFF] $0(%rip) LBB0_44: @@ -316,13 +319,14 @@ LBB0_44: WORD $0x33103dcd // bfi w13, w14, #16, #16 WORD $0x2a0c01ad // orr w13, w13, w12 WORD $0x310005bf // cmn w13, #1 - WORD $0x54fffc60 // b.eq LBB0_42 $-116(%rip) + WORD $0x54fffc40 // b.eq LBB0_42 $-120(%rip) WORD $0x8b09016b // add x11, x11, x9 WORD $0x71000508 // subs w8, w8, #1 WORD $0x54fffde1 // b.ne LBB0_44 $-68(%rip) LBB0_46: WORD $0x92800000 // mov x0, #-1 - WORD $0xa8c27bfd // ldp fp, lr, [sp], #32 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 WORD $0xd65f03c0 // ret TEXT ·__lookup_small_key(SB), NOSPLIT, $0-32 diff --git a/internal/native/neon/lspace_arm64.s b/internal/native/neon/lspace_arm64.s index 926ce3c23..c02f087eb 100644 --- a/internal/native/neon/lspace_arm64.s +++ b/internal/native/neon/lspace_arm64.s @@ -12,7 +12,8 @@ TEXT ·__lspace_entry__(SB), NOSPLIT, $16 RET // .p2align 2, 0x00 _lspace: - WORD $0xa9be7bfd // stp fp, lr, [sp, #-32]! + WORD $0xd10083ff // sub sp, sp, #32 + WORD $0xa900fbfd // stp fp, lr, [sp, #8] WORD $0xa93ffbfd // stp fp, lr, [sp, #-8] WORD $0xd10023fd // sub fp, sp, #8 WORD $0xeb02003f // cmp x1, x2 @@ -38,7 +39,8 @@ LBB0_5: WORD $0xcb000102 // sub x2, x8, x0 LBB0_6: WORD $0xaa0203e0 // mov x0, x2 - WORD $0xa8c27bfd // ldp fp, lr, [sp], #32 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 WORD $0xd65f03c0 // ret TEXT ·__lspace(SB), NOSPLIT, $0-32 diff --git a/internal/native/neon/parse_with_padding_arm64.s b/internal/native/neon/parse_with_padding_arm64.s index 7f2677318..007b56b91 100644 --- a/internal/native/neon/parse_with_padding_arm64.s +++ b/internal/native/neon/parse_with_padding_arm64.s @@ -12,51 +12,61 @@ TEXT ·__parse_with_padding_entry__(SB), NOSPLIT, $144 RET // .p2align 2, 0x00 _padding_reader_next: - WORD $0xa9be7bfd // stp fp, lr, [sp, #-32]! + WORD $0xd10083ff // sub sp, sp, #32 + WORD $0xa900fbfd // stp fp, lr, [sp, #8] WORD $0xa93ffbfd // stp fp, lr, [sp, #-8] WORD $0xd10023fd // sub fp, sp, #8 WORD $0xf9400008 // ldr x8, [x0] WORD $0x91000509 // add x9, x8, #1 WORD $0xf9000009 // str x9, [x0] WORD $0x39c00100 // ldrsb w0, [x8] - WORD $0xa8c27bfd // ldp fp, lr, [sp], #32 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 WORD $0xd65f03c0 // ret // .p2align 2, 0x00 _padding_reader_peek_n: - WORD $0xa9be7bfd // stp fp, lr, [sp, #-32]! + WORD $0xd10083ff // sub sp, sp, #32 + WORD $0xa900fbfd // stp fp, lr, [sp, #8] WORD $0xa93ffbfd // stp fp, lr, [sp, #-8] WORD $0xd10023fd // sub fp, sp, #8 WORD $0xf9400000 // ldr x0, [x0] - WORD $0xa8c27bfd // ldp fp, lr, [sp], #32 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 WORD $0xd65f03c0 // ret // .p2align 2, 0x00 _padding_reader_cur: - WORD $0xa9be7bfd // stp fp, lr, [sp, #-32]! + WORD $0xd10083ff // sub sp, sp, #32 + WORD $0xa900fbfd // stp fp, lr, [sp, #8] WORD $0xa93ffbfd // stp fp, lr, [sp, #-8] WORD $0xd10023fd // sub fp, sp, #8 - WORD $0xa8c27bfd // ldp fp, lr, [sp], #32 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 WORD $0xd65f03c0 // ret // .p2align 2, 0x00 _padding_reader_remain: - WORD $0xa9be7bfd // stp fp, lr, [sp, #-32]! + WORD $0xd10083ff // sub sp, sp, #32 + WORD $0xa900fbfd // stp fp, lr, [sp, #8] WORD $0xa93ffbfd // stp fp, lr, [sp, #-8] WORD $0xd10023fd // sub fp, sp, #8 WORD $0xf9400808 // ldr x8, [x0, #16] WORD $0xf9400009 // ldr x9, [x0] WORD $0xcb090100 // sub x0, x8, x9 - WORD $0xa8c27bfd // ldp fp, lr, [sp], #32 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 WORD $0xd65f03c0 // ret // .p2align 2, 0x00 _padding_reader_eat: - WORD $0xa9be7bfd // stp fp, lr, [sp, #-32]! + WORD $0xd10083ff // sub sp, sp, #32 + WORD $0xa900fbfd // stp fp, lr, [sp, #8] WORD $0xa93ffbfd // stp fp, lr, [sp, #-8] WORD $0xd10023fd // sub fp, sp, #8 WORD $0xf9400008 // ldr x8, [x0] WORD $0x8b010108 // add x8, x8, x1 WORD $0xf9000008 // str x8, [x0] - WORD $0xa8c27bfd // ldp fp, lr, [sp], #32 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 WORD $0xd65f03c0 // ret - // .p2align 4, 0x00 + WORD $0x00000000; WORD $0x00000000 // .p2align 4, 0x00 lCPI5_0: WORD $0x00000020 WORD $0x00000000 @@ -129,12 +139,12 @@ lCPI5_3: // .p2align 2, 0x00 _parse_with_padding: WORD $0xd10283ff // sub sp, sp, #160 - WORD $0xa9036ffc // stp x28, x27, [sp, #48] - WORD $0xa90467fa // stp x26, x25, [sp, #64] - WORD $0xa9055ff8 // stp x24, x23, [sp, #80] - WORD $0xa90657f6 // stp x22, x21, [sp, #96] - WORD $0xa9074ff4 // stp x20, x19, [sp, #112] - WORD $0xa9087bfd // stp fp, lr, [sp, #128] + WORD $0xa903effc // stp x28, x27, [sp, #56] + WORD $0xa904e7fa // stp x26, x25, [sp, #72] + WORD $0xa905dff8 // stp x24, x23, [sp, #88] + WORD $0xa906d7f6 // stp x22, x21, [sp, #104] + WORD $0xa907cff4 // stp x20, x19, [sp, #120] + WORD $0xa908fbfd // stp fp, lr, [sp, #136] WORD $0xa93ffbfd // stp fp, lr, [sp, #-8] WORD $0xd10023fd // sub fp, sp, #8 WORD $0xa9478409 // ldp x9, x1, [x0, #120] @@ -1540,12 +1550,12 @@ LBB5_259: WORD $0x7140051f // cmp w8, #1, lsl #12 WORD $0x1a828128 // csel w8, w9, w2, hi WORD $0x93407d00 // sxtw x0, w8 - WORD $0xa9487bfd // ldp fp, lr, [sp, #128] - WORD $0xa9474ff4 // ldp x20, x19, [sp, #112] - WORD $0xa94657f6 // ldp x22, x21, [sp, #96] - WORD $0xa9455ff8 // ldp x24, x23, [sp, #80] - WORD $0xa94467fa // ldp x26, x25, [sp, #64] - WORD $0xa9436ffc // ldp x28, x27, [sp, #48] + WORD $0xa948fbfd // ldp fp, lr, [sp, #136] + WORD $0xa947cff4 // ldp x20, x19, [sp, #120] + WORD $0xa946d7f6 // ldp x22, x21, [sp, #104] + WORD $0xa945dff8 // ldp x24, x23, [sp, #88] + WORD $0xa944e7fa // ldp x26, x25, [sp, #72] + WORD $0xa943effc // ldp x28, x27, [sp, #56] WORD $0x910283ff // add sp, sp, #160 WORD $0xd65f03c0 // ret LBB5_260: diff --git a/internal/native/neon/parse_with_padding_subr_arm64.go b/internal/native/neon/parse_with_padding_subr_arm64.go index f55a7d64b..11c37e44e 100644 --- a/internal/native/neon/parse_with_padding_subr_arm64.go +++ b/internal/native/neon/parse_with_padding_subr_arm64.go @@ -9,7 +9,7 @@ package neon func __parse_with_padding_entry__() uintptr var ( - _subr__parse_with_padding uintptr = __parse_with_padding_entry__() + 200 + _subr__parse_with_padding uintptr = __parse_with_padding_entry__() + 248 ) const ( diff --git a/internal/native/neon/quote_arm64.s b/internal/native/neon/quote_arm64.s index 5419b1faf..0e19a9ba9 100644 --- a/internal/native/neon/quote_arm64.s +++ b/internal/native/neon/quote_arm64.s @@ -56,35 +56,36 @@ lCPI0_1: // .byte 15 _quote: - WORD $0xa9be7bfd // stp fp, lr, [sp, #-32]! + WORD $0xd10083ff // sub sp, sp, #32 + WORD $0xa900fbfd // stp fp, lr, [sp, #8] WORD $0xa93ffbfd // stp fp, lr, [sp, #-8] WORD $0xd10023fd // sub fp, sp, #8 WORD $0xf9400069 // ldr x9, [x3] Lloh0: - WORD $0x1000acc8 // adr x8, __DoubleQuoteTab $5528(%rip) + WORD $0x1000ad68 // adr x8, __DoubleQuoteTab $5548(%rip) Lloh1: WORD $0x91000108 // add x8, x8, __DoubleQuoteTab@PAGEOFF $0(%rip) Lloh2: - WORD $0x10002c8a // adr x10, __SingleQuoteTab $1424(%rip) + WORD $0x10002d2a // adr x10, __SingleQuoteTab $1444(%rip) Lloh3: WORD $0x9100014a // add x10, x10, __SingleQuoteTab@PAGEOFF $0(%rip) WORD $0xf240009f // tst x4, #0x1 WORD $0x9a880148 // csel x8, x10, x8, eq WORD $0xeb010d3f // cmp x9, x1, lsl #3 - WORD $0x54001aea // b.ge LBB0_53 $860(%rip) + WORD $0x54001b0a // b.ge LBB0_53 $864(%rip) WORD $0xaa0203eb // mov x11, x2 WORD $0xaa0003ee // mov x14, x0 - WORD $0xb4002a01 // cbz x1, LBB0_76 $1344(%rip) + WORD $0xb4002a41 // cbz x1, LBB0_76 $1352(%rip) WORD $0xd100040c // sub x12, x0, #1 WORD $0x4f01e440 // movi.16b v0, #34 WORD $0x4f02e781 // movi.16b v1, #92 WORD $0x4f01e402 // movi.16b v2, #32 Lloh4: - WORD $0x10fffcab // adr x11, lCPI0_0 $-108(%rip) + WORD $0x10fffc8b // adr x11, lCPI0_0 $-112(%rip) Lloh5: WORD $0x3dc00163 // ldr q3, [x11, lCPI0_0@PAGEOFF] $0(%rip) Lloh6: - WORD $0x10fffceb // adr x11, lCPI0_1 $-100(%rip) + WORD $0x10fffccb // adr x11, lCPI0_1 $-104(%rip) Lloh7: WORD $0x3dc00164 // ldr q4, [x11, lCPI0_1@PAGEOFF] $0(%rip) WORD $0xaa0003ed // mov x13, x0 @@ -202,7 +203,7 @@ LBB0_24: WORD $0x8b0401ae // add x14, x13, x4 WORD $0x8b04016b // add x11, x11, x4 WORD $0xeb040021 // subs x1, x1, x4 - WORD $0x54001be0 // b.eq LBB0_76 $892(%rip) + WORD $0x54001c20 // b.eq LBB0_76 $900(%rip) WORD $0xcb040129 // sub x9, x9, x4 WORD $0x8b0d008d // add x13, x4, x13 WORD $0xcb0d018d // sub x13, x12, x13 @@ -212,7 +213,7 @@ LBB0_26: WORD $0x8b0f016b // add x11, x11, x15 WORD $0xd10005ad // sub x13, x13, #1 WORD $0xd1000421 // sub x1, x1, #1 - WORD $0xb4001ac1 // cbz x1, LBB0_76 $856(%rip) + WORD $0xb4001b01 // cbz x1, LBB0_76 $864(%rip) LBB0_27: WORD $0x394001cf // ldrb w15, [x14] WORD $0x8b0f1111 // add x17, x8, x15, lsl #4 @@ -220,7 +221,7 @@ LBB0_27: WORD $0xb400032f // cbz x15, LBB0_35 $100(%rip) WORD $0x93407def // sxtw x15, w15 WORD $0xeb0f0129 // subs x9, x9, x15 - WORD $0x54001aab // b.lt LBB0_77 $852(%rip) + WORD $0x54001b0b // b.lt LBB0_77 $864(%rip) WORD $0xf10011e4 // subs x4, x15, #4 WORD $0x5400010b // b.lt LBB0_31 $32(%rip) WORD $0xb9400a25 // ldr w5, [x17, #8] @@ -319,22 +320,23 @@ LBB0_52: WORD $0xcb0d0008 // sub x8, x0, x13 WORD $0x8b040101 // add x1, x8, x4 WORD $0xaa0103e0 // mov x0, x1 - WORD $0xa8c27bfd // ldp fp, lr, [sp], #32 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 WORD $0xd65f03c0 // ret LBB0_53: WORD $0x4f01e440 // movi.16b v0, #34 WORD $0x4f02e781 // movi.16b v1, #92 WORD $0x4f01e402 // movi.16b v2, #32 Lloh8: - WORD $0x10ffe269 // adr x9, lCPI0_0 $-948(%rip) + WORD $0x10ffe229 // adr x9, lCPI0_0 $-956(%rip) Lloh9: WORD $0x3dc00123 // ldr q3, [x9, lCPI0_0@PAGEOFF] $0(%rip) Lloh10: - WORD $0x10ffe2a9 // adr x9, lCPI0_1 $-940(%rip) + WORD $0x10ffe269 // adr x9, lCPI0_1 $-948(%rip) Lloh11: WORD $0x3dc00124 // ldr q4, [x9, lCPI0_1@PAGEOFF] $0(%rip) Lloh12: - WORD $0x1001102a // adr x10, __EscTab $8708(%rip) + WORD $0x100110aa // adr x10, __EscTab $8724(%rip) Lloh13: WORD $0x9100014a // add x10, x10, __EscTab@PAGEOFF $0(%rip) WORD $0xaa0203e9 // mov x9, x2 @@ -464,23 +466,26 @@ LBB0_75: WORD $0xcb020128 // sub x8, x9, x2 WORD $0xf9000068 // str x8, [x3] WORD $0xaa0103e0 // mov x0, x1 - WORD $0xa8c27bfd // ldp fp, lr, [sp], #32 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 WORD $0xd65f03c0 // ret LBB0_76: WORD $0xcb020168 // sub x8, x11, x2 WORD $0xf9000068 // str x8, [x3] WORD $0xcb0001c1 // sub x1, x14, x0 WORD $0xaa0103e0 // mov x0, x1 - WORD $0xa8c27bfd // ldp fp, lr, [sp], #32 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 WORD $0xd65f03c0 // ret LBB0_77: WORD $0xcb020168 // sub x8, x11, x2 WORD $0xf9000068 // str x8, [x3] WORD $0xaa0d03e1 // mov x1, x13 WORD $0xaa0103e0 // mov x0, x1 - WORD $0xa8c27bfd // ldp fp, lr, [sp], #32 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 WORD $0xd65f03c0 // ret - // .p2align 3, 0x00 + WORD $0x00000000 // .p2align 3, 0x00 __SingleQuoteTab: WORD $0x00000006; WORD $0x00000000 // .quad 6 WORD $0x3030755c // .asciz 4, '\\u0000\x00\x00' diff --git a/internal/native/neon/skip_array_arm64.s b/internal/native/neon/skip_array_arm64.s index b293d46f0..ef83bb66c 100644 --- a/internal/native/neon/skip_array_arm64.s +++ b/internal/native/neon/skip_array_arm64.s @@ -5,7 +5,7 @@ #include "funcdata.h" #include "textflag.h" -TEXT ·__skip_array_entry__(SB), NOSPLIT, $96 +TEXT ·__skip_array_entry__(SB), NOSPLIT, $208 NO_LOCAL_POINTERS WORD $0x100000a0 // adr x0, .+20 MOVD R0, ret(FP) @@ -59,45 +59,46 @@ lCPI0_2: // .byte 15 _skip_array: - WORD $0xa9b96ffc // stp x28, x27, [sp, #-112]! - WORD $0xa90167fa // stp x26, x25, [sp, #16] - WORD $0xa9025ff8 // stp x24, x23, [sp, #32] - WORD $0xa90357f6 // stp x22, x21, [sp, #48] - WORD $0xa9044ff4 // stp x20, x19, [sp, #64] - WORD $0xa9057bfd // stp fp, lr, [sp, #80] + WORD $0xd10383ff // sub sp, sp, #224 + WORD $0x6d06a3e9 // stp d9, d8, [sp, #104] + WORD $0xa907effc // stp x28, x27, [sp, #120] + WORD $0xa908e7fa // stp x26, x25, [sp, #136] + WORD $0xa909dff8 // stp x24, x23, [sp, #152] + WORD $0xa90ad7f6 // stp x22, x21, [sp, #168] + WORD $0xa90bcff4 // stp x20, x19, [sp, #184] + WORD $0xa90cfbfd // stp fp, lr, [sp, #200] WORD $0xa93ffbfd // stp fp, lr, [sp, #-8] WORD $0xd10023fd // sub fp, sp, #8 + WORD $0xaa0003e6 // mov x6, x0 Lloh0: - WORD $0x10fffd88 // adr x8, lCPI0_0 $-80(%rip) + WORD $0x10fffd28 // adr x8, lCPI0_0 $-92(%rip) Lloh1: WORD $0x3dc00100 // ldr q0, [x8, lCPI0_0@PAGEOFF] $0(%rip) - WORD $0xaa0203ea // mov x10, x2 - WORD $0x3c808540 // str q0, [x10], #8 - WORD $0xf9400009 // ldr x9, [x0] - WORD $0xaa2903eb // mvn x11, x9 + WORD $0xaa0203e9 // mov x9, x2 + WORD $0x3c808520 // str q0, [x9], #8 + WORD $0x910083e8 // add x8, sp, #32 + WORD $0x9100810a // add x10, x8, #32 WORD $0xf940003c // ldr x28, [x1] - WORD $0xcb0903ec // neg x12, x9 - WORD $0xd100052d // sub x13, x9, #1 - WORD $0x9280000e // mov x14, #-1 - WORD $0x5280002f // mov w15, #1 - WORD $0xd284c010 // mov x16, #9728 - WORD $0xf2c00030 // movk x16, #1, lsl #32 - WORD $0x52800073 // mov w19, #3 - WORD $0x52800084 // mov w4, #4 + WORD $0x9280000b // mov x11, #-1 + WORD $0x5280002c // mov w12, #1 + WORD $0xd284c00d // mov x13, #9728 + WORD $0xf2c0002d // movk x13, #1, lsl #32 + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 WORD $0x4f01e440 // movi.16b v0, #34 WORD $0x4f02e781 // movi.16b v1, #92 Lloh2: - WORD $0x10fffbe8 // adr x8, lCPI0_1 $-132(%rip) + WORD $0x10fffbc8 // adr x8, lCPI0_1 $-136(%rip) Lloh3: WORD $0x3dc00102 // ldr q2, [x8, lCPI0_1@PAGEOFF] $0(%rip) Lloh4: - WORD $0x10fffc28 // adr x8, lCPI0_2 $-124(%rip) + WORD $0x10fffc08 // adr x8, lCPI0_2 $-128(%rip) Lloh5: WORD $0x3dc00103 // ldr q3, [x8, lCPI0_2@PAGEOFF] $0(%rip) - WORD $0x92f00006 // mov x6, #9223372036854775807 + WORD $0x3200f3f0 // mov w16, #1431655765 + WORD $0x92f00011 // mov x17, #9223372036854775807 WORD $0x4f01e404 // movi.16b v4, #32 - WORD $0xb20903e7 // mov x7, #36028797027352576 - WORD $0xf2800027 // movk x7, #1 + WORD $0x3201f3e4 // mov w4, #-1431655766 WORD $0x4f01e5c5 // movi.16b v5, #46 WORD $0x4f01e566 // movi.16b v6, #43 WORD $0x4f01e5a7 // movi.16b v7, #45 @@ -105,2253 +106,3351 @@ Lloh5: WORD $0x4f00e551 // movi.16b v17, #10 WORD $0x4f06e7f2 // movi.16b v18, #223 WORD $0x4f02e4b3 // movi.16b v19, #69 - WORD $0x52800025 // mov w5, #1 + WORD $0x4f01e594 // movi.16b v20, #44 + WORD $0x4f02e7b5 // movi.16b v21, #93 + WORD $0x4f02e776 // movi.16b v22, #91 + WORD $0x6f00e417 // movi.2d v23, #0000000000000000 + WORD $0x4f03e778 // movi.16b v24, #123 + WORD $0x4f03e7b9 // movi.16b v25, #125 + WORD $0x52800033 // mov w19, #1 LBB0_1: - WORD $0xf9400408 // ldr x8, [x0, #8] - WORD $0xeb08039f // cmp x28, x8 + WORD $0xa94038db // ldp x27, x14, [x6] + WORD $0xeb0e039f // cmp x28, x14 WORD $0x54000162 // b.hs LBB0_6 $44(%rip) - WORD $0x387c6931 // ldrb w17, [x9, x28] - WORD $0x7100363f // cmp w17, #13 + WORD $0x387c6b68 // ldrb w8, [x27, x28] + WORD $0x7100351f // cmp w8, #13 WORD $0x54000100 // b.eq LBB0_6 $32(%rip) - WORD $0x7100823f // cmp w17, #32 + WORD $0x7100811f // cmp w8, #32 WORD $0x540000c0 // b.eq LBB0_6 $24(%rip) - WORD $0x51002e31 // sub w17, w17, #11 - WORD $0x31000a3f // cmn w17, #2 + WORD $0x51002d08 // sub w8, w8, #11 + WORD $0x3100091f // cmn w8, #2 WORD $0x54000062 // b.hs LBB0_6 $12(%rip) - WORD $0xaa1c03fb // mov x27, x28 + WORD $0xaa1c03e8 // mov x8, x28 WORD $0x14000031 // b LBB0_22 $196(%rip) LBB0_6: - WORD $0x9100079b // add x27, x28, #1 - WORD $0xeb08037f // cmp x27, x8 + WORD $0x91000788 // add x8, x28, #1 + WORD $0xeb0e011f // cmp x8, x14 WORD $0x54000122 // b.hs LBB0_10 $36(%rip) - WORD $0x387b6931 // ldrb w17, [x9, x27] - WORD $0x7100363f // cmp w17, #13 + WORD $0x38686b60 // ldrb w0, [x27, x8] + WORD $0x7100341f // cmp w0, #13 WORD $0x540000c0 // b.eq LBB0_10 $24(%rip) - WORD $0x7100823f // cmp w17, #32 + WORD $0x7100801f // cmp w0, #32 WORD $0x54000080 // b.eq LBB0_10 $16(%rip) - WORD $0x51002e31 // sub w17, w17, #11 - WORD $0x31000a3f // cmn w17, #2 + WORD $0x51002c00 // sub w0, w0, #11 + WORD $0x3100081f // cmn w0, #2 WORD $0x540004c3 // b.lo LBB0_22 $152(%rip) LBB0_10: - WORD $0x91000b9b // add x27, x28, #2 - WORD $0xeb08037f // cmp x27, x8 + WORD $0x91000b88 // add x8, x28, #2 + WORD $0xeb0e011f // cmp x8, x14 WORD $0x54000122 // b.hs LBB0_14 $36(%rip) - WORD $0x387b6931 // ldrb w17, [x9, x27] - WORD $0x7100363f // cmp w17, #13 + WORD $0x38686b60 // ldrb w0, [x27, x8] + WORD $0x7100341f // cmp w0, #13 WORD $0x540000c0 // b.eq LBB0_14 $24(%rip) - WORD $0x7100823f // cmp w17, #32 + WORD $0x7100801f // cmp w0, #32 WORD $0x54000080 // b.eq LBB0_14 $16(%rip) - WORD $0x51002e31 // sub w17, w17, #11 - WORD $0x31000a3f // cmn w17, #2 + WORD $0x51002c00 // sub w0, w0, #11 + WORD $0x3100081f // cmn w0, #2 WORD $0x54000363 // b.lo LBB0_22 $108(%rip) LBB0_14: - WORD $0x91000f9b // add x27, x28, #3 - WORD $0xeb08037f // cmp x27, x8 + WORD $0x91000f88 // add x8, x28, #3 + WORD $0xeb0e011f // cmp x8, x14 WORD $0x54000122 // b.hs LBB0_18 $36(%rip) - WORD $0x387b6931 // ldrb w17, [x9, x27] - WORD $0x7100363f // cmp w17, #13 + WORD $0x38686b60 // ldrb w0, [x27, x8] + WORD $0x7100341f // cmp w0, #13 WORD $0x540000c0 // b.eq LBB0_18 $24(%rip) - WORD $0x7100823f // cmp w17, #32 + WORD $0x7100801f // cmp w0, #32 WORD $0x54000080 // b.eq LBB0_18 $16(%rip) - WORD $0x51002e31 // sub w17, w17, #11 - WORD $0x31000a3f // cmn w17, #2 + WORD $0x51002c00 // sub w0, w0, #11 + WORD $0x3100081f // cmn w0, #2 WORD $0x54000203 // b.lo LBB0_22 $64(%rip) LBB0_18: - WORD $0x9100139b // add x27, x28, #4 - WORD $0xeb08037f // cmp x27, x8 - WORD $0x5400e902 // b.hs LBB0_395 $7456(%rip) + WORD $0x91001388 // add x8, x28, #4 + WORD $0xeb0e011f // cmp x8, x14 + WORD $0x540170a2 // b.hs LBB0_574 $11796(%rip) LBB0_19: - WORD $0x387b6931 // ldrb w17, [x9, x27] - WORD $0x7100823f // cmp w17, #32 - WORD $0x9ad121f1 // lsl x17, x15, x17 - WORD $0x8a100231 // and x17, x17, x16 - WORD $0xfa409a24 // ccmp x17, #0, #4, ls + WORD $0x38686b60 // ldrb w0, [x27, x8] + WORD $0x7100801f // cmp w0, #32 + WORD $0x9ac02180 // lsl x0, x12, x0 + WORD $0x8a0d0000 // and x0, x0, x13 + WORD $0xfa409804 // ccmp x0, #0, #4, ls WORD $0x540000a0 // b.eq LBB0_21 $20(%rip) - WORD $0x9100077b // add x27, x27, #1 - WORD $0xeb1b011f // cmp x8, x27 + WORD $0x91000508 // add x8, x8, #1 + WORD $0xeb0801df // cmp x14, x8 WORD $0x54ffff01 // b.ne LBB0_19 $-32(%rip) - WORD $0x14000735 // b LBB0_393 $7380(%rip) + WORD $0x14000b7c // b LBB0_575 $11760(%rip) LBB0_21: - WORD $0xeb08037f // cmp x27, x8 - WORD $0x5400e662 // b.hs LBB0_393 $7372(%rip) + WORD $0xeb0e011f // cmp x8, x14 + WORD $0x54016f42 // b.hs LBB0_575 $11752(%rip) LBB0_22: - WORD $0x9100077c // add x28, x27, #1 + WORD $0x9100051c // add x28, x8, #1 WORD $0xf900003c // str x28, [x1] - WORD $0x8b1b013e // add lr, x9, x27 - WORD $0x394003d5 // ldrb w21, [lr] - WORD $0x3400e5d5 // cbz w21, LBB0_393 $7352(%rip) - WORD $0xd10004b4 // sub x20, x5, #1 - WORD $0xf8747948 // ldr x8, [x10, x20, lsl #3] - WORD $0xb10005df // cmn x14, #1 - WORD $0x9a8e036e // csel x14, x27, x14, eq - WORD $0x71000d1f // cmp w8, #3 - WORD $0x54000c8c // b.gt LBB0_39 $400(%rip) - WORD $0x7100051f // cmp w8, #1 - WORD $0x540018c0 // b.eq LBB0_54 $792(%rip) - WORD $0x7100091f // cmp w8, #2 - WORD $0x54002c20 // b.eq LBB0_94 $1412(%rip) - WORD $0x71000d1f // cmp w8, #3 - WORD $0x540019c1 // b.ne LBB0_58 $824(%rip) - WORD $0x71008abf // cmp w21, #34 - WORD $0x5400f0e1 // b.ne LBB0_425 $7708(%rip) - WORD $0x3200f3e6 // mov w6, #1431655765 - WORD $0xf8347944 // str x4, [x10, x20, lsl #3] - WORD $0xf9400408 // ldr x8, [x0, #8] - WORD $0xeb1c0114 // subs x20, x8, x28 - WORD $0x372831a3 // tbnz w3, #5, LBB0_109 $1588(%rip) - WORD $0x5400e540 // b.eq LBB0_398 $7336(%rip) - WORD $0xf101029f // cmp x20, #64 - WORD $0x54009103 // b.lo LBB0_250 $4640(%rip) - WORD $0xd2800005 // mov x5, #0 - WORD $0x92800008 // mov x8, #-1 -LBB0_32: - WORD $0x8b1c0131 // add x17, x9, x28 - WORD $0xad405634 // ldp q20, q21, [x17] - WORD $0xad415e36 // ldp q22, q23, [x17, #32] - WORD $0x6e208e98 // cmeq.16b v24, v20, v0 - WORD $0x6e208eb9 // cmeq.16b v25, v21, v0 - WORD $0x6e208eda // cmeq.16b v26, v22, v0 - WORD $0x6e208efb // cmeq.16b v27, v23, v0 - WORD $0x6e218e94 // cmeq.16b v20, v20, v1 - WORD $0x6e218eb5 // cmeq.16b v21, v21, v1 - WORD $0x6e218ed6 // cmeq.16b v22, v22, v1 - WORD $0x6e218ef7 // cmeq.16b v23, v23, v1 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260311 // fmov w17, s24 - WORD $0x4e221f38 // and.16b v24, v25, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260307 // fmov w7, s24 - WORD $0x4e221f58 // and.16b v24, v26, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260315 // fmov w21, s24 - WORD $0x4e221f78 // and.16b v24, v27, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260316 // fmov w22, s24 - WORD $0x4e221e94 // and.16b v20, v20, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260297 // fmov w23, s20 - WORD $0x4e221eb4 // and.16b v20, v21, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260298 // fmov w24, s20 - WORD $0x4e221ed4 // and.16b v20, v22, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260299 // fmov w25, s20 - WORD $0x4e221ef4 // and.16b v20, v23, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e26029a // fmov w26, s20 - WORD $0xd3607eb5 // lsl x21, x21, #32 - WORD $0xaa16c2b5 // orr x21, x21, x22, lsl #48 - WORD $0x53103ce7 // lsl w7, w7, #16 - WORD $0xaa0702a7 // orr x7, x21, x7 - WORD $0xaa1100e7 // orr x7, x7, x17 - WORD $0xd3607f31 // lsl x17, x25, #32 - WORD $0xaa1ac231 // orr x17, x17, x26, lsl #48 - WORD $0x53103f15 // lsl w21, w24, #16 - WORD $0xaa150231 // orr x17, x17, x21 - WORD $0xaa170231 // orr x17, x17, x23 - WORD $0xb5000111 // cbnz x17, LBB0_36 $32(%rip) - WORD $0xb5000185 // cbnz x5, LBB0_37 $48(%rip) - WORD $0xb50002c7 // cbnz x7, LBB0_38 $88(%rip) -LBB0_35: - WORD $0xd1010294 // sub x20, x20, #64 - WORD $0x9101039c // add x28, x28, #64 - WORD $0xf100fe9f // cmp x20, #63 - WORD $0x54fff8a8 // b.hi LBB0_32 $-236(%rip) - WORD $0x14000441 // b LBB0_247 $4356(%rip) + WORD $0x8b08037e // add lr, x27, x8 + WORD $0x394003c5 // ldrb w5, [lr] + WORD $0x34016ea5 // cbz w5, LBB0_575 $11732(%rip) + WORD $0xd100066e // sub x14, x19, #1 + WORD $0xf86e7920 // ldr x0, [x9, x14, lsl #3] + WORD $0xb100057f // cmn x11, #1 + WORD $0x9a8b010b // csel x11, x8, x11, eq + WORD $0x71000c1f // cmp w0, #3 + WORD $0x54000ccc // b.gt LBB0_40 $408(%rip) + WORD $0x7100041f // cmp w0, #1 + WORD $0x54001940 // b.eq LBB0_56 $808(%rip) + WORD $0x7100081f // cmp w0, #2 + WORD $0x54002cc0 // b.eq LBB0_97 $1432(%rip) + WORD $0x71000c1f // cmp w0, #3 + WORD $0x540019e1 // b.ne LBB0_60 $828(%rip) + WORD $0x710088bf // cmp w5, #34 + WORD $0x54015fa1 // b.ne LBB0_540 $11252(%rip) + WORD $0xf82e792f // str x15, [x9, x14, lsl #3] + WORD $0x373031a3 // tbnz w3, #6, LBB0_113 $1588(%rip) + WORD $0xf94004ce // ldr x14, [x6, #8] + WORD $0xeb1c01d6 // subs x22, x14, x28 + WORD $0x37284563 // tbnz w3, #5, LBB0_141 $2220(%rip) + WORD $0x54015fa0 // b.eq LBB0_543 $11252(%rip) + WORD $0xf10102df // cmp x22, #64 + WORD $0x5400f843 // b.lo LBB0_365 $7944(%rip) + WORD $0xd2800013 // mov x19, #0 + WORD $0x92800000 // mov x0, #-1 +LBB0_33: + WORD $0x8b1c036e // add x14, x27, x28 + WORD $0xad406dda // ldp q26, q27, [x14] + WORD $0xad4175dc // ldp q28, q29, [x14, #32] + WORD $0x6e208f5e // cmeq.16b v30, v26, v0 + WORD $0x6e208f7f // cmeq.16b v31, v27, v0 + WORD $0x6e208f88 // cmeq.16b v8, v28, v0 + WORD $0x6e208fa9 // cmeq.16b v9, v29, v0 + WORD $0x6e218f5a // cmeq.16b v26, v26, v1 + WORD $0x6e218f7b // cmeq.16b v27, v27, v1 + WORD $0x6e218f9c // cmeq.16b v28, v28, v1 + WORD $0x6e218fbd // cmeq.16b v29, v29, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603ce // fmov w14, s30 + WORD $0x4e221ffe // and.16b v30, v31, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603c5 // fmov w5, s30 + WORD $0x4e221d1e // and.16b v30, v8, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d4 // fmov w20, s30 + WORD $0x4e221d3e // and.16b v30, v9, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d5 // fmov w21, s30 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260357 // fmov w23, s26 + WORD $0x4e221f7a // and.16b v26, v27, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260358 // fmov w24, s26 + WORD $0x4e221f9a // and.16b v26, v28, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260359 // fmov w25, s26 + WORD $0x4e221fba // and.16b v26, v29, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e26035a // fmov w26, s26 + WORD $0xd3607e94 // lsl x20, x20, #32 + WORD $0xaa15c294 // orr x20, x20, x21, lsl #48 + WORD $0x53103ca5 // lsl w5, w5, #16 + WORD $0xaa050285 // orr x5, x20, x5 + WORD $0xaa0e00ae // orr x14, x5, x14 + WORD $0xd3607f25 // lsl x5, x25, #32 + WORD $0xaa1ac0a5 // orr x5, x5, x26, lsl #48 + WORD $0x53103f14 // lsl w20, w24, #16 + WORD $0xaa1400a5 // orr x5, x5, x20 + WORD $0xaa1700a5 // orr x5, x5, x23 + WORD $0xb5000105 // cbnz x5, LBB0_37 $32(%rip) + WORD $0xb5000193 // cbnz x19, LBB0_38 $48(%rip) + WORD $0xb50002ce // cbnz x14, LBB0_39 $88(%rip) LBB0_36: - WORD $0xb100051f // cmn x8, #1 - WORD $0xdac00235 // rbit x21, x17 - WORD $0xdac012b5 // clz x21, x21 - WORD $0x8b1c02b5 // add x21, x21, x28 - WORD $0x9a951108 // csel x8, x8, x21, ne + WORD $0xd10102d6 // sub x22, x22, #64 + WORD $0x9101039c // add x28, x28, #64 + WORD $0xf100fedf // cmp x22, #63 + WORD $0x54fff8a8 // b.hi LBB0_33 $-236(%rip) + WORD $0x14000777 // b LBB0_361 $7644(%rip) LBB0_37: - WORD $0x8a250235 // bic x21, x17, x5 - WORD $0xaa1504b6 // orr x22, x5, x21, lsl #1 - WORD $0x8a360231 // bic x17, x17, x22 - WORD $0x9201f231 // and x17, x17, #0xaaaaaaaaaaaaaaaa - WORD $0xab150231 // adds x17, x17, x21 - WORD $0x1a9f37e5 // cset w5, hs - WORD $0xd37ffa31 // lsl x17, x17, #1 - WORD $0xd200f231 // eor x17, x17, #0x5555555555555555 - WORD $0x8a160231 // and x17, x17, x22 - WORD $0x8a3100e7 // bic x7, x7, x17 - WORD $0xb4fffd87 // cbz x7, LBB0_35 $-80(%rip) + WORD $0xb100041f // cmn x0, #1 + WORD $0xdac000b4 // rbit x20, x5 + WORD $0xdac01294 // clz x20, x20 + WORD $0x8b1c0294 // add x20, x20, x28 + WORD $0x9a941000 // csel x0, x0, x20, ne LBB0_38: - WORD $0xdac000f1 // rbit x17, x7 - WORD $0xdac01231 // clz x17, x17 - WORD $0x8b1c0231 // add x17, x17, x28 - WORD $0x140001aa // b LBB0_121 $1704(%rip) + WORD $0x8a3300b4 // bic x20, x5, x19 + WORD $0xaa140675 // orr x21, x19, x20, lsl #1 + WORD $0x8a3500a5 // bic x5, x5, x21 + WORD $0x9201f0a5 // and x5, x5, #0xaaaaaaaaaaaaaaaa + WORD $0xab1400a5 // adds x5, x5, x20 + WORD $0x1a9f37f3 // cset w19, hs + WORD $0xd37ff8a5 // lsl x5, x5, #1 + WORD $0xd200f0a5 // eor x5, x5, #0x5555555555555555 + WORD $0x8a1500a5 // and x5, x5, x21 + WORD $0x8a2501ce // bic x14, x14, x5 + WORD $0xb4fffd8e // cbz x14, LBB0_36 $-80(%rip) LBB0_39: - WORD $0x7100111f // cmp w8, #4 - WORD $0x54000d00 // b.eq LBB0_56 $416(%rip) - WORD $0x7100151f // cmp w8, #5 - WORD $0x54002060 // b.eq LBB0_96 $1036(%rip) - WORD $0x7100191f // cmp w8, #6 - WORD $0x54000d61 // b.ne LBB0_58 $428(%rip) - WORD $0x71008abf // cmp w21, #34 - WORD $0x54001f81 // b.ne LBB0_95 $1008(%rip) - WORD $0x3200f3e4 // mov w4, #1431655765 - WORD $0x52800048 // mov w8, #2 - WORD $0xf8347948 // str x8, [x10, x20, lsl #3] - WORD $0xf9400408 // ldr x8, [x0, #8] - WORD $0xeb1c0114 // subs x20, x8, x28 - WORD $0x37283923 // tbnz w3, #5, LBB0_138 $1828(%rip) - WORD $0x5400d8c0 // b.eq LBB0_398 $6936(%rip) - WORD $0xf101029f // cmp x20, #64 - WORD $0x54009423 // b.lo LBB0_277 $4740(%rip) - WORD $0xd2800005 // mov x5, #0 - WORD $0x92800008 // mov x8, #-1 -LBB0_47: - WORD $0x8b1c0131 // add x17, x9, x28 - WORD $0xad405634 // ldp q20, q21, [x17] - WORD $0xad415e36 // ldp q22, q23, [x17, #32] - WORD $0x6e208e98 // cmeq.16b v24, v20, v0 - WORD $0x6e208eb9 // cmeq.16b v25, v21, v0 - WORD $0x6e208eda // cmeq.16b v26, v22, v0 - WORD $0x6e208efb // cmeq.16b v27, v23, v0 - WORD $0x6e218e94 // cmeq.16b v20, v20, v1 - WORD $0x6e218eb5 // cmeq.16b v21, v21, v1 - WORD $0x6e218ed6 // cmeq.16b v22, v22, v1 - WORD $0x6e218ef7 // cmeq.16b v23, v23, v1 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260311 // fmov w17, s24 - WORD $0x4e221f38 // and.16b v24, v25, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260307 // fmov w7, s24 - WORD $0x4e221f58 // and.16b v24, v26, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260315 // fmov w21, s24 - WORD $0x4e221f78 // and.16b v24, v27, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260316 // fmov w22, s24 - WORD $0x4e221e94 // and.16b v20, v20, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260297 // fmov w23, s20 - WORD $0x4e221eb4 // and.16b v20, v21, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260298 // fmov w24, s20 - WORD $0x4e221ed4 // and.16b v20, v22, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260299 // fmov w25, s20 - WORD $0x4e221ef4 // and.16b v20, v23, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e26029a // fmov w26, s20 - WORD $0xd3607eb5 // lsl x21, x21, #32 - WORD $0xaa16c2b5 // orr x21, x21, x22, lsl #48 - WORD $0x53103ce7 // lsl w7, w7, #16 - WORD $0xaa0702a7 // orr x7, x21, x7 - WORD $0xaa1100e7 // orr x7, x7, x17 - WORD $0xd3607f31 // lsl x17, x25, #32 - WORD $0xaa1ac231 // orr x17, x17, x26, lsl #48 - WORD $0x53103f15 // lsl w21, w24, #16 - WORD $0xaa150231 // orr x17, x17, x21 - WORD $0xaa170231 // orr x17, x17, x23 - WORD $0xb5000111 // cbnz x17, LBB0_51 $32(%rip) - WORD $0xb5000185 // cbnz x5, LBB0_52 $48(%rip) - WORD $0xb50002c7 // cbnz x7, LBB0_53 $88(%rip) -LBB0_50: - WORD $0xd1010294 // sub x20, x20, #64 - WORD $0x9101039c // add x28, x28, #64 - WORD $0xf100fe9f // cmp x20, #63 - WORD $0x54fff8a8 // b.hi LBB0_47 $-236(%rip) - WORD $0x1400045e // b LBB0_275 $4472(%rip) -LBB0_51: - WORD $0xb100051f // cmn x8, #1 - WORD $0xdac00235 // rbit x21, x17 - WORD $0xdac012b5 // clz x21, x21 - WORD $0x8b1c02b5 // add x21, x21, x28 - WORD $0x9a951108 // csel x8, x8, x21, ne + WORD $0xdac001ce // rbit x14, x14 + WORD $0xdac011ce // clz x14, x14 + WORD $0x8b1c01ce // add x14, x14, x28 + WORD $0x910005dc // add x28, x14, #1 + WORD $0xb6f8babc // tbz x28, #63, LBB0_283 $5972(%rip) + WORD $0x14000aa4 // b LBB0_542 $10896(%rip) +LBB0_40: + WORD $0x7100101f // cmp w0, #4 + WORD $0x54000d40 // b.eq LBB0_58 $424(%rip) + WORD $0x7100141f // cmp w0, #5 + WORD $0x540020c0 // b.eq LBB0_99 $1048(%rip) + WORD $0x7100181f // cmp w0, #6 + WORD $0x54000d41 // b.ne LBB0_60 $424(%rip) + WORD $0x710088bf // cmp w5, #34 + WORD $0x54001fe1 // b.ne LBB0_98 $1020(%rip) + WORD $0x52800040 // mov w0, #2 + WORD $0xf82e7920 // str x0, [x9, x14, lsl #3] + WORD $0x37303143 // tbnz w3, #6, LBB0_132 $1576(%rip) + WORD $0xf94004ce // ldr x14, [x6, #8] + WORD $0xeb1c01d6 // subs x22, x14, x28 + WORD $0x37285103 // tbnz w3, #5, LBB0_182 $2592(%rip) + WORD $0x540152e0 // b.eq LBB0_543 $10844(%rip) + WORD $0xf10102df // cmp x22, #64 + WORD $0x5400fba3 // b.lo LBB0_393 $8052(%rip) + WORD $0xd2800013 // mov x19, #0 + WORD $0x92800000 // mov x0, #-1 +LBB0_49: + WORD $0x8b1c036e // add x14, x27, x28 + WORD $0xad406dda // ldp q26, q27, [x14] + WORD $0xad4175dc // ldp q28, q29, [x14, #32] + WORD $0x6e208f5e // cmeq.16b v30, v26, v0 + WORD $0x6e208f7f // cmeq.16b v31, v27, v0 + WORD $0x6e208f88 // cmeq.16b v8, v28, v0 + WORD $0x6e208fa9 // cmeq.16b v9, v29, v0 + WORD $0x6e218f5a // cmeq.16b v26, v26, v1 + WORD $0x6e218f7b // cmeq.16b v27, v27, v1 + WORD $0x6e218f9c // cmeq.16b v28, v28, v1 + WORD $0x6e218fbd // cmeq.16b v29, v29, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603ce // fmov w14, s30 + WORD $0x4e221ffe // and.16b v30, v31, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603c5 // fmov w5, s30 + WORD $0x4e221d1e // and.16b v30, v8, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d4 // fmov w20, s30 + WORD $0x4e221d3e // and.16b v30, v9, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d5 // fmov w21, s30 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260357 // fmov w23, s26 + WORD $0x4e221f7a // and.16b v26, v27, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260358 // fmov w24, s26 + WORD $0x4e221f9a // and.16b v26, v28, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260359 // fmov w25, s26 + WORD $0x4e221fba // and.16b v26, v29, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e26035a // fmov w26, s26 + WORD $0xd3607e94 // lsl x20, x20, #32 + WORD $0xaa15c294 // orr x20, x20, x21, lsl #48 + WORD $0x53103ca5 // lsl w5, w5, #16 + WORD $0xaa050285 // orr x5, x20, x5 + WORD $0xaa0e00ae // orr x14, x5, x14 + WORD $0xd3607f25 // lsl x5, x25, #32 + WORD $0xaa1ac0a5 // orr x5, x5, x26, lsl #48 + WORD $0x53103f14 // lsl w20, w24, #16 + WORD $0xaa1400a5 // orr x5, x5, x20 + WORD $0xaa1700a5 // orr x5, x5, x23 + WORD $0xb5000105 // cbnz x5, LBB0_53 $32(%rip) + WORD $0xb5000193 // cbnz x19, LBB0_54 $48(%rip) + WORD $0xb50002ce // cbnz x14, LBB0_55 $88(%rip) LBB0_52: - WORD $0x8a250235 // bic x21, x17, x5 - WORD $0xaa1504b6 // orr x22, x5, x21, lsl #1 - WORD $0x8a360231 // bic x17, x17, x22 - WORD $0x9201f231 // and x17, x17, #0xaaaaaaaaaaaaaaaa - WORD $0xab150231 // adds x17, x17, x21 - WORD $0x1a9f37e5 // cset w5, hs - WORD $0xd37ffa31 // lsl x17, x17, #1 - WORD $0xd200f231 // eor x17, x17, #0x5555555555555555 - WORD $0x8a160231 // and x17, x17, x22 - WORD $0x8a3100e7 // bic x7, x7, x17 - WORD $0xb4fffd87 // cbz x7, LBB0_50 $-80(%rip) + WORD $0xd10102d6 // sub x22, x22, #64 + WORD $0x9101039c // add x28, x28, #64 + WORD $0xf100fedf // cmp x22, #63 + WORD $0x54fff8a8 // b.hi LBB0_49 $-236(%rip) + WORD $0x1400079a // b LBB0_391 $7784(%rip) LBB0_53: - WORD $0xdac000f1 // rbit x17, x7 - WORD $0xdac01231 // clz x17, x17 - WORD $0x8b1c0231 // add x17, x17, x28 - WORD $0x140001e6 // b LBB0_150 $1944(%rip) + WORD $0xb100041f // cmn x0, #1 + WORD $0xdac000b4 // rbit x20, x5 + WORD $0xdac01294 // clz x20, x20 + WORD $0x8b1c0294 // add x20, x20, x28 + WORD $0x9a941000 // csel x0, x0, x20, ne LBB0_54: - WORD $0x7100b2bf // cmp w21, #44 - WORD $0x540017e0 // b.eq LBB0_105 $764(%rip) - WORD $0x710176bf // cmp w21, #93 - WORD $0x54001420 // b.eq LBB0_97 $644(%rip) - WORD $0x140006c3 // b LBB0_425 $6924(%rip) + WORD $0x8a3300b4 // bic x20, x5, x19 + WORD $0xaa140675 // orr x21, x19, x20, lsl #1 + WORD $0x8a3500a5 // bic x5, x5, x21 + WORD $0x9201f0a5 // and x5, x5, #0xaaaaaaaaaaaaaaaa + WORD $0xab1400a5 // adds x5, x5, x20 + WORD $0x1a9f37f3 // cset w19, hs + WORD $0xd37ff8a5 // lsl x5, x5, #1 + WORD $0xd200f0a5 // eor x5, x5, #0x5555555555555555 + WORD $0x8a1500a5 // and x5, x5, x21 + WORD $0x8a2501ce // bic x14, x14, x5 + WORD $0xb4fffd8e // cbz x14, LBB0_52 $-80(%rip) +LBB0_55: + WORD $0xdac001ce // rbit x14, x14 + WORD $0xdac011ce // clz x14, x14 + WORD $0x8b1c01ce // add x14, x14, x28 + WORD $0x910005dc // add x28, x14, #1 + WORD $0xb6f854dc // tbz x28, #63, LBB0_194 $2712(%rip) + WORD $0x14000a3e // b LBB0_542 $10488(%rip) LBB0_56: - WORD $0x7100eabf // cmp w21, #58 - WORD $0x5400d821 // b.ne LBB0_425 $6916(%rip) - WORD $0xf834795f // str xzr, [x10, x20, lsl #3] - WORD $0xf9400045 // ldr x5, [x2] - WORD $0xaa0e03e8 // mov x8, x14 - WORD $0xb5ffdce5 // cbnz x5, LBB0_1 $-1124(%rip) - WORD $0x14000656 // b LBB0_394 $6488(%rip) + WORD $0x7100b0bf // cmp w5, #44 + WORD $0x540017c0 // b.eq LBB0_109 $760(%rip) + WORD $0x710174bf // cmp w5, #93 + WORD $0x54001440 // b.eq LBB0_100 $648(%rip) + WORD $0x14000a35 // b LBB0_540 $10452(%rip) LBB0_58: - WORD $0xf9000054 // str x20, [x2] - WORD $0x92800028 // mov x8, #-2 - WORD $0x71016abf // cmp w21, #90 - WORD $0x540013cc // b.gt LBB0_99 $632(%rip) -LBB0_59: - WORD $0x5100c2b1 // sub w17, w21, #48 - WORD $0x71002a3f // cmp w17, #10 - WORD $0x54003d02 // b.hs LBB0_154 $1952(%rip) - WORD $0xf9400408 // ldr x8, [x0, #8] - WORD $0xeb1b0115 // subs x21, x8, x27 - WORD $0x5400cbc0 // b.eq LBB0_399 $6520(%rip) - WORD $0x394003c8 // ldrb w8, [lr] - WORD $0x7100c11f // cmp w8, #48 - WORD $0x54000141 // b.ne LBB0_65 $40(%rip) - WORD $0xf10006bf // cmp x21, #1 - WORD $0x54004280 // b.eq LBB0_170 $2128(%rip) - WORD $0x387c6928 // ldrb w8, [x9, x28] - WORD $0x5100b908 // sub w8, w8, #46 - WORD $0x7100dd1f // cmp w8, #55 - WORD $0x54004208 // b.hi LBB0_170 $2112(%rip) - WORD $0x9ac821e8 // lsl x8, x15, x8 - WORD $0xea07011f // tst x8, x7 - WORD $0x540041a0 // b.eq LBB0_170 $2100(%rip) -LBB0_65: - WORD $0xf10042bf // cmp x21, #16 - WORD $0x5400a5c3 // b.lo LBB0_333 $5304(%rip) - WORD $0xd2800016 // mov x22, #0 + WORD $0x7100e8bf // cmp w5, #58 + WORD $0x54014661 // b.ne LBB0_540 $10444(%rip) + WORD $0xf82e793f // str xzr, [x9, x14, lsl #3] + WORD $0x14000569 // b LBB0_284 $5540(%rip) +LBB0_60: + WORD $0xf900004e // str x14, [x2] + WORD $0x92800020 // mov x0, #-2 + WORD $0x710168bf // cmp w5, #90 + WORD $0x5400144c // b.gt LBB0_102 $648(%rip) +LBB0_61: + WORD $0x5100c0ae // sub w14, w5, #48 + WORD $0x710029df // cmp w14, #10 + WORD $0x54003ba2 // b.hs LBB0_154 $1908(%rip) + WORD $0xf94004ce // ldr x14, [x6, #8] + WORD $0x37301ee3 // tbnz w3, #6, LBB0_120 $988(%rip) + WORD $0xeb0801da // subs x26, x14, x8 + WORD $0x540145e0 // b.eq LBB0_544 $10428(%rip) + WORD $0x394003ce // ldrb w14, [lr] + WORD $0x7100c1df // cmp w14, #48 + WORD $0x54000181 // b.ne LBB0_68 $48(%rip) + WORD $0xf100075f // cmp x26, #1 + WORD $0x5400aaa0 // b.eq LBB0_283 $5460(%rip) + WORD $0x387c6b6e // ldrb w14, [x27, x28] + WORD $0x5100b9ce // sub w14, w14, #46 + WORD $0x7100dddf // cmp w14, #55 + WORD $0x5400aa28 // b.hi LBB0_283 $5444(%rip) + WORD $0x9ace218e // lsl x14, x12, x14 + WORD $0xb20903e0 // mov x0, #36028797027352576 + WORD $0xf2800020 // movk x0, #1 + WORD $0xea0001df // tst x14, x0 + WORD $0x5400a980 // b.eq LBB0_283 $5424(%rip) +LBB0_68: + WORD $0xf100435f // cmp x26, #16 + WORD $0x54011203 // b.lo LBB0_456 $8768(%rip) + WORD $0xd280000e // mov x14, #0 WORD $0xd280001c // mov x28, #0 - WORD $0x92800014 // mov x20, #-1 - WORD $0x92800005 // mov x5, #-1 - WORD $0x92800008 // mov x8, #-1 -LBB0_67: - WORD $0x3cfc6bd4 // ldr q20, [lr, x28] - WORD $0x6e258e95 // cmeq.16b v21, v20, v5 - WORD $0x6e268e96 // cmeq.16b v22, v20, v6 - WORD $0x6e278e97 // cmeq.16b v23, v20, v7 - WORD $0x4e308698 // add.16b v24, v20, v16 - WORD $0x6e383638 // cmhi.16b v24, v17, v24 - WORD $0x4e321e94 // and.16b v20, v20, v18 - WORD $0x6e338e94 // cmeq.16b v20, v20, v19 - WORD $0x4eb71ed6 // orr.16b v22, v22, v23 - WORD $0x4eb51f17 // orr.16b v23, v24, v21 - WORD $0x4eb61e98 // orr.16b v24, v20, v22 - WORD $0x4eb81ef7 // orr.16b v23, v23, v24 - WORD $0x4e221eb5 // and.16b v21, v21, v2 - WORD $0x4e0302b5 // tbl.16b v21, { v21 }, v3 - WORD $0x4e71bab5 // addv.8h h21, v21 - WORD $0x1e2602b1 // fmov w17, s21 - WORD $0x4e221e94 // and.16b v20, v20, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260297 // fmov w23, s20 - WORD $0x4e221ed4 // and.16b v20, v22, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260299 // fmov w25, s20 - WORD $0x4e221ef4 // and.16b v20, v23, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260287 // fmov w7, s20 - WORD $0x2a2703e7 // mvn w7, w7 - WORD $0x32103ce7 // orr w7, w7, #0xffff0000 - WORD $0x5ac000e7 // rbit w7, w7 - WORD $0x5ac010e7 // clz w7, w7 - WORD $0x12800004 // mov w4, #-1 - WORD $0x1ac72098 // lsl w24, w4, w7 - WORD $0x0a38023a // bic w26, w17, w24 - WORD $0x0a3802e4 // bic w4, w23, w24 - WORD $0x0a380326 // bic w6, w25, w24 - WORD $0x710040ff // cmp w7, #16 - WORD $0x1a9a0231 // csel w17, w17, w26, eq - WORD $0x1a8402f8 // csel w24, w23, w4, eq - WORD $0x1a860337 // csel w23, w25, w6, eq - WORD $0x51000624 // sub w4, w17, #1 - WORD $0x6a110099 // ands w25, w4, w17 - WORD $0x54006d81 // b.ne LBB0_245 $3504(%rip) - WORD $0x51000704 // sub w4, w24, #1 - WORD $0x6a180099 // ands w25, w4, w24 - WORD $0x54006d21 // b.ne LBB0_245 $3492(%rip) - WORD $0x510006e4 // sub w4, w23, #1 - WORD $0x6a170099 // ands w25, w4, w23 - WORD $0x54006cc1 // b.ne LBB0_245 $3480(%rip) - WORD $0x340000d1 // cbz w17, LBB0_73 $24(%rip) - WORD $0x5ac00231 // rbit w17, w17 - WORD $0x5ac01231 // clz w17, w17 - WORD $0xb100051f // cmn x8, #1 - WORD $0x54006cc1 // b.ne LBB0_246 $3480(%rip) - WORD $0x8b110388 // add x8, x28, x17 -LBB0_73: - WORD $0x340000d8 // cbz w24, LBB0_76 $24(%rip) - WORD $0x5ac00311 // rbit w17, w24 - WORD $0x5ac01231 // clz w17, w17 - WORD $0xb10004bf // cmn x5, #1 - WORD $0x54006c01 // b.ne LBB0_246 $3456(%rip) - WORD $0x8b110385 // add x5, x28, x17 + WORD $0x92800016 // mov x22, #-1 + WORD $0x92800013 // mov x19, #-1 + WORD $0x92800000 // mov x0, #-1 +LBB0_70: + WORD $0x3cfc6bda // ldr q26, [lr, x28] + WORD $0x6e258f5b // cmeq.16b v27, v26, v5 + WORD $0x6e268f5c // cmeq.16b v28, v26, v6 + WORD $0x6e278f5d // cmeq.16b v29, v26, v7 + WORD $0x4e30875e // add.16b v30, v26, v16 + WORD $0x6e3e363e // cmhi.16b v30, v17, v30 + WORD $0x4e321f5a // and.16b v26, v26, v18 + WORD $0x6e338f5a // cmeq.16b v26, v26, v19 + WORD $0x4ebd1f9c // orr.16b v28, v28, v29 + WORD $0x4ebb1fdd // orr.16b v29, v30, v27 + WORD $0x4ebc1f5e // orr.16b v30, v26, v28 + WORD $0x4ebe1fbd // orr.16b v29, v29, v30 + WORD $0x4e221f7b // and.16b v27, v27, v2 + WORD $0x4e03037b // tbl.16b v27, { v27 }, v3 + WORD $0x4e71bb7b // addv.8h h27, v27 + WORD $0x1e260374 // fmov w20, s27 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260355 // fmov w21, s26 + WORD $0x4e221f9a // and.16b v26, v28, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260357 // fmov w23, s26 + WORD $0x4e221fba // and.16b v26, v29, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260345 // fmov w5, s26 + WORD $0x2a2503e5 // mvn w5, w5 + WORD $0x32103ca5 // orr w5, w5, #0xffff0000 + WORD $0x5ac000a5 // rbit w5, w5 + WORD $0x5ac010a5 // clz w5, w5 + WORD $0x1280000f // mov w15, #-1 + WORD $0x1ac521f8 // lsl w24, w15, w5 + WORD $0x0a380299 // bic w25, w20, w24 + WORD $0x0a3802af // bic w15, w21, w24 + WORD $0x0a3802f8 // bic w24, w23, w24 + WORD $0x710040bf // cmp w5, #16 + WORD $0x1a990294 // csel w20, w20, w25, eq + WORD $0x1a8f02b9 // csel w25, w21, w15, eq + WORD $0x1a9802f5 // csel w21, w23, w24, eq + WORD $0x5100068f // sub w15, w20, #1 + WORD $0x6a1401f7 // ands w23, w15, w20 + WORD $0x5400d341 // b.ne LBB0_358 $6760(%rip) + WORD $0x5100072f // sub w15, w25, #1 + WORD $0x6a1901f7 // ands w23, w15, w25 + WORD $0x5400d2e1 // b.ne LBB0_358 $6748(%rip) + WORD $0x510006af // sub w15, w21, #1 + WORD $0x6a1501f7 // ands w23, w15, w21 + WORD $0x5400d281 // b.ne LBB0_358 $6736(%rip) + WORD $0x340000d4 // cbz w20, LBB0_76 $24(%rip) + WORD $0x5ac0028f // rbit w15, w20 + WORD $0x5ac011f4 // clz w20, w15 + WORD $0xb100041f // cmn x0, #1 + WORD $0x5400d281 // b.ne LBB0_359 $6736(%rip) + WORD $0x8b140380 // add x0, x28, x20 LBB0_76: - WORD $0x340000d7 // cbz w23, LBB0_79 $24(%rip) - WORD $0x5ac002f1 // rbit w17, w23 - WORD $0x5ac01231 // clz w17, w17 - WORD $0xb100069f // cmn x20, #1 - WORD $0x54006b41 // b.ne LBB0_246 $3432(%rip) - WORD $0x8b110394 // add x20, x28, x17 + WORD $0x340000d9 // cbz w25, LBB0_79 $24(%rip) + WORD $0x5ac0032f // rbit w15, w25 + WORD $0x5ac011f4 // clz w20, w15 + WORD $0xb100067f // cmn x19, #1 + WORD $0x5400d1c1 // b.ne LBB0_359 $6712(%rip) + WORD $0x8b140393 // add x19, x28, x20 LBB0_79: - WORD $0x710040ff // cmp w7, #16 - WORD $0x54001bc1 // b.ne LBB0_123 $888(%rip) - WORD $0x9100439c // add x28, x28, #16 - WORD $0xd10042d6 // sub x22, x22, #16 - WORD $0x8b1602b7 // add x23, x21, x22 - WORD $0xf1003eff // cmp x23, #15 - WORD $0x54fff6c8 // b.hi LBB0_67 $-296(%rip) - WORD $0x8b1c03d6 // add x22, lr, x28 - WORD $0xeb1c02bf // cmp x21, x28 - WORD $0x54001b00 // b.eq LBB0_124 $864(%rip) + WORD $0x340000d5 // cbz w21, LBB0_82 $24(%rip) + WORD $0x5ac002af // rbit w15, w21 + WORD $0x5ac011f4 // clz w20, w15 + WORD $0xb10006df // cmn x22, #1 + WORD $0x5400d101 // b.ne LBB0_359 $6688(%rip) + WORD $0x8b140396 // add x22, x28, x20 LBB0_82: - WORD $0x8b1702d8 // add x24, x22, x23 - WORD $0x8b1b01b1 // add x17, x13, x27 - WORD $0xcb160235 // sub x21, x17, x22 - WORD $0xcb1e02c7 // sub x7, x22, lr - WORD $0xaa1603fc // mov x28, x22 - WORD $0x14000009 // b LBB0_85 $36(%rip) -LBB0_83: - WORD $0xb10004bf // cmn x5, #1 - WORD $0xaa0703e5 // mov x5, x7 - WORD $0x54001d81 // b.ne LBB0_136 $944(%rip) -LBB0_84: - WORD $0xd10006b5 // sub x21, x21, #1 - WORD $0x910004e7 // add x7, x7, #1 - WORD $0xaa1c03f6 // mov x22, x28 - WORD $0xd10006f7 // sub x23, x23, #1 - WORD $0xb40042d7 // cbz x23, LBB0_184 $2136(%rip) + WORD $0x710040bf // cmp w5, #16 + WORD $0x540033a1 // b.ne LBB0_166 $1652(%rip) + WORD $0x9100439c // add x28, x28, #16 + WORD $0xd10041ce // sub x14, x14, #16 + WORD $0x8b0e0345 // add x5, x26, x14 + WORD $0xf1003cbf // cmp x5, #15 + WORD $0x54fff6c8 // b.hi LBB0_70 $-296(%rip) + WORD $0x8b1c03d5 // add x21, lr, x28 + WORD $0xeb1c035f // cmp x26, x28 + WORD $0x540032e0 // b.eq LBB0_167 $1628(%rip) LBB0_85: - WORD $0x38401791 // ldrb w17, [x28], #1 - WORD $0x5100c224 // sub w4, w17, #48 - WORD $0x7100289f // cmp w4, #10 - WORD $0x54ffff03 // b.lo LBB0_84 $-32(%rip) - WORD $0x7100b63f // cmp w17, #45 - WORD $0x5400016d // b.le LBB0_91 $44(%rip) - WORD $0x7101963f // cmp w17, #101 - WORD $0x54fffe20 // b.eq LBB0_83 $-60(%rip) - WORD $0x7101163f // cmp w17, #69 - WORD $0x54fffde0 // b.eq LBB0_83 $-68(%rip) - WORD $0x7100ba3f // cmp w17, #46 - WORD $0x540017c1 // b.ne LBB0_124 $760(%rip) - WORD $0xb100051f // cmn x8, #1 - WORD $0xaa0703e8 // mov x8, x7 - WORD $0x54fffda0 // b.eq LBB0_84 $-76(%rip) - WORD $0x140000d7 // b LBB0_136 $860(%rip) -LBB0_91: - WORD $0x7100ae3f // cmp w17, #43 - WORD $0x54000060 // b.eq LBB0_93 $12(%rip) - WORD $0x7100b63f // cmp w17, #45 - WORD $0x540016c1 // b.ne LBB0_124 $728(%rip) -LBB0_93: - WORD $0xb100069f // cmn x20, #1 - WORD $0xaa0703f4 // mov x20, x7 - WORD $0x54fffca0 // b.eq LBB0_84 $-108(%rip) - WORD $0x140000cf // b LBB0_136 $828(%rip) + WORD $0x8b0502ba // add x26, x21, x5 + WORD $0xaa3503ee // mvn x14, x21 + WORD $0x8b1b010f // add x15, x8, x27 + WORD $0x8b0f01ce // add x14, x14, x15 + WORD $0xcb1e02bb // sub x27, x21, lr + WORD $0xaa1503fc // mov x28, x21 + WORD $0x14000009 // b LBB0_88 $36(%rip) +LBB0_86: + WORD $0xb100067f // cmn x19, #1 + WORD $0xaa1b03f3 // mov x19, x27 + WORD $0x54003561 // b.ne LBB0_179 $1708(%rip) +LBB0_87: + WORD $0xd10005ce // sub x14, x14, #1 + WORD $0x9100077b // add x27, x27, #1 + WORD $0xaa1c03f5 // mov x21, x28 + WORD $0xd10004a5 // sub x5, x5, #1 + WORD $0xb400a6c5 // cbz x5, LBB0_295 $5336(%rip) +LBB0_88: + WORD $0x38401794 // ldrb w20, [x28], #1 + WORD $0x5100c28f // sub w15, w20, #48 + WORD $0x710029ff // cmp w15, #10 + WORD $0x54ffff03 // b.lo LBB0_87 $-32(%rip) + WORD $0x7100b69f // cmp w20, #45 + WORD $0x5400016d // b.le LBB0_94 $44(%rip) + WORD $0x7101969f // cmp w20, #101 + WORD $0x54fffe20 // b.eq LBB0_86 $-60(%rip) + WORD $0x7101169f // cmp w20, #69 + WORD $0x54fffde0 // b.eq LBB0_86 $-68(%rip) + WORD $0x7100ba9f // cmp w20, #46 + WORD $0x54002f81 // b.ne LBB0_167 $1520(%rip) + WORD $0xb100041f // cmn x0, #1 + WORD $0xaa1b03e0 // mov x0, x27 + WORD $0x54fffda0 // b.eq LBB0_87 $-76(%rip) + WORD $0x14000196 // b LBB0_179 $1624(%rip) LBB0_94: - WORD $0x7100b2bf // cmp w21, #44 - WORD $0x54000560 // b.eq LBB0_107 $172(%rip) -LBB0_95: - WORD $0x7101f6bf // cmp w21, #125 - WORD $0x54000080 // b.eq LBB0_97 $16(%rip) - WORD $0x14000626 // b LBB0_425 $6296(%rip) + WORD $0x7100ae9f // cmp w20, #43 + WORD $0x54000060 // b.eq LBB0_96 $12(%rip) + WORD $0x7100b69f // cmp w20, #45 + WORD $0x54002e81 // b.ne LBB0_167 $1488(%rip) LBB0_96: - WORD $0x710176bf // cmp w21, #93 - WORD $0x540000c1 // b.ne LBB0_98 $24(%rip) + WORD $0xb10006df // cmn x22, #1 + WORD $0xaa1b03f6 // mov x22, x27 + WORD $0x54fffca0 // b.eq LBB0_87 $-108(%rip) + WORD $0x1400018e // b LBB0_179 $1592(%rip) LBB0_97: - WORD $0xf9000054 // str x20, [x2] - WORD $0xaa1403e5 // mov x5, x20 - WORD $0xaa0e03e8 // mov x8, x14 - WORD $0xb5ffc954 // cbnz x20, LBB0_1 $-1752(%rip) - WORD $0x140005b9 // b LBB0_394 $5860(%rip) + WORD $0x7100b0bf // cmp w5, #44 + WORD $0x540004c0 // b.eq LBB0_111 $152(%rip) LBB0_98: - WORD $0xf834794f // str x15, [x10, x20, lsl #3] - WORD $0x92800028 // mov x8, #-2 - WORD $0x71016abf // cmp w21, #90 - WORD $0x54ffec8d // b.le LBB0_59 $-624(%rip) + WORD $0x7101f4bf // cmp w5, #125 + WORD $0x54000080 // b.eq LBB0_100 $16(%rip) + WORD $0x14000997 // b LBB0_540 $9820(%rip) LBB0_99: - WORD $0x7101b6bf // cmp w21, #109 - WORD $0x54002bad // b.le LBB0_160 $1396(%rip) - WORD $0x7101babf // cmp w21, #110 - WORD $0x54002e80 // b.eq LBB0_167 $1488(%rip) - WORD $0x7101d2bf // cmp w21, #116 - WORD $0x54002d00 // b.eq LBB0_165 $1440(%rip) - WORD $0x7101eebf // cmp w21, #123 - WORD $0x5400b5a1 // b.ne LBB0_394 $5812(%rip) + WORD $0x710174bf // cmp w5, #93 + WORD $0x540000c1 // b.ne LBB0_101 $24(%rip) +LBB0_100: + WORD $0xf900004e // str x14, [x2] + WORD $0xaa0e03f3 // mov x19, x14 + WORD $0xaa0b03e0 // mov x0, x11 + WORD $0xb5ffc8ae // cbnz x14, LBB0_1 $-1772(%rip) + WORD $0x140009fb // b LBB0_576 $10220(%rip) +LBB0_101: + WORD $0xf82e792c // str x12, [x9, x14, lsl #3] + WORD $0x92800020 // mov x0, #-2 + WORD $0x710168bf // cmp w5, #90 + WORD $0x54ffec0d // b.le LBB0_61 $-640(%rip) +LBB0_102: + WORD $0x7101b4bf // cmp w5, #109 + WORD $0x540029ad // b.le LBB0_161 $1332(%rip) + WORD $0x7101b8bf // cmp w5, #110 + WORD $0x54004180 // b.eq LBB0_200 $2096(%rip) + WORD $0x7101d0bf // cmp w5, #116 + WORD $0x54003fa0 // b.eq LBB0_197 $2036(%rip) + WORD $0x7101ecbf // cmp w5, #123 + WORD $0x54013de1 // b.ne LBB0_576 $10172(%rip) + WORD $0x37305063 // tbnz w3, #6, LBB0_219 $2572(%rip) WORD $0xf9400048 // ldr x8, [x2] WORD $0xf13ffd1f // cmp x8, #4095 - WORD $0x5400b6ac // b.gt LBB0_396 $5844(%rip) - WORD $0x91000511 // add x17, x8, #1 - WORD $0xf9000051 // str x17, [x2] - WORD $0x528000d1 // mov w17, #6 - WORD $0xf8287951 // str x17, [x10, x8, lsl #3] - WORD $0xf9400045 // ldr x5, [x2] - WORD $0xaa0e03e8 // mov x8, x14 - WORD $0xb5ffc665 // cbnz x5, LBB0_1 $-1844(%rip) - WORD $0x140005a2 // b LBB0_394 $5768(%rip) -LBB0_105: - WORD $0xf13ffcbf // cmp x5, #4095 - WORD $0x5400b56c // b.gt LBB0_396 $5804(%rip) - WORD $0x910004a8 // add x8, x5, #1 + WORD $0x5401304c // b.gt LBB0_541 $9736(%rip) + WORD $0x9100050e // add x14, x8, #1 + WORD $0xf900004e // str x14, [x2] + WORD $0x528000ce // mov w14, #6 + WORD $0xf828792e // str x14, [x9, x8, lsl #3] + WORD $0x140004b3 // b LBB0_284 $4812(%rip) +LBB0_109: + WORD $0xf13ffe7f // cmp x19, #4095 + WORD $0x54012f6c // b.gt LBB0_541 $9708(%rip) + WORD $0x91000668 // add x8, x19, #1 WORD $0xf9000048 // str x8, [x2] - WORD $0xf825795f // str xzr, [x10, x5, lsl #3] - WORD $0xf9400045 // ldr x5, [x2] - WORD $0xaa0e03e8 // mov x8, x14 - WORD $0xb5ffc545 // cbnz x5, LBB0_1 $-1880(%rip) - WORD $0x14000599 // b LBB0_394 $5732(%rip) -LBB0_107: - WORD $0xf13ffcbf // cmp x5, #4095 - WORD $0x5400b44c // b.gt LBB0_396 $5768(%rip) - WORD $0x910004a8 // add x8, x5, #1 + WORD $0xf833793f // str xzr, [x9, x19, lsl #3] + WORD $0x140004ad // b LBB0_284 $4788(%rip) +LBB0_111: + WORD $0xf13ffe7f // cmp x19, #4095 + WORD $0x54012eac // b.gt LBB0_541 $9684(%rip) + WORD $0x91000668 // add x8, x19, #1 WORD $0xf9000048 // str x8, [x2] - WORD $0xf8257953 // str x19, [x10, x5, lsl #3] - WORD $0xf9400045 // ldr x5, [x2] - WORD $0xaa0e03e8 // mov x8, x14 - WORD $0xb5ffc425 // cbnz x5, LBB0_1 $-1916(%rip) - WORD $0x14000590 // b LBB0_394 $5696(%rip) -LBB0_109: - WORD $0x5400b3c0 // b.eq LBB0_398 $5752(%rip) - WORD $0xf101029f // cmp x20, #64 - WORD $0x54006403 // b.lo LBB0_256 $3200(%rip) + WORD $0xf8337927 // str x7, [x9, x19, lsl #3] + WORD $0x140004a7 // b LBB0_284 $4764(%rip) +LBB0_113: + WORD $0xf94004c0 // ldr x0, [x6, #8] + WORD $0xcb1c000e // sub x14, x0, x28 + WORD $0xf10081df // cmp x14, #32 + WORD $0x5400c50b // b.lt LBB0_360 $6304(%rip) + WORD $0xd280000e // mov x14, #0 WORD $0xd2800005 // mov x5, #0 - WORD $0x92800008 // mov x8, #-1 -LBB0_112: - WORD $0x8b1c0131 // add x17, x9, x28 - WORD $0xad405a37 // ldp q23, q22, [x17] - WORD $0xad415235 // ldp q21, q20, [x17, #32] - WORD $0x6e208ef8 // cmeq.16b v24, v23, v0 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260311 // fmov w17, s24 - WORD $0x6e208ed8 // cmeq.16b v24, v22, v0 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260307 // fmov w7, s24 - WORD $0x6e208eb8 // cmeq.16b v24, v21, v0 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260315 // fmov w21, s24 - WORD $0x6e208e98 // cmeq.16b v24, v20, v0 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260316 // fmov w22, s24 - WORD $0x6e218ef8 // cmeq.16b v24, v23, v1 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260317 // fmov w23, s24 - WORD $0x6e218ed8 // cmeq.16b v24, v22, v1 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260318 // fmov w24, s24 - WORD $0x6e218eb8 // cmeq.16b v24, v21, v1 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260319 // fmov w25, s24 - WORD $0x6e218e98 // cmeq.16b v24, v20, v1 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e26031a // fmov w26, s24 - WORD $0xd3607eb5 // lsl x21, x21, #32 - WORD $0xaa16c2b5 // orr x21, x21, x22, lsl #48 - WORD $0x53103ce7 // lsl w7, w7, #16 - WORD $0xaa0702a7 // orr x7, x21, x7 - WORD $0xaa1100e7 // orr x7, x7, x17 - WORD $0xd3607f31 // lsl x17, x25, #32 - WORD $0xaa1ac231 // orr x17, x17, x26, lsl #48 - WORD $0x53103f15 // lsl w21, w24, #16 - WORD $0xaa150231 // orr x17, x17, x21 - WORD $0xaa170231 // orr x17, x17, x23 - WORD $0xb5000451 // cbnz x17, LBB0_117 $136(%rip) - WORD $0xb50004c5 // cbnz x5, LBB0_118 $152(%rip) -LBB0_114: - WORD $0x6e373497 // cmhi.16b v23, v4, v23 - WORD $0x4e221ef7 // and.16b v23, v23, v2 - WORD $0x4e0302f7 // tbl.16b v23, { v23 }, v3 - WORD $0x4e71baf7 // addv.8h h23, v23 - WORD $0x1e2602f1 // fmov w17, s23 - WORD $0x6e363496 // cmhi.16b v22, v4, v22 - WORD $0x4e221ed6 // and.16b v22, v22, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602d5 // fmov w21, s22 - WORD $0x6e353495 // cmhi.16b v21, v4, v21 - WORD $0x4e221eb5 // and.16b v21, v21, v2 - WORD $0x4e0302b5 // tbl.16b v21, { v21 }, v3 - WORD $0x4e71bab5 // addv.8h h21, v21 - WORD $0x1e2602b6 // fmov w22, s21 - WORD $0x6e343494 // cmhi.16b v20, v4, v20 - WORD $0x4e221e94 // and.16b v20, v20, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260297 // fmov w23, s20 - WORD $0xd3607ed6 // lsl x22, x22, #32 - WORD $0xaa17c2d6 // orr x22, x22, x23, lsl #48 - WORD $0x53103eb5 // lsl w21, w21, #16 - WORD $0xaa1502d5 // orr x21, x22, x21 - WORD $0xaa1102b1 // orr x17, x21, x17 - WORD $0xb50002e7 // cbnz x7, LBB0_119 $92(%rip) - WORD $0xb500aa51 // cbnz x17, LBB0_404 $5448(%rip) - WORD $0xd1010294 // sub x20, x20, #64 - WORD $0x9101039c // add x28, x28, #64 + WORD $0xcb080000 // sub x0, x0, x8 + WORD $0x528003f3 // mov w19, #31 + WORD $0x14000008 // b LBB0_117 $32(%rip) +LBB0_115: + WORD $0xd2800005 // mov x5, #0 + WORD $0xb50005b5 // cbnz x21, LBB0_119 $180(%rip) +LBB0_116: + WORD $0x910081ce // add x14, x14, #32 + WORD $0xd1008273 // sub x19, x19, #32 + WORD $0x8b130014 // add x20, x0, x19 WORD $0xf100fe9f // cmp x20, #63 - WORD $0x54fff568 // b.hi LBB0_112 $-340(%rip) - WORD $0x1400029d // b LBB0_248 $2676(%rip) + WORD $0x5400c18d // b.le LBB0_356 $6192(%rip) LBB0_117: - WORD $0xb100051f // cmn x8, #1 - WORD $0xdac00235 // rbit x21, x17 - WORD $0xdac012b5 // clz x21, x21 - WORD $0x8b1c02b5 // add x21, x21, x28 - WORD $0x9a951108 // csel x8, x8, x21, ne -LBB0_118: - WORD $0x8a250235 // bic x21, x17, x5 - WORD $0xaa1504b6 // orr x22, x5, x21, lsl #1 - WORD $0x8a360231 // bic x17, x17, x22 - WORD $0x9201f231 // and x17, x17, #0xaaaaaaaaaaaaaaaa - WORD $0xab150231 // adds x17, x17, x21 + WORD $0x8b0e03d4 // add x20, lr, x14 + WORD $0x3cc0129a // ldur q26, [x20, #1] + WORD $0x3cc1129b // ldur q27, [x20, #17] + WORD $0x6e208f5c // cmeq.16b v28, v26, v0 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260395 // fmov w21, s28 + WORD $0x6e208f7c // cmeq.16b v28, v27, v0 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260394 // fmov w20, s28 + WORD $0x33103e95 // bfi w21, w20, #16, #16 + WORD $0x6e218f5a // cmeq.16b v26, v26, v1 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260354 // fmov w20, s26 + WORD $0x6e218f7a // cmeq.16b v26, v27, v1 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260356 // fmov w22, s26 + WORD $0x33103ed4 // bfi w20, w22, #16, #16 + WORD $0x7100029f // cmp w20, #0 + WORD $0xfa4008a0 // ccmp x5, #0, #0, eq + WORD $0x54fffbc0 // b.eq LBB0_115 $-136(%rip) + WORD $0x0a250296 // bic w22, w20, w5 + WORD $0x2a1604b7 // orr w23, w5, w22, lsl #1 + WORD $0x0a040285 // and w5, w20, w4 + WORD $0x0a3700a5 // bic w5, w5, w23 + WORD $0x2b1600b4 // adds w20, w5, w22 WORD $0x1a9f37e5 // cset w5, hs - WORD $0xd37ffa31 // lsl x17, x17, #1 - WORD $0xd200f231 // eor x17, x17, #0x5555555555555555 - WORD $0x8a160231 // and x17, x17, x22 - WORD $0x8a3100e7 // bic x7, x7, x17 - WORD $0x17ffffd1 // b LBB0_114 $-188(%rip) + WORD $0x4a140614 // eor w20, w16, w20, lsl #1 + WORD $0x0a170294 // and w20, w20, w23 + WORD $0x2a3403f4 // mvn w20, w20 + WORD $0x8a150295 // and x21, x20, x21 + WORD $0xb4fffab5 // cbz x21, LBB0_116 $-172(%rip) LBB0_119: - WORD $0xdac000e5 // rbit x5, x7 - WORD $0xdac010a5 // clz x5, x5 - WORD $0xdac00231 // rbit x17, x17 - WORD $0xdac01231 // clz x17, x17 - WORD $0xeb05023f // cmp x17, x5 - WORD $0x5400b123 // b.lo LBB0_427 $5668(%rip) + WORD $0xdac002a0 // rbit x0, x21 + WORD $0xdac01000 // clz x0, x0 + WORD $0x8b0e010e // add x14, x8, x14 + WORD $0x8b0e000e // add x14, x0, x14 + WORD $0x910009dc // add x28, x14, #2 + WORD $0x14000466 // b LBB0_283 $4504(%rip) LBB0_120: - WORD $0x8b1c00b1 // add x17, x5, x28 + WORD $0xcb1c01ce // sub x14, x14, x28 + WORD $0xf10041df // cmp x14, #16 + WORD $0x540001e3 // b.lo LBB0_123 $60(%rip) LBB0_121: - WORD $0x9100063c // add x28, x17, #1 -LBB0_122: - WORD $0x52800084 // mov w4, #4 - WORD $0x92f00006 // mov x6, #9223372036854775807 - WORD $0xb20903e7 // mov x7, #36028797027352576 - WORD $0xf2800027 // movk x7, #1 - WORD $0xb6f81c9c // tbz x28, #63, LBB0_170 $912(%rip) - WORD $0x14000523 // b LBB0_397 $5260(%rip) + WORD $0x3cfc6b7a // ldr q26, [x27, x28] + WORD $0x6e348f5b // cmeq.16b v27, v26, v20 + WORD $0x4e321f5a // and.16b v26, v26, v18 + WORD $0x6e358f5a // cmeq.16b v26, v26, v21 + WORD $0x4ebb1f5a // orr.16b v26, v26, v27 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260340 // fmov w0, s26 + WORD $0x35008ac0 // cbnz w0, LBB0_281 $4440(%rip) + WORD $0xd10041ce // sub x14, x14, #16 + WORD $0x9100439c // add x28, x28, #16 + WORD $0xf1003ddf // cmp x14, #15 + WORD $0x54fffe68 // b.hi LBB0_121 $-52(%rip) LBB0_123: - WORD $0x8b2743d1 // add x17, lr, w7, uxtw - WORD $0x8b1c0236 // add x22, x17, x28 -LBB0_124: - WORD $0x92800015 // mov x21, #-1 - WORD $0xb400a4a8 // cbz x8, LBB0_400 $5268(%rip) + WORD $0x8b1c0360 // add x0, x27, x28 + WORD $0xb40001ee // cbz x14, LBB0_130 $60(%rip) + WORD $0x8b0e0005 // add x5, x0, x14 + WORD $0xcb1b001c // sub x28, x0, x27 LBB0_125: - WORD $0xb400a494 // cbz x20, LBB0_400 $5264(%rip) - WORD $0xb400a465 // cbz x5, LBB0_400 $5260(%rip) - WORD $0xcb1e02c7 // sub x7, x22, lr - WORD $0xd10004f1 // sub x17, x7, #1 - WORD $0xeb11011f // cmp x8, x17 - WORD $0x540002a0 // b.eq LBB0_135 $84(%rip) - WORD $0xeb11029f // cmp x20, x17 - WORD $0x54000260 // b.eq LBB0_135 $76(%rip) - WORD $0xeb1100bf // cmp x5, x17 - WORD $0x54000220 // b.eq LBB0_135 $68(%rip) - WORD $0xf1000691 // subs x17, x20, #1 - WORD $0x5400006b // b.lt LBB0_132 $12(%rip) - WORD $0xeb1100bf // cmp x5, x17 - WORD $0x5400a301 // b.ne LBB0_401 $5216(%rip) + WORD $0x39400013 // ldrb w19, [x0] + WORD $0x7100b27f // cmp w19, #44 + WORD $0x540089c0 // b.eq LBB0_283 $4408(%rip) + WORD $0x7101f67f // cmp w19, #125 + WORD $0x54008980 // b.eq LBB0_283 $4400(%rip) + WORD $0x7101767f // cmp w19, #93 + WORD $0x54008940 // b.eq LBB0_283 $4392(%rip) + WORD $0x91000400 // add x0, x0, #1 + WORD $0x9100079c // add x28, x28, #1 + WORD $0xf10005ce // subs x14, x14, #1 + WORD $0x54fffec1 // b.ne LBB0_125 $-40(%rip) +LBB0_129: + WORD $0xaa0503e0 // mov x0, x5 +LBB0_130: + WORD $0xcb1b001c // sub x28, x0, x27 +LBB0_131: + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0x14000440 // b LBB0_283 $4352(%rip) LBB0_132: - WORD $0xaa050111 // orr x17, x8, x5 - WORD $0xb7f80071 // tbnz x17, #63, LBB0_134 $12(%rip) - WORD $0xeb05011f // cmp x8, x5 - WORD $0x5400a42a // b.ge LBB0_407 $5252(%rip) + WORD $0xf94004c0 // ldr x0, [x6, #8] + WORD $0xcb1c000e // sub x14, x0, x28 + WORD $0xf10081df // cmp x14, #32 + WORD $0x5400ba2b // b.lt LBB0_364 $5956(%rip) + WORD $0xd280000e // mov x14, #0 + WORD $0xd2800005 // mov x5, #0 + WORD $0xcb080000 // sub x0, x0, x8 + WORD $0x528003f3 // mov w19, #31 LBB0_134: - WORD $0xd37ffe31 // lsr x17, x17, #63 - WORD $0x52000231 // eor w17, w17, #0x1 - WORD $0xd10004a4 // sub x4, x5, #1 - WORD $0xeb04011f // cmp x8, x4 - WORD $0x1a9f17e8 // cset w8, eq - WORD $0x6a08023f // tst w17, w8 - WORD $0xda8500f5 // csinv x21, x7, x5, eq - WORD $0x14000002 // b LBB0_136 $8(%rip) -LBB0_135: - WORD $0xcb0703f5 // neg x21, x7 + WORD $0x8b0e03d4 // add x20, lr, x14 + WORD $0x3cc0129a // ldur q26, [x20, #1] + WORD $0x3cc1129b // ldur q27, [x20, #17] + WORD $0x6e208f5c // cmeq.16b v28, v26, v0 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260395 // fmov w21, s28 + WORD $0x6e208f7c // cmeq.16b v28, v27, v0 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260394 // fmov w20, s28 + WORD $0x33103e95 // bfi w21, w20, #16, #16 + WORD $0x6e218f5a // cmeq.16b v26, v26, v1 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260354 // fmov w20, s26 + WORD $0x6e218f7a // cmeq.16b v26, v27, v1 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260356 // fmov w22, s26 + WORD $0x33103ed4 // bfi w20, w22, #16, #16 + WORD $0x7100029f // cmp w20, #0 + WORD $0xfa4008a0 // ccmp x5, #0, #0, eq + WORD $0x54000180 // b.eq LBB0_136 $48(%rip) + WORD $0x0a250296 // bic w22, w20, w5 + WORD $0x2a1604b7 // orr w23, w5, w22, lsl #1 + WORD $0x0a040285 // and w5, w20, w4 + WORD $0x0a3700a5 // bic w5, w5, w23 + WORD $0x2b1600b4 // adds w20, w5, w22 + WORD $0x1a9f37e5 // cset w5, hs + WORD $0x4a140614 // eor w20, w16, w20, lsl #1 + WORD $0x0a170294 // and w20, w20, w23 + WORD $0x2a3403f4 // mvn w20, w20 + WORD $0x8a150295 // and x21, x20, x21 + WORD $0x14000002 // b LBB0_137 $8(%rip) LBB0_136: - WORD $0x52800084 // mov w4, #4 - WORD $0x92f00006 // mov x6, #9223372036854775807 - WORD $0xb20903e7 // mov x7, #36028797027352576 - WORD $0xf2800027 // movk x7, #1 - WORD $0xb7f8a0b5 // tbnz x21, #63, LBB0_400 $5140(%rip) - WORD $0x8b15037c // add x28, x27, x21 - WORD $0x140000bd // b LBB0_170 $756(%rip) -LBB0_138: - WORD $0x54009fc0 // b.eq LBB0_398 $5112(%rip) - WORD $0xf101029f // cmp x20, #64 - WORD $0x54005fa3 // b.lo LBB0_283 $3060(%rip) WORD $0xd2800005 // mov x5, #0 - WORD $0x92800008 // mov x8, #-1 +LBB0_137: + WORD $0xb5000f55 // cbnz x21, LBB0_151 $488(%rip) + WORD $0x910081ce // add x14, x14, #32 + WORD $0xd1008273 // sub x19, x19, #32 + WORD $0x8b130014 // add x20, x0, x19 + WORD $0xf100fe9f // cmp x20, #63 + WORD $0x54fffa6c // b.gt LBB0_134 $-180(%rip) + WORD $0xb500f065 // cbnz x5, LBB0_466 $7692(%rip) + WORD $0x8b0e03c5 // add x5, lr, x14 + WORD $0x910004a5 // add x5, x5, #1 + WORD $0xaa2e03ee // mvn x14, x14 + WORD $0x8b0001ce // add x14, x14, x0 + WORD $0xf10005df // cmp x14, #1 + WORD $0x5400f20a // b.ge LBB0_469 $7744(%rip) + WORD $0x14000938 // b LBB0_575 $9440(%rip) LBB0_141: - WORD $0x8b1c0131 // add x17, x9, x28 - WORD $0xad405a37 // ldp q23, q22, [x17] - WORD $0xad415235 // ldp q21, q20, [x17, #32] - WORD $0x6e208ef8 // cmeq.16b v24, v23, v0 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260311 // fmov w17, s24 - WORD $0x6e208ed8 // cmeq.16b v24, v22, v0 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260307 // fmov w7, s24 - WORD $0x6e208eb8 // cmeq.16b v24, v21, v0 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260315 // fmov w21, s24 - WORD $0x6e208e98 // cmeq.16b v24, v20, v0 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260316 // fmov w22, s24 - WORD $0x6e218ef8 // cmeq.16b v24, v23, v1 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260317 // fmov w23, s24 - WORD $0x6e218ed8 // cmeq.16b v24, v22, v1 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260318 // fmov w24, s24 - WORD $0x6e218eb8 // cmeq.16b v24, v21, v1 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260319 // fmov w25, s24 - WORD $0x6e218e98 // cmeq.16b v24, v20, v1 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e26031a // fmov w26, s24 + WORD $0x54011a60 // b.eq LBB0_543 $9036(%rip) + WORD $0xf10102df // cmp x22, #64 + WORD $0x5400b7c3 // b.lo LBB0_371 $5880(%rip) + WORD $0xd2800013 // mov x19, #0 + WORD $0x92800000 // mov x0, #-1 +LBB0_144: + WORD $0x8b1c036e // add x14, x27, x28 + WORD $0xad4071dd // ldp q29, q28, [x14] + WORD $0xad4169db // ldp q27, q26, [x14, #32] + WORD $0x6e208fbe // cmeq.16b v30, v29, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603ce // fmov w14, s30 + WORD $0x6e208f9e // cmeq.16b v30, v28, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603c5 // fmov w5, s30 + WORD $0x6e208f7e // cmeq.16b v30, v27, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d4 // fmov w20, s30 + WORD $0x6e208f5e // cmeq.16b v30, v26, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d5 // fmov w21, s30 + WORD $0x6e218fbe // cmeq.16b v30, v29, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d7 // fmov w23, s30 + WORD $0x6e218f9e // cmeq.16b v30, v28, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d8 // fmov w24, s30 + WORD $0x6e218f7e // cmeq.16b v30, v27, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d9 // fmov w25, s30 + WORD $0x6e218f5e // cmeq.16b v30, v26, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603da // fmov w26, s30 + WORD $0xd3607e94 // lsl x20, x20, #32 + WORD $0xaa15c294 // orr x20, x20, x21, lsl #48 + WORD $0x53103ca5 // lsl w5, w5, #16 + WORD $0xaa050285 // orr x5, x20, x5 + WORD $0xaa0e00ae // orr x14, x5, x14 + WORD $0xd3607f25 // lsl x5, x25, #32 + WORD $0xaa1ac0a5 // orr x5, x5, x26, lsl #48 + WORD $0x53103f14 // lsl w20, w24, #16 + WORD $0xaa1400a5 // orr x5, x5, x20 + WORD $0xaa1700a5 // orr x5, x5, x23 + WORD $0xb5000445 // cbnz x5, LBB0_149 $136(%rip) + WORD $0xb50004d3 // cbnz x19, LBB0_150 $152(%rip) +LBB0_146: + WORD $0x6e3d349d // cmhi.16b v29, v4, v29 + WORD $0x4e221fbd // and.16b v29, v29, v2 + WORD $0x4e0303bd // tbl.16b v29, { v29 }, v3 + WORD $0x4e71bbbd // addv.8h h29, v29 + WORD $0x1e2603a5 // fmov w5, s29 + WORD $0x6e3c349c // cmhi.16b v28, v4, v28 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260394 // fmov w20, s28 + WORD $0x6e3b349b // cmhi.16b v27, v4, v27 + WORD $0x4e221f7b // and.16b v27, v27, v2 + WORD $0x4e03037b // tbl.16b v27, { v27 }, v3 + WORD $0x4e71bb7b // addv.8h h27, v27 + WORD $0x1e260375 // fmov w21, s27 + WORD $0x6e3a349a // cmhi.16b v26, v4, v26 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260357 // fmov w23, s26 WORD $0xd3607eb5 // lsl x21, x21, #32 - WORD $0xaa16c2b5 // orr x21, x21, x22, lsl #48 - WORD $0x53103ce7 // lsl w7, w7, #16 - WORD $0xaa0702a7 // orr x7, x21, x7 - WORD $0xaa1100e7 // orr x7, x7, x17 - WORD $0xd3607f31 // lsl x17, x25, #32 - WORD $0xaa1ac231 // orr x17, x17, x26, lsl #48 - WORD $0x53103f15 // lsl w21, w24, #16 - WORD $0xaa150231 // orr x17, x17, x21 - WORD $0xaa170231 // orr x17, x17, x23 - WORD $0xb5000451 // cbnz x17, LBB0_146 $136(%rip) - WORD $0xb50004c5 // cbnz x5, LBB0_147 $152(%rip) -LBB0_143: - WORD $0x6e373497 // cmhi.16b v23, v4, v23 - WORD $0x4e221ef7 // and.16b v23, v23, v2 - WORD $0x4e0302f7 // tbl.16b v23, { v23 }, v3 - WORD $0x4e71baf7 // addv.8h h23, v23 - WORD $0x1e2602f1 // fmov w17, s23 - WORD $0x6e363496 // cmhi.16b v22, v4, v22 - WORD $0x4e221ed6 // and.16b v22, v22, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602d5 // fmov w21, s22 - WORD $0x6e353495 // cmhi.16b v21, v4, v21 - WORD $0x4e221eb5 // and.16b v21, v21, v2 - WORD $0x4e0302b5 // tbl.16b v21, { v21 }, v3 - WORD $0x4e71bab5 // addv.8h h21, v21 - WORD $0x1e2602b6 // fmov w22, s21 - WORD $0x6e343494 // cmhi.16b v20, v4, v20 - WORD $0x4e221e94 // and.16b v20, v20, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260297 // fmov w23, s20 - WORD $0xd3607ed6 // lsl x22, x22, #32 - WORD $0xaa17c2d6 // orr x22, x22, x23, lsl #48 - WORD $0x53103eb5 // lsl w21, w21, #16 - WORD $0xaa1502d5 // orr x21, x22, x21 - WORD $0xaa1102b1 // orr x17, x21, x17 - WORD $0xb50002e7 // cbnz x7, LBB0_148 $92(%rip) - WORD $0xb5009651 // cbnz x17, LBB0_404 $4808(%rip) - WORD $0xd1010294 // sub x20, x20, #64 + WORD $0xaa17c2b5 // orr x21, x21, x23, lsl #48 + WORD $0x53103e94 // lsl w20, w20, #16 + WORD $0xaa1402b4 // orr x20, x21, x20 + WORD $0xaa050285 // orr x5, x20, x5 + WORD $0xb500042e // cbnz x14, LBB0_152 $132(%rip) + WORD $0xb5011105 // cbnz x5, LBB0_549 $8736(%rip) + WORD $0xd10102d6 // sub x22, x22, #64 WORD $0x9101039c // add x28, x28, #64 - WORD $0xf100fe9f // cmp x20, #63 - WORD $0x54fff568 // b.hi LBB0_141 $-340(%rip) - WORD $0x1400027e // b LBB0_276 $2552(%rip) -LBB0_146: - WORD $0xb100051f // cmn x8, #1 - WORD $0xdac00235 // rbit x21, x17 - WORD $0xdac012b5 // clz x21, x21 - WORD $0x8b1c02b5 // add x21, x21, x28 - WORD $0x9a951108 // csel x8, x8, x21, ne -LBB0_147: - WORD $0x8a250235 // bic x21, x17, x5 - WORD $0xaa1504b6 // orr x22, x5, x21, lsl #1 - WORD $0x8a360231 // bic x17, x17, x22 - WORD $0x9201f231 // and x17, x17, #0xaaaaaaaaaaaaaaaa - WORD $0xab150231 // adds x17, x17, x21 - WORD $0x1a9f37e5 // cset w5, hs - WORD $0xd37ffa31 // lsl x17, x17, #1 - WORD $0xd200f231 // eor x17, x17, #0x5555555555555555 - WORD $0x8a160231 // and x17, x17, x22 - WORD $0x8a3100e7 // bic x7, x7, x17 - WORD $0x17ffffd1 // b LBB0_143 $-188(%rip) -LBB0_148: - WORD $0xdac000e5 // rbit x5, x7 - WORD $0xdac010a5 // clz x5, x5 - WORD $0xdac00231 // rbit x17, x17 - WORD $0xdac01231 // clz x17, x17 - WORD $0xeb05023f // cmp x17, x5 - WORD $0x54009d23 // b.lo LBB0_427 $5028(%rip) - WORD $0x8b1c00b1 // add x17, x5, x28 + WORD $0xf100fedf // cmp x22, #63 + WORD $0x54fff568 // b.hi LBB0_144 $-340(%rip) + WORD $0x14000535 // b LBB0_362 $5332(%rip) +LBB0_149: + WORD $0xb100041f // cmn x0, #1 + WORD $0xdac000b4 // rbit x20, x5 + WORD $0xdac01294 // clz x20, x20 + WORD $0x8b1c0294 // add x20, x20, x28 + WORD $0x9a941000 // csel x0, x0, x20, ne LBB0_150: - WORD $0x9100063c // add x28, x17, #1 - WORD $0x52800084 // mov w4, #4 - WORD $0x92f00006 // mov x6, #9223372036854775807 - WORD $0xb20903e7 // mov x7, #36028797027352576 - WORD $0xf2800027 // movk x7, #1 - WORD $0xb7f8909c // tbnz x28, #63, LBB0_397 $4624(%rip) + WORD $0x8a3300b4 // bic x20, x5, x19 + WORD $0xaa140675 // orr x21, x19, x20, lsl #1 + WORD $0x8a3500a5 // bic x5, x5, x21 + WORD $0x9201f0a5 // and x5, x5, #0xaaaaaaaaaaaaaaaa + WORD $0xab1400a5 // adds x5, x5, x20 + WORD $0x1a9f37f3 // cset w19, hs + WORD $0xd37ff8a5 // lsl x5, x5, #1 + WORD $0xd200f0a5 // eor x5, x5, #0x5555555555555555 + WORD $0x8a1500a5 // and x5, x5, x21 + WORD $0x8a2501ce // bic x14, x14, x5 + WORD $0x17ffffd1 // b LBB0_146 $-188(%rip) LBB0_151: + WORD $0xdac002a0 // rbit x0, x21 + WORD $0xdac01000 // clz x0, x0 + WORD $0x8b0e010e // add x14, x8, x14 + WORD $0x8b0e000e // add x14, x0, x14 + WORD $0x910009dc // add x28, x14, #2 WORD $0xf900003c // str x28, [x1] - WORD $0xaa1b03e8 // mov x8, x27 - WORD $0xb27ff7f1 // mov x17, #9223372036854775806 - WORD $0xeb11037f // cmp x27, x17 - WORD $0x54008e48 // b.hi LBB0_394 $4552(%rip) - WORD $0xf9400048 // ldr x8, [x2] - WORD $0xf13ffd1f // cmp x8, #4095 - WORD $0x54008f4c // b.gt LBB0_396 $4584(%rip) - WORD $0x91000511 // add x17, x8, #1 - WORD $0xf9000051 // str x17, [x2] - WORD $0xf8287944 // str x4, [x10, x8, lsl #3] - WORD $0xf9400045 // ldr x5, [x2] - WORD $0xaa0e03e8 // mov x8, x14 - WORD $0xb5ff9f25 // cbnz x5, LBB0_1 $-3100(%rip) - WORD $0x14000468 // b LBB0_394 $4512(%rip) + WORD $0xaa0803e0 // mov x0, x8 + WORD $0xeb11011f // cmp x8, x17 + WORD $0x54001923 // b.lo LBB0_195 $804(%rip) + WORD $0x140008c3 // b LBB0_576 $8972(%rip) +LBB0_152: + WORD $0xdac001ce // rbit x14, x14 + WORD $0xdac011ce // clz x14, x14 + WORD $0xdac000a5 // rbit x5, x5 + WORD $0xdac010a5 // clz x5, x5 + WORD $0xeb0e00bf // cmp x5, x14 + WORD $0x540116e3 // b.lo LBB0_572 $8924(%rip) + WORD $0x8b1c01ce // add x14, x14, x28 + WORD $0x910005dc // add x28, x14, #1 + WORD $0xb6f8707c // tbz x28, #63, LBB0_283 $3596(%rip) + WORD $0x14000852 // b LBB0_542 $8520(%rip) LBB0_154: - WORD $0x71008abf // cmp w21, #34 - WORD $0x540008c0 // b.eq LBB0_174 $280(%rip) - WORD $0x7100b6bf // cmp w21, #45 - WORD $0x54008c81 // b.ne LBB0_394 $4496(%rip) - WORD $0xf9400408 // ldr x8, [x0, #8] - WORD $0xeb1c0118 // subs x24, x8, x28 - WORD $0x540090a0 // b.eq LBB0_408 $4628(%rip) - WORD $0xb20903e4 // mov x4, #36028797027352576 - WORD $0xf2800024 // movk x4, #1 - WORD $0x8b1c0128 // add x8, x9, x28 - WORD $0x39400111 // ldrb w17, [x8] - WORD $0x7100c23f // cmp w17, #48 - WORD $0x54002281 // b.ne LBB0_198 $1104(%rip) - WORD $0xf100071f // cmp x24, #1 - WORD $0x54002141 // b.ne LBB0_196 $1064(%rip) -LBB0_159: - WORD $0x52800027 // mov w7, #1 - WORD $0x140001ac // b LBB0_244 $1712(%rip) + WORD $0x710088bf // cmp w5, #34 + WORD $0x54001d40 // b.eq LBB0_207 $936(%rip) + WORD $0x7100b4bf // cmp w5, #45 + WORD $0x540116a1 // b.ne LBB0_576 $8916(%rip) + WORD $0x37306b03 // tbnz w3, #6, LBB0_272 $3424(%rip) + WORD $0xf94004ce // ldr x14, [x6, #8] + WORD $0xeb1c01d5 // subs x21, x14, x28 + WORD $0x54011480 // b.eq LBB0_568 $8848(%rip) + WORD $0x8b1c0360 // add x0, x27, x28 + WORD $0x3940000e // ldrb w14, [x0] + WORD $0x7100c1df // cmp w14, #48 + WORD $0x54008981 // b.ne LBB0_310 $4400(%rip) + WORD $0xf10006bf // cmp x21, #1 + WORD $0x540087e1 // b.ne LBB0_308 $4348(%rip) LBB0_160: - WORD $0x71016ebf // cmp w21, #91 - WORD $0x54000540 // b.eq LBB0_172 $168(%rip) - WORD $0x71019abf // cmp w21, #102 - WORD $0x54008a61 // b.ne LBB0_394 $4428(%rip) - WORD $0xf9400408 // ldr x8, [x0, #8] - WORD $0xd1001111 // sub x17, x8, #4 - WORD $0xeb11037f // cmp x27, x17 - WORD $0x54008dc2 // b.hs LBB0_406 $4536(%rip) - WORD $0xb87c6928 // ldr w8, [x9, x28] - WORD $0x528d8c31 // mov w17, #27745 - WORD $0x72acae71 // movk w17, #25971, lsl #16 - WORD $0x6b11011f // cmp w8, w17 - WORD $0x54009361 // b.ne LBB0_420 $4716(%rip) - WORD $0x9100177c // add x28, x27, #5 - WORD $0x14000015 // b LBB0_170 $84(%rip) -LBB0_165: - WORD $0xf9400408 // ldr x8, [x0, #8] - WORD $0xd1000d11 // sub x17, x8, #3 - WORD $0xeb11037f // cmp x27, x17 - WORD $0x54008c62 // b.hs LBB0_406 $4492(%rip) - WORD $0xb87b6928 // ldr w8, [x9, x27] - WORD $0x528e4e91 // mov w17, #29300 - WORD $0x72acaeb1 // movk w17, #25973, lsl #16 - WORD $0x6b11011f // cmp w8, w17 - WORD $0x54000160 // b.eq LBB0_169 $44(%rip) - WORD $0x1400047a // b LBB0_415 $4584(%rip) + WORD $0x5280002e // mov w14, #1 + WORD $0x14000371 // b LBB0_282 $3524(%rip) +LBB0_161: + WORD $0x71016cbf // cmp w5, #91 + WORD $0x54001a20 // b.eq LBB0_204 $836(%rip) + WORD $0x710198bf // cmp w5, #102 + WORD $0x540114a1 // b.ne LBB0_576 $8852(%rip) + WORD $0xf94004ce // ldr x14, [x6, #8] + WORD $0xd10011cf // sub x15, x14, #4 + WORD $0xeb0f011f // cmp x8, x15 + WORD $0x540108a2 // b.hs LBB0_548 $8468(%rip) + WORD $0xb87c6b6e // ldr w14, [x27, x28] + WORD $0x528d8c2f // mov w15, #27745 + WORD $0x72acae6f // movk w15, #25971, lsl #16 + WORD $0x6b0f01df // cmp w14, w15 + WORD $0x54010e41 // b.ne LBB0_561 $8648(%rip) + WORD $0x9100151c // add x28, x8, #5 + WORD $0x140000be // b LBB0_203 $760(%rip) +LBB0_166: + WORD $0x8b2543ce // add x14, lr, w5, uxtw + WORD $0x8b1c01d5 // add x21, x14, x28 LBB0_167: - WORD $0xf9400408 // ldr x8, [x0, #8] - WORD $0xd1000d11 // sub x17, x8, #3 - WORD $0xeb11037f // cmp x27, x17 - WORD $0x54008b22 // b.hs LBB0_406 $4452(%rip) - WORD $0xb87b6928 // ldr w8, [x9, x27] - WORD $0x528eadd1 // mov w17, #30062 - WORD $0x72ad8d91 // movk w17, #27756, lsl #16 - WORD $0x6b11011f // cmp w8, w17 - WORD $0x54008ba1 // b.ne LBB0_411 $4468(%rip) -LBB0_169: - WORD $0x9100137c // add x28, x27, #4 -LBB0_170: - WORD $0xf900003c // str x28, [x1] - WORD $0xaa1b03e8 // mov x8, x27 - WORD $0xeb06037f // cmp x27, x6 - WORD $0x54008602 // b.hs LBB0_394 $4288(%rip) -LBB0_171: - WORD $0xf9400045 // ldr x5, [x2] - WORD $0xaa0e03e8 // mov x8, x14 - WORD $0xb5ff97a5 // cbnz x5, LBB0_1 $-3340(%rip) - WORD $0x1400042c // b LBB0_394 $4272(%rip) -LBB0_172: - WORD $0xf9400048 // ldr x8, [x2] - WORD $0xf13ffd1f // cmp x8, #4095 - WORD $0x5400868c // b.gt LBB0_396 $4304(%rip) - WORD $0x91000511 // add x17, x8, #1 - WORD $0xf9000051 // str x17, [x2] - WORD $0x528000b1 // mov w17, #5 - WORD $0xf8287951 // str x17, [x10, x8, lsl #3] - WORD $0xf9400045 // ldr x5, [x2] - WORD $0xaa0e03e8 // mov x8, x14 - WORD $0xb5ff9645 // cbnz x5, LBB0_1 $-3384(%rip) - WORD $0x14000421 // b LBB0_394 $4228(%rip) -LBB0_174: - WORD $0x3200f3f8 // mov w24, #1431655765 - WORD $0xf9400408 // ldr x8, [x0, #8] - WORD $0xeb1c0114 // subs x20, x8, x28 - WORD $0x37280b43 // tbnz w3, #5, LBB0_185 $360(%rip) - WORD $0x54008560 // b.eq LBB0_398 $4268(%rip) - WORD $0xf101029f // cmp x20, #64 - WORD $0x540051e3 // b.lo LBB0_307 $2620(%rip) - WORD $0xd2800005 // mov x5, #0 - WORD $0x92800008 // mov x8, #-1 + WORD $0x9280000e // mov x14, #-1 + WORD $0xb40106a0 // cbz x0, LBB0_545 $8404(%rip) +LBB0_168: + WORD $0xb4010696 // cbz x22, LBB0_545 $8400(%rip) + WORD $0xb4010673 // cbz x19, LBB0_545 $8396(%rip) + WORD $0xcb1e02ae // sub x14, x21, lr + WORD $0xd10005c5 // sub x5, x14, #1 + WORD $0xeb05001f // cmp x0, x5 + WORD $0x540002c0 // b.eq LBB0_178 $88(%rip) + WORD $0xeb0502df // cmp x22, x5 + WORD $0x54000280 // b.eq LBB0_178 $80(%rip) + WORD $0xeb05027f // cmp x19, x5 + WORD $0x54000240 // b.eq LBB0_178 $72(%rip) + WORD $0xf10006c5 // subs x5, x22, #1 + WORD $0x5400006b // b.lt LBB0_175 $12(%rip) + WORD $0xeb05027f // cmp x19, x5 + WORD $0x54010501 // b.ne LBB0_546 $8352(%rip) +LBB0_175: + WORD $0xaa130005 // orr x5, x0, x19 + WORD $0xb7f80065 // tbnz x5, #63, LBB0_177 $12(%rip) + WORD $0xeb13001f // cmp x0, x19 + WORD $0x540105ca // b.ge LBB0_551 $8376(%rip) +LBB0_177: + WORD $0xd37ffcaf // lsr x15, x5, #63 + WORD $0x520001ef // eor w15, w15, #0x1 + WORD $0xd1000665 // sub x5, x19, #1 + WORD $0xeb05001f // cmp x0, x5 + WORD $0x1a9f17e0 // cset w0, eq + WORD $0x6a0001ff // tst w15, w0 + WORD $0x5280008f // mov w15, #4 + WORD $0xda9301ce // csinv x14, x14, x19, eq + WORD $0x14000003 // b LBB0_180 $12(%rip) LBB0_178: - WORD $0x8b1c0131 // add x17, x9, x28 - WORD $0xad405634 // ldp q20, q21, [x17] - WORD $0xad415e36 // ldp q22, q23, [x17, #32] - WORD $0x6e208e98 // cmeq.16b v24, v20, v0 - WORD $0x6e208eb9 // cmeq.16b v25, v21, v0 - WORD $0x6e208eda // cmeq.16b v26, v22, v0 - WORD $0x6e208efb // cmeq.16b v27, v23, v0 - WORD $0x6e218e94 // cmeq.16b v20, v20, v1 - WORD $0x6e218eb5 // cmeq.16b v21, v21, v1 - WORD $0x6e218ed6 // cmeq.16b v22, v22, v1 - WORD $0x6e218ef7 // cmeq.16b v23, v23, v1 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260311 // fmov w17, s24 - WORD $0x4e221f38 // and.16b v24, v25, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260304 // fmov w4, s24 - WORD $0x4e221f58 // and.16b v24, v26, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260306 // fmov w6, s24 - WORD $0x4e221f78 // and.16b v24, v27, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260307 // fmov w7, s24 - WORD $0x4e221e94 // and.16b v20, v20, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260293 // fmov w19, s20 - WORD $0x4e221eb4 // and.16b v20, v21, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260295 // fmov w21, s20 - WORD $0x4e221ed4 // and.16b v20, v22, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260296 // fmov w22, s20 - WORD $0x4e221ef4 // and.16b v20, v23, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260297 // fmov w23, s20 - WORD $0xd3607cc6 // lsl x6, x6, #32 - WORD $0xaa07c0c6 // orr x6, x6, x7, lsl #48 - WORD $0x53103c84 // lsl w4, w4, #16 - WORD $0xaa0400c4 // orr x4, x6, x4 - WORD $0xaa110087 // orr x7, x4, x17 - WORD $0xd3607ed1 // lsl x17, x22, #32 - WORD $0xaa17c231 // orr x17, x17, x23, lsl #48 - WORD $0x53103ea4 // lsl w4, w21, #16 - WORD $0xaa040231 // orr x17, x17, x4 - WORD $0xaa130231 // orr x17, x17, x19 - WORD $0xb5000131 // cbnz x17, LBB0_182 $36(%rip) - WORD $0xb50001a5 // cbnz x5, LBB0_183 $52(%rip) - WORD $0x52800073 // mov w19, #3 - WORD $0xb5ffa2c7 // cbnz x7, LBB0_38 $-2984(%rip) -LBB0_181: - WORD $0xd1010294 // sub x20, x20, #64 - WORD $0x9101039c // add x28, x28, #64 - WORD $0xf100fe9f // cmp x20, #63 - WORD $0x54fff888 // b.hi LBB0_178 $-240(%rip) - WORD $0x14000247 // b LBB0_304 $2332(%rip) + WORD $0xcb0e03ee // neg x14, x14 +LBB0_179: + WORD $0x5280008f // mov w15, #4 +LBB0_180: + WORD $0xb7f902ee // tbnz x14, #63, LBB0_545 $8284(%rip) + WORD $0x8b0e011c // add x28, x8, x14 + WORD $0x1400033f // b LBB0_283 $3324(%rip) LBB0_182: - WORD $0xb100051f // cmn x8, #1 - WORD $0xdac00224 // rbit x4, x17 - WORD $0xdac01084 // clz x4, x4 - WORD $0x8b1c0084 // add x4, x4, x28 - WORD $0x9a841108 // csel x8, x8, x4, ne -LBB0_183: - WORD $0x8a250224 // bic x4, x17, x5 - WORD $0xaa0404a6 // orr x6, x5, x4, lsl #1 - WORD $0x8a260231 // bic x17, x17, x6 - WORD $0x9201f231 // and x17, x17, #0xaaaaaaaaaaaaaaaa - WORD $0xab040231 // adds x17, x17, x4 - WORD $0x1a9f37e5 // cset w5, hs - WORD $0xd37ffa31 // lsl x17, x17, #1 - WORD $0xd200f231 // eor x17, x17, #0x5555555555555555 - WORD $0x8a060231 // and x17, x17, x6 - WORD $0x8a3100e7 // bic x7, x7, x17 - WORD $0x52800073 // mov w19, #3 - WORD $0xb4fffd67 // cbz x7, LBB0_181 $-84(%rip) - WORD $0x17fffcff // b LBB0_38 $-3076(%rip) -LBB0_184: - WORD $0xaa1803f6 // mov x22, x24 - WORD $0x92800015 // mov x21, #-1 - WORD $0xb5ffd688 // cbnz x8, LBB0_125 $-1328(%rip) - WORD $0x140003d7 // b LBB0_400 $3932(%rip) + WORD $0x54010200 // b.eq LBB0_543 $8256(%rip) + WORD $0xf10102df // cmp x22, #64 + WORD $0x5400af83 // b.lo LBB0_399 $5616(%rip) + WORD $0xd2800013 // mov x19, #0 + WORD $0x92800000 // mov x0, #-1 LBB0_185: - WORD $0x54007a40 // b.eq LBB0_398 $3912(%rip) - WORD $0xf101029f // cmp x20, #64 - WORD $0x54004b43 // b.lo LBB0_313 $2408(%rip) - WORD $0xd2800005 // mov x5, #0 - WORD $0x92800008 // mov x8, #-1 -LBB0_188: - WORD $0x8b1c0131 // add x17, x9, x28 - WORD $0xad405a37 // ldp q23, q22, [x17] - WORD $0xad415235 // ldp q21, q20, [x17, #32] - WORD $0x6e208ef8 // cmeq.16b v24, v23, v0 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260311 // fmov w17, s24 - WORD $0x6e208ed8 // cmeq.16b v24, v22, v0 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260304 // fmov w4, s24 - WORD $0x6e208eb8 // cmeq.16b v24, v21, v0 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260306 // fmov w6, s24 - WORD $0x6e208e98 // cmeq.16b v24, v20, v0 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260307 // fmov w7, s24 - WORD $0x6e218ef8 // cmeq.16b v24, v23, v1 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260313 // fmov w19, s24 - WORD $0x6e218ed8 // cmeq.16b v24, v22, v1 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260315 // fmov w21, s24 - WORD $0x6e218eb8 // cmeq.16b v24, v21, v1 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260316 // fmov w22, s24 - WORD $0x6e218e98 // cmeq.16b v24, v20, v1 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260317 // fmov w23, s24 - WORD $0xd3607cc6 // lsl x6, x6, #32 - WORD $0xaa07c0c6 // orr x6, x6, x7, lsl #48 - WORD $0x53103c84 // lsl w4, w4, #16 - WORD $0xaa0400c4 // orr x4, x6, x4 - WORD $0xaa110087 // orr x7, x4, x17 - WORD $0xd3607ed1 // lsl x17, x22, #32 - WORD $0xaa17c231 // orr x17, x17, x23, lsl #48 - WORD $0x53103ea4 // lsl w4, w21, #16 - WORD $0xaa040231 // orr x17, x17, x4 - WORD $0xaa130231 // orr x17, x17, x19 - WORD $0xb5000451 // cbnz x17, LBB0_193 $136(%rip) - WORD $0xb50004c5 // cbnz x5, LBB0_194 $152(%rip) -LBB0_190: - WORD $0x6e373497 // cmhi.16b v23, v4, v23 - WORD $0x4e221ef7 // and.16b v23, v23, v2 - WORD $0x4e0302f7 // tbl.16b v23, { v23 }, v3 - WORD $0x4e71baf7 // addv.8h h23, v23 - WORD $0x1e2602f1 // fmov w17, s23 - WORD $0x6e363496 // cmhi.16b v22, v4, v22 - WORD $0x4e221ed6 // and.16b v22, v22, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602c4 // fmov w4, s22 - WORD $0x6e353495 // cmhi.16b v21, v4, v21 - WORD $0x4e221eb5 // and.16b v21, v21, v2 - WORD $0x4e0302b5 // tbl.16b v21, { v21 }, v3 - WORD $0x4e71bab5 // addv.8h h21, v21 - WORD $0x1e2602a6 // fmov w6, s21 - WORD $0x6e343494 // cmhi.16b v20, v4, v20 - WORD $0x4e221e94 // and.16b v20, v20, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260293 // fmov w19, s20 - WORD $0xd3607cc6 // lsl x6, x6, #32 - WORD $0xaa13c0c6 // orr x6, x6, x19, lsl #48 - WORD $0x53103c84 // lsl w4, w4, #16 - WORD $0xaa0400c4 // orr x4, x6, x4 - WORD $0xaa110091 // orr x17, x4, x17 - WORD $0xb50002e7 // cbnz x7, LBB0_195 $92(%rip) - WORD $0xb50070d1 // cbnz x17, LBB0_404 $3608(%rip) - WORD $0xd1010294 // sub x20, x20, #64 + WORD $0x8b1c036e // add x14, x27, x28 + WORD $0xad4071dd // ldp q29, q28, [x14] + WORD $0xad4169db // ldp q27, q26, [x14, #32] + WORD $0x6e208fbe // cmeq.16b v30, v29, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603ce // fmov w14, s30 + WORD $0x6e208f9e // cmeq.16b v30, v28, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603c5 // fmov w5, s30 + WORD $0x6e208f7e // cmeq.16b v30, v27, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d4 // fmov w20, s30 + WORD $0x6e208f5e // cmeq.16b v30, v26, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d5 // fmov w21, s30 + WORD $0x6e218fbe // cmeq.16b v30, v29, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d7 // fmov w23, s30 + WORD $0x6e218f9e // cmeq.16b v30, v28, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d8 // fmov w24, s30 + WORD $0x6e218f7e // cmeq.16b v30, v27, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d9 // fmov w25, s30 + WORD $0x6e218f5e // cmeq.16b v30, v26, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603da // fmov w26, s30 + WORD $0xd3607e94 // lsl x20, x20, #32 + WORD $0xaa15c294 // orr x20, x20, x21, lsl #48 + WORD $0x53103ca5 // lsl w5, w5, #16 + WORD $0xaa050285 // orr x5, x20, x5 + WORD $0xaa0e00ae // orr x14, x5, x14 + WORD $0xd3607f25 // lsl x5, x25, #32 + WORD $0xaa1ac0a5 // orr x5, x5, x26, lsl #48 + WORD $0x53103f14 // lsl w20, w24, #16 + WORD $0xaa1400a5 // orr x5, x5, x20 + WORD $0xaa1700a5 // orr x5, x5, x23 + WORD $0xb5000445 // cbnz x5, LBB0_190 $136(%rip) + WORD $0xb50004d3 // cbnz x19, LBB0_191 $152(%rip) +LBB0_187: + WORD $0x6e3d349d // cmhi.16b v29, v4, v29 + WORD $0x4e221fbd // and.16b v29, v29, v2 + WORD $0x4e0303bd // tbl.16b v29, { v29 }, v3 + WORD $0x4e71bbbd // addv.8h h29, v29 + WORD $0x1e2603a5 // fmov w5, s29 + WORD $0x6e3c349c // cmhi.16b v28, v4, v28 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260394 // fmov w20, s28 + WORD $0x6e3b349b // cmhi.16b v27, v4, v27 + WORD $0x4e221f7b // and.16b v27, v27, v2 + WORD $0x4e03037b // tbl.16b v27, { v27 }, v3 + WORD $0x4e71bb7b // addv.8h h27, v27 + WORD $0x1e260375 // fmov w21, s27 + WORD $0x6e3a349a // cmhi.16b v26, v4, v26 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260357 // fmov w23, s26 + WORD $0xd3607eb5 // lsl x21, x21, #32 + WORD $0xaa17c2b5 // orr x21, x21, x23, lsl #48 + WORD $0x53103e94 // lsl w20, w20, #16 + WORD $0xaa1402b4 // orr x20, x21, x20 + WORD $0xaa050285 // orr x5, x20, x5 + WORD $0xb50002ee // cbnz x14, LBB0_192 $92(%rip) + WORD $0xb500f8a5 // cbnz x5, LBB0_549 $7956(%rip) + WORD $0xd10102d6 // sub x22, x22, #64 WORD $0x9101039c // add x28, x28, #64 - WORD $0xf100fe9f // cmp x20, #63 - WORD $0x54fff568 // b.hi LBB0_188 $-340(%rip) - WORD $0x140001d7 // b LBB0_305 $1884(%rip) -LBB0_193: - WORD $0xb100051f // cmn x8, #1 - WORD $0xdac00224 // rbit x4, x17 - WORD $0xdac01084 // clz x4, x4 - WORD $0x8b1c0084 // add x4, x4, x28 - WORD $0x9a841108 // csel x8, x8, x4, ne + WORD $0xf100fedf // cmp x22, #63 + WORD $0x54fff568 // b.hi LBB0_185 $-340(%rip) + WORD $0x140004fb // b LBB0_392 $5100(%rip) +LBB0_190: + WORD $0xb100041f // cmn x0, #1 + WORD $0xdac000b4 // rbit x20, x5 + WORD $0xdac01294 // clz x20, x20 + WORD $0x8b1c0294 // add x20, x20, x28 + WORD $0x9a941000 // csel x0, x0, x20, ne +LBB0_191: + WORD $0x8a3300b4 // bic x20, x5, x19 + WORD $0xaa140675 // orr x21, x19, x20, lsl #1 + WORD $0x8a3500a5 // bic x5, x5, x21 + WORD $0x9201f0a5 // and x5, x5, #0xaaaaaaaaaaaaaaaa + WORD $0xab1400a5 // adds x5, x5, x20 + WORD $0x1a9f37f3 // cset w19, hs + WORD $0xd37ff8a5 // lsl x5, x5, #1 + WORD $0xd200f0a5 // eor x5, x5, #0x5555555555555555 + WORD $0x8a1500a5 // and x5, x5, x21 + WORD $0x8a2501ce // bic x14, x14, x5 + WORD $0x17ffffd1 // b LBB0_187 $-188(%rip) +LBB0_192: + WORD $0xdac001ce // rbit x14, x14 + WORD $0xdac011ce // clz x14, x14 + WORD $0xdac000a5 // rbit x5, x5 + WORD $0xdac010a5 // clz x5, x5 + WORD $0xeb0e00bf // cmp x5, x14 + WORD $0x5400ffc3 // b.lo LBB0_572 $8184(%rip) + WORD $0x8b1c01ce // add x14, x14, x28 + WORD $0x910005dc // add x28, x14, #1 + WORD $0xb7f8f35c // tbnz x28, #63, LBB0_542 $7784(%rip) LBB0_194: - WORD $0x8a250224 // bic x4, x17, x5 - WORD $0xaa0404a6 // orr x6, x5, x4, lsl #1 - WORD $0x8a260231 // bic x17, x17, x6 - WORD $0x9201f231 // and x17, x17, #0xaaaaaaaaaaaaaaaa - WORD $0xab040231 // adds x17, x17, x4 - WORD $0x1a9f37e5 // cset w5, hs - WORD $0xd37ffa31 // lsl x17, x17, #1 - WORD $0xd200f231 // eor x17, x17, #0x5555555555555555 - WORD $0x8a060231 // and x17, x17, x6 - WORD $0x8a3100e7 // bic x7, x7, x17 - WORD $0x17ffffd1 // b LBB0_190 $-188(%rip) + WORD $0xf900003c // str x28, [x1] + WORD $0xaa0803e0 // mov x0, x8 + WORD $0xb27ff7ee // mov x14, #9223372036854775806 + WORD $0xeb0e011f // cmp x8, x14 + WORD $0x5400ff88 // b.hi LBB0_576 $8176(%rip) LBB0_195: - WORD $0xdac000e4 // rbit x4, x7 - WORD $0xdac01085 // clz x5, x4 - WORD $0xdac00231 // rbit x17, x17 - WORD $0xdac01231 // clz x17, x17 - WORD $0xeb05023f // cmp x17, x5 - WORD $0x52800073 // mov w19, #3 - WORD $0x54ffc682 // b.hs LBB0_120 $-1840(%rip) - WORD $0x140003bb // b LBB0_427 $3820(%rip) -LBB0_196: - WORD $0x39400511 // ldrb w17, [x8, #1] - WORD $0x5100ba31 // sub w17, w17, #46 - WORD $0x7100de3f // cmp w17, #55 - WORD $0x54ffde88 // b.hi LBB0_159 $-1072(%rip) - WORD $0x9ad121f1 // lsl x17, x15, x17 - WORD $0x52800027 // mov w7, #1 - WORD $0xea04023f // tst x17, x4 - WORD $0x540013a0 // b.eq LBB0_244 $628(%rip) -LBB0_198: - WORD $0xf100431f // cmp x24, #16 - WORD $0x54004803 // b.lo LBB0_335 $2304(%rip) - WORD $0xd2800017 // mov x23, #0 - WORD $0xd2800007 // mov x7, #0 - WORD $0x9280001e // mov lr, #-1 - WORD $0x92800005 // mov x5, #-1 - WORD $0x92800014 // mov x20, #-1 + WORD $0xf9400048 // ldr x8, [x2] + WORD $0xf13ffd1f // cmp x8, #4095 + WORD $0x5400f20c // b.gt LBB0_541 $7744(%rip) + WORD $0x9100050e // add x14, x8, #1 + WORD $0xf900004e // str x14, [x2] + WORD $0xf828792f // str x15, [x9, x8, lsl #3] + WORD $0x140002c2 // b LBB0_284 $2824(%rip) +LBB0_197: + WORD $0xf94004ce // ldr x14, [x6, #8] + WORD $0xd1000dcf // sub x15, x14, #3 + WORD $0xeb0f011f // cmp x8, x15 + WORD $0x5400f2a2 // b.hs LBB0_548 $7764(%rip) + WORD $0x8b1c036e // add x14, x27, x28 + WORD $0xb85ff1ce // ldur w14, [x14, #-1] + WORD $0x528e4e8f // mov w15, #29300 + WORD $0x72acaeaf // movk w15, #25973, lsl #16 + WORD $0x6b0f01df // cmp w14, w15 + WORD $0x5280008f // mov w15, #4 + WORD $0x5400f2c1 // b.ne LBB0_552 $7768(%rip) + WORD $0x9100111c // add x28, x8, #4 + WORD $0x140002b1 // b LBB0_283 $2756(%rip) LBB0_200: - WORD $0x3ce76914 // ldr q20, [x8, x7] - WORD $0x6e258e95 // cmeq.16b v21, v20, v5 - WORD $0x6e268e96 // cmeq.16b v22, v20, v6 - WORD $0x6e278e97 // cmeq.16b v23, v20, v7 - WORD $0x4e308698 // add.16b v24, v20, v16 - WORD $0x6e383638 // cmhi.16b v24, v17, v24 - WORD $0x4e321e94 // and.16b v20, v20, v18 - WORD $0x6e338e94 // cmeq.16b v20, v20, v19 - WORD $0x4eb71ed6 // orr.16b v22, v22, v23 - WORD $0x4eb51f17 // orr.16b v23, v24, v21 - WORD $0x4eb61e98 // orr.16b v24, v20, v22 - WORD $0x4eb81ef7 // orr.16b v23, v23, v24 - WORD $0x4e221eb5 // and.16b v21, v21, v2 - WORD $0x4e0302b5 // tbl.16b v21, { v21 }, v3 - WORD $0x4e71bab5 // addv.8h h21, v21 - WORD $0x1e2602b1 // fmov w17, s21 - WORD $0x4e221e94 // and.16b v20, v20, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260284 // fmov w4, s20 - WORD $0x4e221ed4 // and.16b v20, v22, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260286 // fmov w6, s20 - WORD $0x4e221ef4 // and.16b v20, v23, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260295 // fmov w21, s20 - WORD $0x2a3503f5 // mvn w21, w21 - WORD $0x32103eb5 // orr w21, w21, #0xffff0000 - WORD $0x5ac002b5 // rbit w21, w21 - WORD $0x5ac012b5 // clz w21, w21 - WORD $0x12800013 // mov w19, #-1 - WORD $0x1ad52276 // lsl w22, w19, w21 - WORD $0x0a360239 // bic w25, w17, w22 - WORD $0x0a360093 // bic w19, w4, w22 - WORD $0x0a3600d6 // bic w22, w6, w22 - WORD $0x710042bf // cmp w21, #16 - WORD $0x1a99023a // csel w26, w17, w25, eq - WORD $0x1a930091 // csel w17, w4, w19, eq - WORD $0x1a9600d6 // csel w22, w6, w22, eq - WORD $0x51000744 // sub w4, w26, #1 - WORD $0x6a1a0099 // ands w25, w4, w26 - WORD $0x54002f81 // b.ne LBB0_303 $1520(%rip) - WORD $0x51000624 // sub w4, w17, #1 - WORD $0x6a110099 // ands w25, w4, w17 - WORD $0x54002f21 // b.ne LBB0_303 $1508(%rip) - WORD $0x510006c4 // sub w4, w22, #1 - WORD $0x6a160099 // ands w25, w4, w22 - WORD $0x54002ec1 // b.ne LBB0_303 $1496(%rip) - WORD $0x340000da // cbz w26, LBB0_206 $24(%rip) - WORD $0x5ac00344 // rbit w4, w26 - WORD $0x5ac0109a // clz w26, w4 - WORD $0xb100069f // cmn x20, #1 - WORD $0x54004001 // b.ne LBB0_334 $2048(%rip) - WORD $0x8b1a00f4 // add x20, x7, x26 -LBB0_206: - WORD $0x340000d1 // cbz w17, LBB0_209 $24(%rip) - WORD $0x5ac00231 // rbit w17, w17 - WORD $0x5ac01231 // clz w17, w17 - WORD $0xb10004bf // cmn x5, #1 - WORD $0x54002ea1 // b.ne LBB0_306 $1492(%rip) - WORD $0x8b1100e5 // add x5, x7, x17 -LBB0_209: - WORD $0x340000d6 // cbz w22, LBB0_212 $24(%rip) - WORD $0x5ac002d1 // rbit w17, w22 - WORD $0x5ac01231 // clz w17, w17 - WORD $0xb10007df // cmn lr, #1 - WORD $0x54002de1 // b.ne LBB0_306 $1468(%rip) - WORD $0x8b1100fe // add lr, x7, x17 + WORD $0xf94004ce // ldr x14, [x6, #8] + WORD $0xd1000dcf // sub x15, x14, #3 + WORD $0xeb0f011f // cmp x8, x15 + WORD $0x5400f102 // b.hs LBB0_548 $7712(%rip) + WORD $0x8b1c036e // add x14, x27, x28 + WORD $0xb85ff1ce // ldur w14, [x14, #-1] + WORD $0x528eadcf // mov w15, #30062 + WORD $0x72ad8d8f // movk w15, #27756, lsl #16 + WORD $0x6b0f01df // cmp w14, w15 + WORD $0x5400f3c1 // b.ne LBB0_556 $7800(%rip) + WORD $0x9100111c // add x28, x8, #4 +LBB0_203: + WORD $0xf900003c // str x28, [x1] + WORD $0xaa0803e0 // mov x0, x8 + WORD $0xeb11011f // cmp x8, x17 + WORD $0x5280008f // mov w15, #4 + WORD $0x540054a3 // b.lo LBB0_284 $2708(%rip) + WORD $0x140007d7 // b LBB0_576 $8028(%rip) +LBB0_204: + WORD $0x37302d43 // tbnz w3, #6, LBB0_245 $1448(%rip) + WORD $0xf9400048 // ldr x8, [x2] + WORD $0xf13ffd1f // cmp x8, #4095 + WORD $0x5400ed4c // b.gt LBB0_541 $7592(%rip) + WORD $0x9100050e // add x14, x8, #1 + WORD $0xf900004e // str x14, [x2] + WORD $0x528000ae // mov w14, #5 + WORD $0xf828792e // str x14, [x9, x8, lsl #3] + WORD $0x1400029b // b LBB0_284 $2668(%rip) +LBB0_207: + WORD $0x373053c3 // tbnz w3, #6, LBB0_285 $2680(%rip) + WORD $0xf94004ce // ldr x14, [x6, #8] + WORD $0xeb1c01d6 // subs x22, x14, x28 + WORD $0x37285ca3 // tbnz w3, #5, LBB0_296 $2964(%rip) + WORD $0x5400ec80 // b.eq LBB0_543 $7568(%rip) + WORD $0xf10102df // cmp x22, #64 + WORD $0x5400ab63 // b.lo LBB0_430 $5484(%rip) + WORD $0xd2800013 // mov x19, #0 + WORD $0x92800000 // mov x0, #-1 LBB0_212: - WORD $0x710042bf // cmp w21, #16 - WORD $0x540005e1 // b.ne LBB0_230 $188(%rip) - WORD $0x910040e7 // add x7, x7, #16 - WORD $0xd10042f7 // sub x23, x23, #16 - WORD $0x8b170315 // add x21, x24, x23 - WORD $0xf1003ebf // cmp x21, #15 - WORD $0x54fff6c8 // b.hi LBB0_200 $-296(%rip) - WORD $0x8b070116 // add x22, x8, x7 - WORD $0xeb07031f // cmp x24, x7 - WORD $0x52800073 // mov w19, #3 - WORD $0x54000520 // b.eq LBB0_231 $164(%rip) + WORD $0x8b1c036e // add x14, x27, x28 + WORD $0xad406dda // ldp q26, q27, [x14] + WORD $0xad4175dc // ldp q28, q29, [x14, #32] + WORD $0x6e208f5e // cmeq.16b v30, v26, v0 + WORD $0x6e208f7f // cmeq.16b v31, v27, v0 + WORD $0x6e208f88 // cmeq.16b v8, v28, v0 + WORD $0x6e208fa9 // cmeq.16b v9, v29, v0 + WORD $0x6e218f5a // cmeq.16b v26, v26, v1 + WORD $0x6e218f7b // cmeq.16b v27, v27, v1 + WORD $0x6e218f9c // cmeq.16b v28, v28, v1 + WORD $0x6e218fbd // cmeq.16b v29, v29, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603ce // fmov w14, s30 + WORD $0x4e221ffe // and.16b v30, v31, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603cf // fmov w15, s30 + WORD $0x4e221d1e // and.16b v30, v8, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d1 // fmov w17, s30 + WORD $0x4e221d3e // and.16b v30, v9, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603c5 // fmov w5, s30 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260347 // fmov w7, s26 + WORD $0x4e221f7a // and.16b v26, v27, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260354 // fmov w20, s26 + WORD $0x4e221f9a // and.16b v26, v28, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260355 // fmov w21, s26 + WORD $0x4e221fba // and.16b v26, v29, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260357 // fmov w23, s26 + WORD $0xd3607e31 // lsl x17, x17, #32 + WORD $0xaa05c231 // orr x17, x17, x5, lsl #48 + WORD $0x53103def // lsl w15, w15, #16 + WORD $0xaa0f022f // orr x15, x17, x15 + WORD $0xaa0e01ee // orr x14, x15, x14 + WORD $0xd3607eaf // lsl x15, x21, #32 + WORD $0xaa17c1ef // orr x15, x15, x23, lsl #48 + WORD $0x53103e91 // lsl w17, w20, #16 + WORD $0xaa1101ef // orr x15, x15, x17 + WORD $0xaa0701e5 // orr x5, x15, x7 + WORD $0xb5000165 // cbnz x5, LBB0_216 $44(%rip) + WORD $0xb50001f3 // cbnz x19, LBB0_217 $60(%rip) + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0xb500032e // cbnz x14, LBB0_218 $100(%rip) LBB0_215: - WORD $0x8b1502c6 // add x6, x22, x21 - WORD $0x8b160191 // add x17, x12, x22 - WORD $0xcb1b0238 // sub x24, x17, x27 - WORD $0xaa1603f7 // mov x23, x22 - WORD $0x14000008 // b LBB0_219 $32(%rip) + WORD $0xd10102d6 // sub x22, x22, #64 + WORD $0x9101039c // add x28, x28, #64 + WORD $0xf100fedf // cmp x22, #63 + WORD $0x54fff848 // b.hi LBB0_212 $-248(%rip) + WORD $0x14000511 // b LBB0_427 $5188(%rip) LBB0_216: - WORD $0xb10007df // cmn lr, #1 - WORD $0x54002a01 // b.ne LBB0_302 $1344(%rip) - WORD $0xd100071e // sub lr, x24, #1 + WORD $0xb100041f // cmn x0, #1 + WORD $0xdac000af // rbit x15, x5 + WORD $0xdac011ef // clz x15, x15 + WORD $0x8b1c01ef // add x15, x15, x28 + WORD $0x9a8f1000 // csel x0, x0, x15, ne +LBB0_217: + WORD $0x8a3300af // bic x15, x5, x19 + WORD $0xaa0f0671 // orr x17, x19, x15, lsl #1 + WORD $0x8a3100a5 // bic x5, x5, x17 + WORD $0x9201f0a5 // and x5, x5, #0xaaaaaaaaaaaaaaaa + WORD $0xab0f00af // adds x15, x5, x15 + WORD $0x1a9f37f3 // cset w19, hs + WORD $0xd37ff9ef // lsl x15, x15, #1 + WORD $0xd200f1ef // eor x15, x15, #0x5555555555555555 + WORD $0x8a1101ef // and x15, x15, x17 + WORD $0x8a2f01ce // bic x14, x14, x15 + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0xb4fffd2e // cbz x14, LBB0_215 $-92(%rip) LBB0_218: - WORD $0x91000718 // add x24, x24, #1 - WORD $0xaa1703f6 // mov x22, x23 - WORD $0xd10006b5 // sub x21, x21, #1 - WORD $0xb4000a35 // cbz x21, LBB0_249 $324(%rip) + WORD $0xdac001ce // rbit x14, x14 + WORD $0xdac011ce // clz x14, x14 + WORD $0x8b1c01ce // add x14, x14, x28 + WORD $0x910005dc // add x28, x14, #1 + WORD $0xb6f846dc // tbz x28, #63, LBB0_283 $2264(%rip) + WORD $0x14000705 // b LBB0_542 $7188(%rip) LBB0_219: - WORD $0x384016f1 // ldrb w17, [x23], #1 - WORD $0x5100c224 // sub w4, w17, #48 - WORD $0x7100289f // cmp w4, #10 - WORD $0x54ffff23 // b.lo LBB0_218 $-28(%rip) - WORD $0x7100b63f // cmp w17, #45 - WORD $0x5400016d // b.le LBB0_226 $44(%rip) - WORD $0x7101963f // cmp w17, #101 - WORD $0x540001c0 // b.eq LBB0_228 $56(%rip) - WORD $0x7101163f // cmp w17, #69 - WORD $0x54000180 // b.eq LBB0_228 $48(%rip) - WORD $0x7100ba3f // cmp w17, #46 - WORD $0x54000221 // b.ne LBB0_231 $68(%rip) - WORD $0xb100069f // cmn x20, #1 - WORD $0x540027a1 // b.ne LBB0_302 $1268(%rip) - WORD $0xd1000714 // sub x20, x24, #1 - WORD $0x17ffffed // b LBB0_218 $-76(%rip) -LBB0_226: - WORD $0x7100ae3f // cmp w17, #43 - WORD $0x54fffd00 // b.eq LBB0_216 $-96(%rip) - WORD $0x7100b63f // cmp w17, #45 - WORD $0x54fffcc0 // b.eq LBB0_216 $-104(%rip) - WORD $0x14000008 // b LBB0_231 $32(%rip) -LBB0_228: - WORD $0xb10004bf // cmn x5, #1 - WORD $0x54002681 // b.ne LBB0_302 $1232(%rip) - WORD $0xd1000705 // sub x5, x24, #1 - WORD $0x17ffffe4 // b LBB0_218 $-112(%rip) -LBB0_230: - WORD $0x8b354111 // add x17, x8, w21, uxtw - WORD $0x8b070236 // add x22, x17, x7 - WORD $0x52800073 // mov w19, #3 -LBB0_231: - WORD $0x92800007 // mov x7, #-1 - WORD $0xb4005db4 // cbz x20, LBB0_409 $2996(%rip) -LBB0_232: - WORD $0xb4005d9e // cbz lr, LBB0_409 $2992(%rip) - WORD $0xb4005d65 // cbz x5, LBB0_409 $2988(%rip) - WORD $0xcb0802c8 // sub x8, x22, x8 - WORD $0xd1000511 // sub x17, x8, #1 - WORD $0xeb11029f // cmp x20, x17 - WORD $0x540002a0 // b.eq LBB0_242 $84(%rip) - WORD $0xeb1103df // cmp lr, x17 - WORD $0x54000260 // b.eq LBB0_242 $76(%rip) - WORD $0xeb1100bf // cmp x5, x17 - WORD $0x54000220 // b.eq LBB0_242 $68(%rip) - WORD $0xf10007d1 // subs x17, lr, #1 - WORD $0x5400006b // b.lt LBB0_239 $12(%rip) - WORD $0xeb1100bf // cmp x5, x17 - WORD $0x54005c01 // b.ne LBB0_410 $2944(%rip) + WORD $0xf9000fff // str xzr, [sp, #24] + WORD $0xd2800013 // mov x19, #0 + WORD $0xd2800000 // mov x0, #0 + WORD $0xd280001e // mov lr, #0 + WORD $0xf94004ce // ldr x14, [x6, #8] + WORD $0xcb1c01ce // sub x14, x14, x28 + WORD $0x8b1c037b // add x27, x27, x28 + WORD $0x1400000a // b LBB0_221 $40(%rip) +LBB0_220: + WORD $0x937ffdce // asr x14, x14, #63 + WORD $0xf9000fee // str x14, [sp, #24] + WORD $0x9e6700ba // fmov d26, x5 + WORD $0x0e205b5a // cnt.8b v26, v26 + WORD $0x2e303b5a // uaddlv.8b h26, v26 + WORD $0x1e26034e // fmov w14, s26 + WORD $0x8b0001c0 // add x0, x14, x0 + WORD $0x9101037b // add x27, x27, #64 + WORD $0xaa1c03ee // mov x14, x28 +LBB0_221: + WORD $0xf10101dc // subs x28, x14, #64 + WORD $0xf9000bee // str x14, [sp, #16] + WORD $0x5400174b // b.lt LBB0_229 $744(%rip) +LBB0_222: + WORD $0xad40737d // ldp q29, q28, [x27] + WORD $0xad416b7b // ldp q27, q26, [x27, #32] + WORD $0x6e218fbe // cmeq.16b v30, v29, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603ce // fmov w14, s30 + WORD $0x6e218f9e // cmeq.16b v30, v28, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603cf // fmov w15, s30 + WORD $0x6e218f7e // cmeq.16b v30, v27, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d1 // fmov w17, s30 + WORD $0x6e218f5e // cmeq.16b v30, v26, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603c5 // fmov w5, s30 + WORD $0xd3607e31 // lsl x17, x17, #32 + WORD $0xaa05c231 // orr x17, x17, x5, lsl #48 + WORD $0x53103def // lsl w15, w15, #16 + WORD $0xaa0f022f // orr x15, x17, x15 + WORD $0xaa0e01ee // orr x14, x15, x14 + WORD $0xaa1301cf // orr x15, x14, x19 + WORD $0xb500008f // cbnz x15, LBB0_224 $16(%rip) + WORD $0xd2800013 // mov x19, #0 + WORD $0xd280000e // mov x14, #0 + WORD $0x1400000a // b LBB0_225 $40(%rip) +LBB0_224: + WORD $0x8a3301cf // bic x15, x14, x19 + WORD $0xaa0f0671 // orr x17, x19, x15, lsl #1 + WORD $0x8a3101ce // bic x14, x14, x17 + WORD $0x9201f1ce // and x14, x14, #0xaaaaaaaaaaaaaaaa + WORD $0xab0f01ce // adds x14, x14, x15 + WORD $0x1a9f37f3 // cset w19, hs + WORD $0xd37ff9ce // lsl x14, x14, #1 + WORD $0xd200f1ce // eor x14, x14, #0x5555555555555555 + WORD $0x8a1101ce // and x14, x14, x17 +LBB0_225: + WORD $0x6e208fbe // cmeq.16b v30, v29, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603cf // fmov w15, s30 + WORD $0x6e208f9e // cmeq.16b v30, v28, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d1 // fmov w17, s30 + WORD $0x6e208f7e // cmeq.16b v30, v27, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603c5 // fmov w5, s30 + WORD $0x6e208f5e // cmeq.16b v30, v26, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603c7 // fmov w7, s30 + WORD $0xd3607ca5 // lsl x5, x5, #32 + WORD $0xaa07c0a5 // orr x5, x5, x7, lsl #48 + WORD $0x53103e31 // lsl w17, w17, #16 + WORD $0xaa1100b1 // orr x17, x5, x17 + WORD $0xaa0f022f // orr x15, x17, x15 + WORD $0x8a2e01ee // bic x14, x15, x14 + WORD $0x9200e1cf // and x15, x14, #0x1111111111111111 + WORD $0x9203e1d1 // and x17, x14, #0x2222222222222222 + WORD $0x9202e1c5 // and x5, x14, #0x4444444444444444 + WORD $0x9201e1ce // and x14, x14, #0x8888888888888888 + WORD $0xb200e3f8 // mov x24, #1229782938247303441 + WORD $0x9b187de7 // mul x7, x15, x24 + WORD $0xb201e3f7 // mov x23, #-8608480567731124088 + WORD $0xf2e11117 // movk x23, #2184, lsl #48 + WORD $0x9b177e34 // mul x20, x17, x23 + WORD $0xca1400e7 // eor x7, x7, x20 + WORD $0xb202e3f6 // mov x22, #4919131752989213764 + WORD $0xf2e08896 // movk x22, #1092, lsl #48 + WORD $0x9b167cb4 // mul x20, x5, x22 + WORD $0xb203e3f5 // mov x21, #2459565876494606882 + WORD $0xf2e04455 // movk x21, #546, lsl #48 + WORD $0x9b157dd5 // mul x21, x14, x21 + WORD $0xca150294 // eor x20, x20, x21 + WORD $0xca1400e7 // eor x7, x7, x20 + WORD $0xb203e3f9 // mov x25, #2459565876494606882 + WORD $0x9b197df4 // mul x20, x15, x25 + WORD $0x9b187e35 // mul x21, x17, x24 + WORD $0xca150294 // eor x20, x20, x21 + WORD $0x9b177cb5 // mul x21, x5, x23 + WORD $0x9b167dd6 // mul x22, x14, x22 + WORD $0xca1602b5 // eor x21, x21, x22 + WORD $0xca150294 // eor x20, x20, x21 + WORD $0xb202e3fa // mov x26, #4919131752989213764 + WORD $0x9b1a7df5 // mul x21, x15, x26 + WORD $0x9b197e36 // mul x22, x17, x25 + WORD $0xca1602b5 // eor x21, x21, x22 + WORD $0x9b187cb6 // mul x22, x5, x24 + WORD $0x9b177dd7 // mul x23, x14, x23 + WORD $0xca1702d6 // eor x22, x22, x23 + WORD $0xca1602b5 // eor x21, x21, x22 + WORD $0xb201e3f6 // mov x22, #-8608480567731124088 + WORD $0x9b167def // mul x15, x15, x22 + WORD $0x9b1a7e31 // mul x17, x17, x26 + WORD $0xca1101ef // eor x15, x15, x17 + WORD $0x9b197cb1 // mul x17, x5, x25 + WORD $0x9b187dce // mul x14, x14, x24 + WORD $0xca0e022e // eor x14, x17, x14 + WORD $0xca0e01ee // eor x14, x15, x14 + WORD $0x9200e0ef // and x15, x7, #0x1111111111111111 + WORD $0x9203e291 // and x17, x20, #0x2222222222222222 + WORD $0x9202e2a5 // and x5, x21, #0x4444444444444444 + WORD $0x9201e1ce // and x14, x14, #0x8888888888888888 + WORD $0xaa1101ef // orr x15, x15, x17 + WORD $0xaa0e00ae // orr x14, x5, x14 + WORD $0xaa0e01ee // orr x14, x15, x14 + WORD $0xf9400fef // ldr x15, [sp, #24] + WORD $0xca0f01ce // eor x14, x14, x15 + WORD $0x6e388fbe // cmeq.16b v30, v29, v24 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603cf // fmov w15, s30 + WORD $0x6e388f9e // cmeq.16b v30, v28, v24 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d1 // fmov w17, s30 + WORD $0x6e388f7e // cmeq.16b v30, v27, v24 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603c5 // fmov w5, s30 + WORD $0x6e388f5e // cmeq.16b v30, v26, v24 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603c7 // fmov w7, s30 + WORD $0xd3607ca5 // lsl x5, x5, #32 + WORD $0xaa07c0a5 // orr x5, x5, x7, lsl #48 + WORD $0x53103e31 // lsl w17, w17, #16 + WORD $0xaa1100b1 // orr x17, x5, x17 + WORD $0xaa0f022f // orr x15, x17, x15 + WORD $0x8a2e01e5 // bic x5, x15, x14 + WORD $0x6e398fbd // cmeq.16b v29, v29, v25 + WORD $0x4e221fbd // and.16b v29, v29, v2 + WORD $0x4e0303bd // tbl.16b v29, { v29 }, v3 + WORD $0x4e71bbbd // addv.8h h29, v29 + WORD $0x1e2603af // fmov w15, s29 + WORD $0x6e398f9c // cmeq.16b v28, v28, v25 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260391 // fmov w17, s28 + WORD $0x6e398f7b // cmeq.16b v27, v27, v25 + WORD $0x4e221f7b // and.16b v27, v27, v2 + WORD $0x4e03037b // tbl.16b v27, { v27 }, v3 + WORD $0x4e71bb7b // addv.8h h27, v27 + WORD $0x1e260367 // fmov w7, s27 + WORD $0x6e398f5a // cmeq.16b v26, v26, v25 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260354 // fmov w20, s26 + WORD $0xd3607ce7 // lsl x7, x7, #32 + WORD $0xaa14c0e7 // orr x7, x7, x20, lsl #48 + WORD $0x53103e31 // lsl w17, w17, #16 + WORD $0xaa1100f1 // orr x17, x7, x17 + WORD $0xaa0f022f // orr x15, x17, x15 + WORD $0xea2e01f4 // bics x20, x15, x14 + WORD $0x54ffe940 // b.eq LBB0_220 $-728(%rip) + WORD $0x52800067 // mov w7, #3 +LBB0_227: + WORD $0xd1000695 // sub x21, x20, #1 + WORD $0x8a0502af // and x15, x21, x5 + WORD $0x9e6701fa // fmov d26, x15 + WORD $0x0e205b5a // cnt.8b v26, v26 + WORD $0x2e303b5a // uaddlv.8b h26, v26 + WORD $0x1e26034f // fmov w15, s26 + WORD $0x8b0001ef // add x15, x15, x0 + WORD $0xeb1e01ff // cmp x15, lr + WORD $0x540026c9 // b.ls LBB0_271 $1240(%rip) + WORD $0x910007de // add lr, lr, #1 + WORD $0xea1402b4 // ands x20, x21, x20 + WORD $0x54fffea1 // b.ne LBB0_227 $-44(%rip) + WORD $0x17ffff3c // b LBB0_220 $-784(%rip) +LBB0_229: + WORD $0xf10001df // cmp x14, #0 + WORD $0x5400d34d // b.le LBB0_573 $6760(%rip) + WORD $0xad025ff7 // stp q23, q23, [sp, #64] + WORD $0xad015ff7 // stp q23, q23, [sp, #32] + WORD $0x92402f6e // and x14, x27, #0xfff + WORD $0xf13f05df // cmp x14, #4033 + WORD $0x54ffe823 // b.lo LBB0_222 $-764(%rip) + WORD $0xf9400bee // ldr x14, [sp, #16] + WORD $0xf10081c5 // subs x5, x14, #32 + WORD $0x540000a3 // b.lo LBB0_233 $20(%rip) + WORD $0xacc16f7a // ldp q26, q27, [x27], #32 + WORD $0xad016ffa // stp q26, q27, [sp, #32] + WORD $0xaa0a03ee // mov x14, x10 + WORD $0x14000003 // b LBB0_234 $12(%rip) +LBB0_233: + WORD $0x910083ee // add x14, sp, #32 + WORD $0xf9400be5 // ldr x5, [sp, #16] +LBB0_234: + WORD $0xf10040b4 // subs x20, x5, #16 + WORD $0x54000243 // b.lo LBB0_240 $72(%rip) + WORD $0x3cc1077a // ldr q26, [x27], #16 + WORD $0x3c8105da // str q26, [x14], #16 + WORD $0xaa1403e5 // mov x5, x20 + WORD $0xf1002294 // subs x20, x20, #8 + WORD $0x540001e2 // b.hs LBB0_241 $60(%rip) +LBB0_236: + WORD $0xf10010b4 // subs x20, x5, #4 + WORD $0x54000243 // b.lo LBB0_242 $72(%rip) +LBB0_237: + WORD $0xb840476f // ldr w15, [x27], #4 + WORD $0xb80045cf // str w15, [x14], #4 + WORD $0xaa1403e5 // mov x5, x20 + WORD $0xf1000a94 // subs x20, x20, #2 + WORD $0x540001e2 // b.hs LBB0_243 $60(%rip) +LBB0_238: + WORD $0xb4000245 // cbz x5, LBB0_244 $72(%rip) LBB0_239: - WORD $0xaa050291 // orr x17, x20, x5 - WORD $0xb7f80071 // tbnz x17, #63, LBB0_241 $12(%rip) - WORD $0xeb05029f // cmp x20, x5 - WORD $0x540063ca // b.ge LBB0_426 $3192(%rip) + WORD $0x3940036f // ldrb w15, [x27] + WORD $0x390001cf // strb w15, [x14] + WORD $0x910083fb // add x27, sp, #32 + WORD $0x17ffff25 // b LBB0_222 $-876(%rip) +LBB0_240: + WORD $0xf10020b4 // subs x20, x5, #8 + WORD $0x54fffe63 // b.lo LBB0_236 $-52(%rip) LBB0_241: - WORD $0xd37ffe31 // lsr x17, x17, #63 - WORD $0x52000231 // eor w17, w17, #0x1 - WORD $0xd10004a4 // sub x4, x5, #1 - WORD $0xeb04029f // cmp x20, x4 - WORD $0x1a9f17e4 // cset w4, eq - WORD $0x6a04023f // tst w17, w4 - WORD $0xda850107 // csinv x7, x8, x5, eq - WORD $0x14000002 // b LBB0_243 $8(%rip) + WORD $0xf840876f // ldr x15, [x27], #8 + WORD $0xf80085cf // str x15, [x14], #8 + WORD $0xaa1403e5 // mov x5, x20 + WORD $0xf1001294 // subs x20, x20, #4 + WORD $0x54fffe02 // b.hs LBB0_237 $-64(%rip) LBB0_242: - WORD $0xcb0803e7 // neg x7, x8 + WORD $0xf10008b4 // subs x20, x5, #2 + WORD $0x54fffe63 // b.lo LBB0_238 $-52(%rip) LBB0_243: - WORD $0xb7f85a27 // tbnz x7, #63, LBB0_409 $2884(%rip) + WORD $0x7840276f // ldrh w15, [x27], #2 + WORD $0x780025cf // strh w15, [x14], #2 + WORD $0xaa1403e5 // mov x5, x20 + WORD $0xb5fffe14 // cbnz x20, LBB0_239 $-64(%rip) LBB0_244: - WORD $0x8b1c00fc // add x28, x7, x28 - WORD $0xf900003c // str x28, [x1] - WORD $0xaa1b03e8 // mov x8, x27 - WORD $0x92f00006 // mov x6, #9223372036854775807 - WORD $0xeb06037f // cmp x27, x6 - WORD $0x52800084 // mov w4, #4 - WORD $0xb20903e7 // mov x7, #36028797027352576 - WORD $0xf2800027 // movk x7, #1 - WORD $0x54ffce83 // b.lo LBB0_171 $-1584(%rip) - WORD $0x140002a2 // b LBB0_394 $2696(%rip) + WORD $0x910083fb // add x27, sp, #32 + WORD $0x17ffff16 // b LBB0_222 $-936(%rip) LBB0_245: - WORD $0x5ac00328 // rbit w8, w25 - WORD $0x5ac01108 // clz w8, w8 - WORD $0xaa3c03f1 // mvn x17, x28 - WORD $0xcb080235 // sub x21, x17, x8 - WORD $0x17fffda7 // b LBB0_136 $-2404(%rip) + WORD $0xf9000fff // str xzr, [sp, #24] + WORD $0xd2800013 // mov x19, #0 + WORD $0xd2800000 // mov x0, #0 + WORD $0xd280001e // mov lr, #0 + WORD $0xf94004ce // ldr x14, [x6, #8] + WORD $0xcb1c01ce // sub x14, x14, x28 + WORD $0x8b1c037b // add x27, x27, x28 + WORD $0x1400000a // b LBB0_247 $40(%rip) LBB0_246: - WORD $0xaa3c03e8 // mvn x8, x28 - WORD $0xcb314115 // sub x21, x8, w17, uxtw - WORD $0x17fffda4 // b LBB0_136 $-2416(%rip) + WORD $0x937ffdce // asr x14, x14, #63 + WORD $0xf9000fee // str x14, [sp, #24] + WORD $0x9e6700ba // fmov d26, x5 + WORD $0x0e205b5a // cnt.8b v26, v26 + WORD $0x2e303b5a // uaddlv.8b h26, v26 + WORD $0x1e26034e // fmov w14, s26 + WORD $0x8b0001c0 // add x0, x14, x0 + WORD $0x9101037b // add x27, x27, #64 + WORD $0xaa1c03ee // mov x14, x28 LBB0_247: - WORD $0x8b1c013c // add x28, x9, x28 - WORD $0x1400000a // b LBB0_251 $40(%rip) + WORD $0xf10101dc // subs x28, x14, #64 + WORD $0xf9000bee // str x14, [sp, #16] + WORD $0x5400174b // b.lt LBB0_255 $744(%rip) LBB0_248: - WORD $0x8b1c013c // add x28, x9, x28 - WORD $0x1400002c // b LBB0_257 $176(%rip) -LBB0_249: - WORD $0xaa0603f6 // mov x22, x6 - WORD $0x92800007 // mov x7, #-1 - WORD $0xb5fff994 // cbnz x20, LBB0_232 $-208(%rip) - WORD $0x140002b7 // b LBB0_409 $2780(%rip) + WORD $0xad40737d // ldp q29, q28, [x27] + WORD $0xad416b7b // ldp q27, q26, [x27, #32] + WORD $0x6e218fbe // cmeq.16b v30, v29, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603ce // fmov w14, s30 + WORD $0x6e218f9e // cmeq.16b v30, v28, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603cf // fmov w15, s30 + WORD $0x6e218f7e // cmeq.16b v30, v27, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d1 // fmov w17, s30 + WORD $0x6e218f5e // cmeq.16b v30, v26, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603c5 // fmov w5, s30 + WORD $0xd3607e31 // lsl x17, x17, #32 + WORD $0xaa05c231 // orr x17, x17, x5, lsl #48 + WORD $0x53103def // lsl w15, w15, #16 + WORD $0xaa0f022f // orr x15, x17, x15 + WORD $0xaa0e01ee // orr x14, x15, x14 + WORD $0xaa1301cf // orr x15, x14, x19 + WORD $0xb500008f // cbnz x15, LBB0_250 $16(%rip) + WORD $0xd2800013 // mov x19, #0 + WORD $0xd280000e // mov x14, #0 + WORD $0x1400000a // b LBB0_251 $40(%rip) LBB0_250: - WORD $0xd2800005 // mov x5, #0 - WORD $0x8b1c013c // add x28, x9, x28 - WORD $0x92800008 // mov x8, #-1 + WORD $0x8a3301cf // bic x15, x14, x19 + WORD $0xaa0f0671 // orr x17, x19, x15, lsl #1 + WORD $0x8a3101ce // bic x14, x14, x17 + WORD $0x9201f1ce // and x14, x14, #0xaaaaaaaaaaaaaaaa + WORD $0xab0f01ce // adds x14, x14, x15 + WORD $0x1a9f37f3 // cset w19, hs + WORD $0xd37ff9ce // lsl x14, x14, #1 + WORD $0xd200f1ce // eor x14, x14, #0x5555555555555555 + WORD $0x8a1101ce // and x14, x14, x17 LBB0_251: - WORD $0xf1008287 // subs x7, x20, #32 - WORD $0x54003463 // b.lo LBB0_339 $1676(%rip) - WORD $0xad405794 // ldp q20, q21, [x28] - WORD $0x6e208e96 // cmeq.16b v22, v20, v0 - WORD $0x6e208eb7 // cmeq.16b v23, v21, v0 - WORD $0x6e218e94 // cmeq.16b v20, v20, v1 - WORD $0x6e218eb5 // cmeq.16b v21, v21, v1 - WORD $0x4e221ed6 // and.16b v22, v22, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602d4 // fmov w20, s22 - WORD $0x4e221ef6 // and.16b v22, v23, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602d1 // fmov w17, s22 - WORD $0x4e221e94 // and.16b v20, v20, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260295 // fmov w21, s20 - WORD $0x4e221eb4 // and.16b v20, v21, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260296 // fmov w22, s20 - WORD $0x33103e34 // bfi w20, w17, #16, #16 - WORD $0x33103ed5 // bfi w21, w22, #16, #16 - WORD $0x35002ed5 // cbnz w21, LBB0_336 $1496(%rip) - WORD $0xb5002f65 // cbnz x5, LBB0_337 $1516(%rip) - WORD $0xb40030f4 // cbz x20, LBB0_338 $1564(%rip) + WORD $0x6e208fbe // cmeq.16b v30, v29, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603cf // fmov w15, s30 + WORD $0x6e208f9e // cmeq.16b v30, v28, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d1 // fmov w17, s30 + WORD $0x6e208f7e // cmeq.16b v30, v27, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603c5 // fmov w5, s30 + WORD $0x6e208f5e // cmeq.16b v30, v26, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603c7 // fmov w7, s30 + WORD $0xd3607ca5 // lsl x5, x5, #32 + WORD $0xaa07c0a5 // orr x5, x5, x7, lsl #48 + WORD $0x53103e31 // lsl w17, w17, #16 + WORD $0xaa1100b1 // orr x17, x5, x17 + WORD $0xaa0f022f // orr x15, x17, x15 + WORD $0x8a2e01ee // bic x14, x15, x14 + WORD $0x9200e1cf // and x15, x14, #0x1111111111111111 + WORD $0x9203e1d1 // and x17, x14, #0x2222222222222222 + WORD $0x9202e1c5 // and x5, x14, #0x4444444444444444 + WORD $0x9201e1ce // and x14, x14, #0x8888888888888888 + WORD $0xb200e3f8 // mov x24, #1229782938247303441 + WORD $0x9b187de7 // mul x7, x15, x24 + WORD $0xb201e3f7 // mov x23, #-8608480567731124088 + WORD $0xf2e11117 // movk x23, #2184, lsl #48 + WORD $0x9b177e34 // mul x20, x17, x23 + WORD $0xca1400e7 // eor x7, x7, x20 + WORD $0xb202e3f6 // mov x22, #4919131752989213764 + WORD $0xf2e08896 // movk x22, #1092, lsl #48 + WORD $0x9b167cb4 // mul x20, x5, x22 + WORD $0xb203e3f5 // mov x21, #2459565876494606882 + WORD $0xf2e04455 // movk x21, #546, lsl #48 + WORD $0x9b157dd5 // mul x21, x14, x21 + WORD $0xca150294 // eor x20, x20, x21 + WORD $0xca1400e7 // eor x7, x7, x20 + WORD $0xb203e3f9 // mov x25, #2459565876494606882 + WORD $0x9b197df4 // mul x20, x15, x25 + WORD $0x9b187e35 // mul x21, x17, x24 + WORD $0xca150294 // eor x20, x20, x21 + WORD $0x9b177cb5 // mul x21, x5, x23 + WORD $0x9b167dd6 // mul x22, x14, x22 + WORD $0xca1602b5 // eor x21, x21, x22 + WORD $0xca150294 // eor x20, x20, x21 + WORD $0xb202e3fa // mov x26, #4919131752989213764 + WORD $0x9b1a7df5 // mul x21, x15, x26 + WORD $0x9b197e36 // mul x22, x17, x25 + WORD $0xca1602b5 // eor x21, x21, x22 + WORD $0x9b187cb6 // mul x22, x5, x24 + WORD $0x9b177dd7 // mul x23, x14, x23 + WORD $0xca1702d6 // eor x22, x22, x23 + WORD $0xca1602b5 // eor x21, x21, x22 + WORD $0xb201e3f6 // mov x22, #-8608480567731124088 + WORD $0x9b167def // mul x15, x15, x22 + WORD $0x9b1a7e31 // mul x17, x17, x26 + WORD $0xca1101ef // eor x15, x15, x17 + WORD $0x9b197cb1 // mul x17, x5, x25 + WORD $0x9b187dce // mul x14, x14, x24 + WORD $0xca0e022e // eor x14, x17, x14 + WORD $0xca0e01ee // eor x14, x15, x14 + WORD $0x9200e0ef // and x15, x7, #0x1111111111111111 + WORD $0x9203e291 // and x17, x20, #0x2222222222222222 + WORD $0x9202e2a5 // and x5, x21, #0x4444444444444444 + WORD $0x9201e1ce // and x14, x14, #0x8888888888888888 + WORD $0xaa1101ef // orr x15, x15, x17 + WORD $0xaa0e00ae // orr x14, x5, x14 + WORD $0xaa0e01ee // orr x14, x15, x14 + WORD $0xf9400fef // ldr x15, [sp, #24] + WORD $0xca0f01ce // eor x14, x14, x15 + WORD $0x6e368fbe // cmeq.16b v30, v29, v22 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603cf // fmov w15, s30 + WORD $0x6e368f9e // cmeq.16b v30, v28, v22 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d1 // fmov w17, s30 + WORD $0x6e368f7e // cmeq.16b v30, v27, v22 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603c5 // fmov w5, s30 + WORD $0x6e368f5e // cmeq.16b v30, v26, v22 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603c7 // fmov w7, s30 + WORD $0xd3607ca5 // lsl x5, x5, #32 + WORD $0xaa07c0a5 // orr x5, x5, x7, lsl #48 + WORD $0x53103e31 // lsl w17, w17, #16 + WORD $0xaa1100b1 // orr x17, x5, x17 + WORD $0xaa0f022f // orr x15, x17, x15 + WORD $0x8a2e01e5 // bic x5, x15, x14 + WORD $0x6e358fbd // cmeq.16b v29, v29, v21 + WORD $0x4e221fbd // and.16b v29, v29, v2 + WORD $0x4e0303bd // tbl.16b v29, { v29 }, v3 + WORD $0x4e71bbbd // addv.8h h29, v29 + WORD $0x1e2603af // fmov w15, s29 + WORD $0x6e358f9c // cmeq.16b v28, v28, v21 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260391 // fmov w17, s28 + WORD $0x6e358f7b // cmeq.16b v27, v27, v21 + WORD $0x4e221f7b // and.16b v27, v27, v2 + WORD $0x4e03037b // tbl.16b v27, { v27 }, v3 + WORD $0x4e71bb7b // addv.8h h27, v27 + WORD $0x1e260367 // fmov w7, s27 + WORD $0x6e358f5a // cmeq.16b v26, v26, v21 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260354 // fmov w20, s26 + WORD $0xd3607ce7 // lsl x7, x7, #32 + WORD $0xaa14c0e7 // orr x7, x7, x20, lsl #48 + WORD $0x53103e31 // lsl w17, w17, #16 + WORD $0xaa1100f1 // orr x17, x7, x17 + WORD $0xaa0f022f // orr x15, x17, x15 + WORD $0xea2e01f4 // bics x20, x15, x14 + WORD $0x54ffe940 // b.eq LBB0_246 $-728(%rip) + WORD $0x52800067 // mov w7, #3 +LBB0_253: + WORD $0xd1000695 // sub x21, x20, #1 + WORD $0x8a0502af // and x15, x21, x5 + WORD $0x9e6701fa // fmov d26, x15 + WORD $0x0e205b5a // cnt.8b v26, v26 + WORD $0x2e303b5a // uaddlv.8b h26, v26 + WORD $0x1e26034f // fmov w15, s26 + WORD $0x8b0001ef // add x15, x15, x0 + WORD $0xeb1e01ff // cmp x15, lr + WORD $0x540006e9 // b.ls LBB0_271 $220(%rip) + WORD $0x910007de // add lr, lr, #1 + WORD $0xea1402b4 // ands x20, x21, x20 + WORD $0x54fffea1 // b.ne LBB0_253 $-44(%rip) + WORD $0x17ffff3c // b LBB0_246 $-784(%rip) LBB0_255: - WORD $0xdac00291 // rbit x17, x20 - WORD $0xdac01231 // clz x17, x17 - WORD $0xcb090385 // sub x5, x28, x9 - WORD $0x8b1100b1 // add x17, x5, x17 - WORD $0x17fffd52 // b LBB0_121 $-2744(%rip) -LBB0_256: - WORD $0xd2800005 // mov x5, #0 - WORD $0x8b1c013c // add x28, x9, x28 - WORD $0x92800008 // mov x8, #-1 -LBB0_257: - WORD $0xf1008295 // subs x21, x20, #32 - WORD $0x54000643 // b.lo LBB0_265 $200(%rip) - WORD $0xad405395 // ldp q21, q20, [x28] - WORD $0x6e208eb6 // cmeq.16b v22, v21, v0 - WORD $0x4e221ed6 // and.16b v22, v22, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602d4 // fmov w20, s22 - WORD $0x6e208e96 // cmeq.16b v22, v20, v0 - WORD $0x4e221ed6 // and.16b v22, v22, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602d1 // fmov w17, s22 - WORD $0x6e218eb6 // cmeq.16b v22, v21, v1 - WORD $0x4e221ed6 // and.16b v22, v22, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602c7 // fmov w7, s22 - WORD $0x6e218e96 // cmeq.16b v22, v20, v1 - WORD $0x4e221ed6 // and.16b v22, v22, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602d6 // fmov w22, s22 - WORD $0x33103e34 // bfi w20, w17, #16, #16 - WORD $0x33103ec7 // bfi w7, w22, #16, #16 - WORD $0x35003047 // cbnz w7, LBB0_349 $1544(%rip) - WORD $0xb50030e5 // cbnz x5, LBB0_350 $1564(%rip) + WORD $0xf10001df // cmp x14, #0 + WORD $0x5400b36d // b.le LBB0_573 $5740(%rip) + WORD $0xad025ff7 // stp q23, q23, [sp, #64] + WORD $0xad015ff7 // stp q23, q23, [sp, #32] + WORD $0x92402f6e // and x14, x27, #0xfff + WORD $0xf13f05df // cmp x14, #4033 + WORD $0x54ffe823 // b.lo LBB0_248 $-764(%rip) + WORD $0xf9400bee // ldr x14, [sp, #16] + WORD $0xf10081c5 // subs x5, x14, #32 + WORD $0x540000a3 // b.lo LBB0_259 $20(%rip) + WORD $0xacc16f7a // ldp q26, q27, [x27], #32 + WORD $0xad016ffa // stp q26, q27, [sp, #32] + WORD $0xaa0a03ee // mov x14, x10 + WORD $0x14000003 // b LBB0_260 $12(%rip) +LBB0_259: + WORD $0x910083ee // add x14, sp, #32 + WORD $0xf9400be5 // ldr x5, [sp, #16] LBB0_260: - WORD $0x6e353495 // cmhi.16b v21, v4, v21 - WORD $0x4e221eb5 // and.16b v21, v21, v2 - WORD $0x4e0302b5 // tbl.16b v21, { v21 }, v3 - WORD $0x4e71bab5 // addv.8h h21, v21 - WORD $0x1e2602a7 // fmov w7, s21 - WORD $0x6e343494 // cmhi.16b v20, v4, v20 - WORD $0x4e221e94 // and.16b v20, v20, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260291 // fmov w17, s20 - WORD $0x33103e27 // bfi w7, w17, #16, #16 - WORD $0xdac000f1 // rbit x17, x7 - WORD $0xdac01231 // clz x17, x17 - WORD $0xb4000114 // cbz x20, LBB0_263 $32(%rip) - WORD $0xdac00285 // rbit x5, x20 - WORD $0xdac010a7 // clz x7, x5 - WORD $0xcb090385 // sub x5, x28, x9 - WORD $0xeb07023f // cmp x17, x7 - WORD $0x54005543 // b.lo LBB0_428 $2728(%rip) - WORD $0x8b0700b1 // add x17, x5, x7 - WORD $0x17fffd1f // b LBB0_121 $-2948(%rip) + WORD $0xf10040b4 // subs x20, x5, #16 + WORD $0x54000243 // b.lo LBB0_266 $72(%rip) + WORD $0x3cc1077a // ldr q26, [x27], #16 + WORD $0x3c8105da // str q26, [x14], #16 + WORD $0xaa1403e5 // mov x5, x20 + WORD $0xf1002294 // subs x20, x20, #8 + WORD $0x540001e2 // b.hs LBB0_267 $60(%rip) +LBB0_262: + WORD $0xf10010b4 // subs x20, x5, #4 + WORD $0x54000243 // b.lo LBB0_268 $72(%rip) LBB0_263: - WORD $0x35005527 // cbnz w7, LBB0_429 $2724(%rip) - WORD $0x9100839c // add x28, x28, #32 - WORD $0xaa1503f4 // mov x20, x21 + WORD $0xb840476f // ldr w15, [x27], #4 + WORD $0xb80045cf // str w15, [x14], #4 + WORD $0xaa1403e5 // mov x5, x20 + WORD $0xf1000a94 // subs x20, x20, #2 + WORD $0x540001e2 // b.hs LBB0_269 $60(%rip) +LBB0_264: + WORD $0xb4000245 // cbz x5, LBB0_270 $72(%rip) LBB0_265: - WORD $0xb5003965 // cbnz x5, LBB0_368 $1836(%rip) - WORD $0xb40048b4 // cbz x20, LBB0_398 $2324(%rip) + WORD $0x3940036f // ldrb w15, [x27] + WORD $0x390001cf // strb w15, [x14] + WORD $0x910083fb // add x27, sp, #32 + WORD $0x17ffff25 // b LBB0_248 $-876(%rip) +LBB0_266: + WORD $0xf10020b4 // subs x20, x5, #8 + WORD $0x54fffe63 // b.lo LBB0_262 $-52(%rip) LBB0_267: - WORD $0xd2800005 // mov x5, #0 + WORD $0xf840876f // ldr x15, [x27], #8 + WORD $0xf80085cf // str x15, [x14], #8 + WORD $0xaa1403e5 // mov x5, x20 + WORD $0xf1001294 // subs x20, x20, #4 + WORD $0x54fffe02 // b.hs LBB0_263 $-64(%rip) LBB0_268: - WORD $0x38656b91 // ldrb w17, [x28, x5] - WORD $0x71008a3f // cmp w17, #34 - WORD $0x540002e0 // b.eq LBB0_274 $92(%rip) - WORD $0x7101723f // cmp w17, #92 - WORD $0x540000e0 // b.eq LBB0_272 $28(%rip) - WORD $0x71007e3f // cmp w17, #31 - WORD $0x54005409 // b.ls LBB0_430 $2688(%rip) - WORD $0x910004a5 // add x5, x5, #1 - WORD $0xeb05029f // cmp x20, x5 - WORD $0x54fffee1 // b.ne LBB0_268 $-36(%rip) - WORD $0x14000239 // b LBB0_398 $2276(%rip) + WORD $0xf10008b4 // subs x20, x5, #2 + WORD $0x54fffe63 // b.lo LBB0_264 $-52(%rip) +LBB0_269: + WORD $0x7840276f // ldrh w15, [x27], #2 + WORD $0x780025cf // strh w15, [x14], #2 + WORD $0xaa1403e5 // mov x5, x20 + WORD $0xb5fffe14 // cbnz x20, LBB0_265 $-64(%rip) +LBB0_270: + WORD $0x910083fb // add x27, sp, #32 + WORD $0x17ffff16 // b LBB0_248 $-936(%rip) +LBB0_271: + WORD $0xf94004ce // ldr x14, [x6, #8] + WORD $0xdac0028f // rbit x15, x20 + WORD $0xdac011ef // clz x15, x15 + WORD $0xf9400bf1 // ldr x17, [sp, #16] + WORD $0xcb1101ef // sub x15, x15, x17 + WORD $0x8b0e01ee // add x14, x15, x14 + WORD $0x910005cf // add x15, x14, #1 + WORD $0xf900002f // str x15, [x1] + WORD $0xf94004d1 // ldr x17, [x6, #8] + WORD $0xeb1101ff // cmp x15, x17 + WORD $0x9a8e263c // csinc x28, x17, x14, hs + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0xf900003c // str x28, [x1] + WORD $0xda9f9100 // csinv x0, x8, xzr, ls + WORD $0x5280008f // mov w15, #4 + WORD $0xb6f80560 // tbz x0, #63, LBB0_284 $172(%rip) + WORD $0x1400055d // b LBB0_576 $5492(%rip) LBB0_272: - WORD $0xd1000691 // sub x17, x20, #1 - WORD $0xeb05023f // cmp x17, x5 - WORD $0x540046c0 // b.eq LBB0_398 $2264(%rip) - WORD $0x8b050391 // add x17, x28, x5 - WORD $0x8b0c0227 // add x7, x17, x12 - WORD $0xb100051f // cmn x8, #1 - WORD $0x9a8800e8 // csel x8, x7, x8, eq - WORD $0x91000a3c // add x28, x17, #2 - WORD $0xcb050291 // sub x17, x20, x5 - WORD $0xd1000a87 // sub x7, x20, #2 - WORD $0xd1000a34 // sub x20, x17, #2 - WORD $0xeb0500ff // cmp x7, x5 - WORD $0x54fffd01 // b.ne LBB0_267 $-96(%rip) - WORD $0x1400022b // b LBB0_398 $2220(%rip) -LBB0_274: - WORD $0x8b1c0191 // add x17, x12, x28 - WORD $0x8b050231 // add x17, x17, x5 - WORD $0x17fffcfd // b LBB0_121 $-3084(%rip) + WORD $0xf94004ce // ldr x14, [x6, #8] + WORD $0xcb1c01ce // sub x14, x14, x28 + WORD $0xf10041df // cmp x14, #16 + WORD $0x540001e3 // b.lo LBB0_275 $60(%rip) +LBB0_273: + WORD $0x3cfc6b7a // ldr q26, [x27, x28] + WORD $0x6e348f5b // cmeq.16b v27, v26, v20 + WORD $0x4e321f5a // and.16b v26, v26, v18 + WORD $0x6e358f5a // cmeq.16b v26, v26, v21 + WORD $0x4ebb1f5a // orr.16b v26, v26, v27 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260340 // fmov w0, s26 + WORD $0x350002a0 // cbnz w0, LBB0_281 $84(%rip) + WORD $0xd10041ce // sub x14, x14, #16 + WORD $0x9100439c // add x28, x28, #16 + WORD $0xf1003ddf // cmp x14, #15 + WORD $0x54fffe68 // b.hi LBB0_273 $-52(%rip) LBB0_275: - WORD $0x8b1c013c // add x28, x9, x28 - WORD $0x14000006 // b LBB0_278 $24(%rip) -LBB0_276: - WORD $0x8b1c013c // add x28, x9, x28 - WORD $0x14000028 // b LBB0_284 $160(%rip) + WORD $0x8b1c0360 // add x0, x27, x28 + WORD $0xb4ff79ce // cbz x14, LBB0_130 $-4296(%rip) + WORD $0x8b0e0005 // add x5, x0, x14 + WORD $0xcb1b001c // sub x28, x0, x27 LBB0_277: - WORD $0xd2800005 // mov x5, #0 - WORD $0x8b1c013c // add x28, x9, x28 - WORD $0x92800008 // mov x8, #-1 -LBB0_278: - WORD $0xf1008287 // subs x7, x20, #32 - WORD $0x54002d23 // b.lo LBB0_354 $1444(%rip) - WORD $0xad405794 // ldp q20, q21, [x28] - WORD $0x6e208e96 // cmeq.16b v22, v20, v0 - WORD $0x6e208eb7 // cmeq.16b v23, v21, v0 - WORD $0x6e218e94 // cmeq.16b v20, v20, v1 - WORD $0x6e218eb5 // cmeq.16b v21, v21, v1 - WORD $0x4e221ed6 // and.16b v22, v22, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602d4 // fmov w20, s22 - WORD $0x4e221ef6 // and.16b v22, v23, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602d1 // fmov w17, s22 - WORD $0x4e221e94 // and.16b v20, v20, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260295 // fmov w21, s20 - WORD $0x4e221eb4 // and.16b v20, v21, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260296 // fmov w22, s20 - WORD $0x33103e34 // bfi w20, w17, #16, #16 - WORD $0x33103ed5 // bfi w21, w22, #16, #16 - WORD $0x35002795 // cbnz w21, LBB0_351 $1264(%rip) - WORD $0xb5002825 // cbnz x5, LBB0_352 $1284(%rip) - WORD $0xb40029b4 // cbz x20, LBB0_353 $1332(%rip) + WORD $0x39400013 // ldrb w19, [x0] + WORD $0x7100b27f // cmp w19, #44 + WORD $0x54ff7940 // b.eq LBB0_131 $-4312(%rip) + WORD $0x7101f67f // cmp w19, #125 + WORD $0x54ff7900 // b.eq LBB0_131 $-4320(%rip) + WORD $0x7101767f // cmp w19, #93 + WORD $0x54ff78c0 // b.eq LBB0_131 $-4328(%rip) + WORD $0x91000400 // add x0, x0, #1 + WORD $0x9100079c // add x28, x28, #1 + WORD $0xf10005ce // subs x14, x14, #1 + WORD $0x54fffec1 // b.ne LBB0_277 $-40(%rip) + WORD $0x17fffbbf // b LBB0_129 $-4356(%rip) +LBB0_281: + WORD $0x5ac0000e // rbit w14, w0 + WORD $0x5ac011ce // clz w14, w14 LBB0_282: - WORD $0xdac00291 // rbit x17, x20 - WORD $0xdac01231 // clz x17, x17 - WORD $0xcb090385 // sub x5, x28, x9 - WORD $0x8b1100b1 // add x17, x5, x17 - WORD $0x17fffd75 // b LBB0_150 $-2604(%rip) + WORD $0x8b1c01dc // add x28, x14, x28 LBB0_283: - WORD $0xd2800005 // mov x5, #0 - WORD $0x8b1c013c // add x28, x9, x28 - WORD $0x92800008 // mov x8, #-1 + WORD $0xf900003c // str x28, [x1] + WORD $0xaa0803e0 // mov x0, x8 + WORD $0xeb11011f // cmp x8, x17 + WORD $0x5400a682 // b.hs LBB0_576 $5328(%rip) LBB0_284: - WORD $0xf1008295 // subs x21, x20, #32 - WORD $0x54000643 // b.lo LBB0_292 $200(%rip) - WORD $0xad405395 // ldp q21, q20, [x28] - WORD $0x6e208eb6 // cmeq.16b v22, v21, v0 - WORD $0x4e221ed6 // and.16b v22, v22, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602d4 // fmov w20, s22 - WORD $0x6e208e96 // cmeq.16b v22, v20, v0 - WORD $0x4e221ed6 // and.16b v22, v22, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602d1 // fmov w17, s22 - WORD $0x6e218eb6 // cmeq.16b v22, v21, v1 - WORD $0x4e221ed6 // and.16b v22, v22, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602c7 // fmov w7, s22 - WORD $0x6e218e96 // cmeq.16b v22, v20, v1 - WORD $0x4e221ed6 // and.16b v22, v22, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602d6 // fmov w22, s22 - WORD $0x33103e34 // bfi w20, w17, #16, #16 - WORD $0x33103ec7 // bfi w7, w22, #16, #16 - WORD $0x350029a7 // cbnz w7, LBB0_364 $1332(%rip) - WORD $0xb5002a45 // cbnz x5, LBB0_365 $1352(%rip) + WORD $0xf9400053 // ldr x19, [x2] + WORD $0xaa0b03e0 // mov x0, x11 + WORD $0xb5ff2f53 // cbnz x19, LBB0_1 $-6680(%rip) + WORD $0x14000530 // b LBB0_576 $5312(%rip) +LBB0_285: + WORD $0xf94004c0 // ldr x0, [x6, #8] + WORD $0xcb1c000e // sub x14, x0, x28 + WORD $0xf10081df // cmp x14, #32 + WORD $0x540053eb // b.lt LBB0_421 $2684(%rip) + WORD $0xd280000e // mov x14, #0 + WORD $0xd2800005 // mov x5, #0 + WORD $0xcb080000 // sub x0, x0, x8 + WORD $0x528003f3 // mov w19, #31 LBB0_287: - WORD $0x6e353495 // cmhi.16b v21, v4, v21 - WORD $0x4e221eb5 // and.16b v21, v21, v2 - WORD $0x4e0302b5 // tbl.16b v21, { v21 }, v3 - WORD $0x4e71bab5 // addv.8h h21, v21 - WORD $0x1e2602a7 // fmov w7, s21 - WORD $0x6e343494 // cmhi.16b v20, v4, v20 - WORD $0x4e221e94 // and.16b v20, v20, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260291 // fmov w17, s20 - WORD $0x33103e27 // bfi w7, w17, #16, #16 - WORD $0xdac000f1 // rbit x17, x7 - WORD $0xdac01231 // clz x17, x17 - WORD $0xb4000114 // cbz x20, LBB0_290 $32(%rip) - WORD $0xdac00285 // rbit x5, x20 - WORD $0xdac010a7 // clz x7, x5 - WORD $0xcb090385 // sub x5, x28, x9 - WORD $0xeb07023f // cmp x17, x7 - WORD $0x540045a3 // b.lo LBB0_428 $2228(%rip) - WORD $0x8b0700b1 // add x17, x5, x7 - WORD $0x17fffd42 // b LBB0_150 $-2808(%rip) + WORD $0x8b0e03cf // add x15, lr, x14 + WORD $0x3cc011fa // ldur q26, [x15, #1] + WORD $0x3cc111fb // ldur q27, [x15, #17] + WORD $0x6e208f5c // cmeq.16b v28, v26, v0 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260395 // fmov w21, s28 + WORD $0x6e208f7c // cmeq.16b v28, v27, v0 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e26038f // fmov w15, s28 + WORD $0x33103df5 // bfi w21, w15, #16, #16 + WORD $0x6e218f5a // cmeq.16b v26, v26, v1 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260354 // fmov w20, s26 + WORD $0x6e218f7a // cmeq.16b v26, v27, v1 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e26034f // fmov w15, s26 + WORD $0x33103df4 // bfi w20, w15, #16, #16 + WORD $0x7100029f // cmp w20, #0 + WORD $0xfa4008a0 // ccmp x5, #0, #0, eq + WORD $0x540001a0 // b.eq LBB0_289 $52(%rip) + WORD $0x0a25028f // bic w15, w20, w5 + WORD $0x2a0f04b1 // orr w17, w5, w15, lsl #1 + WORD $0x0a040285 // and w5, w20, w4 + WORD $0x0a3100a5 // bic w5, w5, w17 + WORD $0x2b0f00af // adds w15, w5, w15 + WORD $0x1a9f37e5 // cset w5, hs + WORD $0x4a0f060f // eor w15, w16, w15, lsl #1 + WORD $0x0a1101ef // and w15, w15, w17 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0x2a2f03ef // mvn w15, w15 + WORD $0x8a1501f5 // and x21, x15, x21 + WORD $0x14000002 // b LBB0_290 $8(%rip) +LBB0_289: + WORD $0xd2800005 // mov x5, #0 LBB0_290: - WORD $0x35004587 // cbnz w7, LBB0_429 $2224(%rip) - WORD $0x9100839c // add x28, x28, #32 - WORD $0xaa1503f4 // mov x20, x21 -LBB0_292: - WORD $0xb5002bc5 // cbnz x5, LBB0_372 $1400(%rip) - WORD $0xb4003914 // cbz x20, LBB0_398 $1824(%rip) + WORD $0xb50001d5 // cbnz x21, LBB0_294 $56(%rip) + WORD $0x910081ce // add x14, x14, #32 + WORD $0xd1008273 // sub x19, x19, #32 + WORD $0x8b13000f // add x15, x0, x19 + WORD $0xf100fdff // cmp x15, #63 + WORD $0x54fffa4c // b.gt LBB0_287 $-184(%rip) + WORD $0xb5008585 // cbnz x5, LBB0_516 $4272(%rip) + WORD $0x8b0e03cf // add x15, lr, x14 + WORD $0x910005e5 // add x5, x15, #1 + WORD $0xaa2e03ee // mvn x14, x14 + WORD $0x8b0001ce // add x14, x14, x0 + WORD $0xf10005df // cmp x14, #1 + WORD $0x54004d0a // b.ge LBB0_422 $2464(%rip) + WORD $0x140004f0 // b LBB0_575 $5056(%rip) LBB0_294: - WORD $0xd2800005 // mov x5, #0 + WORD $0xdac002af // rbit x15, x21 + WORD $0xdac011ef // clz x15, x15 + WORD $0x8b0e010e // add x14, x8, x14 + WORD $0x8b0e01ee // add x14, x15, x14 + WORD $0x910009dc // add x28, x14, #2 + WORD $0x5280008f // mov w15, #4 + WORD $0x17ffffb3 // b LBB0_283 $-308(%rip) LBB0_295: - WORD $0x38656b91 // ldrb w17, [x28, x5] - WORD $0x71008a3f // cmp w17, #34 - WORD $0x540002e0 // b.eq LBB0_301 $92(%rip) - WORD $0x7101723f // cmp w17, #92 - WORD $0x540000e0 // b.eq LBB0_299 $28(%rip) - WORD $0x71007e3f // cmp w17, #31 - WORD $0x54004469 // b.ls LBB0_430 $2188(%rip) - WORD $0x910004a5 // add x5, x5, #1 - WORD $0xeb05029f // cmp x20, x5 - WORD $0x54fffee1 // b.ne LBB0_295 $-36(%rip) - WORD $0x140001bc // b LBB0_398 $1776(%rip) + WORD $0xaa1a03f5 // mov x21, x26 + WORD $0x9280000e // mov x14, #-1 + WORD $0xb5ff8a40 // cbnz x0, LBB0_168 $-3768(%rip) + WORD $0x14000485 // b LBB0_545 $4628(%rip) +LBB0_296: + WORD $0x54009000 // b.eq LBB0_543 $4608(%rip) + WORD $0xf10102df // cmp x22, #64 + WORD $0x54005383 // b.lo LBB0_436 $2672(%rip) + WORD $0xd2800013 // mov x19, #0 + WORD $0x92800000 // mov x0, #-1 LBB0_299: - WORD $0xd1000691 // sub x17, x20, #1 - WORD $0xeb05023f // cmp x17, x5 - WORD $0x54003720 // b.eq LBB0_398 $1764(%rip) - WORD $0x8b050391 // add x17, x28, x5 - WORD $0x8b0c0227 // add x7, x17, x12 - WORD $0xb100051f // cmn x8, #1 - WORD $0x9a8800e8 // csel x8, x7, x8, eq - WORD $0x91000a3c // add x28, x17, #2 - WORD $0xcb050291 // sub x17, x20, x5 - WORD $0xd1000a87 // sub x7, x20, #2 - WORD $0xd1000a34 // sub x20, x17, #2 - WORD $0xeb0500ff // cmp x7, x5 - WORD $0x54fffd01 // b.ne LBB0_294 $-96(%rip) - WORD $0x140001ae // b LBB0_398 $1720(%rip) + WORD $0x8b1c036e // add x14, x27, x28 + WORD $0xad4071dd // ldp q29, q28, [x14] + WORD $0xad4169db // ldp q27, q26, [x14, #32] + WORD $0x6e208fbe // cmeq.16b v30, v29, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603ce // fmov w14, s30 + WORD $0x6e208f9e // cmeq.16b v30, v28, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603cf // fmov w15, s30 + WORD $0x6e208f7e // cmeq.16b v30, v27, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d1 // fmov w17, s30 + WORD $0x6e208f5e // cmeq.16b v30, v26, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603c5 // fmov w5, s30 + WORD $0x6e218fbe // cmeq.16b v30, v29, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603c7 // fmov w7, s30 + WORD $0x6e218f9e // cmeq.16b v30, v28, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d4 // fmov w20, s30 + WORD $0x6e218f7e // cmeq.16b v30, v27, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d5 // fmov w21, s30 + WORD $0x6e218f5e // cmeq.16b v30, v26, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d7 // fmov w23, s30 + WORD $0xd3607e31 // lsl x17, x17, #32 + WORD $0xaa05c231 // orr x17, x17, x5, lsl #48 + WORD $0x53103def // lsl w15, w15, #16 + WORD $0xaa0f022f // orr x15, x17, x15 + WORD $0xaa0e01ee // orr x14, x15, x14 + WORD $0xd3607eaf // lsl x15, x21, #32 + WORD $0xaa17c1ef // orr x15, x15, x23, lsl #48 + WORD $0x53103e91 // lsl w17, w20, #16 + WORD $0xaa1101ef // orr x15, x15, x17 + WORD $0xaa0701e5 // orr x5, x15, x7 + WORD $0xb5000445 // cbnz x5, LBB0_304 $136(%rip) + WORD $0xb50004d3 // cbnz x19, LBB0_305 $152(%rip) LBB0_301: - WORD $0x8b1c0191 // add x17, x12, x28 - WORD $0x8b050231 // add x17, x17, x5 - WORD $0x17fffd20 // b LBB0_150 $-2944(%rip) -LBB0_302: - WORD $0xcb1803e7 // neg x7, x24 - WORD $0x17fffeee // b LBB0_243 $-1096(%rip) -LBB0_303: - WORD $0x5ac00328 // rbit w8, w25 - WORD $0x5ac01108 // clz w8, w8 - WORD $0xaa2703f1 // mvn x17, x7 - WORD $0xcb080227 // sub x7, x17, x8 - WORD $0x52800073 // mov w19, #3 - WORD $0x17fffee8 // b LBB0_243 $-1120(%rip) + WORD $0x6e3d349d // cmhi.16b v29, v4, v29 + WORD $0x4e221fbd // and.16b v29, v29, v2 + WORD $0x4e0303bd // tbl.16b v29, { v29 }, v3 + WORD $0x4e71bbbd // addv.8h h29, v29 + WORD $0x1e2603af // fmov w15, s29 + WORD $0x6e3c349c // cmhi.16b v28, v4, v28 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260391 // fmov w17, s28 + WORD $0x6e3b349b // cmhi.16b v27, v4, v27 + WORD $0x4e221f7b // and.16b v27, v27, v2 + WORD $0x4e03037b // tbl.16b v27, { v27 }, v3 + WORD $0x4e71bb7b // addv.8h h27, v27 + WORD $0x1e260365 // fmov w5, s27 + WORD $0x6e3a349a // cmhi.16b v26, v4, v26 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260347 // fmov w7, s26 + WORD $0xd3607ca5 // lsl x5, x5, #32 + WORD $0xaa07c0a5 // orr x5, x5, x7, lsl #48 + WORD $0x53103e31 // lsl w17, w17, #16 + WORD $0xaa1100b1 // orr x17, x5, x17 + WORD $0xaa0f0225 // orr x5, x17, x15 + WORD $0xb50002ee // cbnz x14, LBB0_306 $92(%rip) + WORD $0xb50086a5 // cbnz x5, LBB0_549 $4308(%rip) + WORD $0xd10102d6 // sub x22, x22, #64 + WORD $0x9101039c // add x28, x28, #64 + WORD $0xf100fedf // cmp x22, #63 + WORD $0x54fff568 // b.hi LBB0_299 $-340(%rip) + WORD $0x14000218 // b LBB0_428 $2144(%rip) LBB0_304: - WORD $0x8b1c013c // add x28, x9, x28 - WORD $0x1400000a // b LBB0_308 $40(%rip) + WORD $0xb100041f // cmn x0, #1 + WORD $0xdac000af // rbit x15, x5 + WORD $0xdac011ef // clz x15, x15 + WORD $0x8b1c01ef // add x15, x15, x28 + WORD $0x9a8f1000 // csel x0, x0, x15, ne LBB0_305: - WORD $0x8b1c013c // add x28, x9, x28 - WORD $0x1400002c // b LBB0_314 $176(%rip) + WORD $0x8a3300af // bic x15, x5, x19 + WORD $0xaa0f0671 // orr x17, x19, x15, lsl #1 + WORD $0x8a3100a5 // bic x5, x5, x17 + WORD $0x9201f0a5 // and x5, x5, #0xaaaaaaaaaaaaaaaa + WORD $0xab0f00af // adds x15, x5, x15 + WORD $0x1a9f37f3 // cset w19, hs + WORD $0xd37ff9ef // lsl x15, x15, #1 + WORD $0xd200f1ef // eor x15, x15, #0x5555555555555555 + WORD $0x8a1101ef // and x15, x15, x17 + WORD $0x8a2f01ce // bic x14, x14, x15 + WORD $0x17ffffd1 // b LBB0_301 $-188(%rip) LBB0_306: - WORD $0xaa2703e8 // mvn x8, x7 - WORD $0xcb314107 // sub x7, x8, w17, uxtw - WORD $0x52800073 // mov w19, #3 - WORD $0x17fffee0 // b LBB0_243 $-1152(%rip) -LBB0_307: - WORD $0xd2800005 // mov x5, #0 - WORD $0x8b1c013c // add x28, x9, x28 - WORD $0x92800008 // mov x8, #-1 + WORD $0xdac001ce // rbit x14, x14 + WORD $0xdac011ce // clz x14, x14 + WORD $0xdac000af // rbit x15, x5 + WORD $0xdac011e5 // clz x5, x15 + WORD $0xeb0e00bf // cmp x5, x14 + WORD $0x52800067 // mov w7, #3 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0x54008d83 // b.lo LBB0_572 $4528(%rip) + WORD $0x8b1c01ce // add x14, x14, x28 + WORD $0x910005dc // add x28, x14, #1 + WORD $0x5280008f // mov w15, #4 + WORD $0xb6ffe6fc // tbz x28, #63, LBB0_283 $-804(%rip) + WORD $0x14000406 // b LBB0_542 $4120(%rip) LBB0_308: - WORD $0xf1008287 // subs x7, x20, #32 - WORD $0x540028e3 // b.lo LBB0_377 $1308(%rip) - WORD $0xad405794 // ldp q20, q21, [x28] - WORD $0x6e208e96 // cmeq.16b v22, v20, v0 - WORD $0x6e208eb7 // cmeq.16b v23, v21, v0 - WORD $0x6e218e94 // cmeq.16b v20, v20, v1 - WORD $0x6e218eb5 // cmeq.16b v21, v21, v1 - WORD $0x4e221ed6 // and.16b v22, v22, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602d4 // fmov w20, s22 - WORD $0x4e221ef6 // and.16b v22, v23, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602d1 // fmov w17, s22 - WORD $0x4e221e94 // and.16b v20, v20, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260295 // fmov w21, s20 - WORD $0x4e221eb4 // and.16b v20, v21, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260284 // fmov w4, s20 - WORD $0x33103e34 // bfi w20, w17, #16, #16 - WORD $0x33103c95 // bfi w21, w4, #16, #16 - WORD $0x35002375 // cbnz w21, LBB0_374 $1132(%rip) - WORD $0xb5002405 // cbnz x5, LBB0_375 $1152(%rip) - WORD $0xb4002574 // cbz x20, LBB0_376 $1196(%rip) -LBB0_312: - WORD $0xdac00291 // rbit x17, x20 - WORD $0xdac01231 // clz x17, x17 - WORD $0xcb090384 // sub x4, x28, x9 - WORD $0x8b110091 // add x17, x4, x17 - WORD $0x14000055 // b LBB0_332 $340(%rip) -LBB0_313: + WORD $0x3940040e // ldrb w14, [x0, #1] + WORD $0x5100b9ce // sub w14, w14, #46 + WORD $0x7100dddf // cmp w14, #55 + WORD $0x54ff77e8 // b.hi LBB0_160 $-4356(%rip) + WORD $0x9ace218f // lsl x15, x12, x14 + WORD $0x5280002e // mov w14, #1 + WORD $0xb20903e5 // mov x5, #36028797027352576 + WORD $0xf2800025 // movk x5, #1 + WORD $0xea0501ff // tst x15, x5 + WORD $0x5280008f // mov w15, #4 + WORD $0x54ffe540 // b.eq LBB0_282 $-856(%rip) +LBB0_310: + WORD $0xf10042bf // cmp x21, #16 + WORD $0x54004f23 // b.lo LBB0_458 $2532(%rip) WORD $0xd2800005 // mov x5, #0 - WORD $0x8b1c013c // add x28, x9, x28 - WORD $0x92800008 // mov x8, #-1 -LBB0_314: - WORD $0xf1008295 // subs x21, x20, #32 - WORD $0x54000643 // b.lo LBB0_322 $200(%rip) - WORD $0xad405395 // ldp q21, q20, [x28] - WORD $0x6e208eb6 // cmeq.16b v22, v21, v0 - WORD $0x4e221ed6 // and.16b v22, v22, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602d4 // fmov w20, s22 - WORD $0x6e208e96 // cmeq.16b v22, v20, v0 - WORD $0x4e221ed6 // and.16b v22, v22, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602d1 // fmov w17, s22 - WORD $0x6e218eb6 // cmeq.16b v22, v21, v1 - WORD $0x4e221ed6 // and.16b v22, v22, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602c7 // fmov w7, s22 - WORD $0x6e218e96 // cmeq.16b v22, v20, v1 - WORD $0x4e221ed6 // and.16b v22, v22, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602c4 // fmov w4, s22 - WORD $0x33103e34 // bfi w20, w17, #16, #16 - WORD $0x33103c87 // bfi w7, w4, #16, #16 - WORD $0x350024e7 // cbnz w7, LBB0_386 $1180(%rip) - WORD $0xb5002585 // cbnz x5, LBB0_387 $1200(%rip) -LBB0_317: - WORD $0x6e353495 // cmhi.16b v21, v4, v21 - WORD $0x4e221eb5 // and.16b v21, v21, v2 - WORD $0x4e0302b5 // tbl.16b v21, { v21 }, v3 - WORD $0x4e71bab5 // addv.8h h21, v21 - WORD $0x1e2602a7 // fmov w7, s21 - WORD $0x6e343494 // cmhi.16b v20, v4, v20 - WORD $0x4e221e94 // and.16b v20, v20, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260291 // fmov w17, s20 - WORD $0x33103e27 // bfi w7, w17, #16, #16 - WORD $0xdac000f1 // rbit x17, x7 - WORD $0xdac01231 // clz x17, x17 - WORD $0xb4000114 // cbz x20, LBB0_320 $32(%rip) - WORD $0xdac00284 // rbit x4, x20 - WORD $0xdac01087 // clz x7, x4 - WORD $0xcb090385 // sub x5, x28, x9 - WORD $0xeb07023f // cmp x17, x7 - WORD $0x54003483 // b.lo LBB0_428 $1680(%rip) - WORD $0x8b0700b1 // add x17, x5, x7 - WORD $0x14000022 // b LBB0_332 $136(%rip) -LBB0_320: - WORD $0x35003467 // cbnz w7, LBB0_429 $1676(%rip) - WORD $0x9100839c // add x28, x28, #32 - WORD $0xaa1503f4 // mov x20, x21 -LBB0_322: - WORD $0xb5002505 // cbnz x5, LBB0_391 $1184(%rip) - WORD $0xb40027f4 // cbz x20, LBB0_398 $1276(%rip) + WORD $0xd280000e // mov x14, #0 + WORD $0x92800013 // mov x19, #-1 + WORD $0x9280001e // mov lr, #-1 + WORD $0x92800016 // mov x22, #-1 +LBB0_312: + WORD $0x3cee681a // ldr q26, [x0, x14] + WORD $0x6e258f5b // cmeq.16b v27, v26, v5 + WORD $0x6e268f5c // cmeq.16b v28, v26, v6 + WORD $0x6e278f5d // cmeq.16b v29, v26, v7 + WORD $0x4e30875e // add.16b v30, v26, v16 + WORD $0x6e3e363e // cmhi.16b v30, v17, v30 + WORD $0x4e321f5a // and.16b v26, v26, v18 + WORD $0x6e338f5a // cmeq.16b v26, v26, v19 + WORD $0x4ebd1f9c // orr.16b v28, v28, v29 + WORD $0x4ebb1fdd // orr.16b v29, v30, v27 + WORD $0x4ebc1f5e // orr.16b v30, v26, v28 + WORD $0x4ebe1fbd // orr.16b v29, v29, v30 + WORD $0x4e221f7b // and.16b v27, v27, v2 + WORD $0x4e03037b // tbl.16b v27, { v27 }, v3 + WORD $0x4e71bb7b // addv.8h h27, v27 + WORD $0x1e26036f // fmov w15, s27 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260354 // fmov w20, s26 + WORD $0x4e221f9a // and.16b v26, v28, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260357 // fmov w23, s26 + WORD $0x4e221fba // and.16b v26, v29, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260358 // fmov w24, s26 + WORD $0x2a3803f8 // mvn w24, w24 + WORD $0x32103f18 // orr w24, w24, #0xffff0000 + WORD $0x5ac00318 // rbit w24, w24 + WORD $0x5ac0131a // clz w26, w24 + WORD $0x12800011 // mov w17, #-1 + WORD $0x1ada2238 // lsl w24, w17, w26 + WORD $0x0a3801f9 // bic w25, w15, w24 + WORD $0x0a380291 // bic w17, w20, w24 + WORD $0x0a3802e7 // bic w7, w23, w24 + WORD $0x7100435f // cmp w26, #16 + WORD $0x1a9901f8 // csel w24, w15, w25, eq + WORD $0x1a910294 // csel w20, w20, w17, eq + WORD $0x1a8702f9 // csel w25, w23, w7, eq + WORD $0x5100070f // sub w15, w24, #1 + WORD $0x6a1801f7 // ands w23, w15, w24 + WORD $0x54003381 // b.ne LBB0_420 $1648(%rip) + WORD $0x5100068f // sub w15, w20, #1 + WORD $0x6a1401f7 // ands w23, w15, w20 + WORD $0x54003321 // b.ne LBB0_420 $1636(%rip) + WORD $0x5100072f // sub w15, w25, #1 + WORD $0x6a1901f7 // ands w23, w15, w25 + WORD $0x540032c1 // b.ne LBB0_420 $1624(%rip) + WORD $0x340000d8 // cbz w24, LBB0_318 $24(%rip) + WORD $0x5ac0030f // rbit w15, w24 + WORD $0x5ac011f8 // clz w24, w15 + WORD $0xb10006df // cmn x22, #1 + WORD $0x54004721 // b.ne LBB0_457 $2276(%rip) + WORD $0x8b1801d6 // add x22, x14, x24 +LBB0_318: + WORD $0x340000d4 // cbz w20, LBB0_321 $24(%rip) + WORD $0x5ac0028f // rbit w15, w20 + WORD $0x5ac011f4 // clz w20, w15 + WORD $0xb10007df // cmn lr, #1 + WORD $0x540035c1 // b.ne LBB0_429 $1720(%rip) + WORD $0x8b1401de // add lr, x14, x20 +LBB0_321: + WORD $0x340000d9 // cbz w25, LBB0_324 $24(%rip) + WORD $0x5ac0032f // rbit w15, w25 + WORD $0x5ac011f4 // clz w20, w15 + WORD $0xb100067f // cmn x19, #1 + WORD $0x54003501 // b.ne LBB0_429 $1696(%rip) + WORD $0x8b1401d3 // add x19, x14, x20 LBB0_324: - WORD $0xd2800005 // mov x5, #0 -LBB0_325: - WORD $0x38656b91 // ldrb w17, [x28, x5] - WORD $0x71008a3f // cmp w17, #34 - WORD $0x540002e0 // b.eq LBB0_331 $92(%rip) - WORD $0x7101723f // cmp w17, #92 - WORD $0x540000e0 // b.eq LBB0_329 $28(%rip) - WORD $0x71007e3f // cmp w17, #31 - WORD $0x54003349 // b.ls LBB0_430 $1640(%rip) - WORD $0x910004a5 // add x5, x5, #1 - WORD $0xeb05029f // cmp x20, x5 - WORD $0x54fffee1 // b.ne LBB0_325 $-36(%rip) - WORD $0x14000133 // b LBB0_398 $1228(%rip) -LBB0_329: - WORD $0xd1000691 // sub x17, x20, #1 - WORD $0xeb05023f // cmp x17, x5 - WORD $0x54002600 // b.eq LBB0_398 $1216(%rip) - WORD $0x8b050391 // add x17, x28, x5 - WORD $0x8b0c0224 // add x4, x17, x12 - WORD $0xb100051f // cmn x8, #1 - WORD $0x9a880088 // csel x8, x4, x8, eq - WORD $0x91000a3c // add x28, x17, #2 - WORD $0xcb050291 // sub x17, x20, x5 - WORD $0xd1000a84 // sub x4, x20, #2 - WORD $0xd1000a34 // sub x20, x17, #2 - WORD $0xeb05009f // cmp x4, x5 - WORD $0x54fffd01 // b.ne LBB0_324 $-96(%rip) - WORD $0x14000125 // b LBB0_398 $1172(%rip) + WORD $0x7100435f // cmp w26, #16 + WORD $0x54000601 // b.ne LBB0_342 $192(%rip) + WORD $0x910041ce // add x14, x14, #16 + WORD $0xd10040a5 // sub x5, x5, #16 + WORD $0x8b0502ba // add x26, x21, x5 + WORD $0xf1003f5f // cmp x26, #15 + WORD $0x54fff6c8 // b.hi LBB0_312 $-296(%rip) + WORD $0x8b0e0005 // add x5, x0, x14 + WORD $0xeb0e02bf // cmp x21, x14 + WORD $0x52800067 // mov w7, #3 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0x54000540 // b.eq LBB0_343 $168(%rip) +LBB0_327: + WORD $0x8b1a00ae // add x14, x5, x26 + WORD $0xcb0800af // sub x15, x5, x8 + WORD $0xcb1b01f5 // sub x21, x15, x27 + WORD $0xaa0503fb // mov x27, x5 + WORD $0x14000008 // b LBB0_331 $32(%rip) +LBB0_328: + WORD $0xb100067f // cmn x19, #1 + WORD $0x54002da1 // b.ne LBB0_419 $1460(%rip) + WORD $0xd10006b3 // sub x19, x21, #1 +LBB0_330: + WORD $0x910006b5 // add x21, x21, #1 + WORD $0xaa1b03e5 // mov x5, x27 + WORD $0xd100075a // sub x26, x26, #1 + WORD $0xb4000b3a // cbz x26, LBB0_363 $356(%rip) LBB0_331: - WORD $0x8b1c0191 // add x17, x12, x28 - WORD $0x8b050231 // add x17, x17, x5 -LBB0_332: - WORD $0x9100063c // add x28, x17, #1 - WORD $0x52800073 // mov w19, #3 - WORD $0x17fffbf6 // b LBB0_122 $-4136(%rip) -LBB0_333: - WORD $0x92800008 // mov x8, #-1 - WORD $0xaa1e03f6 // mov x22, lr - WORD $0xaa1503f7 // mov x23, x21 - WORD $0x92800005 // mov x5, #-1 - WORD $0x92800014 // mov x20, #-1 - WORD $0x17fffb21 // b LBB0_82 $-4988(%rip) -LBB0_334: - WORD $0xaa2703e8 // mvn x8, x7 - WORD $0xcb3a4107 // sub x7, x8, w26, uxtw - WORD $0x52800073 // mov w19, #3 - WORD $0x17fffe5b // b LBB0_243 $-1684(%rip) -LBB0_335: - WORD $0x92800014 // mov x20, #-1 - WORD $0xaa0803f6 // mov x22, x8 - WORD $0xaa1803f5 // mov x21, x24 - WORD $0x92800005 // mov x5, #-1 - WORD $0x9280001e // mov lr, #-1 - WORD $0x52800073 // mov w19, #3 - WORD $0x17fffe0f // b LBB0_215 $-1988(%rip) -LBB0_336: - WORD $0xdac002b1 // rbit x17, x21 - WORD $0xdac01231 // clz x17, x17 - WORD $0xcb090396 // sub x22, x28, x9 - WORD $0x8b1102d1 // add x17, x22, x17 - WORD $0xb100051f // cmn x8, #1 - WORD $0x9a911108 // csel x8, x8, x17, ne -LBB0_337: - WORD $0x0a2502b1 // bic w17, w21, w5 - WORD $0x531f7a36 // lsl w22, w17, #1 - WORD $0x331f7a25 // bfi w5, w17, #1, #31 - WORD $0x0a3602b5 // bic w21, w21, w22 - WORD $0x1201f2b5 // and w21, w21, #0xaaaaaaaa - WORD $0x2b1102b1 // adds w17, w21, w17 - WORD $0x4a1104d1 // eor w17, w6, w17, lsl #1 - WORD $0x0a050231 // and w17, w17, w5 - WORD $0x1a9f37e5 // cset w5, hs - WORD $0x2a3103f1 // mvn w17, w17 - WORD $0x8a140234 // and x20, x17, x20 - WORD $0x52800073 // mov w19, #3 - WORD $0xb5ffcf74 // cbnz x20, LBB0_255 $-1556(%rip) + WORD $0x38401774 // ldrb w20, [x27], #1 + WORD $0x5100c28f // sub w15, w20, #48 + WORD $0x710029ff // cmp w15, #10 + WORD $0x54ffff23 // b.lo LBB0_330 $-28(%rip) + WORD $0x7100b69f // cmp w20, #45 + WORD $0x5400016d // b.le LBB0_338 $44(%rip) + WORD $0x7101969f // cmp w20, #101 + WORD $0x540001c0 // b.eq LBB0_340 $56(%rip) + WORD $0x7101169f // cmp w20, #69 + WORD $0x54000180 // b.eq LBB0_340 $48(%rip) + WORD $0x7100ba9f // cmp w20, #46 + WORD $0x54000241 // b.ne LBB0_343 $72(%rip) + WORD $0xb10006df // cmn x22, #1 + WORD $0x54002b41 // b.ne LBB0_419 $1384(%rip) + WORD $0xd10006b6 // sub x22, x21, #1 + WORD $0x17ffffed // b LBB0_330 $-76(%rip) LBB0_338: - WORD $0x9100839c // add x28, x28, #32 - WORD $0xaa0703f4 // mov x20, x7 -LBB0_339: - WORD $0xb5000ec5 // cbnz x5, LBB0_366 $472(%rip) - WORD $0xb4000314 // cbz x20, LBB0_348 $96(%rip) -LBB0_341: - WORD $0xaa1c03e7 // mov x7, x28 - WORD $0x384014e5 // ldrb w5, [x7], #1 - WORD $0x710088bf // cmp w5, #34 - WORD $0x54000260 // b.eq LBB0_347 $76(%rip) - WORD $0xd1000691 // sub x17, x20, #1 - WORD $0x710170bf // cmp w5, #92 - WORD $0x540000a0 // b.eq LBB0_344 $20(%rip) - WORD $0xaa0703fc // mov x28, x7 - WORD $0xaa1103f4 // mov x20, x17 - WORD $0xb5fffef1 // cbnz x17, LBB0_341 $-36(%rip) - WORD $0x14000009 // b LBB0_346 $36(%rip) + WORD $0x7100ae9f // cmp w20, #43 + WORD $0x54fffd00 // b.eq LBB0_328 $-96(%rip) + WORD $0x7100b69f // cmp w20, #45 + WORD $0x54fffcc0 // b.eq LBB0_328 $-104(%rip) + WORD $0x14000009 // b LBB0_343 $36(%rip) +LBB0_340: + WORD $0xb10007df // cmn lr, #1 + WORD $0x54002a21 // b.ne LBB0_419 $1348(%rip) + WORD $0xd10006be // sub lr, x21, #1 + WORD $0x17ffffe4 // b LBB0_330 $-112(%rip) +LBB0_342: + WORD $0x8b3a400f // add x15, x0, w26, uxtw + WORD $0x8b0e01e5 // add x5, x15, x14 + WORD $0x52800067 // mov w7, #3 + WORD $0x92f00011 // mov x17, #9223372036854775807 +LBB0_343: + WORD $0x9280000e // mov x14, #-1 + WORD $0xb4007a96 // cbz x22, LBB0_569 $3920(%rip) LBB0_344: - WORD $0xb4001d91 // cbz x17, LBB0_398 $944(%rip) - WORD $0x8b0b00f1 // add x17, x7, x11 - WORD $0xb100051f // cmn x8, #1 - WORD $0x9a880228 // csel x8, x17, x8, eq - WORD $0x91000b9c // add x28, x28, #2 - WORD $0xd1000a91 // sub x17, x20, #2 - WORD $0xaa1103f4 // mov x20, x17 - WORD $0xb5fffdd1 // cbnz x17, LBB0_341 $-72(%rip) -LBB0_346: - WORD $0x710088bf // cmp w5, #34 - WORD $0x54000060 // b.eq LBB0_348 $12(%rip) - WORD $0x140000e2 // b LBB0_398 $904(%rip) -LBB0_347: - WORD $0xaa0703fc // mov x28, x7 -LBB0_348: - WORD $0xcb09039c // sub x28, x28, x9 - WORD $0x17fffbb5 // b LBB0_122 $-4396(%rip) -LBB0_349: - WORD $0xdac000f1 // rbit x17, x7 - WORD $0xdac01231 // clz x17, x17 - WORD $0xcb090396 // sub x22, x28, x9 - WORD $0x8b1102d1 // add x17, x22, x17 - WORD $0xb100051f // cmn x8, #1 - WORD $0x9a911108 // csel x8, x8, x17, ne -LBB0_350: - WORD $0x0a2500f1 // bic w17, w7, w5 - WORD $0x531f7a36 // lsl w22, w17, #1 - WORD $0x331f7a25 // bfi w5, w17, #1, #31 - WORD $0x0a3600e7 // bic w7, w7, w22 - WORD $0x1201f0e7 // and w7, w7, #0xaaaaaaaa - WORD $0x2b1100f1 // adds w17, w7, w17 - WORD $0x4a1104d1 // eor w17, w6, w17, lsl #1 - WORD $0x0a050231 // and w17, w17, w5 - WORD $0x1a9f37e5 // cset w5, hs - WORD $0x2a3103f1 // mvn w17, w17 - WORD $0x8a140234 // and x20, x17, x20 - WORD $0x52800073 // mov w19, #3 - WORD $0x17fffe6e // b LBB0_260 $-1608(%rip) + WORD $0x5280008f // mov w15, #4 + WORD $0xb4007a53 // cbz x19, LBB0_569 $3912(%rip) + WORD $0xb4007a3e // cbz lr, LBB0_569 $3908(%rip) + WORD $0xcb0000ae // sub x14, x5, x0 + WORD $0xd10005c0 // sub x0, x14, #1 + WORD $0xeb0002df // cmp x22, x0 + WORD $0x54000300 // b.eq LBB0_355 $96(%rip) + WORD $0xeb00027f // cmp x19, x0 + WORD $0x540002c0 // b.eq LBB0_355 $88(%rip) + WORD $0xeb0003df // cmp lr, x0 + WORD $0x54000280 // b.eq LBB0_355 $80(%rip) + WORD $0xf1000660 // subs x0, x19, #1 + WORD $0x5400006b // b.lt LBB0_351 $12(%rip) + WORD $0xeb0003df // cmp lr, x0 + WORD $0x540078c1 // b.ne LBB0_570 $3864(%rip) LBB0_351: - WORD $0xdac002b1 // rbit x17, x21 - WORD $0xdac01231 // clz x17, x17 - WORD $0xcb090396 // sub x22, x28, x9 - WORD $0x8b1102d1 // add x17, x22, x17 - WORD $0xb100051f // cmn x8, #1 - WORD $0x9a911108 // csel x8, x8, x17, ne -LBB0_352: - WORD $0x0a2502b1 // bic w17, w21, w5 - WORD $0x531f7a36 // lsl w22, w17, #1 - WORD $0x331f7a25 // bfi w5, w17, #1, #31 - WORD $0x0a3602b5 // bic w21, w21, w22 - WORD $0x1201f2b5 // and w21, w21, #0xaaaaaaaa - WORD $0x2b1102b1 // adds w17, w21, w17 - WORD $0x4a110491 // eor w17, w4, w17, lsl #1 - WORD $0x0a050231 // and w17, w17, w5 - WORD $0x1a9f37e5 // cset w5, hs - WORD $0x2a3103f1 // mvn w17, w17 - WORD $0x8a140234 // and x20, x17, x20 - WORD $0x52800073 // mov w19, #3 - WORD $0xb5ffd6b4 // cbnz x20, LBB0_282 $-1324(%rip) + WORD $0xaa1e02c0 // orr x0, x22, lr + WORD $0xb7f80060 // tbnz x0, #63, LBB0_353 $12(%rip) + WORD $0xeb1e02df // cmp x22, lr + WORD $0x5400788a // b.ge LBB0_571 $3856(%rip) LBB0_353: - WORD $0x9100839c // add x28, x28, #32 - WORD $0xaa0703f4 // mov x20, x7 + WORD $0xd37ffc0f // lsr x15, x0, #63 + WORD $0x520001ef // eor w15, w15, #0x1 + WORD $0xd10007d1 // sub x17, lr, #1 + WORD $0xeb1102df // cmp x22, x17 + WORD $0x1a9f17f1 // cset w17, eq + WORD $0x6a1101ff // tst w15, w17 + WORD $0xda9e01ce // csinv x14, x14, lr, eq LBB0_354: - WORD $0xb5000865 // cbnz x5, LBB0_370 $268(%rip) - WORD $0xb4000314 // cbz x20, LBB0_363 $96(%rip) + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0xb6ffd16e // tbz x14, #63, LBB0_282 $-1492(%rip) + WORD $0x140003b6 // b LBB0_569 $3800(%rip) +LBB0_355: + WORD $0xcb0e03ee // neg x14, x14 + WORD $0xb6ffd10e // tbz x14, #63, LBB0_282 $-1504(%rip) + WORD $0x140003b3 // b LBB0_569 $3788(%rip) LBB0_356: - WORD $0xaa1c03e7 // mov x7, x28 - WORD $0x384014e5 // ldrb w5, [x7], #1 - WORD $0x710088bf // cmp w5, #34 - WORD $0x54000260 // b.eq LBB0_362 $76(%rip) - WORD $0xd1000691 // sub x17, x20, #1 - WORD $0x710170bf // cmp w5, #92 - WORD $0x540000a0 // b.eq LBB0_359 $20(%rip) - WORD $0xaa0703fc // mov x28, x7 - WORD $0xaa1103f4 // mov x20, x17 - WORD $0xb5fffef1 // cbnz x17, LBB0_356 $-36(%rip) - WORD $0x14000009 // b LBB0_361 $36(%rip) + WORD $0xb5003be5 // cbnz x5, LBB0_459 $1916(%rip) + WORD $0x8b0e03c5 // add x5, lr, x14 + WORD $0x910004a5 // add x5, x5, #1 + WORD $0xaa2e03ee // mvn x14, x14 + WORD $0x8b0001ce // add x14, x14, x0 + WORD $0xf10005df // cmp x14, #1 + WORD $0x54003d8a // b.ge LBB0_462 $1968(%rip) + WORD $0x140003b6 // b LBB0_575 $3800(%rip) +LBB0_358: + WORD $0x5ac002ee // rbit w14, w23 + WORD $0x5ac011ce // clz w14, w14 + WORD $0xaa3c03ef // mvn x15, x28 + WORD $0xcb0e01ee // sub x14, x15, x14 + WORD $0x17fffb39 // b LBB0_179 $-4892(%rip) LBB0_359: - WORD $0xb4001531 // cbz x17, LBB0_398 $676(%rip) - WORD $0x8b0b00f1 // add x17, x7, x11 - WORD $0xb100051f // cmn x8, #1 - WORD $0x9a880228 // csel x8, x17, x8, eq - WORD $0x91000b9c // add x28, x28, #2 - WORD $0xd1000a91 // sub x17, x20, #2 - WORD $0xaa1103f4 // mov x20, x17 - WORD $0xb5fffdd1 // cbnz x17, LBB0_356 $-72(%rip) + WORD $0xaa3c03ee // mvn x14, x28 + WORD $0xcb3441ce // sub x14, x14, w20, uxtw + WORD $0x17fffb36 // b LBB0_179 $-4904(%rip) +LBB0_360: + WORD $0x8b1c0365 // add x5, x27, x28 + WORD $0xf10005df // cmp x14, #1 + WORD $0x54003c0a // b.ge LBB0_462 $1920(%rip) + WORD $0x140003aa // b LBB0_575 $3752(%rip) LBB0_361: - WORD $0x710088bf // cmp w5, #34 - WORD $0x54000060 // b.eq LBB0_363 $12(%rip) - WORD $0x1400009f // b LBB0_398 $636(%rip) + WORD $0x8b1c037c // add x28, x27, x28 + WORD $0x1400000e // b LBB0_366 $56(%rip) LBB0_362: - WORD $0xaa0703fc // mov x28, x7 + WORD $0x8b1c037c // add x28, x27, x28 + WORD $0x14000032 // b LBB0_372 $200(%rip) LBB0_363: - WORD $0xcb09039c // sub x28, x28, x9 - WORD $0x52800084 // mov w4, #4 - WORD $0x92f00006 // mov x6, #9223372036854775807 - WORD $0xb20903e7 // mov x7, #36028797027352576 - WORD $0xf2800027 // movk x7, #1 - WORD $0xb6ff827c // tbz x28, #63, LBB0_151 $-4020(%rip) - WORD $0x14000095 // b LBB0_397 $596(%rip) + WORD $0xaa0e03e5 // mov x5, x14 + WORD $0x9280000e // mov x14, #-1 + WORD $0xb5fff8b6 // cbnz x22, LBB0_344 $-236(%rip) + WORD $0x14000397 // b LBB0_569 $3676(%rip) LBB0_364: - WORD $0xdac000f1 // rbit x17, x7 - WORD $0xdac01231 // clz x17, x17 - WORD $0xcb090396 // sub x22, x28, x9 - WORD $0x8b1102d1 // add x17, x22, x17 - WORD $0xb100051f // cmn x8, #1 - WORD $0x9a911108 // csel x8, x8, x17, ne + WORD $0x8b1c0365 // add x5, x27, x28 + WORD $0xf10005df // cmp x14, #1 + WORD $0x54003eca // b.ge LBB0_469 $2008(%rip) + WORD $0x1400039e // b LBB0_575 $3704(%rip) LBB0_365: - WORD $0x0a2500f1 // bic w17, w7, w5 - WORD $0x531f7a36 // lsl w22, w17, #1 - WORD $0x331f7a25 // bfi w5, w17, #1, #31 - WORD $0x0a3600e7 // bic w7, w7, w22 - WORD $0x1201f0e7 // and w7, w7, #0xaaaaaaaa - WORD $0x2b1100f1 // adds w17, w7, w17 - WORD $0x4a110491 // eor w17, w4, w17, lsl #1 - WORD $0x0a050231 // and w17, w17, w5 - WORD $0x1a9f37e5 // cset w5, hs - WORD $0x2a3103f1 // mvn w17, w17 - WORD $0x8a140234 // and x20, x17, x20 - WORD $0x52800073 // mov w19, #3 - WORD $0x17fffea3 // b LBB0_287 $-1396(%rip) + WORD $0xd2800013 // mov x19, #0 + WORD $0x8b1c037c // add x28, x27, x28 + WORD $0x92800000 // mov x0, #-1 LBB0_366: - WORD $0xb4001074 // cbz x20, LBB0_398 $524(%rip) - WORD $0x8b0b0391 // add x17, x28, x11 - WORD $0xb100051f // cmn x8, #1 - WORD $0x9a880228 // csel x8, x17, x8, eq - WORD $0x9100079c // add x28, x28, #1 - WORD $0xd1000694 // sub x20, x20, #1 - WORD $0xb5fff0d4 // cbnz x20, LBB0_341 $-488(%rip) - WORD $0x17ffff9c // b LBB0_348 $-400(%rip) -LBB0_368: - WORD $0xb4000f74 // cbz x20, LBB0_398 $492(%rip) - WORD $0x8b0b0391 // add x17, x28, x11 - WORD $0xb100051f // cmn x8, #1 - WORD $0x9a880228 // csel x8, x17, x8, eq - WORD $0x9100079c // add x28, x28, #1 - WORD $0xd1000694 // sub x20, x20, #1 - WORD $0xb5ffc634 // cbnz x20, LBB0_267 $-1852(%rip) - WORD $0x14000074 // b LBB0_398 $464(%rip) + WORD $0xf10082ce // subs x14, x22, #32 + WORD $0x54004363 // b.lo LBB0_476 $2156(%rip) + WORD $0xad406f9a // ldp q26, q27, [x28] + WORD $0x6e208f5c // cmeq.16b v28, v26, v0 + WORD $0x6e208f7d // cmeq.16b v29, v27, v0 + WORD $0x6e218f5a // cmeq.16b v26, v26, v1 + WORD $0x6e218f7b // cmeq.16b v27, v27, v1 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260385 // fmov w5, s28 + WORD $0x4e221fbc // and.16b v28, v29, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260394 // fmov w20, s28 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260355 // fmov w21, s26 + WORD $0x4e221f7a // and.16b v26, v27, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260356 // fmov w22, s26 + WORD $0x33103e85 // bfi w5, w20, #16, #16 + WORD $0x33103ed5 // bfi w21, w22, #16, #16 + WORD $0x35003d75 // cbnz w21, LBB0_473 $1964(%rip) + WORD $0xb5003e13 // cbnz x19, LBB0_474 $1984(%rip) + WORD $0xb4003fe5 // cbz x5, LBB0_475 $2044(%rip) LBB0_370: - WORD $0xb4000e74 // cbz x20, LBB0_398 $460(%rip) - WORD $0x8b0b0391 // add x17, x28, x11 - WORD $0xb100051f // cmn x8, #1 - WORD $0x9a880228 // csel x8, x17, x8, eq - WORD $0x9100079c // add x28, x28, #1 - WORD $0xd1000694 // sub x20, x20, #1 - WORD $0xb5fff734 // cbnz x20, LBB0_356 $-284(%rip) - WORD $0x17ffffcf // b LBB0_363 $-196(%rip) + WORD $0xdac000ae // rbit x14, x5 + WORD $0xdac011ce // clz x14, x14 + WORD $0xcb1b0385 // sub x5, x28, x27 + WORD $0x8b0e00ae // add x14, x5, x14 + WORD $0x910005dc // add x28, x14, #1 + WORD $0xb6ffc87c // tbz x28, #63, LBB0_283 $-1780(%rip) + WORD $0x14000312 // b LBB0_542 $3144(%rip) +LBB0_371: + WORD $0xd2800013 // mov x19, #0 + WORD $0x8b1c037c // add x28, x27, x28 + WORD $0x92800000 // mov x0, #-1 LBB0_372: - WORD $0xb4000d74 // cbz x20, LBB0_398 $428(%rip) - WORD $0x8b0b0391 // add x17, x28, x11 - WORD $0xb100051f // cmn x8, #1 - WORD $0x9a880228 // csel x8, x17, x8, eq - WORD $0x9100079c // add x28, x28, #1 - WORD $0xd1000694 // sub x20, x20, #1 - WORD $0xb5ffd3d4 // cbnz x20, LBB0_294 $-1416(%rip) - WORD $0x14000064 // b LBB0_398 $400(%rip) -LBB0_374: - WORD $0xdac002b1 // rbit x17, x21 - WORD $0xdac01231 // clz x17, x17 - WORD $0xcb090384 // sub x4, x28, x9 - WORD $0x8b110091 // add x17, x4, x17 - WORD $0xb100051f // cmn x8, #1 - WORD $0x9a911108 // csel x8, x8, x17, ne + WORD $0xf10082ce // subs x14, x22, #32 + WORD $0x54000623 // b.lo LBB0_379 $196(%rip) + WORD $0xad406b9b // ldp q27, q26, [x28] + WORD $0x6e208f7c // cmeq.16b v28, v27, v0 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260385 // fmov w5, s28 + WORD $0x6e208f5c // cmeq.16b v28, v26, v0 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260394 // fmov w20, s28 + WORD $0x6e218f7c // cmeq.16b v28, v27, v1 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260395 // fmov w21, s28 + WORD $0x6e218f5c // cmeq.16b v28, v26, v1 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260396 // fmov w22, s28 + WORD $0x33103e85 // bfi w5, w20, #16, #16 + WORD $0x33103ed5 // bfi w21, w22, #16, #16 + WORD $0x35003ff5 // cbnz w21, LBB0_487 $2044(%rip) + WORD $0xb5004093 // cbnz x19, LBB0_488 $2064(%rip) LBB0_375: - WORD $0x0a2502b1 // bic w17, w21, w5 - WORD $0x531f7a24 // lsl w4, w17, #1 - WORD $0x331f7a25 // bfi w5, w17, #1, #31 - WORD $0x0a2402a4 // bic w4, w21, w4 - WORD $0x1201f084 // and w4, w4, #0xaaaaaaaa - WORD $0x2b110091 // adds w17, w4, w17 - WORD $0x4a110711 // eor w17, w24, w17, lsl #1 - WORD $0x0a050231 // and w17, w17, w5 - WORD $0x1a9f37e5 // cset w5, hs - WORD $0x2a3103f1 // mvn w17, w17 - WORD $0x8a140234 // and x20, x17, x20 - WORD $0xb5ffdaf4 // cbnz x20, LBB0_312 $-1188(%rip) -LBB0_376: - WORD $0x9100839c // add x28, x28, #32 - WORD $0xaa0703f4 // mov x20, x7 + WORD $0x6e3b349b // cmhi.16b v27, v4, v27 + WORD $0x4e221f7b // and.16b v27, v27, v2 + WORD $0x4e03037b // tbl.16b v27, { v27 }, v3 + WORD $0x4e71bb7b // addv.8h h27, v27 + WORD $0x1e260375 // fmov w21, s27 + WORD $0x6e3a349a // cmhi.16b v26, v4, v26 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260354 // fmov w20, s26 + WORD $0x33103e95 // bfi w21, w20, #16, #16 + WORD $0xdac002b4 // rbit x20, x21 + WORD $0xdac01294 // clz x20, x20 + WORD $0xb40000e5 // cbz x5, LBB0_377 $28(%rip) + WORD $0xdac000ae // rbit x14, x5 + WORD $0xdac011c5 // clz x5, x14 + WORD $0xcb1b038e // sub x14, x28, x27 + WORD $0xeb05029f // cmp x20, x5 + WORD $0x54000462 // b.hs LBB0_390 $140(%rip) + WORD $0x14000350 // b LBB0_577 $3392(%rip) LBB0_377: - WORD $0xb50005c5 // cbnz x5, LBB0_388 $184(%rip) - WORD $0xb4000694 // cbz x20, LBB0_390 $208(%rip) + WORD $0x35006a55 // cbnz w21, LBB0_578 $3400(%rip) + WORD $0x9100839c // add x28, x28, #32 + WORD $0xaa0e03f6 // mov x22, x14 LBB0_379: - WORD $0xaa1c03e7 // mov x7, x28 - WORD $0x384014e5 // ldrb w5, [x7], #1 - WORD $0x710088bf // cmp w5, #34 - WORD $0x54000280 // b.eq LBB0_385 $80(%rip) - WORD $0xd1000691 // sub x17, x20, #1 - WORD $0x710170bf // cmp w5, #92 - WORD $0x540000a0 // b.eq LBB0_382 $20(%rip) - WORD $0xaa0703fc // mov x28, x7 - WORD $0xaa1103f4 // mov x20, x17 - WORD $0xb5fffef1 // cbnz x17, LBB0_379 $-36(%rip) - WORD $0x14000009 // b LBB0_384 $36(%rip) + WORD $0xb5004a73 // cbnz x19, LBB0_507 $2380(%rip) + WORD $0xb4005bb6 // cbz x22, LBB0_543 $2932(%rip) +LBB0_381: + WORD $0xcb1b03ee // neg x14, x27 LBB0_382: - WORD $0xb4000851 // cbz x17, LBB0_398 $264(%rip) - WORD $0x8b0b00f1 // add x17, x7, x11 - WORD $0xb100051f // cmn x8, #1 - WORD $0x9a880228 // csel x8, x17, x8, eq - WORD $0x91000b9c // add x28, x28, #2 - WORD $0xd1000a91 // sub x17, x20, #2 - WORD $0xaa1103f4 // mov x20, x17 - WORD $0xb5fffdd1 // cbnz x17, LBB0_379 $-72(%rip) -LBB0_384: - WORD $0x710088bf // cmp w5, #34 - WORD $0x52800073 // mov w19, #3 - WORD $0x54ffeb00 // b.eq LBB0_348 $-672(%rip) - WORD $0x14000037 // b LBB0_398 $220(%rip) -LBB0_385: - WORD $0xaa0703fc // mov x28, x7 - WORD $0x52800073 // mov w19, #3 - WORD $0x17ffff54 // b LBB0_348 $-688(%rip) -LBB0_386: - WORD $0xdac000f1 // rbit x17, x7 - WORD $0xdac01231 // clz x17, x17 - WORD $0xcb090384 // sub x4, x28, x9 - WORD $0x8b110091 // add x17, x4, x17 - WORD $0xb100051f // cmn x8, #1 - WORD $0x9a911108 // csel x8, x8, x17, ne + WORD $0xd2800005 // mov x5, #0 +LBB0_383: + WORD $0x38656b93 // ldrb w19, [x28, x5] + WORD $0x71008a7f // cmp w19, #34 + WORD $0x540002e0 // b.eq LBB0_389 $92(%rip) + WORD $0x7101727f // cmp w19, #92 + WORD $0x540000e0 // b.eq LBB0_387 $28(%rip) + WORD $0x71007e7f // cmp w19, #31 + WORD $0x54006929 // b.ls LBB0_579 $3364(%rip) + WORD $0x910004a5 // add x5, x5, #1 + WORD $0xeb0502df // cmp x22, x5 + WORD $0x54fffee1 // b.ne LBB0_383 $-36(%rip) + WORD $0x140002d0 // b LBB0_543 $2880(%rip) LBB0_387: - WORD $0x0a2500f1 // bic w17, w7, w5 - WORD $0x531f7a24 // lsl w4, w17, #1 - WORD $0x331f7a25 // bfi w5, w17, #1, #31 - WORD $0x0a2400e4 // bic w4, w7, w4 - WORD $0x1201f084 // and w4, w4, #0xaaaaaaaa - WORD $0x2b110091 // adds w17, w4, w17 - WORD $0x4a110711 // eor w17, w24, w17, lsl #1 - WORD $0x0a050231 // and w17, w17, w5 - WORD $0x1a9f37e5 // cset w5, hs - WORD $0x2a3103f1 // mvn w17, w17 - WORD $0x8a140234 // and x20, x17, x20 - WORD $0x17fffeca // b LBB0_317 $-1240(%rip) -LBB0_388: - WORD $0xb4000434 // cbz x20, LBB0_398 $132(%rip) - WORD $0x8b0b0391 // add x17, x28, x11 - WORD $0xb100051f // cmn x8, #1 - WORD $0x9a880228 // csel x8, x17, x8, eq - WORD $0x9100079c // add x28, x28, #1 - WORD $0xd1000694 // sub x20, x20, #1 - WORD $0xb5fff9d4 // cbnz x20, LBB0_379 $-200(%rip) + WORD $0xd10006d3 // sub x19, x22, #1 + WORD $0xeb05027f // cmp x19, x5 + WORD $0x540059a0 // b.eq LBB0_543 $2868(%rip) + WORD $0x8b050393 // add x19, x28, x5 + WORD $0x8b0e0274 // add x20, x19, x14 + WORD $0xb100041f // cmn x0, #1 + WORD $0x9a800280 // csel x0, x20, x0, eq + WORD $0x91000a7c // add x28, x19, #2 + WORD $0xd1000ad3 // sub x19, x22, #2 + WORD $0xcb0502d4 // sub x20, x22, x5 + WORD $0xd1000a96 // sub x22, x20, #2 + WORD $0xeb05027f // cmp x19, x5 + WORD $0x54fffd01 // b.ne LBB0_382 $-96(%rip) + WORD $0x140002c2 // b LBB0_543 $2824(%rip) +LBB0_389: + WORD $0xcb1b038e // sub x14, x28, x27 LBB0_390: - WORD $0x52800073 // mov w19, #3 - WORD $0x17ffff39 // b LBB0_348 $-796(%rip) + WORD $0x8b0501ce // add x14, x14, x5 + WORD $0x910005dc // add x28, x14, #1 + WORD $0xb6ffbd9c // tbz x28, #63, LBB0_283 $-2128(%rip) + WORD $0x140002bb // b LBB0_542 $2796(%rip) LBB0_391: - WORD $0xb4000314 // cbz x20, LBB0_398 $96(%rip) - WORD $0x8b0b0391 // add x17, x28, x11 - WORD $0xb100051f // cmn x8, #1 - WORD $0x9a880228 // csel x8, x17, x8, eq - WORD $0x9100079c // add x28, x28, #1 - WORD $0xd1000694 // sub x20, x20, #1 - WORD $0xb5ffda94 // cbnz x20, LBB0_324 $-1200(%rip) - WORD $0x14000011 // b LBB0_398 $68(%rip) + WORD $0x8b1c037c // add x28, x27, x28 + WORD $0x14000006 // b LBB0_394 $24(%rip) +LBB0_392: + WORD $0x8b1c037c // add x28, x27, x28 + WORD $0x1400002a // b LBB0_400 $168(%rip) LBB0_393: - WORD $0x92800008 // mov x8, #-1 + WORD $0xd2800013 // mov x19, #0 + WORD $0x8b1c037c // add x28, x27, x28 + WORD $0x92800000 // mov x0, #-1 LBB0_394: - WORD $0xaa0803e0 // mov x0, x8 - WORD $0xa9457bfd // ldp fp, lr, [sp, #80] - WORD $0xa9444ff4 // ldp x20, x19, [sp, #64] - WORD $0xa94357f6 // ldp x22, x21, [sp, #48] - WORD $0xa9425ff8 // ldp x24, x23, [sp, #32] - WORD $0xa94167fa // ldp x26, x25, [sp, #16] - WORD $0xa8c76ffc // ldp x28, x27, [sp], #112 - WORD $0xd65f03c0 // ret -LBB0_395: - WORD $0x9280001c // mov x28, #-1 - WORD $0xaa1b03e8 // mov x8, x27 - WORD $0x1400000c // b LBB0_403 $48(%rip) -LBB0_396: - WORD $0x928000c8 // mov x8, #-7 - WORD $0x17fffff4 // b LBB0_394 $-48(%rip) -LBB0_397: - WORD $0xb100079f // cmn x28, #1 - WORD $0x54000101 // b.ne LBB0_403 $32(%rip) + WORD $0xf10082ce // subs x14, x22, #32 + WORD $0x54003d43 // b.lo LBB0_492 $1960(%rip) + WORD $0xad406f9a // ldp q26, q27, [x28] + WORD $0x6e208f5c // cmeq.16b v28, v26, v0 + WORD $0x6e208f7d // cmeq.16b v29, v27, v0 + WORD $0x6e218f5a // cmeq.16b v26, v26, v1 + WORD $0x6e218f7b // cmeq.16b v27, v27, v1 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260385 // fmov w5, s28 + WORD $0x4e221fbc // and.16b v28, v29, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260394 // fmov w20, s28 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260355 // fmov w21, s26 + WORD $0x4e221f7a // and.16b v26, v27, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260356 // fmov w22, s26 + WORD $0x33103e85 // bfi w5, w20, #16, #16 + WORD $0x33103ed5 // bfi w21, w22, #16, #16 + WORD $0x35003755 // cbnz w21, LBB0_489 $1768(%rip) + WORD $0xb50037f3 // cbnz x19, LBB0_490 $1788(%rip) + WORD $0xb40039c5 // cbz x5, LBB0_491 $1848(%rip) LBB0_398: - WORD $0xf9400408 // ldr x8, [x0, #8] - WORD $0x9280001c // mov x28, #-1 - WORD $0x14000005 // b LBB0_403 $20(%rip) + WORD $0xdac000ae // rbit x14, x5 + WORD $0xdac011ce // clz x14, x14 + WORD $0xcb1b0385 // sub x5, x28, x27 + WORD $0x8b0e00ae // add x14, x5, x14 + WORD $0x910005dc // add x28, x14, #1 + WORD $0xb6ff5f3c // tbz x28, #63, LBB0_194 $-5148(%rip) + WORD $0x14000291 // b LBB0_542 $2628(%rip) LBB0_399: - WORD $0x92800015 // mov x21, #-1 + WORD $0xd2800013 // mov x19, #0 + WORD $0x8b1c037c // add x28, x27, x28 + WORD $0x92800000 // mov x0, #-1 LBB0_400: - WORD $0xaa3503f4 // mvn x20, x21 -LBB0_401: - WORD $0x8b1b0288 // add x8, x20, x27 -LBB0_402: - WORD $0x9280003c // mov x28, #-2 + WORD $0xf10082ce // subs x14, x22, #32 + WORD $0x54000623 // b.lo LBB0_407 $196(%rip) + WORD $0xad406b9b // ldp q27, q26, [x28] + WORD $0x6e208f7c // cmeq.16b v28, v27, v0 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260385 // fmov w5, s28 + WORD $0x6e208f5c // cmeq.16b v28, v26, v0 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260394 // fmov w20, s28 + WORD $0x6e218f7c // cmeq.16b v28, v27, v1 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260395 // fmov w21, s28 + WORD $0x6e218f5c // cmeq.16b v28, v26, v1 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260396 // fmov w22, s28 + WORD $0x33103e85 // bfi w5, w20, #16, #16 + WORD $0x33103ed5 // bfi w21, w22, #16, #16 + WORD $0x35003995 // cbnz w21, LBB0_502 $1840(%rip) + WORD $0xb5003a33 // cbnz x19, LBB0_504 $1860(%rip) LBB0_403: - WORD $0xf9000028 // str x8, [x1] - WORD $0xaa1c03e8 // mov x8, x28 - WORD $0x17ffffe8 // b LBB0_394 $-96(%rip) -LBB0_404: - WORD $0xb100051f // cmn x8, #1 - WORD $0x54ffff61 // b.ne LBB0_402 $-20(%rip) - WORD $0xdac00228 // rbit x8, x17 - WORD $0xdac01108 // clz x8, x8 - WORD $0x8b1c0108 // add x8, x8, x28 - WORD $0x17fffff7 // b LBB0_402 $-36(%rip) -LBB0_406: - WORD $0x9280001c // mov x28, #-1 - WORD $0x17fffff6 // b LBB0_403 $-40(%rip) + WORD $0x6e3b349b // cmhi.16b v27, v4, v27 + WORD $0x4e221f7b // and.16b v27, v27, v2 + WORD $0x4e03037b // tbl.16b v27, { v27 }, v3 + WORD $0x4e71bb7b // addv.8h h27, v27 + WORD $0x1e260375 // fmov w21, s27 + WORD $0x6e3a349a // cmhi.16b v26, v4, v26 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260354 // fmov w20, s26 + WORD $0x33103e95 // bfi w21, w20, #16, #16 + WORD $0xdac002b4 // rbit x20, x21 + WORD $0xdac01294 // clz x20, x20 + WORD $0xb40000e5 // cbz x5, LBB0_405 $28(%rip) + WORD $0xdac000ae // rbit x14, x5 + WORD $0xdac011c5 // clz x5, x14 + WORD $0xcb1b038e // sub x14, x28, x27 + WORD $0xeb05029f // cmp x20, x5 + WORD $0x54000582 // b.hs LBB0_418 $176(%rip) + WORD $0x140002cf // b LBB0_577 $2876(%rip) +LBB0_405: + WORD $0x35005a35 // cbnz w21, LBB0_578 $2884(%rip) + WORD $0x9100839c // add x28, x28, #32 + WORD $0xaa0e03f6 // mov x22, x14 LBB0_407: - WORD $0xaa0803f4 // mov x20, x8 - WORD $0x8b1b0108 // add x8, x8, x27 - WORD $0x17fffff2 // b LBB0_402 $-56(%rip) -LBB0_408: - WORD $0x92800007 // mov x7, #-1 + WORD $0xb5003d53 // cbnz x19, LBB0_514 $1960(%rip) + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0xb4004b36 // cbz x22, LBB0_543 $2404(%rip) LBB0_409: - WORD $0xaa2703fe // mvn lr, x7 + WORD $0xcb1b03ee // neg x14, x27 LBB0_410: - WORD $0x8b1e0388 // add x8, x28, lr - WORD $0x17ffffee // b LBB0_402 $-72(%rip) + WORD $0xd2800005 // mov x5, #0 LBB0_411: - WORD $0xf900003b // str x27, [x1] - WORD $0x394003c8 // ldrb w8, [lr] - WORD $0x7101b91f // cmp w8, #110 - WORD $0x54000761 // b.ne LBB0_425 $236(%rip) - WORD $0x91000768 // add x8, x27, #1 - WORD $0xf9000028 // str x8, [x1] - WORD $0x38686928 // ldrb w8, [x9, x8] - WORD $0x7101d51f // cmp w8, #117 - WORD $0x540006c1 // b.ne LBB0_425 $216(%rip) - WORD $0x91000b68 // add x8, x27, #2 - WORD $0xf9000028 // str x8, [x1] - WORD $0x38686928 // ldrb w8, [x9, x8] - WORD $0x7101b11f // cmp w8, #108 - WORD $0x54000621 // b.ne LBB0_425 $196(%rip) - WORD $0x91000f68 // add x8, x27, #3 - WORD $0xf9000028 // str x8, [x1] - WORD $0x38686928 // ldrb w8, [x9, x8] - WORD $0x7101b11f // cmp w8, #108 - WORD $0x54000581 // b.ne LBB0_425 $176(%rip) - WORD $0x14000014 // b LBB0_419 $80(%rip) + WORD $0x38656b93 // ldrb w19, [x28, x5] + WORD $0x71008a7f // cmp w19, #34 + WORD $0x540003a0 // b.eq LBB0_417 $116(%rip) + WORD $0x7101727f // cmp w19, #92 + WORD $0x54000140 // b.eq LBB0_415 $40(%rip) + WORD $0x71007e7f // cmp w19, #31 + WORD $0x540058a9 // b.ls LBB0_579 $2836(%rip) + WORD $0x910004a5 // add x5, x5, #1 + WORD $0xeb0502df // cmp x22, x5 + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0x54fffe81 // b.ne LBB0_411 $-48(%rip) + WORD $0x14000249 // b LBB0_543 $2340(%rip) LBB0_415: - WORD $0xf900003b // str x27, [x1] - WORD $0x394003c8 // ldrb w8, [lr] - WORD $0x7101d11f // cmp w8, #116 - WORD $0x540004e1 // b.ne LBB0_425 $156(%rip) - WORD $0x91000768 // add x8, x27, #1 - WORD $0xf9000028 // str x8, [x1] - WORD $0x38686928 // ldrb w8, [x9, x8] - WORD $0x7101c91f // cmp w8, #114 - WORD $0x54000441 // b.ne LBB0_425 $136(%rip) - WORD $0x91000b68 // add x8, x27, #2 - WORD $0xf9000028 // str x8, [x1] - WORD $0x38686928 // ldrb w8, [x9, x8] - WORD $0x7101d51f // cmp w8, #117 - WORD $0x540003a1 // b.ne LBB0_425 $116(%rip) - WORD $0x91000f68 // add x8, x27, #3 - WORD $0xf9000028 // str x8, [x1] - WORD $0x38686928 // ldrb w8, [x9, x8] - WORD $0x7101951f // cmp w8, #101 - WORD $0x54000301 // b.ne LBB0_425 $96(%rip) + WORD $0xd10006d3 // sub x19, x22, #1 + WORD $0xeb05027f // cmp x19, x5 + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0x54004860 // b.eq LBB0_543 $2316(%rip) + WORD $0x8b050393 // add x19, x28, x5 + WORD $0x8b0e0274 // add x20, x19, x14 + WORD $0xb100041f // cmn x0, #1 + WORD $0x9a800280 // csel x0, x20, x0, eq + WORD $0x91000a7c // add x28, x19, #2 + WORD $0xd1000ad3 // sub x19, x22, #2 + WORD $0xcb0502d4 // sub x20, x22, x5 + WORD $0xd1000a96 // sub x22, x20, #2 + WORD $0xeb05027f // cmp x19, x5 + WORD $0x54fffc41 // b.ne LBB0_410 $-120(%rip) + WORD $0x14000238 // b LBB0_543 $2272(%rip) +LBB0_417: + WORD $0xcb1b038e // sub x14, x28, x27 +LBB0_418: + WORD $0x8b0501ce // add x14, x14, x5 + WORD $0x910005dc // add x28, x14, #1 + WORD $0xb6ff533c // tbz x28, #63, LBB0_194 $-5532(%rip) + WORD $0x14000231 // b LBB0_542 $2244(%rip) LBB0_419: - WORD $0x91001368 // add x8, x27, #4 - WORD $0x17ffffc5 // b LBB0_402 $-236(%rip) + WORD $0xcb1503ee // neg x14, x21 + WORD $0x5280008f // mov w15, #4 + WORD $0xb6ffabae // tbz x14, #63, LBB0_282 $-2700(%rip) + WORD $0x14000288 // b LBB0_569 $2592(%rip) LBB0_420: - WORD $0xf900003c // str x28, [x1] - WORD $0x387c6928 // ldrb w8, [x9, x28] - WORD $0x7101851f // cmp w8, #97 - WORD $0x54000241 // b.ne LBB0_425 $72(%rip) - WORD $0x91000b68 // add x8, x27, #2 - WORD $0xf9000028 // str x8, [x1] - WORD $0x38686928 // ldrb w8, [x9, x8] - WORD $0x7101b11f // cmp w8, #108 - WORD $0x540001a1 // b.ne LBB0_425 $52(%rip) - WORD $0x91000f68 // add x8, x27, #3 - WORD $0xf9000028 // str x8, [x1] - WORD $0x38686928 // ldrb w8, [x9, x8] - WORD $0x7101cd1f // cmp w8, #115 - WORD $0x54000101 // b.ne LBB0_425 $32(%rip) - WORD $0x91001368 // add x8, x27, #4 - WORD $0xf9000028 // str x8, [x1] - WORD $0x38686928 // ldrb w8, [x9, x8] - WORD $0x7101951f // cmp w8, #101 - WORD $0x54000061 // b.ne LBB0_425 $12(%rip) - WORD $0x91001768 // add x8, x27, #5 - WORD $0x17ffffb0 // b LBB0_402 $-320(%rip) -LBB0_425: - WORD $0x92800028 // mov x8, #-2 - WORD $0x17ffff99 // b LBB0_394 $-412(%rip) -LBB0_426: - WORD $0xaa1403fe // mov lr, x20 - WORD $0x8b140388 // add x8, x28, x20 - WORD $0x17ffffab // b LBB0_402 $-340(%rip) + WORD $0x5ac002ef // rbit w15, w23 + WORD $0x5ac011ef // clz w15, w15 + WORD $0xaa2e03ee // mvn x14, x14 + WORD $0xcb0f01ce // sub x14, x14, x15 + WORD $0x52800067 // mov w7, #3 + WORD $0x17fffec9 // b LBB0_354 $-1244(%rip) +LBB0_421: + WORD $0x8b1c0365 // add x5, x27, x28 + WORD $0xf10005df // cmp x14, #1 + WORD $0x5400514b // b.lt LBB0_575 $2600(%rip) +LBB0_422: + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0x14000007 // b LBB0_424 $28(%rip) +LBB0_423: + WORD $0x92800033 // mov x19, #-2 + WORD $0x52800040 // mov w0, #2 + WORD $0x8b0000a5 // add x5, x5, x0 + WORD $0x92800000 // mov x0, #-1 + WORD $0xab1301ce // adds x14, x14, x19 + WORD $0x5400502d // b.le LBB0_576 $2564(%rip) +LBB0_424: + WORD $0x394000a0 // ldrb w0, [x5] + WORD $0x7101701f // cmp w0, #92 + WORD $0x54ffff00 // b.eq LBB0_423 $-32(%rip) + WORD $0x7100881f // cmp w0, #34 + WORD $0x54001780 // b.eq LBB0_465 $752(%rip) + WORD $0x92800013 // mov x19, #-1 + WORD $0x52800020 // mov w0, #1 + WORD $0x8b0000a5 // add x5, x5, x0 + WORD $0x92800000 // mov x0, #-1 + WORD $0xab1301ce // adds x14, x14, x19 + WORD $0x54fffecc // b.gt LBB0_424 $-40(%rip) + WORD $0x14000275 // b LBB0_576 $2516(%rip) LBB0_427: - WORD $0x8b1c0228 // add x8, x17, x28 - WORD $0x17ffffa9 // b LBB0_402 $-348(%rip) + WORD $0x8b1c037c // add x28, x27, x28 + WORD $0x1400000a // b LBB0_431 $40(%rip) LBB0_428: - WORD $0x8b1100a8 // add x8, x5, x17 - WORD $0x17ffffa7 // b LBB0_402 $-356(%rip) + WORD $0x8b1c037c // add x28, x27, x28 + WORD $0x1400002d // b LBB0_437 $180(%rip) LBB0_429: - WORD $0xcb090388 // sub x8, x28, x9 - WORD $0x8b110108 // add x8, x8, x17 - WORD $0x17ffffa4 // b LBB0_402 $-368(%rip) + WORD $0xaa2e03ee // mvn x14, x14 + WORD $0xcb3441ce // sub x14, x14, w20, uxtw + WORD $0x52800067 // mov w7, #3 + WORD $0x17fffea8 // b LBB0_354 $-1376(%rip) LBB0_430: - WORD $0xcb090388 // sub x8, x28, x9 - WORD $0x8b050108 // add x8, x8, x5 - WORD $0x17ffffa1 // b LBB0_402 $-380(%rip) + WORD $0xd2800013 // mov x19, #0 + WORD $0x8b1c037c // add x28, x27, x28 + WORD $0x92800000 // mov x0, #-1 +LBB0_431: + WORD $0xf10082ce // subs x14, x22, #32 + WORD $0x54003743 // b.lo LBB0_521 $1768(%rip) + WORD $0xad406f9a // ldp q26, q27, [x28] + WORD $0x6e208f5c // cmeq.16b v28, v26, v0 + WORD $0x6e208f7d // cmeq.16b v29, v27, v0 + WORD $0x6e218f5a // cmeq.16b v26, v26, v1 + WORD $0x6e218f7b // cmeq.16b v27, v27, v1 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260385 // fmov w5, s28 + WORD $0x4e221fbc // and.16b v28, v29, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e26038f // fmov w15, s28 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260355 // fmov w21, s26 + WORD $0x4e221f7a // and.16b v26, v27, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260351 // fmov w17, s26 + WORD $0x33103de5 // bfi w5, w15, #16, #16 + WORD $0x33103e35 // bfi w21, w17, #16, #16 + WORD $0x350031d5 // cbnz w21, LBB0_518 $1592(%rip) + WORD $0xb5003273 // cbnz x19, LBB0_519 $1612(%rip) + WORD $0xb40033c5 // cbz x5, LBB0_520 $1656(%rip) +LBB0_435: + WORD $0xdac000ae // rbit x14, x5 + WORD $0xdac011ce // clz x14, x14 + WORD $0xcb1b038f // sub x15, x28, x27 + WORD $0x8b0e01ee // add x14, x15, x14 + WORD $0x910005dc // add x28, x14, #1 + WORD $0x140001b4 // b LBB0_532 $1744(%rip) +LBB0_436: + WORD $0xd2800013 // mov x19, #0 + WORD $0x8b1c037c // add x28, x27, x28 + WORD $0x92800000 // mov x0, #-1 +LBB0_437: + WORD $0xf10082ce // subs x14, x22, #32 + WORD $0x54000623 // b.lo LBB0_444 $196(%rip) + WORD $0xad406b9b // ldp q27, q26, [x28] + WORD $0x6e208f7c // cmeq.16b v28, v27, v0 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260385 // fmov w5, s28 + WORD $0x6e208f5c // cmeq.16b v28, v26, v0 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e26038f // fmov w15, s28 + WORD $0x6e218f7c // cmeq.16b v28, v27, v1 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260395 // fmov w21, s28 + WORD $0x6e218f5c // cmeq.16b v28, v26, v1 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260391 // fmov w17, s28 + WORD $0x33103de5 // bfi w5, w15, #16, #16 + WORD $0x33103e35 // bfi w21, w17, #16, #16 + WORD $0x35003395 // cbnz w21, LBB0_533 $1648(%rip) + WORD $0xb5003433 // cbnz x19, LBB0_535 $1668(%rip) +LBB0_440: + WORD $0x6e3b349b // cmhi.16b v27, v4, v27 + WORD $0x4e221f7b // and.16b v27, v27, v2 + WORD $0x4e03037b // tbl.16b v27, { v27 }, v3 + WORD $0x4e71bb7b // addv.8h h27, v27 + WORD $0x1e260375 // fmov w21, s27 + WORD $0x6e3a349a // cmhi.16b v26, v4, v26 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e26034f // fmov w15, s26 + WORD $0x33103df5 // bfi w21, w15, #16, #16 + WORD $0xdac002af // rbit x15, x21 + WORD $0xdac011f4 // clz x20, x15 + WORD $0xb40000e5 // cbz x5, LBB0_442 $28(%rip) + WORD $0xdac000ae // rbit x14, x5 + WORD $0xdac011c5 // clz x5, x14 + WORD $0xcb1b038e // sub x14, x28, x27 + WORD $0xeb05029f // cmp x20, x5 + WORD $0x54000462 // b.hs LBB0_455 $140(%rip) + WORD $0x1400021f // b LBB0_577 $2172(%rip) +LBB0_442: + WORD $0x35004435 // cbnz w21, LBB0_578 $2180(%rip) + WORD $0x9100839c // add x28, x28, #32 + WORD $0xaa0e03f6 // mov x22, x14 +LBB0_444: + WORD $0xb50033d3 // cbnz x19, LBB0_538 $1656(%rip) + WORD $0xb4003596 // cbz x22, LBB0_543 $1712(%rip) +LBB0_446: + WORD $0xcb1b03ee // neg x14, x27 +LBB0_447: + WORD $0xd2800005 // mov x5, #0 +LBB0_448: + WORD $0x38656b93 // ldrb w19, [x28, x5] + WORD $0x71008a7f // cmp w19, #34 + WORD $0x540002e0 // b.eq LBB0_454 $92(%rip) + WORD $0x7101727f // cmp w19, #92 + WORD $0x540000e0 // b.eq LBB0_452 $28(%rip) + WORD $0x71007e7f // cmp w19, #31 + WORD $0x54004309 // b.ls LBB0_579 $2144(%rip) + WORD $0x910004a5 // add x5, x5, #1 + WORD $0xeb0502df // cmp x22, x5 + WORD $0x54fffee1 // b.ne LBB0_448 $-36(%rip) + WORD $0x1400019f // b LBB0_543 $1660(%rip) +LBB0_452: + WORD $0xd10006cf // sub x15, x22, #1 + WORD $0xeb0501ff // cmp x15, x5 + WORD $0x54003380 // b.eq LBB0_543 $1648(%rip) + WORD $0x8b05038f // add x15, x28, x5 + WORD $0x8b0e01f1 // add x17, x15, x14 + WORD $0xb100041f // cmn x0, #1 + WORD $0x9a800220 // csel x0, x17, x0, eq + WORD $0x910009fc // add x28, x15, #2 + WORD $0xd1000acf // sub x15, x22, #2 + WORD $0xcb0502d1 // sub x17, x22, x5 + WORD $0xd1000a36 // sub x22, x17, #2 + WORD $0xeb0501ff // cmp x15, x5 + WORD $0x54fffd01 // b.ne LBB0_447 $-96(%rip) + WORD $0x14000191 // b LBB0_543 $1604(%rip) +LBB0_454: + WORD $0xcb1b038e // sub x14, x28, x27 +LBB0_455: + WORD $0x8b0501ce // add x14, x14, x5 + WORD $0x910005dc // add x28, x14, #1 + WORD $0x1400015e // b LBB0_532 $1400(%rip) +LBB0_456: + WORD $0x92800000 // mov x0, #-1 + WORD $0xaa1e03f5 // mov x21, lr + WORD $0xaa1a03e5 // mov x5, x26 + WORD $0x92800013 // mov x19, #-1 + WORD $0x92800016 // mov x22, #-1 + WORD $0x17fff7bf // b LBB0_85 $-8452(%rip) +LBB0_457: + WORD $0xaa2e03ee // mvn x14, x14 + WORD $0xcb3841ce // sub x14, x14, w24, uxtw + WORD $0x52800067 // mov w7, #3 + WORD $0x17fffe23 // b LBB0_354 $-1908(%rip) +LBB0_458: + WORD $0x92800016 // mov x22, #-1 + WORD $0xaa0003e5 // mov x5, x0 + WORD $0xaa1503fa // mov x26, x21 + WORD $0x9280001e // mov lr, #-1 + WORD $0x92800013 // mov x19, #-1 + WORD $0x52800067 // mov w7, #3 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0x17fffdd6 // b LBB0_327 $-2216(%rip) +LBB0_459: + WORD $0xd1000405 // sub x5, x0, #1 + WORD $0xeb0e00bf // cmp x5, x14 + WORD $0x54003b80 // b.eq LBB0_575 $1904(%rip) + WORD $0x8b0e03c5 // add x5, lr, x14 + WORD $0x910008a5 // add x5, x5, #2 + WORD $0xcb0e000e // sub x14, x0, x14 + WORD $0xd10009ce // sub x14, x14, #2 + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0xf10005df // cmp x14, #1 + WORD $0x5400010a // b.ge LBB0_462 $32(%rip) + WORD $0x140001d2 // b LBB0_575 $1864(%rip) +LBB0_461: + WORD $0x92800033 // mov x19, #-2 + WORD $0x52800040 // mov w0, #2 + WORD $0x8b0000a5 // add x5, x5, x0 + WORD $0x92800000 // mov x0, #-1 + WORD $0xab1301ce // adds x14, x14, x19 + WORD $0x540039ad // b.le LBB0_576 $1844(%rip) +LBB0_462: + WORD $0x394000a0 // ldrb w0, [x5] + WORD $0x7101701f // cmp w0, #92 + WORD $0x54ffff00 // b.eq LBB0_461 $-32(%rip) + WORD $0x7100881f // cmp w0, #34 + WORD $0x54000100 // b.eq LBB0_465 $32(%rip) + WORD $0x92800013 // mov x19, #-1 + WORD $0x52800020 // mov w0, #1 + WORD $0x8b0000a5 // add x5, x5, x0 + WORD $0x92800000 // mov x0, #-1 + WORD $0xab1301ce // adds x14, x14, x19 + WORD $0x54fffecc // b.gt LBB0_462 $-40(%rip) + WORD $0x140001c1 // b LBB0_576 $1796(%rip) +LBB0_465: + WORD $0xcb1b00ae // sub x14, x5, x27 + WORD $0x910005dc // add x28, x14, #1 + WORD $0x17fffc87 // b LBB0_283 $-3556(%rip) +LBB0_466: + WORD $0xd1000405 // sub x5, x0, #1 + WORD $0xeb0e00bf // cmp x5, x14 + WORD $0x54003740 // b.eq LBB0_575 $1768(%rip) + WORD $0x8b0e03c5 // add x5, lr, x14 + WORD $0x910008a5 // add x5, x5, #2 + WORD $0xcb0e000e // sub x14, x0, x14 + WORD $0xd10009ce // sub x14, x14, #2 + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0xf10005df // cmp x14, #1 + WORD $0x5400010a // b.ge LBB0_469 $32(%rip) + WORD $0x140001b0 // b LBB0_575 $1728(%rip) +LBB0_468: + WORD $0x92800033 // mov x19, #-2 + WORD $0x52800040 // mov w0, #2 + WORD $0x8b0000a5 // add x5, x5, x0 + WORD $0x92800000 // mov x0, #-1 + WORD $0xab1301ce // adds x14, x14, x19 + WORD $0x5400356d // b.le LBB0_576 $1708(%rip) +LBB0_469: + WORD $0x394000a0 // ldrb w0, [x5] + WORD $0x7101701f // cmp w0, #92 + WORD $0x54ffff00 // b.eq LBB0_468 $-32(%rip) + WORD $0x7100881f // cmp w0, #34 + WORD $0x54000100 // b.eq LBB0_472 $32(%rip) + WORD $0x92800013 // mov x19, #-1 + WORD $0x52800020 // mov w0, #1 + WORD $0x8b0000a5 // add x5, x5, x0 + WORD $0x92800000 // mov x0, #-1 + WORD $0xab1301ce // adds x14, x14, x19 + WORD $0x54fffecc // b.gt LBB0_469 $-40(%rip) + WORD $0x1400019f // b LBB0_576 $1660(%rip) +LBB0_472: + WORD $0xcb1b00ae // sub x14, x5, x27 + WORD $0x910005dc // add x28, x14, #1 + WORD $0xf900003c // str x28, [x1] + WORD $0xaa0803e0 // mov x0, x8 + WORD $0xeb11011f // cmp x8, x17 + WORD $0x54ff33c3 // b.lo LBB0_195 $-6536(%rip) + WORD $0x14000198 // b LBB0_576 $1632(%rip) +LBB0_473: + WORD $0xdac002b4 // rbit x20, x21 + WORD $0xdac01294 // clz x20, x20 + WORD $0xcb1b0396 // sub x22, x28, x27 + WORD $0x8b1402d4 // add x20, x22, x20 + WORD $0xb100041f // cmn x0, #1 + WORD $0x9a941000 // csel x0, x0, x20, ne +LBB0_474: + WORD $0x0a3302b4 // bic w20, w21, w19 + WORD $0x531f7a96 // lsl w22, w20, #1 + WORD $0x331f7a93 // bfi w19, w20, #1, #31 + WORD $0x0a3602b5 // bic w21, w21, w22 + WORD $0x1201f2b5 // and w21, w21, #0xaaaaaaaa + WORD $0x2b1402b4 // adds w20, w21, w20 + WORD $0x4a140614 // eor w20, w16, w20, lsl #1 + WORD $0x0a130293 // and w19, w20, w19 + WORD $0x1a9f37f4 // cset w20, hs + WORD $0x2a3303f3 // mvn w19, w19 + WORD $0x8a050265 // and x5, x19, x5 + WORD $0xaa1403f3 // mov x19, x20 + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0xb5ffc065 // cbnz x5, LBB0_370 $-2036(%rip) +LBB0_475: + WORD $0x9100839c // add x28, x28, #32 + WORD $0xaa0e03f6 // mov x22, x14 +LBB0_476: + WORD $0xb50010d3 // cbnz x19, LBB0_505 $536(%rip) + WORD $0xb40003b6 // cbz x22, LBB0_485 $116(%rip) +LBB0_478: + WORD $0xaa3b03ee // mvn x14, x27 +LBB0_479: + WORD $0xaa1c03f3 // mov x19, x28 + WORD $0x38401665 // ldrb w5, [x19], #1 + WORD $0x710088bf // cmp w5, #34 + WORD $0x54000320 // b.eq LBB0_486 $100(%rip) + WORD $0xd10006d4 // sub x20, x22, #1 + WORD $0x710170bf // cmp w5, #92 + WORD $0x54000100 // b.eq LBB0_482 $32(%rip) + WORD $0xaa1303fc // mov x28, x19 + WORD $0xaa1403f6 // mov x22, x20 + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0xb5fffe94 // cbnz x20, LBB0_479 $-48(%rip) + WORD $0x1400000c // b LBB0_484 $48(%rip) +LBB0_482: + WORD $0xb4002134 // cbz x20, LBB0_543 $1060(%rip) + WORD $0x8b0e0273 // add x19, x19, x14 + WORD $0xb100041f // cmn x0, #1 + WORD $0x9a800260 // csel x0, x19, x0, eq + WORD $0x91000b9c // add x28, x28, #2 + WORD $0xd1000ad4 // sub x20, x22, #2 + WORD $0xaa1403f6 // mov x22, x20 + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0xb5fffd14 // cbnz x20, LBB0_479 $-96(%rip) +LBB0_484: + WORD $0x710088bf // cmp w5, #34 + WORD $0x54001fa1 // b.ne LBB0_543 $1012(%rip) +LBB0_485: + WORD $0xaa1c03f3 // mov x19, x28 +LBB0_486: + WORD $0xcb1b027c // sub x28, x19, x27 + WORD $0xb6ff851c // tbz x28, #63, LBB0_283 $-3936(%rip) + WORD $0x140000f7 // b LBB0_542 $988(%rip) +LBB0_487: + WORD $0xdac002b4 // rbit x20, x21 + WORD $0xdac01294 // clz x20, x20 + WORD $0xcb1b0396 // sub x22, x28, x27 + WORD $0x8b1402d4 // add x20, x22, x20 + WORD $0xb100041f // cmn x0, #1 + WORD $0x9a941000 // csel x0, x0, x20, ne +LBB0_488: + WORD $0x0a3302b4 // bic w20, w21, w19 + WORD $0x531f7a96 // lsl w22, w20, #1 + WORD $0x331f7a93 // bfi w19, w20, #1, #31 + WORD $0x0a3602b5 // bic w21, w21, w22 + WORD $0x1201f2b5 // and w21, w21, #0xaaaaaaaa + WORD $0x2b1402b4 // adds w20, w21, w20 + WORD $0x4a140614 // eor w20, w16, w20, lsl #1 + WORD $0x0a130293 // and w19, w20, w19 + WORD $0x1a9f37f4 // cset w20, hs + WORD $0x2a3303f3 // mvn w19, w19 + WORD $0x8a050265 // and x5, x19, x5 + WORD $0xaa1403f3 // mov x19, x20 + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0x17fffdee // b LBB0_375 $-2120(%rip) +LBB0_489: + WORD $0xdac002b4 // rbit x20, x21 + WORD $0xdac01294 // clz x20, x20 + WORD $0xcb1b0396 // sub x22, x28, x27 + WORD $0x8b1402d4 // add x20, x22, x20 + WORD $0xb100041f // cmn x0, #1 + WORD $0x9a941000 // csel x0, x0, x20, ne +LBB0_490: + WORD $0x0a3302b4 // bic w20, w21, w19 + WORD $0x531f7a96 // lsl w22, w20, #1 + WORD $0x331f7a93 // bfi w19, w20, #1, #31 + WORD $0x0a3602b5 // bic w21, w21, w22 + WORD $0x1201f2b5 // and w21, w21, #0xaaaaaaaa + WORD $0x2b1402b4 // adds w20, w21, w20 + WORD $0x4a140614 // eor w20, w16, w20, lsl #1 + WORD $0x0a130293 // and w19, w20, w19 + WORD $0x1a9f37f4 // cset w20, hs + WORD $0x2a3303f3 // mvn w19, w19 + WORD $0x8a050265 // and x5, x19, x5 + WORD $0xaa1403f3 // mov x19, x20 + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0xb5ffc685 // cbnz x5, LBB0_398 $-1840(%rip) +LBB0_491: + WORD $0x9100839c // add x28, x28, #32 + WORD $0xaa0e03f6 // mov x22, x14 +LBB0_492: + WORD $0xb5000913 // cbnz x19, LBB0_509 $288(%rip) + WORD $0xb40009f6 // cbz x22, LBB0_511 $316(%rip) +LBB0_494: + WORD $0xaa3b03ee // mvn x14, x27 +LBB0_495: + WORD $0xaa1c03f3 // mov x19, x28 + WORD $0x38401665 // ldrb w5, [x19], #1 + WORD $0x710088bf // cmp w5, #34 + WORD $0x540002c0 // b.eq LBB0_501 $88(%rip) + WORD $0xd10006d4 // sub x20, x22, #1 + WORD $0x710170bf // cmp w5, #92 + WORD $0x540000a0 // b.eq LBB0_498 $20(%rip) + WORD $0xaa1303fc // mov x28, x19 + WORD $0xaa1403f6 // mov x22, x20 + WORD $0xb5fffef4 // cbnz x20, LBB0_495 $-36(%rip) + WORD $0x14000009 // b LBB0_500 $36(%rip) +LBB0_498: + WORD $0xb4001794 // cbz x20, LBB0_543 $752(%rip) + WORD $0x8b0e0273 // add x19, x19, x14 + WORD $0xb100041f // cmn x0, #1 + WORD $0x9a800260 // csel x0, x19, x0, eq + WORD $0x91000b9c // add x28, x28, #2 + WORD $0xd1000ad4 // sub x20, x22, #2 + WORD $0xaa1403f6 // mov x22, x20 + WORD $0xb5fffdd4 // cbnz x20, LBB0_495 $-72(%rip) +LBB0_500: + WORD $0x710088bf // cmp w5, #34 + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0x54000720 // b.eq LBB0_512 $228(%rip) + WORD $0x140000af // b LBB0_543 $700(%rip) +LBB0_501: + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0x14000035 // b LBB0_513 $212(%rip) +LBB0_502: + WORD $0xb100041f // cmn x0, #1 + WORD $0x540000a1 // b.ne LBB0_504 $20(%rip) + WORD $0xdac002a0 // rbit x0, x21 + WORD $0xdac01000 // clz x0, x0 + WORD $0xcb1b0394 // sub x20, x28, x27 + WORD $0x8b000280 // add x0, x20, x0 +LBB0_504: + WORD $0x0a3302b4 // bic w20, w21, w19 + WORD $0x531f7a96 // lsl w22, w20, #1 + WORD $0x331f7a93 // bfi w19, w20, #1, #31 + WORD $0x0a3602b5 // bic w21, w21, w22 + WORD $0x1201f2b5 // and w21, w21, #0xaaaaaaaa + WORD $0x2b1402b4 // adds w20, w21, w20 + WORD $0x4a140614 // eor w20, w16, w20, lsl #1 + WORD $0x0a130293 // and w19, w20, w19 + WORD $0x1a9f37f4 // cset w20, hs + WORD $0x2a3303f3 // mvn w19, w19 + WORD $0x8a050265 // and x5, x19, x5 + WORD $0xaa1403f3 // mov x19, x20 + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0x17fffe21 // b LBB0_403 $-1916(%rip) +LBB0_505: + WORD $0xb4001296 // cbz x22, LBB0_543 $592(%rip) + WORD $0xaa3b03ee // mvn x14, x27 + WORD $0x8b0e038e // add x14, x28, x14 + WORD $0xb100041f // cmn x0, #1 + WORD $0x9a8001c0 // csel x0, x14, x0, eq + WORD $0x9100079c // add x28, x28, #1 + WORD $0xd10006d6 // sub x22, x22, #1 + WORD $0xb5ffeeb6 // cbnz x22, LBB0_478 $-556(%rip) + WORD $0x17ffff90 // b LBB0_485 $-448(%rip) +LBB0_507: + WORD $0xb4001176 // cbz x22, LBB0_543 $556(%rip) + WORD $0xaa3b03ee // mvn x14, x27 + WORD $0x8b0e038e // add x14, x28, x14 + WORD $0xb100041f // cmn x0, #1 + WORD $0x9a8001c0 // csel x0, x14, x0, eq + WORD $0x9100079c // add x28, x28, #1 + WORD $0xd10006d6 // sub x22, x22, #1 + WORD $0xb5ffb516 // cbnz x22, LBB0_381 $-2400(%rip) + WORD $0x14000083 // b LBB0_543 $524(%rip) +LBB0_509: + WORD $0xb4001056 // cbz x22, LBB0_543 $520(%rip) + WORD $0xaa3b03ee // mvn x14, x27 + WORD $0x8b0e038e // add x14, x28, x14 + WORD $0xb100041f // cmn x0, #1 + WORD $0x9a8001c0 // csel x0, x14, x0, eq + WORD $0x9100079c // add x28, x28, #1 + WORD $0xd10006d6 // sub x22, x22, #1 + WORD $0xb5fff676 // cbnz x22, LBB0_494 $-308(%rip) +LBB0_511: + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 +LBB0_512: + WORD $0xaa1c03f3 // mov x19, x28 +LBB0_513: + WORD $0xcb1b027c // sub x28, x19, x27 + WORD $0xb6ff1b5c // tbz x28, #63, LBB0_194 $-7320(%rip) + WORD $0x14000072 // b LBB0_542 $456(%rip) +LBB0_514: + WORD $0xb4000e76 // cbz x22, LBB0_543 $460(%rip) + WORD $0xaa3b03ee // mvn x14, x27 + WORD $0x8b0e038e // add x14, x28, x14 + WORD $0xb100041f // cmn x0, #1 + WORD $0x9a8001c0 // csel x0, x14, x0, eq + WORD $0x9100079c // add x28, x28, #1 + WORD $0xd10006d6 // sub x22, x22, #1 + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0xb5ffc236 // cbnz x22, LBB0_409 $-1980(%rip) + WORD $0x14000068 // b LBB0_543 $416(%rip) +LBB0_516: + WORD $0xd100040f // sub x15, x0, #1 + WORD $0xeb0e01ff // cmp x15, x14 + WORD $0x54001920 // b.eq LBB0_575 $804(%rip) + WORD $0x8b0e03cf // add x15, lr, x14 + WORD $0x910009e5 // add x5, x15, #2 + WORD $0xcb0e000e // sub x14, x0, x14 + WORD $0xd10009ce // sub x14, x14, #2 + WORD $0xf10005df // cmp x14, #1 + WORD $0x54ffc74a // b.ge LBB0_422 $-1816(%rip) + WORD $0x140000c2 // b LBB0_575 $776(%rip) +LBB0_518: + WORD $0xdac002af // rbit x15, x21 + WORD $0xdac011ef // clz x15, x15 + WORD $0xcb1b0391 // sub x17, x28, x27 + WORD $0x8b0f022f // add x15, x17, x15 + WORD $0xb100041f // cmn x0, #1 + WORD $0x9a8f1000 // csel x0, x0, x15, ne +LBB0_519: + WORD $0x0a3302af // bic w15, w21, w19 + WORD $0x531f79f1 // lsl w17, w15, #1 + WORD $0x331f79f3 // bfi w19, w15, #1, #31 + WORD $0x0a3102b1 // bic w17, w21, w17 + WORD $0x1201f231 // and w17, w17, #0xaaaaaaaa + WORD $0x2b0f022f // adds w15, w17, w15 + WORD $0x4a0f060f // eor w15, w16, w15, lsl #1 + WORD $0x0a1301ef // and w15, w15, w19 + WORD $0x1a9f37f3 // cset w19, hs + WORD $0x2a2f03ef // mvn w15, w15 + WORD $0x8a0501e5 // and x5, x15, x5 + WORD $0xb5ffcc85 // cbnz x5, LBB0_435 $-1648(%rip) +LBB0_520: + WORD $0x9100839c // add x28, x28, #32 + WORD $0xaa0e03f6 // mov x22, x14 +LBB0_521: + WORD $0xb5000633 // cbnz x19, LBB0_536 $196(%rip) + WORD $0xb40002f6 // cbz x22, LBB0_530 $92(%rip) +LBB0_523: + WORD $0xaa3b03ee // mvn x14, x27 +LBB0_524: + WORD $0xaa1c03f3 // mov x19, x28 + WORD $0x38401665 // ldrb w5, [x19], #1 + WORD $0x710088bf // cmp w5, #34 + WORD $0x54000260 // b.eq LBB0_531 $76(%rip) + WORD $0xd10006d4 // sub x20, x22, #1 + WORD $0x710170bf // cmp w5, #92 + WORD $0x540000a0 // b.eq LBB0_527 $20(%rip) + WORD $0xaa1303fc // mov x28, x19 + WORD $0xaa1403f6 // mov x22, x20 + WORD $0xb5fffef4 // cbnz x20, LBB0_524 $-36(%rip) + WORD $0x14000009 // b LBB0_529 $36(%rip) +LBB0_527: + WORD $0xb4000774 // cbz x20, LBB0_543 $236(%rip) + WORD $0x8b0e026f // add x15, x19, x14 + WORD $0xb100041f // cmn x0, #1 + WORD $0x9a8001e0 // csel x0, x15, x0, eq + WORD $0x91000b9c // add x28, x28, #2 + WORD $0xd1000ad4 // sub x20, x22, #2 + WORD $0xaa1403f6 // mov x22, x20 + WORD $0xb5fffdd4 // cbnz x20, LBB0_524 $-72(%rip) +LBB0_529: + WORD $0x710088bf // cmp w5, #34 + WORD $0x54000641 // b.ne LBB0_543 $200(%rip) +LBB0_530: + WORD $0xaa1c03f3 // mov x19, x28 +LBB0_531: + WORD $0xcb1b027c // sub x28, x19, x27 +LBB0_532: + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0xb6ff6b5c // tbz x28, #63, LBB0_283 $-4760(%rip) + WORD $0x14000029 // b LBB0_542 $164(%rip) +LBB0_533: + WORD $0xb100041f // cmn x0, #1 + WORD $0x540000a1 // b.ne LBB0_535 $20(%rip) + WORD $0xdac002af // rbit x15, x21 + WORD $0xdac011ef // clz x15, x15 + WORD $0xcb1b0391 // sub x17, x28, x27 + WORD $0x8b0f0220 // add x0, x17, x15 +LBB0_535: + WORD $0x0a3302af // bic w15, w21, w19 + WORD $0x531f79f1 // lsl w17, w15, #1 + WORD $0x331f79f3 // bfi w19, w15, #1, #31 + WORD $0x0a3102b1 // bic w17, w21, w17 + WORD $0x1201f231 // and w17, w17, #0xaaaaaaaa + WORD $0x2b0f022f // adds w15, w17, w15 + WORD $0x4a0f060f // eor w15, w16, w15, lsl #1 + WORD $0x0a1301ef // and w15, w15, w19 + WORD $0x1a9f37f3 // cset w19, hs + WORD $0x2a2f03ef // mvn w15, w15 + WORD $0x8a0501e5 // and x5, x15, x5 + WORD $0x17fffe55 // b LBB0_440 $-1708(%rip) +LBB0_536: + WORD $0xb4000316 // cbz x22, LBB0_543 $96(%rip) + WORD $0xaa3b03ee // mvn x14, x27 + WORD $0x8b0e038e // add x14, x28, x14 + WORD $0xb100041f // cmn x0, #1 + WORD $0x9a8001c0 // csel x0, x14, x0, eq + WORD $0x9100079c // add x28, x28, #1 + WORD $0xd10006d6 // sub x22, x22, #1 + WORD $0xb5fff956 // cbnz x22, LBB0_523 $-216(%rip) + WORD $0x17ffffdf // b LBB0_530 $-132(%rip) +LBB0_538: + WORD $0xb40001f6 // cbz x22, LBB0_543 $60(%rip) + WORD $0xaa3b03ee // mvn x14, x27 + WORD $0x8b0e038e // add x14, x28, x14 + WORD $0xb100041f // cmn x0, #1 + WORD $0x9a8001c0 // csel x0, x14, x0, eq + WORD $0x9100079c // add x28, x28, #1 + WORD $0xd10006d6 // sub x22, x22, #1 + WORD $0xb5ffcbb6 // cbnz x22, LBB0_446 $-1676(%rip) + WORD $0x14000007 // b LBB0_543 $28(%rip) +LBB0_540: + WORD $0x92800020 // mov x0, #-2 + WORD $0x1400006a // b LBB0_576 $424(%rip) +LBB0_541: + WORD $0x928000c0 // mov x0, #-7 + WORD $0x14000068 // b LBB0_576 $416(%rip) +LBB0_542: + WORD $0xb100079f // cmn x28, #1 + WORD $0x54000ac1 // b.ne LBB0_567 $344(%rip) +LBB0_543: + WORD $0xf94004c0 // ldr x0, [x6, #8] + WORD $0x9280001c // mov x28, #-1 + WORD $0x14000053 // b LBB0_567 $332(%rip) +LBB0_544: + WORD $0x9280000e // mov x14, #-1 +LBB0_545: + WORD $0xaa2e03f6 // mvn x22, x14 +LBB0_546: + WORD $0x8b0802c8 // add x8, x22, x8 +LBB0_547: + WORD $0xf9000028 // str x8, [x1] + WORD $0x92800020 // mov x0, #-2 + WORD $0x1400005d // b LBB0_576 $372(%rip) +LBB0_548: + WORD $0xf900002e // str x14, [x1] + WORD $0x1400005a // b LBB0_575 $360(%rip) +LBB0_549: + WORD $0xb100041f // cmn x0, #1 + WORD $0x540008a0 // b.eq LBB0_566 $276(%rip) + WORD $0x9280003c // mov x28, #-2 + WORD $0x14000047 // b LBB0_567 $284(%rip) +LBB0_551: + WORD $0xaa0003f6 // mov x22, x0 + WORD $0x17fffff5 // b LBB0_546 $-44(%rip) +LBB0_552: + WORD $0xf9000028 // str x8, [x1] + WORD $0x394003c9 // ldrb w9, [lr] + WORD $0x7101d13f // cmp w9, #116 + WORD $0x54000a21 // b.ne LBB0_576 $324(%rip) + WORD $0x91000509 // add x9, x8, #1 + WORD $0xf9000029 // str x9, [x1] + WORD $0x38696b69 // ldrb w9, [x27, x9] + WORD $0x7101c93f // cmp w9, #114 + WORD $0x54000981 // b.ne LBB0_576 $304(%rip) + WORD $0x91000909 // add x9, x8, #2 + WORD $0xf9000029 // str x9, [x1] + WORD $0x38696b69 // ldrb w9, [x27, x9] + WORD $0x7101d53f // cmp w9, #117 + WORD $0x540008e1 // b.ne LBB0_576 $284(%rip) + WORD $0x91000d09 // add x9, x8, #3 + WORD $0xf9000029 // str x9, [x1] + WORD $0x38696b69 // ldrb w9, [x27, x9] + WORD $0x7101953f // cmp w9, #101 + WORD $0x54000841 // b.ne LBB0_576 $264(%rip) + WORD $0x14000014 // b LBB0_560 $80(%rip) +LBB0_556: + WORD $0xf9000028 // str x8, [x1] + WORD $0x394003c9 // ldrb w9, [lr] + WORD $0x7101b93f // cmp w9, #110 + WORD $0x540007a1 // b.ne LBB0_576 $244(%rip) + WORD $0x91000509 // add x9, x8, #1 + WORD $0xf9000029 // str x9, [x1] + WORD $0x38696b69 // ldrb w9, [x27, x9] + WORD $0x7101d53f // cmp w9, #117 + WORD $0x54000701 // b.ne LBB0_576 $224(%rip) + WORD $0x91000909 // add x9, x8, #2 + WORD $0xf9000029 // str x9, [x1] + WORD $0x38696b69 // ldrb w9, [x27, x9] + WORD $0x7101b13f // cmp w9, #108 + WORD $0x54000661 // b.ne LBB0_576 $204(%rip) + WORD $0x91000d09 // add x9, x8, #3 + WORD $0xf9000029 // str x9, [x1] + WORD $0x38696b69 // ldrb w9, [x27, x9] + WORD $0x7101b13f // cmp w9, #108 + WORD $0x540005c1 // b.ne LBB0_576 $184(%rip) +LBB0_560: + WORD $0x91001108 // add x8, x8, #4 + WORD $0xf9000028 // str x8, [x1] + WORD $0x1400002b // b LBB0_576 $172(%rip) +LBB0_561: + WORD $0xf900003c // str x28, [x1] + WORD $0x387c6b69 // ldrb w9, [x27, x28] + WORD $0x7101853f // cmp w9, #97 + WORD $0x540004e1 // b.ne LBB0_576 $156(%rip) + WORD $0x91000909 // add x9, x8, #2 + WORD $0xf9000029 // str x9, [x1] + WORD $0x38696b69 // ldrb w9, [x27, x9] + WORD $0x7101b13f // cmp w9, #108 + WORD $0x54000441 // b.ne LBB0_576 $136(%rip) + WORD $0x91000d09 // add x9, x8, #3 + WORD $0xf9000029 // str x9, [x1] + WORD $0x38696b69 // ldrb w9, [x27, x9] + WORD $0x7101cd3f // cmp w9, #115 + WORD $0x540003a1 // b.ne LBB0_576 $116(%rip) + WORD $0x91001109 // add x9, x8, #4 + WORD $0xf9000029 // str x9, [x1] + WORD $0x38696b69 // ldrb w9, [x27, x9] + WORD $0x7101953f // cmp w9, #101 + WORD $0x54000301 // b.ne LBB0_576 $96(%rip) + WORD $0x91001508 // add x8, x8, #5 + WORD $0xf9000028 // str x8, [x1] + WORD $0x14000015 // b LBB0_576 $84(%rip) +LBB0_566: + WORD $0xdac000a8 // rbit x8, x5 + WORD $0xdac01108 // clz x8, x8 + WORD $0x8b1c0100 // add x0, x8, x28 + WORD $0x9280003c // mov x28, #-2 +LBB0_567: + WORD $0xf9000020 // str x0, [x1] + WORD $0xaa1c03e0 // mov x0, x28 + WORD $0x1400000e // b LBB0_576 $56(%rip) +LBB0_568: + WORD $0x9280000e // mov x14, #-1 +LBB0_569: + WORD $0xaa2e03f3 // mvn x19, x14 +LBB0_570: + WORD $0x8b130388 // add x8, x28, x19 + WORD $0x17ffffab // b LBB0_547 $-340(%rip) +LBB0_571: + WORD $0xaa1603f3 // mov x19, x22 + WORD $0x8b160388 // add x8, x28, x22 + WORD $0x17ffffa8 // b LBB0_547 $-352(%rip) +LBB0_572: + WORD $0x8b1c00a0 // add x0, x5, x28 + WORD $0x9280003c // mov x28, #-2 + WORD $0x17fffff4 // b LBB0_567 $-48(%rip) +LBB0_573: + WORD $0xf94004c8 // ldr x8, [x6, #8] +LBB0_574: + WORD $0xf9000028 // str x8, [x1] +LBB0_575: + WORD $0x92800000 // mov x0, #-1 +LBB0_576: + WORD $0xa94cfbfd // ldp fp, lr, [sp, #200] + WORD $0xa94bcff4 // ldp x20, x19, [sp, #184] + WORD $0xa94ad7f6 // ldp x22, x21, [sp, #168] + WORD $0xa949dff8 // ldp x24, x23, [sp, #152] + WORD $0xa948e7fa // ldp x26, x25, [sp, #136] + WORD $0xa947effc // ldp x28, x27, [sp, #120] + WORD $0x6d46a3e9 // ldp d9, d8, [sp, #104] + WORD $0x910383ff // add sp, sp, #224 + WORD $0xd65f03c0 // ret +LBB0_577: + WORD $0x8b1401c0 // add x0, x14, x20 + WORD $0x9280003c // mov x28, #-2 + WORD $0x17ffffe5 // b LBB0_567 $-108(%rip) +LBB0_578: + WORD $0xcb1b0388 // sub x8, x28, x27 + WORD $0x8b140100 // add x0, x8, x20 + WORD $0x9280003c // mov x28, #-2 + WORD $0x17ffffe1 // b LBB0_567 $-124(%rip) +LBB0_579: + WORD $0xcb1b0388 // sub x8, x28, x27 + WORD $0x8b050100 // add x0, x8, x5 + WORD $0x9280003c // mov x28, #-2 + WORD $0x17ffffdd // b LBB0_567 $-140(%rip) // .p2align 2, 0x00 _MASK_USE_NUMBER: WORD $0x00000002 // .long 2 @@ -2361,7 +3460,7 @@ TEXT ·__skip_array(SB), NOSPLIT, $0-40 _entry: MOVD 16(g), R16 - SUB $176, RSP, R17 + SUB $288, RSP, R17 CMP R16, R17 BLS _stack_grow diff --git a/internal/native/neon/skip_array_subr_arm64.go b/internal/native/neon/skip_array_subr_arm64.go index c011f6ffd..fe0d6b3a2 100644 --- a/internal/native/neon/skip_array_subr_arm64.go +++ b/internal/native/neon/skip_array_subr_arm64.go @@ -13,7 +13,7 @@ var ( ) const ( - _stack__skip_array = 112 + _stack__skip_array = 224 ) var ( diff --git a/internal/native/neon/skip_number_arm64.s b/internal/native/neon/skip_number_arm64.s index e779e47d0..887e75a2d 100644 --- a/internal/native/neon/skip_number_arm64.s +++ b/internal/native/neon/skip_number_arm64.s @@ -56,8 +56,9 @@ lCPI0_1: // .byte 15 _skip_number: - WORD $0xa9bd4ff4 // stp x20, x19, [sp, #-48]! - WORD $0xa9017bfd // stp fp, lr, [sp, #16] + WORD $0xd100c3ff // sub sp, sp, #48 + WORD $0xa900cff4 // stp x20, x19, [sp, #8] + WORD $0xa901fbfd // stp fp, lr, [sp, #24] WORD $0xa93ffbfd // stp fp, lr, [sp, #-8] WORD $0xd10023fd // sub fp, sp, #8 WORD $0xaa0003e8 // mov x8, x0 @@ -71,23 +72,18 @@ _skip_number: WORD $0x9a8b1108 // csel x8, x8, x11, ne WORD $0xcb00014a // sub x10, x10, x0 WORD $0xeb0d014e // subs x14, x10, x13 - WORD $0x54001ca0 // b.eq LBB0_59 $916(%rip) + WORD $0x54001c40 // b.eq LBB0_59 $904(%rip) WORD $0x3940010a // ldrb w10, [x8] WORD $0x5100e94b // sub w11, w10, #58 WORD $0x3100297f // cmn w11, #10 - WORD $0x54001823 // b.lo LBB0_52 $772(%rip) + WORD $0x540017a3 // b.lo LBB0_52 $756(%rip) WORD $0x7100c15f // cmp w10, #48 - WORD $0x54000281 // b.ne LBB0_6 $80(%rip) + WORD $0x540001e1 // b.ne LBB0_6 $60(%rip) WORD $0xf10005df // cmp x14, #1 - WORD $0x54000101 // b.ne LBB0_5 $32(%rip) + WORD $0x54000061 // b.ne LBB0_5 $12(%rip) LBB0_4: WORD $0x5280002d // mov w13, #1 - WORD $0x8b0d0108 // add x8, x8, x13 - WORD $0xcb090108 // sub x8, x8, x9 - WORD $0xf9000028 // str x8, [x1] - WORD $0xa9417bfd // ldp fp, lr, [sp, #16] - WORD $0xa8c34ff4 // ldp x20, x19, [sp], #48 - WORD $0xd65f03c0 // ret + WORD $0x140000a9 // b LBB0_47 $676(%rip) LBB0_5: WORD $0x3940050a // ldrb w10, [x8, #1] WORD $0x5100b94a // sub w10, w10, #46 @@ -98,10 +94,10 @@ LBB0_5: WORD $0xf280002b // movk x11, #1 WORD $0x8a0b014a // and x10, x10, x11 WORD $0xfa409944 // ccmp x10, #0, #4, ls - WORD $0x54fffe00 // b.eq LBB0_4 $-64(%rip) + WORD $0x54fffea0 // b.eq LBB0_4 $-44(%rip) LBB0_6: WORD $0xf10041df // cmp x14, #16 - WORD $0x54001a03 // b.lo LBB0_60 $832(%rip) + WORD $0x54001a63 // b.lo LBB0_60 $844(%rip) WORD $0xd2800010 // mov x16, #0 WORD $0xd280000f // mov x15, #0 WORD $0x9280000a // mov x10, #-1 @@ -111,13 +107,13 @@ LBB0_6: WORD $0x4f06e603 // movi.16b v3, #208 WORD $0x4f00e544 // movi.16b v4, #10 Lloh0: - WORD $0x10fff8ab // adr x11, lCPI0_0 $-236(%rip) + WORD $0x10fff92b // adr x11, lCPI0_0 $-220(%rip) Lloh1: WORD $0x3dc00165 // ldr q5, [x11, lCPI0_0@PAGEOFF] $0(%rip) WORD $0x4f06e7e6 // movi.16b v6, #223 WORD $0x4f02e4a7 // movi.16b v7, #69 Lloh2: - WORD $0x10fff8ab // adr x11, lCPI0_1 $-236(%rip) + WORD $0x10fff92b // adr x11, lCPI0_1 $-220(%rip) Lloh3: WORD $0x3dc00170 // ldr q16, [x11, lCPI0_1@PAGEOFF] $0(%rip) WORD $0x12800011 // mov w17, #-1 @@ -166,32 +162,32 @@ LBB0_8: WORD $0x1a9400c3 // csel w3, w6, w20, eq WORD $0x510004a6 // sub w6, w5, #1 WORD $0x6a0500c6 // ands w6, w6, w5 - WORD $0x54001001 // b.ne LBB0_55 $512(%rip) + WORD $0x54001041 // b.ne LBB0_55 $520(%rip) WORD $0x51000486 // sub w6, w4, #1 WORD $0x6a0400c6 // ands w6, w6, w4 - WORD $0x54000fa1 // b.ne LBB0_55 $500(%rip) + WORD $0x54000fe1 // b.ne LBB0_55 $508(%rip) WORD $0x51000466 // sub w6, w3, #1 WORD $0x6a0300c6 // ands w6, w6, w3 - WORD $0x54000f41 // b.ne LBB0_55 $488(%rip) + WORD $0x54000f81 // b.ne LBB0_55 $496(%rip) WORD $0x340000c5 // cbz w5, LBB0_14 $24(%rip) WORD $0x5ac000a5 // rbit w5, w5 WORD $0x5ac010a5 // clz w5, w5 WORD $0xb100057f // cmn x11, #1 - WORD $0x54000f41 // b.ne LBB0_56 $488(%rip) + WORD $0x54000f81 // b.ne LBB0_56 $496(%rip) WORD $0x8b0501eb // add x11, x15, x5 LBB0_14: WORD $0x340000c4 // cbz w4, LBB0_17 $24(%rip) WORD $0x5ac00084 // rbit w4, w4 WORD $0x5ac01084 // clz w4, w4 WORD $0xb100059f // cmn x12, #1 - WORD $0x54000ee1 // b.ne LBB0_57 $476(%rip) + WORD $0x54000f21 // b.ne LBB0_57 $484(%rip) WORD $0x8b0401ec // add x12, x15, x4 LBB0_17: WORD $0x340000c3 // cbz w3, LBB0_20 $24(%rip) WORD $0x5ac00063 // rbit w3, w3 WORD $0x5ac01063 // clz w3, w3 WORD $0xb100055f // cmn x10, #1 - WORD $0x54000e81 // b.ne LBB0_58 $464(%rip) + WORD $0x54000ec1 // b.ne LBB0_58 $472(%rip) WORD $0x8b0301ea // add x10, x15, x3 LBB0_20: WORD $0x7100405f // cmp w2, #16 @@ -222,7 +218,7 @@ LBB0_25: WORD $0x910005ef // add x15, x15, #1 WORD $0xaa1103f0 // mov x16, x17 WORD $0xd1000442 // sub x2, x2, #1 - WORD $0xb4000842 // cbz x2, LBB0_53 $264(%rip) + WORD $0xb4000882 // cbz x2, LBB0_53 $272(%rip) LBB0_26: WORD $0x38401623 // ldrb w3, [x17], #1 WORD $0x5100c064 // sub w4, w3, #48 @@ -255,10 +251,10 @@ LBB0_35: WORD $0x8b0f01b0 // add x16, x13, x15 LBB0_36: WORD $0x9280000d // mov x13, #-1 - WORD $0xb40003cb // cbz x11, LBB0_51 $120(%rip) + WORD $0xb40003eb // cbz x11, LBB0_51 $124(%rip) LBB0_37: - WORD $0xb40003aa // cbz x10, LBB0_51 $116(%rip) - WORD $0xb400038c // cbz x12, LBB0_51 $112(%rip) + WORD $0xb40003ca // cbz x10, LBB0_51 $120(%rip) + WORD $0xb40003ac // cbz x12, LBB0_51 $116(%rip) WORD $0xcb08020d // sub x13, x16, x8 WORD $0xd10005ae // sub x14, x13, #1 WORD $0xeb0e017f // cmp x11, x14 @@ -268,26 +264,28 @@ LBB0_37: WORD $0xeb0e019f // cmp x12, x14 WORD $0x540000e0 // b.eq LBB0_45 $28(%rip) WORD $0xf100054e // subs x14, x10, #1 - WORD $0x540001ab // b.lt LBB0_48 $52(%rip) + WORD $0x540001cb // b.lt LBB0_48 $56(%rip) WORD $0xeb0e019f // cmp x12, x14 - WORD $0x54000160 // b.eq LBB0_48 $44(%rip) + WORD $0x54000180 // b.eq LBB0_48 $48(%rip) WORD $0xaa2a03ed // mvn x13, x10 - WORD $0x1400000e // b LBB0_51 $56(%rip) + WORD $0x1400000f // b LBB0_51 $60(%rip) LBB0_45: WORD $0xcb0d03ed // neg x13, x13 LBB0_46: - WORD $0xb7f8018d // tbnz x13, #63, LBB0_51 $48(%rip) + WORD $0xb7f801ad // tbnz x13, #63, LBB0_51 $52(%rip) +LBB0_47: WORD $0x8b0d0108 // add x8, x8, x13 WORD $0xcb090108 // sub x8, x8, x9 WORD $0xf9000028 // str x8, [x1] - WORD $0xa9417bfd // ldp fp, lr, [sp, #16] - WORD $0xa8c34ff4 // ldp x20, x19, [sp], #48 + WORD $0xa941fbfd // ldp fp, lr, [sp, #24] + WORD $0xa940cff4 // ldp x20, x19, [sp, #8] + WORD $0x9100c3ff // add sp, sp, #48 WORD $0xd65f03c0 // ret LBB0_48: WORD $0xaa0c016a // orr x10, x11, x12 - WORD $0xb7f8020a // tbnz x10, #63, LBB0_54 $64(%rip) + WORD $0xb7f8022a // tbnz x10, #63, LBB0_54 $68(%rip) WORD $0xeb0c017f // cmp x11, x12 - WORD $0x540001cb // b.lt LBB0_54 $56(%rip) + WORD $0x540001eb // b.lt LBB0_54 $60(%rip) WORD $0xaa2b03ed // mvn x13, x11 LBB0_51: WORD $0xaa2d03ea // mvn x10, x13 @@ -296,14 +294,15 @@ LBB0_52: WORD $0x92800020 // mov x0, #-2 WORD $0xcb090108 // sub x8, x8, x9 WORD $0xf9000028 // str x8, [x1] - WORD $0xa9417bfd // ldp fp, lr, [sp, #16] - WORD $0xa8c34ff4 // ldp x20, x19, [sp], #48 + WORD $0xa941fbfd // ldp fp, lr, [sp, #24] + WORD $0xa940cff4 // ldp x20, x19, [sp, #8] + WORD $0x9100c3ff // add sp, sp, #48 WORD $0xd65f03c0 // ret LBB0_53: WORD $0xaa0e03f0 // mov x16, x14 WORD $0x9280000d // mov x13, #-1 - WORD $0xb5fffb2b // cbnz x11, LBB0_37 $-156(%rip) - WORD $0x17fffff5 // b LBB0_51 $-44(%rip) + WORD $0xb5fffaeb // cbnz x11, LBB0_37 $-164(%rip) + WORD $0x17fffff4 // b LBB0_51 $-48(%rip) LBB0_54: WORD $0xd37ffd4a // lsr x10, x10, #63 WORD $0x5200014a // eor w10, w10, #0x1 @@ -312,31 +311,32 @@ LBB0_54: WORD $0x1a9f17eb // cset w11, eq WORD $0x6a0b015f // tst w10, w11 WORD $0xda8c01ad // csinv x13, x13, x12, eq - WORD $0x17ffffe1 // b LBB0_46 $-124(%rip) + WORD $0x17ffffdf // b LBB0_46 $-132(%rip) LBB0_55: WORD $0x5ac000ca // rbit w10, w6 WORD $0x5ac0114a // clz w10, w10 WORD $0xaa2f03eb // mvn x11, x15 WORD $0xcb0a016d // sub x13, x11, x10 - WORD $0x17ffffdc // b LBB0_46 $-144(%rip) + WORD $0x17ffffda // b LBB0_46 $-152(%rip) LBB0_56: WORD $0xaa2f03ea // mvn x10, x15 WORD $0xcb25414d // sub x13, x10, w5, uxtw - WORD $0x17ffffd9 // b LBB0_46 $-156(%rip) + WORD $0x17ffffd7 // b LBB0_46 $-164(%rip) LBB0_57: WORD $0xaa2f03ea // mvn x10, x15 WORD $0xcb24414d // sub x13, x10, w4, uxtw - WORD $0x17ffffd6 // b LBB0_46 $-168(%rip) + WORD $0x17ffffd4 // b LBB0_46 $-176(%rip) LBB0_58: WORD $0xaa2f03ea // mvn x10, x15 WORD $0xcb23414d // sub x13, x10, w3, uxtw - WORD $0x17ffffd3 // b LBB0_46 $-180(%rip) + WORD $0x17ffffd1 // b LBB0_46 $-188(%rip) LBB0_59: WORD $0x92800000 // mov x0, #-1 WORD $0xcb090108 // sub x8, x8, x9 WORD $0xf9000028 // str x8, [x1] - WORD $0xa9417bfd // ldp fp, lr, [sp, #16] - WORD $0xa8c34ff4 // ldp x20, x19, [sp], #48 + WORD $0xa941fbfd // ldp fp, lr, [sp, #24] + WORD $0xa940cff4 // ldp x20, x19, [sp, #8] + WORD $0x9100c3ff // add sp, sp, #48 WORD $0xd65f03c0 // ret LBB0_60: WORD $0x9280000b // mov x11, #-1 @@ -344,7 +344,7 @@ LBB0_60: WORD $0xaa0e03e2 // mov x2, x14 WORD $0x9280000c // mov x12, #-1 WORD $0x9280000a // mov x10, #-1 - WORD $0x17ffff8a // b LBB0_23 $-472(%rip) + WORD $0x17ffff87 // b LBB0_23 $-484(%rip) // .p2align 2, 0x00 _MASK_USE_NUMBER: WORD $0x00000002 // .long 2 diff --git a/internal/native/neon/skip_object_arm64.s b/internal/native/neon/skip_object_arm64.s index b108a34af..5029cbe6f 100644 --- a/internal/native/neon/skip_object_arm64.s +++ b/internal/native/neon/skip_object_arm64.s @@ -5,7 +5,7 @@ #include "funcdata.h" #include "textflag.h" -TEXT ·__skip_object_entry__(SB), NOSPLIT, $96 +TEXT ·__skip_object_entry__(SB), NOSPLIT, $208 NO_LOCAL_POINTERS WORD $0x100000a0 // adr x0, .+20 MOVD R0, ret(FP) @@ -59,45 +59,46 @@ lCPI0_2: // .byte 15 _skip_object: - WORD $0xa9b96ffc // stp x28, x27, [sp, #-112]! - WORD $0xa90167fa // stp x26, x25, [sp, #16] - WORD $0xa9025ff8 // stp x24, x23, [sp, #32] - WORD $0xa90357f6 // stp x22, x21, [sp, #48] - WORD $0xa9044ff4 // stp x20, x19, [sp, #64] - WORD $0xa9057bfd // stp fp, lr, [sp, #80] + WORD $0xd10383ff // sub sp, sp, #224 + WORD $0x6d06a3e9 // stp d9, d8, [sp, #104] + WORD $0xa907effc // stp x28, x27, [sp, #120] + WORD $0xa908e7fa // stp x26, x25, [sp, #136] + WORD $0xa909dff8 // stp x24, x23, [sp, #152] + WORD $0xa90ad7f6 // stp x22, x21, [sp, #168] + WORD $0xa90bcff4 // stp x20, x19, [sp, #184] + WORD $0xa90cfbfd // stp fp, lr, [sp, #200] WORD $0xa93ffbfd // stp fp, lr, [sp, #-8] WORD $0xd10023fd // sub fp, sp, #8 + WORD $0xaa0003e6 // mov x6, x0 Lloh0: - WORD $0x10fffd88 // adr x8, lCPI0_0 $-80(%rip) + WORD $0x10fffd28 // adr x8, lCPI0_0 $-92(%rip) Lloh1: WORD $0x3dc00100 // ldr q0, [x8, lCPI0_0@PAGEOFF] $0(%rip) - WORD $0xaa0203ea // mov x10, x2 - WORD $0x3c808540 // str q0, [x10], #8 - WORD $0xf9400009 // ldr x9, [x0] - WORD $0xaa2903eb // mvn x11, x9 + WORD $0xaa0203e9 // mov x9, x2 + WORD $0x3c808520 // str q0, [x9], #8 + WORD $0x910083e8 // add x8, sp, #32 + WORD $0x9100810a // add x10, x8, #32 WORD $0xf940003c // ldr x28, [x1] - WORD $0xcb0903ec // neg x12, x9 - WORD $0xd100052d // sub x13, x9, #1 - WORD $0x9280000e // mov x14, #-1 - WORD $0x5280002f // mov w15, #1 - WORD $0xd284c010 // mov x16, #9728 - WORD $0xf2c00030 // movk x16, #1, lsl #32 - WORD $0x52800073 // mov w19, #3 - WORD $0x52800084 // mov w4, #4 + WORD $0x9280000b // mov x11, #-1 + WORD $0x5280002c // mov w12, #1 + WORD $0xd284c00d // mov x13, #9728 + WORD $0xf2c0002d // movk x13, #1, lsl #32 + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 WORD $0x4f01e440 // movi.16b v0, #34 WORD $0x4f02e781 // movi.16b v1, #92 Lloh2: - WORD $0x10fffbe8 // adr x8, lCPI0_1 $-132(%rip) + WORD $0x10fffbc8 // adr x8, lCPI0_1 $-136(%rip) Lloh3: WORD $0x3dc00102 // ldr q2, [x8, lCPI0_1@PAGEOFF] $0(%rip) Lloh4: - WORD $0x10fffc28 // adr x8, lCPI0_2 $-124(%rip) + WORD $0x10fffc08 // adr x8, lCPI0_2 $-128(%rip) Lloh5: WORD $0x3dc00103 // ldr q3, [x8, lCPI0_2@PAGEOFF] $0(%rip) - WORD $0x92f00006 // mov x6, #9223372036854775807 + WORD $0x3200f3f0 // mov w16, #1431655765 + WORD $0x92f00011 // mov x17, #9223372036854775807 WORD $0x4f01e404 // movi.16b v4, #32 - WORD $0xb20903e7 // mov x7, #36028797027352576 - WORD $0xf2800027 // movk x7, #1 + WORD $0x3201f3e4 // mov w4, #-1431655766 WORD $0x4f01e5c5 // movi.16b v5, #46 WORD $0x4f01e566 // movi.16b v6, #43 WORD $0x4f01e5a7 // movi.16b v7, #45 @@ -105,2253 +106,3351 @@ Lloh5: WORD $0x4f00e551 // movi.16b v17, #10 WORD $0x4f06e7f2 // movi.16b v18, #223 WORD $0x4f02e4b3 // movi.16b v19, #69 - WORD $0x52800025 // mov w5, #1 + WORD $0x4f01e594 // movi.16b v20, #44 + WORD $0x4f02e7b5 // movi.16b v21, #93 + WORD $0x4f02e776 // movi.16b v22, #91 + WORD $0x6f00e417 // movi.2d v23, #0000000000000000 + WORD $0x4f03e778 // movi.16b v24, #123 + WORD $0x4f03e7b9 // movi.16b v25, #125 + WORD $0x52800033 // mov w19, #1 LBB0_1: - WORD $0xf9400408 // ldr x8, [x0, #8] - WORD $0xeb08039f // cmp x28, x8 + WORD $0xa94038db // ldp x27, x14, [x6] + WORD $0xeb0e039f // cmp x28, x14 WORD $0x54000162 // b.hs LBB0_6 $44(%rip) - WORD $0x387c6931 // ldrb w17, [x9, x28] - WORD $0x7100363f // cmp w17, #13 + WORD $0x387c6b68 // ldrb w8, [x27, x28] + WORD $0x7100351f // cmp w8, #13 WORD $0x54000100 // b.eq LBB0_6 $32(%rip) - WORD $0x7100823f // cmp w17, #32 + WORD $0x7100811f // cmp w8, #32 WORD $0x540000c0 // b.eq LBB0_6 $24(%rip) - WORD $0x51002e31 // sub w17, w17, #11 - WORD $0x31000a3f // cmn w17, #2 + WORD $0x51002d08 // sub w8, w8, #11 + WORD $0x3100091f // cmn w8, #2 WORD $0x54000062 // b.hs LBB0_6 $12(%rip) - WORD $0xaa1c03fb // mov x27, x28 + WORD $0xaa1c03e8 // mov x8, x28 WORD $0x14000031 // b LBB0_22 $196(%rip) LBB0_6: - WORD $0x9100079b // add x27, x28, #1 - WORD $0xeb08037f // cmp x27, x8 + WORD $0x91000788 // add x8, x28, #1 + WORD $0xeb0e011f // cmp x8, x14 WORD $0x54000122 // b.hs LBB0_10 $36(%rip) - WORD $0x387b6931 // ldrb w17, [x9, x27] - WORD $0x7100363f // cmp w17, #13 + WORD $0x38686b60 // ldrb w0, [x27, x8] + WORD $0x7100341f // cmp w0, #13 WORD $0x540000c0 // b.eq LBB0_10 $24(%rip) - WORD $0x7100823f // cmp w17, #32 + WORD $0x7100801f // cmp w0, #32 WORD $0x54000080 // b.eq LBB0_10 $16(%rip) - WORD $0x51002e31 // sub w17, w17, #11 - WORD $0x31000a3f // cmn w17, #2 + WORD $0x51002c00 // sub w0, w0, #11 + WORD $0x3100081f // cmn w0, #2 WORD $0x540004c3 // b.lo LBB0_22 $152(%rip) LBB0_10: - WORD $0x91000b9b // add x27, x28, #2 - WORD $0xeb08037f // cmp x27, x8 + WORD $0x91000b88 // add x8, x28, #2 + WORD $0xeb0e011f // cmp x8, x14 WORD $0x54000122 // b.hs LBB0_14 $36(%rip) - WORD $0x387b6931 // ldrb w17, [x9, x27] - WORD $0x7100363f // cmp w17, #13 + WORD $0x38686b60 // ldrb w0, [x27, x8] + WORD $0x7100341f // cmp w0, #13 WORD $0x540000c0 // b.eq LBB0_14 $24(%rip) - WORD $0x7100823f // cmp w17, #32 + WORD $0x7100801f // cmp w0, #32 WORD $0x54000080 // b.eq LBB0_14 $16(%rip) - WORD $0x51002e31 // sub w17, w17, #11 - WORD $0x31000a3f // cmn w17, #2 + WORD $0x51002c00 // sub w0, w0, #11 + WORD $0x3100081f // cmn w0, #2 WORD $0x54000363 // b.lo LBB0_22 $108(%rip) LBB0_14: - WORD $0x91000f9b // add x27, x28, #3 - WORD $0xeb08037f // cmp x27, x8 + WORD $0x91000f88 // add x8, x28, #3 + WORD $0xeb0e011f // cmp x8, x14 WORD $0x54000122 // b.hs LBB0_18 $36(%rip) - WORD $0x387b6931 // ldrb w17, [x9, x27] - WORD $0x7100363f // cmp w17, #13 + WORD $0x38686b60 // ldrb w0, [x27, x8] + WORD $0x7100341f // cmp w0, #13 WORD $0x540000c0 // b.eq LBB0_18 $24(%rip) - WORD $0x7100823f // cmp w17, #32 + WORD $0x7100801f // cmp w0, #32 WORD $0x54000080 // b.eq LBB0_18 $16(%rip) - WORD $0x51002e31 // sub w17, w17, #11 - WORD $0x31000a3f // cmn w17, #2 + WORD $0x51002c00 // sub w0, w0, #11 + WORD $0x3100081f // cmn w0, #2 WORD $0x54000203 // b.lo LBB0_22 $64(%rip) LBB0_18: - WORD $0x9100139b // add x27, x28, #4 - WORD $0xeb08037f // cmp x27, x8 - WORD $0x5400e902 // b.hs LBB0_395 $7456(%rip) + WORD $0x91001388 // add x8, x28, #4 + WORD $0xeb0e011f // cmp x8, x14 + WORD $0x540170a2 // b.hs LBB0_574 $11796(%rip) LBB0_19: - WORD $0x387b6931 // ldrb w17, [x9, x27] - WORD $0x7100823f // cmp w17, #32 - WORD $0x9ad121f1 // lsl x17, x15, x17 - WORD $0x8a100231 // and x17, x17, x16 - WORD $0xfa409a24 // ccmp x17, #0, #4, ls + WORD $0x38686b60 // ldrb w0, [x27, x8] + WORD $0x7100801f // cmp w0, #32 + WORD $0x9ac02180 // lsl x0, x12, x0 + WORD $0x8a0d0000 // and x0, x0, x13 + WORD $0xfa409804 // ccmp x0, #0, #4, ls WORD $0x540000a0 // b.eq LBB0_21 $20(%rip) - WORD $0x9100077b // add x27, x27, #1 - WORD $0xeb1b011f // cmp x8, x27 + WORD $0x91000508 // add x8, x8, #1 + WORD $0xeb0801df // cmp x14, x8 WORD $0x54ffff01 // b.ne LBB0_19 $-32(%rip) - WORD $0x14000735 // b LBB0_393 $7380(%rip) + WORD $0x14000b7c // b LBB0_575 $11760(%rip) LBB0_21: - WORD $0xeb08037f // cmp x27, x8 - WORD $0x5400e662 // b.hs LBB0_393 $7372(%rip) + WORD $0xeb0e011f // cmp x8, x14 + WORD $0x54016f42 // b.hs LBB0_575 $11752(%rip) LBB0_22: - WORD $0x9100077c // add x28, x27, #1 + WORD $0x9100051c // add x28, x8, #1 WORD $0xf900003c // str x28, [x1] - WORD $0x8b1b013e // add lr, x9, x27 - WORD $0x394003d5 // ldrb w21, [lr] - WORD $0x3400e5d5 // cbz w21, LBB0_393 $7352(%rip) - WORD $0xd10004b4 // sub x20, x5, #1 - WORD $0xf8747948 // ldr x8, [x10, x20, lsl #3] - WORD $0xb10005df // cmn x14, #1 - WORD $0x9a8e036e // csel x14, x27, x14, eq - WORD $0x71000d1f // cmp w8, #3 - WORD $0x54000c8c // b.gt LBB0_39 $400(%rip) - WORD $0x7100051f // cmp w8, #1 - WORD $0x540018c0 // b.eq LBB0_54 $792(%rip) - WORD $0x7100091f // cmp w8, #2 - WORD $0x54002c20 // b.eq LBB0_94 $1412(%rip) - WORD $0x71000d1f // cmp w8, #3 - WORD $0x540019c1 // b.ne LBB0_58 $824(%rip) - WORD $0x71008abf // cmp w21, #34 - WORD $0x5400f0e1 // b.ne LBB0_425 $7708(%rip) - WORD $0x3200f3e6 // mov w6, #1431655765 - WORD $0xf8347944 // str x4, [x10, x20, lsl #3] - WORD $0xf9400408 // ldr x8, [x0, #8] - WORD $0xeb1c0114 // subs x20, x8, x28 - WORD $0x372831a3 // tbnz w3, #5, LBB0_109 $1588(%rip) - WORD $0x5400e540 // b.eq LBB0_398 $7336(%rip) - WORD $0xf101029f // cmp x20, #64 - WORD $0x54009103 // b.lo LBB0_250 $4640(%rip) - WORD $0xd2800005 // mov x5, #0 - WORD $0x92800008 // mov x8, #-1 -LBB0_32: - WORD $0x8b1c0131 // add x17, x9, x28 - WORD $0xad405634 // ldp q20, q21, [x17] - WORD $0xad415e36 // ldp q22, q23, [x17, #32] - WORD $0x6e208e98 // cmeq.16b v24, v20, v0 - WORD $0x6e208eb9 // cmeq.16b v25, v21, v0 - WORD $0x6e208eda // cmeq.16b v26, v22, v0 - WORD $0x6e208efb // cmeq.16b v27, v23, v0 - WORD $0x6e218e94 // cmeq.16b v20, v20, v1 - WORD $0x6e218eb5 // cmeq.16b v21, v21, v1 - WORD $0x6e218ed6 // cmeq.16b v22, v22, v1 - WORD $0x6e218ef7 // cmeq.16b v23, v23, v1 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260311 // fmov w17, s24 - WORD $0x4e221f38 // and.16b v24, v25, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260307 // fmov w7, s24 - WORD $0x4e221f58 // and.16b v24, v26, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260315 // fmov w21, s24 - WORD $0x4e221f78 // and.16b v24, v27, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260316 // fmov w22, s24 - WORD $0x4e221e94 // and.16b v20, v20, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260297 // fmov w23, s20 - WORD $0x4e221eb4 // and.16b v20, v21, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260298 // fmov w24, s20 - WORD $0x4e221ed4 // and.16b v20, v22, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260299 // fmov w25, s20 - WORD $0x4e221ef4 // and.16b v20, v23, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e26029a // fmov w26, s20 - WORD $0xd3607eb5 // lsl x21, x21, #32 - WORD $0xaa16c2b5 // orr x21, x21, x22, lsl #48 - WORD $0x53103ce7 // lsl w7, w7, #16 - WORD $0xaa0702a7 // orr x7, x21, x7 - WORD $0xaa1100e7 // orr x7, x7, x17 - WORD $0xd3607f31 // lsl x17, x25, #32 - WORD $0xaa1ac231 // orr x17, x17, x26, lsl #48 - WORD $0x53103f15 // lsl w21, w24, #16 - WORD $0xaa150231 // orr x17, x17, x21 - WORD $0xaa170231 // orr x17, x17, x23 - WORD $0xb5000111 // cbnz x17, LBB0_36 $32(%rip) - WORD $0xb5000185 // cbnz x5, LBB0_37 $48(%rip) - WORD $0xb50002c7 // cbnz x7, LBB0_38 $88(%rip) -LBB0_35: - WORD $0xd1010294 // sub x20, x20, #64 - WORD $0x9101039c // add x28, x28, #64 - WORD $0xf100fe9f // cmp x20, #63 - WORD $0x54fff8a8 // b.hi LBB0_32 $-236(%rip) - WORD $0x14000441 // b LBB0_247 $4356(%rip) + WORD $0x8b08037e // add lr, x27, x8 + WORD $0x394003c5 // ldrb w5, [lr] + WORD $0x34016ea5 // cbz w5, LBB0_575 $11732(%rip) + WORD $0xd100066e // sub x14, x19, #1 + WORD $0xf86e7920 // ldr x0, [x9, x14, lsl #3] + WORD $0xb100057f // cmn x11, #1 + WORD $0x9a8b010b // csel x11, x8, x11, eq + WORD $0x71000c1f // cmp w0, #3 + WORD $0x54000ccc // b.gt LBB0_40 $408(%rip) + WORD $0x7100041f // cmp w0, #1 + WORD $0x54001940 // b.eq LBB0_56 $808(%rip) + WORD $0x7100081f // cmp w0, #2 + WORD $0x54002cc0 // b.eq LBB0_97 $1432(%rip) + WORD $0x71000c1f // cmp w0, #3 + WORD $0x540019e1 // b.ne LBB0_60 $828(%rip) + WORD $0x710088bf // cmp w5, #34 + WORD $0x54015fa1 // b.ne LBB0_540 $11252(%rip) + WORD $0xf82e792f // str x15, [x9, x14, lsl #3] + WORD $0x373031a3 // tbnz w3, #6, LBB0_113 $1588(%rip) + WORD $0xf94004ce // ldr x14, [x6, #8] + WORD $0xeb1c01d6 // subs x22, x14, x28 + WORD $0x37284563 // tbnz w3, #5, LBB0_141 $2220(%rip) + WORD $0x54015fa0 // b.eq LBB0_543 $11252(%rip) + WORD $0xf10102df // cmp x22, #64 + WORD $0x5400f843 // b.lo LBB0_365 $7944(%rip) + WORD $0xd2800013 // mov x19, #0 + WORD $0x92800000 // mov x0, #-1 +LBB0_33: + WORD $0x8b1c036e // add x14, x27, x28 + WORD $0xad406dda // ldp q26, q27, [x14] + WORD $0xad4175dc // ldp q28, q29, [x14, #32] + WORD $0x6e208f5e // cmeq.16b v30, v26, v0 + WORD $0x6e208f7f // cmeq.16b v31, v27, v0 + WORD $0x6e208f88 // cmeq.16b v8, v28, v0 + WORD $0x6e208fa9 // cmeq.16b v9, v29, v0 + WORD $0x6e218f5a // cmeq.16b v26, v26, v1 + WORD $0x6e218f7b // cmeq.16b v27, v27, v1 + WORD $0x6e218f9c // cmeq.16b v28, v28, v1 + WORD $0x6e218fbd // cmeq.16b v29, v29, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603ce // fmov w14, s30 + WORD $0x4e221ffe // and.16b v30, v31, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603c5 // fmov w5, s30 + WORD $0x4e221d1e // and.16b v30, v8, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d4 // fmov w20, s30 + WORD $0x4e221d3e // and.16b v30, v9, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d5 // fmov w21, s30 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260357 // fmov w23, s26 + WORD $0x4e221f7a // and.16b v26, v27, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260358 // fmov w24, s26 + WORD $0x4e221f9a // and.16b v26, v28, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260359 // fmov w25, s26 + WORD $0x4e221fba // and.16b v26, v29, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e26035a // fmov w26, s26 + WORD $0xd3607e94 // lsl x20, x20, #32 + WORD $0xaa15c294 // orr x20, x20, x21, lsl #48 + WORD $0x53103ca5 // lsl w5, w5, #16 + WORD $0xaa050285 // orr x5, x20, x5 + WORD $0xaa0e00ae // orr x14, x5, x14 + WORD $0xd3607f25 // lsl x5, x25, #32 + WORD $0xaa1ac0a5 // orr x5, x5, x26, lsl #48 + WORD $0x53103f14 // lsl w20, w24, #16 + WORD $0xaa1400a5 // orr x5, x5, x20 + WORD $0xaa1700a5 // orr x5, x5, x23 + WORD $0xb5000105 // cbnz x5, LBB0_37 $32(%rip) + WORD $0xb5000193 // cbnz x19, LBB0_38 $48(%rip) + WORD $0xb50002ce // cbnz x14, LBB0_39 $88(%rip) LBB0_36: - WORD $0xb100051f // cmn x8, #1 - WORD $0xdac00235 // rbit x21, x17 - WORD $0xdac012b5 // clz x21, x21 - WORD $0x8b1c02b5 // add x21, x21, x28 - WORD $0x9a951108 // csel x8, x8, x21, ne + WORD $0xd10102d6 // sub x22, x22, #64 + WORD $0x9101039c // add x28, x28, #64 + WORD $0xf100fedf // cmp x22, #63 + WORD $0x54fff8a8 // b.hi LBB0_33 $-236(%rip) + WORD $0x14000777 // b LBB0_361 $7644(%rip) LBB0_37: - WORD $0x8a250235 // bic x21, x17, x5 - WORD $0xaa1504b6 // orr x22, x5, x21, lsl #1 - WORD $0x8a360231 // bic x17, x17, x22 - WORD $0x9201f231 // and x17, x17, #0xaaaaaaaaaaaaaaaa - WORD $0xab150231 // adds x17, x17, x21 - WORD $0x1a9f37e5 // cset w5, hs - WORD $0xd37ffa31 // lsl x17, x17, #1 - WORD $0xd200f231 // eor x17, x17, #0x5555555555555555 - WORD $0x8a160231 // and x17, x17, x22 - WORD $0x8a3100e7 // bic x7, x7, x17 - WORD $0xb4fffd87 // cbz x7, LBB0_35 $-80(%rip) + WORD $0xb100041f // cmn x0, #1 + WORD $0xdac000b4 // rbit x20, x5 + WORD $0xdac01294 // clz x20, x20 + WORD $0x8b1c0294 // add x20, x20, x28 + WORD $0x9a941000 // csel x0, x0, x20, ne LBB0_38: - WORD $0xdac000f1 // rbit x17, x7 - WORD $0xdac01231 // clz x17, x17 - WORD $0x8b1c0231 // add x17, x17, x28 - WORD $0x140001aa // b LBB0_121 $1704(%rip) + WORD $0x8a3300b4 // bic x20, x5, x19 + WORD $0xaa140675 // orr x21, x19, x20, lsl #1 + WORD $0x8a3500a5 // bic x5, x5, x21 + WORD $0x9201f0a5 // and x5, x5, #0xaaaaaaaaaaaaaaaa + WORD $0xab1400a5 // adds x5, x5, x20 + WORD $0x1a9f37f3 // cset w19, hs + WORD $0xd37ff8a5 // lsl x5, x5, #1 + WORD $0xd200f0a5 // eor x5, x5, #0x5555555555555555 + WORD $0x8a1500a5 // and x5, x5, x21 + WORD $0x8a2501ce // bic x14, x14, x5 + WORD $0xb4fffd8e // cbz x14, LBB0_36 $-80(%rip) LBB0_39: - WORD $0x7100111f // cmp w8, #4 - WORD $0x54000d00 // b.eq LBB0_56 $416(%rip) - WORD $0x7100151f // cmp w8, #5 - WORD $0x54002060 // b.eq LBB0_96 $1036(%rip) - WORD $0x7100191f // cmp w8, #6 - WORD $0x54000d61 // b.ne LBB0_58 $428(%rip) - WORD $0x71008abf // cmp w21, #34 - WORD $0x54001f81 // b.ne LBB0_95 $1008(%rip) - WORD $0x3200f3e4 // mov w4, #1431655765 - WORD $0x52800048 // mov w8, #2 - WORD $0xf8347948 // str x8, [x10, x20, lsl #3] - WORD $0xf9400408 // ldr x8, [x0, #8] - WORD $0xeb1c0114 // subs x20, x8, x28 - WORD $0x37283923 // tbnz w3, #5, LBB0_138 $1828(%rip) - WORD $0x5400d8c0 // b.eq LBB0_398 $6936(%rip) - WORD $0xf101029f // cmp x20, #64 - WORD $0x54009423 // b.lo LBB0_277 $4740(%rip) - WORD $0xd2800005 // mov x5, #0 - WORD $0x92800008 // mov x8, #-1 -LBB0_47: - WORD $0x8b1c0131 // add x17, x9, x28 - WORD $0xad405634 // ldp q20, q21, [x17] - WORD $0xad415e36 // ldp q22, q23, [x17, #32] - WORD $0x6e208e98 // cmeq.16b v24, v20, v0 - WORD $0x6e208eb9 // cmeq.16b v25, v21, v0 - WORD $0x6e208eda // cmeq.16b v26, v22, v0 - WORD $0x6e208efb // cmeq.16b v27, v23, v0 - WORD $0x6e218e94 // cmeq.16b v20, v20, v1 - WORD $0x6e218eb5 // cmeq.16b v21, v21, v1 - WORD $0x6e218ed6 // cmeq.16b v22, v22, v1 - WORD $0x6e218ef7 // cmeq.16b v23, v23, v1 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260311 // fmov w17, s24 - WORD $0x4e221f38 // and.16b v24, v25, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260307 // fmov w7, s24 - WORD $0x4e221f58 // and.16b v24, v26, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260315 // fmov w21, s24 - WORD $0x4e221f78 // and.16b v24, v27, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260316 // fmov w22, s24 - WORD $0x4e221e94 // and.16b v20, v20, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260297 // fmov w23, s20 - WORD $0x4e221eb4 // and.16b v20, v21, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260298 // fmov w24, s20 - WORD $0x4e221ed4 // and.16b v20, v22, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260299 // fmov w25, s20 - WORD $0x4e221ef4 // and.16b v20, v23, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e26029a // fmov w26, s20 - WORD $0xd3607eb5 // lsl x21, x21, #32 - WORD $0xaa16c2b5 // orr x21, x21, x22, lsl #48 - WORD $0x53103ce7 // lsl w7, w7, #16 - WORD $0xaa0702a7 // orr x7, x21, x7 - WORD $0xaa1100e7 // orr x7, x7, x17 - WORD $0xd3607f31 // lsl x17, x25, #32 - WORD $0xaa1ac231 // orr x17, x17, x26, lsl #48 - WORD $0x53103f15 // lsl w21, w24, #16 - WORD $0xaa150231 // orr x17, x17, x21 - WORD $0xaa170231 // orr x17, x17, x23 - WORD $0xb5000111 // cbnz x17, LBB0_51 $32(%rip) - WORD $0xb5000185 // cbnz x5, LBB0_52 $48(%rip) - WORD $0xb50002c7 // cbnz x7, LBB0_53 $88(%rip) -LBB0_50: - WORD $0xd1010294 // sub x20, x20, #64 - WORD $0x9101039c // add x28, x28, #64 - WORD $0xf100fe9f // cmp x20, #63 - WORD $0x54fff8a8 // b.hi LBB0_47 $-236(%rip) - WORD $0x1400045e // b LBB0_275 $4472(%rip) -LBB0_51: - WORD $0xb100051f // cmn x8, #1 - WORD $0xdac00235 // rbit x21, x17 - WORD $0xdac012b5 // clz x21, x21 - WORD $0x8b1c02b5 // add x21, x21, x28 - WORD $0x9a951108 // csel x8, x8, x21, ne + WORD $0xdac001ce // rbit x14, x14 + WORD $0xdac011ce // clz x14, x14 + WORD $0x8b1c01ce // add x14, x14, x28 + WORD $0x910005dc // add x28, x14, #1 + WORD $0xb6f8babc // tbz x28, #63, LBB0_283 $5972(%rip) + WORD $0x14000aa4 // b LBB0_542 $10896(%rip) +LBB0_40: + WORD $0x7100101f // cmp w0, #4 + WORD $0x54000d40 // b.eq LBB0_58 $424(%rip) + WORD $0x7100141f // cmp w0, #5 + WORD $0x540020c0 // b.eq LBB0_99 $1048(%rip) + WORD $0x7100181f // cmp w0, #6 + WORD $0x54000d41 // b.ne LBB0_60 $424(%rip) + WORD $0x710088bf // cmp w5, #34 + WORD $0x54001fe1 // b.ne LBB0_98 $1020(%rip) + WORD $0x52800040 // mov w0, #2 + WORD $0xf82e7920 // str x0, [x9, x14, lsl #3] + WORD $0x37303143 // tbnz w3, #6, LBB0_132 $1576(%rip) + WORD $0xf94004ce // ldr x14, [x6, #8] + WORD $0xeb1c01d6 // subs x22, x14, x28 + WORD $0x37285103 // tbnz w3, #5, LBB0_182 $2592(%rip) + WORD $0x540152e0 // b.eq LBB0_543 $10844(%rip) + WORD $0xf10102df // cmp x22, #64 + WORD $0x5400fba3 // b.lo LBB0_393 $8052(%rip) + WORD $0xd2800013 // mov x19, #0 + WORD $0x92800000 // mov x0, #-1 +LBB0_49: + WORD $0x8b1c036e // add x14, x27, x28 + WORD $0xad406dda // ldp q26, q27, [x14] + WORD $0xad4175dc // ldp q28, q29, [x14, #32] + WORD $0x6e208f5e // cmeq.16b v30, v26, v0 + WORD $0x6e208f7f // cmeq.16b v31, v27, v0 + WORD $0x6e208f88 // cmeq.16b v8, v28, v0 + WORD $0x6e208fa9 // cmeq.16b v9, v29, v0 + WORD $0x6e218f5a // cmeq.16b v26, v26, v1 + WORD $0x6e218f7b // cmeq.16b v27, v27, v1 + WORD $0x6e218f9c // cmeq.16b v28, v28, v1 + WORD $0x6e218fbd // cmeq.16b v29, v29, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603ce // fmov w14, s30 + WORD $0x4e221ffe // and.16b v30, v31, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603c5 // fmov w5, s30 + WORD $0x4e221d1e // and.16b v30, v8, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d4 // fmov w20, s30 + WORD $0x4e221d3e // and.16b v30, v9, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d5 // fmov w21, s30 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260357 // fmov w23, s26 + WORD $0x4e221f7a // and.16b v26, v27, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260358 // fmov w24, s26 + WORD $0x4e221f9a // and.16b v26, v28, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260359 // fmov w25, s26 + WORD $0x4e221fba // and.16b v26, v29, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e26035a // fmov w26, s26 + WORD $0xd3607e94 // lsl x20, x20, #32 + WORD $0xaa15c294 // orr x20, x20, x21, lsl #48 + WORD $0x53103ca5 // lsl w5, w5, #16 + WORD $0xaa050285 // orr x5, x20, x5 + WORD $0xaa0e00ae // orr x14, x5, x14 + WORD $0xd3607f25 // lsl x5, x25, #32 + WORD $0xaa1ac0a5 // orr x5, x5, x26, lsl #48 + WORD $0x53103f14 // lsl w20, w24, #16 + WORD $0xaa1400a5 // orr x5, x5, x20 + WORD $0xaa1700a5 // orr x5, x5, x23 + WORD $0xb5000105 // cbnz x5, LBB0_53 $32(%rip) + WORD $0xb5000193 // cbnz x19, LBB0_54 $48(%rip) + WORD $0xb50002ce // cbnz x14, LBB0_55 $88(%rip) LBB0_52: - WORD $0x8a250235 // bic x21, x17, x5 - WORD $0xaa1504b6 // orr x22, x5, x21, lsl #1 - WORD $0x8a360231 // bic x17, x17, x22 - WORD $0x9201f231 // and x17, x17, #0xaaaaaaaaaaaaaaaa - WORD $0xab150231 // adds x17, x17, x21 - WORD $0x1a9f37e5 // cset w5, hs - WORD $0xd37ffa31 // lsl x17, x17, #1 - WORD $0xd200f231 // eor x17, x17, #0x5555555555555555 - WORD $0x8a160231 // and x17, x17, x22 - WORD $0x8a3100e7 // bic x7, x7, x17 - WORD $0xb4fffd87 // cbz x7, LBB0_50 $-80(%rip) + WORD $0xd10102d6 // sub x22, x22, #64 + WORD $0x9101039c // add x28, x28, #64 + WORD $0xf100fedf // cmp x22, #63 + WORD $0x54fff8a8 // b.hi LBB0_49 $-236(%rip) + WORD $0x1400079a // b LBB0_391 $7784(%rip) LBB0_53: - WORD $0xdac000f1 // rbit x17, x7 - WORD $0xdac01231 // clz x17, x17 - WORD $0x8b1c0231 // add x17, x17, x28 - WORD $0x140001e6 // b LBB0_150 $1944(%rip) + WORD $0xb100041f // cmn x0, #1 + WORD $0xdac000b4 // rbit x20, x5 + WORD $0xdac01294 // clz x20, x20 + WORD $0x8b1c0294 // add x20, x20, x28 + WORD $0x9a941000 // csel x0, x0, x20, ne LBB0_54: - WORD $0x7100b2bf // cmp w21, #44 - WORD $0x540017e0 // b.eq LBB0_105 $764(%rip) - WORD $0x710176bf // cmp w21, #93 - WORD $0x54001420 // b.eq LBB0_97 $644(%rip) - WORD $0x140006c3 // b LBB0_425 $6924(%rip) + WORD $0x8a3300b4 // bic x20, x5, x19 + WORD $0xaa140675 // orr x21, x19, x20, lsl #1 + WORD $0x8a3500a5 // bic x5, x5, x21 + WORD $0x9201f0a5 // and x5, x5, #0xaaaaaaaaaaaaaaaa + WORD $0xab1400a5 // adds x5, x5, x20 + WORD $0x1a9f37f3 // cset w19, hs + WORD $0xd37ff8a5 // lsl x5, x5, #1 + WORD $0xd200f0a5 // eor x5, x5, #0x5555555555555555 + WORD $0x8a1500a5 // and x5, x5, x21 + WORD $0x8a2501ce // bic x14, x14, x5 + WORD $0xb4fffd8e // cbz x14, LBB0_52 $-80(%rip) +LBB0_55: + WORD $0xdac001ce // rbit x14, x14 + WORD $0xdac011ce // clz x14, x14 + WORD $0x8b1c01ce // add x14, x14, x28 + WORD $0x910005dc // add x28, x14, #1 + WORD $0xb6f854dc // tbz x28, #63, LBB0_194 $2712(%rip) + WORD $0x14000a3e // b LBB0_542 $10488(%rip) LBB0_56: - WORD $0x7100eabf // cmp w21, #58 - WORD $0x5400d821 // b.ne LBB0_425 $6916(%rip) - WORD $0xf834795f // str xzr, [x10, x20, lsl #3] - WORD $0xf9400045 // ldr x5, [x2] - WORD $0xaa0e03e8 // mov x8, x14 - WORD $0xb5ffdce5 // cbnz x5, LBB0_1 $-1124(%rip) - WORD $0x14000656 // b LBB0_394 $6488(%rip) + WORD $0x7100b0bf // cmp w5, #44 + WORD $0x540017c0 // b.eq LBB0_109 $760(%rip) + WORD $0x710174bf // cmp w5, #93 + WORD $0x54001440 // b.eq LBB0_100 $648(%rip) + WORD $0x14000a35 // b LBB0_540 $10452(%rip) LBB0_58: - WORD $0xf9000054 // str x20, [x2] - WORD $0x92800028 // mov x8, #-2 - WORD $0x71016abf // cmp w21, #90 - WORD $0x540013cc // b.gt LBB0_99 $632(%rip) -LBB0_59: - WORD $0x5100c2b1 // sub w17, w21, #48 - WORD $0x71002a3f // cmp w17, #10 - WORD $0x54003d02 // b.hs LBB0_154 $1952(%rip) - WORD $0xf9400408 // ldr x8, [x0, #8] - WORD $0xeb1b0115 // subs x21, x8, x27 - WORD $0x5400cbc0 // b.eq LBB0_399 $6520(%rip) - WORD $0x394003c8 // ldrb w8, [lr] - WORD $0x7100c11f // cmp w8, #48 - WORD $0x54000141 // b.ne LBB0_65 $40(%rip) - WORD $0xf10006bf // cmp x21, #1 - WORD $0x54004280 // b.eq LBB0_170 $2128(%rip) - WORD $0x387c6928 // ldrb w8, [x9, x28] - WORD $0x5100b908 // sub w8, w8, #46 - WORD $0x7100dd1f // cmp w8, #55 - WORD $0x54004208 // b.hi LBB0_170 $2112(%rip) - WORD $0x9ac821e8 // lsl x8, x15, x8 - WORD $0xea07011f // tst x8, x7 - WORD $0x540041a0 // b.eq LBB0_170 $2100(%rip) -LBB0_65: - WORD $0xf10042bf // cmp x21, #16 - WORD $0x5400a5c3 // b.lo LBB0_333 $5304(%rip) - WORD $0xd2800016 // mov x22, #0 + WORD $0x7100e8bf // cmp w5, #58 + WORD $0x54014661 // b.ne LBB0_540 $10444(%rip) + WORD $0xf82e793f // str xzr, [x9, x14, lsl #3] + WORD $0x14000569 // b LBB0_284 $5540(%rip) +LBB0_60: + WORD $0xf900004e // str x14, [x2] + WORD $0x92800020 // mov x0, #-2 + WORD $0x710168bf // cmp w5, #90 + WORD $0x5400144c // b.gt LBB0_102 $648(%rip) +LBB0_61: + WORD $0x5100c0ae // sub w14, w5, #48 + WORD $0x710029df // cmp w14, #10 + WORD $0x54003ba2 // b.hs LBB0_154 $1908(%rip) + WORD $0xf94004ce // ldr x14, [x6, #8] + WORD $0x37301ee3 // tbnz w3, #6, LBB0_120 $988(%rip) + WORD $0xeb0801da // subs x26, x14, x8 + WORD $0x540145e0 // b.eq LBB0_544 $10428(%rip) + WORD $0x394003ce // ldrb w14, [lr] + WORD $0x7100c1df // cmp w14, #48 + WORD $0x54000181 // b.ne LBB0_68 $48(%rip) + WORD $0xf100075f // cmp x26, #1 + WORD $0x5400aaa0 // b.eq LBB0_283 $5460(%rip) + WORD $0x387c6b6e // ldrb w14, [x27, x28] + WORD $0x5100b9ce // sub w14, w14, #46 + WORD $0x7100dddf // cmp w14, #55 + WORD $0x5400aa28 // b.hi LBB0_283 $5444(%rip) + WORD $0x9ace218e // lsl x14, x12, x14 + WORD $0xb20903e0 // mov x0, #36028797027352576 + WORD $0xf2800020 // movk x0, #1 + WORD $0xea0001df // tst x14, x0 + WORD $0x5400a980 // b.eq LBB0_283 $5424(%rip) +LBB0_68: + WORD $0xf100435f // cmp x26, #16 + WORD $0x54011203 // b.lo LBB0_456 $8768(%rip) + WORD $0xd280000e // mov x14, #0 WORD $0xd280001c // mov x28, #0 - WORD $0x92800014 // mov x20, #-1 - WORD $0x92800005 // mov x5, #-1 - WORD $0x92800008 // mov x8, #-1 -LBB0_67: - WORD $0x3cfc6bd4 // ldr q20, [lr, x28] - WORD $0x6e258e95 // cmeq.16b v21, v20, v5 - WORD $0x6e268e96 // cmeq.16b v22, v20, v6 - WORD $0x6e278e97 // cmeq.16b v23, v20, v7 - WORD $0x4e308698 // add.16b v24, v20, v16 - WORD $0x6e383638 // cmhi.16b v24, v17, v24 - WORD $0x4e321e94 // and.16b v20, v20, v18 - WORD $0x6e338e94 // cmeq.16b v20, v20, v19 - WORD $0x4eb71ed6 // orr.16b v22, v22, v23 - WORD $0x4eb51f17 // orr.16b v23, v24, v21 - WORD $0x4eb61e98 // orr.16b v24, v20, v22 - WORD $0x4eb81ef7 // orr.16b v23, v23, v24 - WORD $0x4e221eb5 // and.16b v21, v21, v2 - WORD $0x4e0302b5 // tbl.16b v21, { v21 }, v3 - WORD $0x4e71bab5 // addv.8h h21, v21 - WORD $0x1e2602b1 // fmov w17, s21 - WORD $0x4e221e94 // and.16b v20, v20, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260297 // fmov w23, s20 - WORD $0x4e221ed4 // and.16b v20, v22, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260299 // fmov w25, s20 - WORD $0x4e221ef4 // and.16b v20, v23, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260287 // fmov w7, s20 - WORD $0x2a2703e7 // mvn w7, w7 - WORD $0x32103ce7 // orr w7, w7, #0xffff0000 - WORD $0x5ac000e7 // rbit w7, w7 - WORD $0x5ac010e7 // clz w7, w7 - WORD $0x12800004 // mov w4, #-1 - WORD $0x1ac72098 // lsl w24, w4, w7 - WORD $0x0a38023a // bic w26, w17, w24 - WORD $0x0a3802e4 // bic w4, w23, w24 - WORD $0x0a380326 // bic w6, w25, w24 - WORD $0x710040ff // cmp w7, #16 - WORD $0x1a9a0231 // csel w17, w17, w26, eq - WORD $0x1a8402f8 // csel w24, w23, w4, eq - WORD $0x1a860337 // csel w23, w25, w6, eq - WORD $0x51000624 // sub w4, w17, #1 - WORD $0x6a110099 // ands w25, w4, w17 - WORD $0x54006d81 // b.ne LBB0_245 $3504(%rip) - WORD $0x51000704 // sub w4, w24, #1 - WORD $0x6a180099 // ands w25, w4, w24 - WORD $0x54006d21 // b.ne LBB0_245 $3492(%rip) - WORD $0x510006e4 // sub w4, w23, #1 - WORD $0x6a170099 // ands w25, w4, w23 - WORD $0x54006cc1 // b.ne LBB0_245 $3480(%rip) - WORD $0x340000d1 // cbz w17, LBB0_73 $24(%rip) - WORD $0x5ac00231 // rbit w17, w17 - WORD $0x5ac01231 // clz w17, w17 - WORD $0xb100051f // cmn x8, #1 - WORD $0x54006cc1 // b.ne LBB0_246 $3480(%rip) - WORD $0x8b110388 // add x8, x28, x17 -LBB0_73: - WORD $0x340000d8 // cbz w24, LBB0_76 $24(%rip) - WORD $0x5ac00311 // rbit w17, w24 - WORD $0x5ac01231 // clz w17, w17 - WORD $0xb10004bf // cmn x5, #1 - WORD $0x54006c01 // b.ne LBB0_246 $3456(%rip) - WORD $0x8b110385 // add x5, x28, x17 + WORD $0x92800016 // mov x22, #-1 + WORD $0x92800013 // mov x19, #-1 + WORD $0x92800000 // mov x0, #-1 +LBB0_70: + WORD $0x3cfc6bda // ldr q26, [lr, x28] + WORD $0x6e258f5b // cmeq.16b v27, v26, v5 + WORD $0x6e268f5c // cmeq.16b v28, v26, v6 + WORD $0x6e278f5d // cmeq.16b v29, v26, v7 + WORD $0x4e30875e // add.16b v30, v26, v16 + WORD $0x6e3e363e // cmhi.16b v30, v17, v30 + WORD $0x4e321f5a // and.16b v26, v26, v18 + WORD $0x6e338f5a // cmeq.16b v26, v26, v19 + WORD $0x4ebd1f9c // orr.16b v28, v28, v29 + WORD $0x4ebb1fdd // orr.16b v29, v30, v27 + WORD $0x4ebc1f5e // orr.16b v30, v26, v28 + WORD $0x4ebe1fbd // orr.16b v29, v29, v30 + WORD $0x4e221f7b // and.16b v27, v27, v2 + WORD $0x4e03037b // tbl.16b v27, { v27 }, v3 + WORD $0x4e71bb7b // addv.8h h27, v27 + WORD $0x1e260374 // fmov w20, s27 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260355 // fmov w21, s26 + WORD $0x4e221f9a // and.16b v26, v28, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260357 // fmov w23, s26 + WORD $0x4e221fba // and.16b v26, v29, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260345 // fmov w5, s26 + WORD $0x2a2503e5 // mvn w5, w5 + WORD $0x32103ca5 // orr w5, w5, #0xffff0000 + WORD $0x5ac000a5 // rbit w5, w5 + WORD $0x5ac010a5 // clz w5, w5 + WORD $0x1280000f // mov w15, #-1 + WORD $0x1ac521f8 // lsl w24, w15, w5 + WORD $0x0a380299 // bic w25, w20, w24 + WORD $0x0a3802af // bic w15, w21, w24 + WORD $0x0a3802f8 // bic w24, w23, w24 + WORD $0x710040bf // cmp w5, #16 + WORD $0x1a990294 // csel w20, w20, w25, eq + WORD $0x1a8f02b9 // csel w25, w21, w15, eq + WORD $0x1a9802f5 // csel w21, w23, w24, eq + WORD $0x5100068f // sub w15, w20, #1 + WORD $0x6a1401f7 // ands w23, w15, w20 + WORD $0x5400d341 // b.ne LBB0_358 $6760(%rip) + WORD $0x5100072f // sub w15, w25, #1 + WORD $0x6a1901f7 // ands w23, w15, w25 + WORD $0x5400d2e1 // b.ne LBB0_358 $6748(%rip) + WORD $0x510006af // sub w15, w21, #1 + WORD $0x6a1501f7 // ands w23, w15, w21 + WORD $0x5400d281 // b.ne LBB0_358 $6736(%rip) + WORD $0x340000d4 // cbz w20, LBB0_76 $24(%rip) + WORD $0x5ac0028f // rbit w15, w20 + WORD $0x5ac011f4 // clz w20, w15 + WORD $0xb100041f // cmn x0, #1 + WORD $0x5400d281 // b.ne LBB0_359 $6736(%rip) + WORD $0x8b140380 // add x0, x28, x20 LBB0_76: - WORD $0x340000d7 // cbz w23, LBB0_79 $24(%rip) - WORD $0x5ac002f1 // rbit w17, w23 - WORD $0x5ac01231 // clz w17, w17 - WORD $0xb100069f // cmn x20, #1 - WORD $0x54006b41 // b.ne LBB0_246 $3432(%rip) - WORD $0x8b110394 // add x20, x28, x17 + WORD $0x340000d9 // cbz w25, LBB0_79 $24(%rip) + WORD $0x5ac0032f // rbit w15, w25 + WORD $0x5ac011f4 // clz w20, w15 + WORD $0xb100067f // cmn x19, #1 + WORD $0x5400d1c1 // b.ne LBB0_359 $6712(%rip) + WORD $0x8b140393 // add x19, x28, x20 LBB0_79: - WORD $0x710040ff // cmp w7, #16 - WORD $0x54001bc1 // b.ne LBB0_123 $888(%rip) - WORD $0x9100439c // add x28, x28, #16 - WORD $0xd10042d6 // sub x22, x22, #16 - WORD $0x8b1602b7 // add x23, x21, x22 - WORD $0xf1003eff // cmp x23, #15 - WORD $0x54fff6c8 // b.hi LBB0_67 $-296(%rip) - WORD $0x8b1c03d6 // add x22, lr, x28 - WORD $0xeb1c02bf // cmp x21, x28 - WORD $0x54001b00 // b.eq LBB0_124 $864(%rip) + WORD $0x340000d5 // cbz w21, LBB0_82 $24(%rip) + WORD $0x5ac002af // rbit w15, w21 + WORD $0x5ac011f4 // clz w20, w15 + WORD $0xb10006df // cmn x22, #1 + WORD $0x5400d101 // b.ne LBB0_359 $6688(%rip) + WORD $0x8b140396 // add x22, x28, x20 LBB0_82: - WORD $0x8b1702d8 // add x24, x22, x23 - WORD $0x8b1b01b1 // add x17, x13, x27 - WORD $0xcb160235 // sub x21, x17, x22 - WORD $0xcb1e02c7 // sub x7, x22, lr - WORD $0xaa1603fc // mov x28, x22 - WORD $0x14000009 // b LBB0_85 $36(%rip) -LBB0_83: - WORD $0xb10004bf // cmn x5, #1 - WORD $0xaa0703e5 // mov x5, x7 - WORD $0x54001d81 // b.ne LBB0_136 $944(%rip) -LBB0_84: - WORD $0xd10006b5 // sub x21, x21, #1 - WORD $0x910004e7 // add x7, x7, #1 - WORD $0xaa1c03f6 // mov x22, x28 - WORD $0xd10006f7 // sub x23, x23, #1 - WORD $0xb40042d7 // cbz x23, LBB0_184 $2136(%rip) + WORD $0x710040bf // cmp w5, #16 + WORD $0x540033a1 // b.ne LBB0_166 $1652(%rip) + WORD $0x9100439c // add x28, x28, #16 + WORD $0xd10041ce // sub x14, x14, #16 + WORD $0x8b0e0345 // add x5, x26, x14 + WORD $0xf1003cbf // cmp x5, #15 + WORD $0x54fff6c8 // b.hi LBB0_70 $-296(%rip) + WORD $0x8b1c03d5 // add x21, lr, x28 + WORD $0xeb1c035f // cmp x26, x28 + WORD $0x540032e0 // b.eq LBB0_167 $1628(%rip) LBB0_85: - WORD $0x38401791 // ldrb w17, [x28], #1 - WORD $0x5100c224 // sub w4, w17, #48 - WORD $0x7100289f // cmp w4, #10 - WORD $0x54ffff03 // b.lo LBB0_84 $-32(%rip) - WORD $0x7100b63f // cmp w17, #45 - WORD $0x5400016d // b.le LBB0_91 $44(%rip) - WORD $0x7101963f // cmp w17, #101 - WORD $0x54fffe20 // b.eq LBB0_83 $-60(%rip) - WORD $0x7101163f // cmp w17, #69 - WORD $0x54fffde0 // b.eq LBB0_83 $-68(%rip) - WORD $0x7100ba3f // cmp w17, #46 - WORD $0x540017c1 // b.ne LBB0_124 $760(%rip) - WORD $0xb100051f // cmn x8, #1 - WORD $0xaa0703e8 // mov x8, x7 - WORD $0x54fffda0 // b.eq LBB0_84 $-76(%rip) - WORD $0x140000d7 // b LBB0_136 $860(%rip) -LBB0_91: - WORD $0x7100ae3f // cmp w17, #43 - WORD $0x54000060 // b.eq LBB0_93 $12(%rip) - WORD $0x7100b63f // cmp w17, #45 - WORD $0x540016c1 // b.ne LBB0_124 $728(%rip) -LBB0_93: - WORD $0xb100069f // cmn x20, #1 - WORD $0xaa0703f4 // mov x20, x7 - WORD $0x54fffca0 // b.eq LBB0_84 $-108(%rip) - WORD $0x140000cf // b LBB0_136 $828(%rip) + WORD $0x8b0502ba // add x26, x21, x5 + WORD $0xaa3503ee // mvn x14, x21 + WORD $0x8b1b010f // add x15, x8, x27 + WORD $0x8b0f01ce // add x14, x14, x15 + WORD $0xcb1e02bb // sub x27, x21, lr + WORD $0xaa1503fc // mov x28, x21 + WORD $0x14000009 // b LBB0_88 $36(%rip) +LBB0_86: + WORD $0xb100067f // cmn x19, #1 + WORD $0xaa1b03f3 // mov x19, x27 + WORD $0x54003561 // b.ne LBB0_179 $1708(%rip) +LBB0_87: + WORD $0xd10005ce // sub x14, x14, #1 + WORD $0x9100077b // add x27, x27, #1 + WORD $0xaa1c03f5 // mov x21, x28 + WORD $0xd10004a5 // sub x5, x5, #1 + WORD $0xb400a6c5 // cbz x5, LBB0_295 $5336(%rip) +LBB0_88: + WORD $0x38401794 // ldrb w20, [x28], #1 + WORD $0x5100c28f // sub w15, w20, #48 + WORD $0x710029ff // cmp w15, #10 + WORD $0x54ffff03 // b.lo LBB0_87 $-32(%rip) + WORD $0x7100b69f // cmp w20, #45 + WORD $0x5400016d // b.le LBB0_94 $44(%rip) + WORD $0x7101969f // cmp w20, #101 + WORD $0x54fffe20 // b.eq LBB0_86 $-60(%rip) + WORD $0x7101169f // cmp w20, #69 + WORD $0x54fffde0 // b.eq LBB0_86 $-68(%rip) + WORD $0x7100ba9f // cmp w20, #46 + WORD $0x54002f81 // b.ne LBB0_167 $1520(%rip) + WORD $0xb100041f // cmn x0, #1 + WORD $0xaa1b03e0 // mov x0, x27 + WORD $0x54fffda0 // b.eq LBB0_87 $-76(%rip) + WORD $0x14000196 // b LBB0_179 $1624(%rip) LBB0_94: - WORD $0x7100b2bf // cmp w21, #44 - WORD $0x54000560 // b.eq LBB0_107 $172(%rip) -LBB0_95: - WORD $0x7101f6bf // cmp w21, #125 - WORD $0x54000080 // b.eq LBB0_97 $16(%rip) - WORD $0x14000626 // b LBB0_425 $6296(%rip) + WORD $0x7100ae9f // cmp w20, #43 + WORD $0x54000060 // b.eq LBB0_96 $12(%rip) + WORD $0x7100b69f // cmp w20, #45 + WORD $0x54002e81 // b.ne LBB0_167 $1488(%rip) LBB0_96: - WORD $0x710176bf // cmp w21, #93 - WORD $0x540000c1 // b.ne LBB0_98 $24(%rip) + WORD $0xb10006df // cmn x22, #1 + WORD $0xaa1b03f6 // mov x22, x27 + WORD $0x54fffca0 // b.eq LBB0_87 $-108(%rip) + WORD $0x1400018e // b LBB0_179 $1592(%rip) LBB0_97: - WORD $0xf9000054 // str x20, [x2] - WORD $0xaa1403e5 // mov x5, x20 - WORD $0xaa0e03e8 // mov x8, x14 - WORD $0xb5ffc954 // cbnz x20, LBB0_1 $-1752(%rip) - WORD $0x140005b9 // b LBB0_394 $5860(%rip) + WORD $0x7100b0bf // cmp w5, #44 + WORD $0x540004c0 // b.eq LBB0_111 $152(%rip) LBB0_98: - WORD $0xf834794f // str x15, [x10, x20, lsl #3] - WORD $0x92800028 // mov x8, #-2 - WORD $0x71016abf // cmp w21, #90 - WORD $0x54ffec8d // b.le LBB0_59 $-624(%rip) + WORD $0x7101f4bf // cmp w5, #125 + WORD $0x54000080 // b.eq LBB0_100 $16(%rip) + WORD $0x14000997 // b LBB0_540 $9820(%rip) LBB0_99: - WORD $0x7101b6bf // cmp w21, #109 - WORD $0x54002bad // b.le LBB0_160 $1396(%rip) - WORD $0x7101babf // cmp w21, #110 - WORD $0x54002e80 // b.eq LBB0_167 $1488(%rip) - WORD $0x7101d2bf // cmp w21, #116 - WORD $0x54002d00 // b.eq LBB0_165 $1440(%rip) - WORD $0x7101eebf // cmp w21, #123 - WORD $0x5400b5a1 // b.ne LBB0_394 $5812(%rip) + WORD $0x710174bf // cmp w5, #93 + WORD $0x540000c1 // b.ne LBB0_101 $24(%rip) +LBB0_100: + WORD $0xf900004e // str x14, [x2] + WORD $0xaa0e03f3 // mov x19, x14 + WORD $0xaa0b03e0 // mov x0, x11 + WORD $0xb5ffc8ae // cbnz x14, LBB0_1 $-1772(%rip) + WORD $0x140009fb // b LBB0_576 $10220(%rip) +LBB0_101: + WORD $0xf82e792c // str x12, [x9, x14, lsl #3] + WORD $0x92800020 // mov x0, #-2 + WORD $0x710168bf // cmp w5, #90 + WORD $0x54ffec0d // b.le LBB0_61 $-640(%rip) +LBB0_102: + WORD $0x7101b4bf // cmp w5, #109 + WORD $0x540029ad // b.le LBB0_161 $1332(%rip) + WORD $0x7101b8bf // cmp w5, #110 + WORD $0x54004180 // b.eq LBB0_200 $2096(%rip) + WORD $0x7101d0bf // cmp w5, #116 + WORD $0x54003fa0 // b.eq LBB0_197 $2036(%rip) + WORD $0x7101ecbf // cmp w5, #123 + WORD $0x54013de1 // b.ne LBB0_576 $10172(%rip) + WORD $0x37305063 // tbnz w3, #6, LBB0_219 $2572(%rip) WORD $0xf9400048 // ldr x8, [x2] WORD $0xf13ffd1f // cmp x8, #4095 - WORD $0x5400b6ac // b.gt LBB0_396 $5844(%rip) - WORD $0x91000511 // add x17, x8, #1 - WORD $0xf9000051 // str x17, [x2] - WORD $0x528000d1 // mov w17, #6 - WORD $0xf8287951 // str x17, [x10, x8, lsl #3] - WORD $0xf9400045 // ldr x5, [x2] - WORD $0xaa0e03e8 // mov x8, x14 - WORD $0xb5ffc665 // cbnz x5, LBB0_1 $-1844(%rip) - WORD $0x140005a2 // b LBB0_394 $5768(%rip) -LBB0_105: - WORD $0xf13ffcbf // cmp x5, #4095 - WORD $0x5400b56c // b.gt LBB0_396 $5804(%rip) - WORD $0x910004a8 // add x8, x5, #1 + WORD $0x5401304c // b.gt LBB0_541 $9736(%rip) + WORD $0x9100050e // add x14, x8, #1 + WORD $0xf900004e // str x14, [x2] + WORD $0x528000ce // mov w14, #6 + WORD $0xf828792e // str x14, [x9, x8, lsl #3] + WORD $0x140004b3 // b LBB0_284 $4812(%rip) +LBB0_109: + WORD $0xf13ffe7f // cmp x19, #4095 + WORD $0x54012f6c // b.gt LBB0_541 $9708(%rip) + WORD $0x91000668 // add x8, x19, #1 WORD $0xf9000048 // str x8, [x2] - WORD $0xf825795f // str xzr, [x10, x5, lsl #3] - WORD $0xf9400045 // ldr x5, [x2] - WORD $0xaa0e03e8 // mov x8, x14 - WORD $0xb5ffc545 // cbnz x5, LBB0_1 $-1880(%rip) - WORD $0x14000599 // b LBB0_394 $5732(%rip) -LBB0_107: - WORD $0xf13ffcbf // cmp x5, #4095 - WORD $0x5400b44c // b.gt LBB0_396 $5768(%rip) - WORD $0x910004a8 // add x8, x5, #1 + WORD $0xf833793f // str xzr, [x9, x19, lsl #3] + WORD $0x140004ad // b LBB0_284 $4788(%rip) +LBB0_111: + WORD $0xf13ffe7f // cmp x19, #4095 + WORD $0x54012eac // b.gt LBB0_541 $9684(%rip) + WORD $0x91000668 // add x8, x19, #1 WORD $0xf9000048 // str x8, [x2] - WORD $0xf8257953 // str x19, [x10, x5, lsl #3] - WORD $0xf9400045 // ldr x5, [x2] - WORD $0xaa0e03e8 // mov x8, x14 - WORD $0xb5ffc425 // cbnz x5, LBB0_1 $-1916(%rip) - WORD $0x14000590 // b LBB0_394 $5696(%rip) -LBB0_109: - WORD $0x5400b3c0 // b.eq LBB0_398 $5752(%rip) - WORD $0xf101029f // cmp x20, #64 - WORD $0x54006403 // b.lo LBB0_256 $3200(%rip) + WORD $0xf8337927 // str x7, [x9, x19, lsl #3] + WORD $0x140004a7 // b LBB0_284 $4764(%rip) +LBB0_113: + WORD $0xf94004c0 // ldr x0, [x6, #8] + WORD $0xcb1c000e // sub x14, x0, x28 + WORD $0xf10081df // cmp x14, #32 + WORD $0x5400c50b // b.lt LBB0_360 $6304(%rip) + WORD $0xd280000e // mov x14, #0 WORD $0xd2800005 // mov x5, #0 - WORD $0x92800008 // mov x8, #-1 -LBB0_112: - WORD $0x8b1c0131 // add x17, x9, x28 - WORD $0xad405a37 // ldp q23, q22, [x17] - WORD $0xad415235 // ldp q21, q20, [x17, #32] - WORD $0x6e208ef8 // cmeq.16b v24, v23, v0 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260311 // fmov w17, s24 - WORD $0x6e208ed8 // cmeq.16b v24, v22, v0 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260307 // fmov w7, s24 - WORD $0x6e208eb8 // cmeq.16b v24, v21, v0 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260315 // fmov w21, s24 - WORD $0x6e208e98 // cmeq.16b v24, v20, v0 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260316 // fmov w22, s24 - WORD $0x6e218ef8 // cmeq.16b v24, v23, v1 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260317 // fmov w23, s24 - WORD $0x6e218ed8 // cmeq.16b v24, v22, v1 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260318 // fmov w24, s24 - WORD $0x6e218eb8 // cmeq.16b v24, v21, v1 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260319 // fmov w25, s24 - WORD $0x6e218e98 // cmeq.16b v24, v20, v1 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e26031a // fmov w26, s24 - WORD $0xd3607eb5 // lsl x21, x21, #32 - WORD $0xaa16c2b5 // orr x21, x21, x22, lsl #48 - WORD $0x53103ce7 // lsl w7, w7, #16 - WORD $0xaa0702a7 // orr x7, x21, x7 - WORD $0xaa1100e7 // orr x7, x7, x17 - WORD $0xd3607f31 // lsl x17, x25, #32 - WORD $0xaa1ac231 // orr x17, x17, x26, lsl #48 - WORD $0x53103f15 // lsl w21, w24, #16 - WORD $0xaa150231 // orr x17, x17, x21 - WORD $0xaa170231 // orr x17, x17, x23 - WORD $0xb5000451 // cbnz x17, LBB0_117 $136(%rip) - WORD $0xb50004c5 // cbnz x5, LBB0_118 $152(%rip) -LBB0_114: - WORD $0x6e373497 // cmhi.16b v23, v4, v23 - WORD $0x4e221ef7 // and.16b v23, v23, v2 - WORD $0x4e0302f7 // tbl.16b v23, { v23 }, v3 - WORD $0x4e71baf7 // addv.8h h23, v23 - WORD $0x1e2602f1 // fmov w17, s23 - WORD $0x6e363496 // cmhi.16b v22, v4, v22 - WORD $0x4e221ed6 // and.16b v22, v22, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602d5 // fmov w21, s22 - WORD $0x6e353495 // cmhi.16b v21, v4, v21 - WORD $0x4e221eb5 // and.16b v21, v21, v2 - WORD $0x4e0302b5 // tbl.16b v21, { v21 }, v3 - WORD $0x4e71bab5 // addv.8h h21, v21 - WORD $0x1e2602b6 // fmov w22, s21 - WORD $0x6e343494 // cmhi.16b v20, v4, v20 - WORD $0x4e221e94 // and.16b v20, v20, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260297 // fmov w23, s20 - WORD $0xd3607ed6 // lsl x22, x22, #32 - WORD $0xaa17c2d6 // orr x22, x22, x23, lsl #48 - WORD $0x53103eb5 // lsl w21, w21, #16 - WORD $0xaa1502d5 // orr x21, x22, x21 - WORD $0xaa1102b1 // orr x17, x21, x17 - WORD $0xb50002e7 // cbnz x7, LBB0_119 $92(%rip) - WORD $0xb500aa51 // cbnz x17, LBB0_404 $5448(%rip) - WORD $0xd1010294 // sub x20, x20, #64 - WORD $0x9101039c // add x28, x28, #64 + WORD $0xcb080000 // sub x0, x0, x8 + WORD $0x528003f3 // mov w19, #31 + WORD $0x14000008 // b LBB0_117 $32(%rip) +LBB0_115: + WORD $0xd2800005 // mov x5, #0 + WORD $0xb50005b5 // cbnz x21, LBB0_119 $180(%rip) +LBB0_116: + WORD $0x910081ce // add x14, x14, #32 + WORD $0xd1008273 // sub x19, x19, #32 + WORD $0x8b130014 // add x20, x0, x19 WORD $0xf100fe9f // cmp x20, #63 - WORD $0x54fff568 // b.hi LBB0_112 $-340(%rip) - WORD $0x1400029d // b LBB0_248 $2676(%rip) + WORD $0x5400c18d // b.le LBB0_356 $6192(%rip) LBB0_117: - WORD $0xb100051f // cmn x8, #1 - WORD $0xdac00235 // rbit x21, x17 - WORD $0xdac012b5 // clz x21, x21 - WORD $0x8b1c02b5 // add x21, x21, x28 - WORD $0x9a951108 // csel x8, x8, x21, ne -LBB0_118: - WORD $0x8a250235 // bic x21, x17, x5 - WORD $0xaa1504b6 // orr x22, x5, x21, lsl #1 - WORD $0x8a360231 // bic x17, x17, x22 - WORD $0x9201f231 // and x17, x17, #0xaaaaaaaaaaaaaaaa - WORD $0xab150231 // adds x17, x17, x21 + WORD $0x8b0e03d4 // add x20, lr, x14 + WORD $0x3cc0129a // ldur q26, [x20, #1] + WORD $0x3cc1129b // ldur q27, [x20, #17] + WORD $0x6e208f5c // cmeq.16b v28, v26, v0 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260395 // fmov w21, s28 + WORD $0x6e208f7c // cmeq.16b v28, v27, v0 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260394 // fmov w20, s28 + WORD $0x33103e95 // bfi w21, w20, #16, #16 + WORD $0x6e218f5a // cmeq.16b v26, v26, v1 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260354 // fmov w20, s26 + WORD $0x6e218f7a // cmeq.16b v26, v27, v1 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260356 // fmov w22, s26 + WORD $0x33103ed4 // bfi w20, w22, #16, #16 + WORD $0x7100029f // cmp w20, #0 + WORD $0xfa4008a0 // ccmp x5, #0, #0, eq + WORD $0x54fffbc0 // b.eq LBB0_115 $-136(%rip) + WORD $0x0a250296 // bic w22, w20, w5 + WORD $0x2a1604b7 // orr w23, w5, w22, lsl #1 + WORD $0x0a040285 // and w5, w20, w4 + WORD $0x0a3700a5 // bic w5, w5, w23 + WORD $0x2b1600b4 // adds w20, w5, w22 WORD $0x1a9f37e5 // cset w5, hs - WORD $0xd37ffa31 // lsl x17, x17, #1 - WORD $0xd200f231 // eor x17, x17, #0x5555555555555555 - WORD $0x8a160231 // and x17, x17, x22 - WORD $0x8a3100e7 // bic x7, x7, x17 - WORD $0x17ffffd1 // b LBB0_114 $-188(%rip) + WORD $0x4a140614 // eor w20, w16, w20, lsl #1 + WORD $0x0a170294 // and w20, w20, w23 + WORD $0x2a3403f4 // mvn w20, w20 + WORD $0x8a150295 // and x21, x20, x21 + WORD $0xb4fffab5 // cbz x21, LBB0_116 $-172(%rip) LBB0_119: - WORD $0xdac000e5 // rbit x5, x7 - WORD $0xdac010a5 // clz x5, x5 - WORD $0xdac00231 // rbit x17, x17 - WORD $0xdac01231 // clz x17, x17 - WORD $0xeb05023f // cmp x17, x5 - WORD $0x5400b123 // b.lo LBB0_427 $5668(%rip) + WORD $0xdac002a0 // rbit x0, x21 + WORD $0xdac01000 // clz x0, x0 + WORD $0x8b0e010e // add x14, x8, x14 + WORD $0x8b0e000e // add x14, x0, x14 + WORD $0x910009dc // add x28, x14, #2 + WORD $0x14000466 // b LBB0_283 $4504(%rip) LBB0_120: - WORD $0x8b1c00b1 // add x17, x5, x28 + WORD $0xcb1c01ce // sub x14, x14, x28 + WORD $0xf10041df // cmp x14, #16 + WORD $0x540001e3 // b.lo LBB0_123 $60(%rip) LBB0_121: - WORD $0x9100063c // add x28, x17, #1 -LBB0_122: - WORD $0x52800084 // mov w4, #4 - WORD $0x92f00006 // mov x6, #9223372036854775807 - WORD $0xb20903e7 // mov x7, #36028797027352576 - WORD $0xf2800027 // movk x7, #1 - WORD $0xb6f81c9c // tbz x28, #63, LBB0_170 $912(%rip) - WORD $0x14000523 // b LBB0_397 $5260(%rip) + WORD $0x3cfc6b7a // ldr q26, [x27, x28] + WORD $0x6e348f5b // cmeq.16b v27, v26, v20 + WORD $0x4e321f5a // and.16b v26, v26, v18 + WORD $0x6e358f5a // cmeq.16b v26, v26, v21 + WORD $0x4ebb1f5a // orr.16b v26, v26, v27 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260340 // fmov w0, s26 + WORD $0x35008ac0 // cbnz w0, LBB0_281 $4440(%rip) + WORD $0xd10041ce // sub x14, x14, #16 + WORD $0x9100439c // add x28, x28, #16 + WORD $0xf1003ddf // cmp x14, #15 + WORD $0x54fffe68 // b.hi LBB0_121 $-52(%rip) LBB0_123: - WORD $0x8b2743d1 // add x17, lr, w7, uxtw - WORD $0x8b1c0236 // add x22, x17, x28 -LBB0_124: - WORD $0x92800015 // mov x21, #-1 - WORD $0xb400a4a8 // cbz x8, LBB0_400 $5268(%rip) + WORD $0x8b1c0360 // add x0, x27, x28 + WORD $0xb40001ee // cbz x14, LBB0_130 $60(%rip) + WORD $0x8b0e0005 // add x5, x0, x14 + WORD $0xcb1b001c // sub x28, x0, x27 LBB0_125: - WORD $0xb400a494 // cbz x20, LBB0_400 $5264(%rip) - WORD $0xb400a465 // cbz x5, LBB0_400 $5260(%rip) - WORD $0xcb1e02c7 // sub x7, x22, lr - WORD $0xd10004f1 // sub x17, x7, #1 - WORD $0xeb11011f // cmp x8, x17 - WORD $0x540002a0 // b.eq LBB0_135 $84(%rip) - WORD $0xeb11029f // cmp x20, x17 - WORD $0x54000260 // b.eq LBB0_135 $76(%rip) - WORD $0xeb1100bf // cmp x5, x17 - WORD $0x54000220 // b.eq LBB0_135 $68(%rip) - WORD $0xf1000691 // subs x17, x20, #1 - WORD $0x5400006b // b.lt LBB0_132 $12(%rip) - WORD $0xeb1100bf // cmp x5, x17 - WORD $0x5400a301 // b.ne LBB0_401 $5216(%rip) + WORD $0x39400013 // ldrb w19, [x0] + WORD $0x7100b27f // cmp w19, #44 + WORD $0x540089c0 // b.eq LBB0_283 $4408(%rip) + WORD $0x7101f67f // cmp w19, #125 + WORD $0x54008980 // b.eq LBB0_283 $4400(%rip) + WORD $0x7101767f // cmp w19, #93 + WORD $0x54008940 // b.eq LBB0_283 $4392(%rip) + WORD $0x91000400 // add x0, x0, #1 + WORD $0x9100079c // add x28, x28, #1 + WORD $0xf10005ce // subs x14, x14, #1 + WORD $0x54fffec1 // b.ne LBB0_125 $-40(%rip) +LBB0_129: + WORD $0xaa0503e0 // mov x0, x5 +LBB0_130: + WORD $0xcb1b001c // sub x28, x0, x27 +LBB0_131: + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0x14000440 // b LBB0_283 $4352(%rip) LBB0_132: - WORD $0xaa050111 // orr x17, x8, x5 - WORD $0xb7f80071 // tbnz x17, #63, LBB0_134 $12(%rip) - WORD $0xeb05011f // cmp x8, x5 - WORD $0x5400a42a // b.ge LBB0_407 $5252(%rip) + WORD $0xf94004c0 // ldr x0, [x6, #8] + WORD $0xcb1c000e // sub x14, x0, x28 + WORD $0xf10081df // cmp x14, #32 + WORD $0x5400ba2b // b.lt LBB0_364 $5956(%rip) + WORD $0xd280000e // mov x14, #0 + WORD $0xd2800005 // mov x5, #0 + WORD $0xcb080000 // sub x0, x0, x8 + WORD $0x528003f3 // mov w19, #31 LBB0_134: - WORD $0xd37ffe31 // lsr x17, x17, #63 - WORD $0x52000231 // eor w17, w17, #0x1 - WORD $0xd10004a4 // sub x4, x5, #1 - WORD $0xeb04011f // cmp x8, x4 - WORD $0x1a9f17e8 // cset w8, eq - WORD $0x6a08023f // tst w17, w8 - WORD $0xda8500f5 // csinv x21, x7, x5, eq - WORD $0x14000002 // b LBB0_136 $8(%rip) -LBB0_135: - WORD $0xcb0703f5 // neg x21, x7 + WORD $0x8b0e03d4 // add x20, lr, x14 + WORD $0x3cc0129a // ldur q26, [x20, #1] + WORD $0x3cc1129b // ldur q27, [x20, #17] + WORD $0x6e208f5c // cmeq.16b v28, v26, v0 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260395 // fmov w21, s28 + WORD $0x6e208f7c // cmeq.16b v28, v27, v0 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260394 // fmov w20, s28 + WORD $0x33103e95 // bfi w21, w20, #16, #16 + WORD $0x6e218f5a // cmeq.16b v26, v26, v1 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260354 // fmov w20, s26 + WORD $0x6e218f7a // cmeq.16b v26, v27, v1 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260356 // fmov w22, s26 + WORD $0x33103ed4 // bfi w20, w22, #16, #16 + WORD $0x7100029f // cmp w20, #0 + WORD $0xfa4008a0 // ccmp x5, #0, #0, eq + WORD $0x54000180 // b.eq LBB0_136 $48(%rip) + WORD $0x0a250296 // bic w22, w20, w5 + WORD $0x2a1604b7 // orr w23, w5, w22, lsl #1 + WORD $0x0a040285 // and w5, w20, w4 + WORD $0x0a3700a5 // bic w5, w5, w23 + WORD $0x2b1600b4 // adds w20, w5, w22 + WORD $0x1a9f37e5 // cset w5, hs + WORD $0x4a140614 // eor w20, w16, w20, lsl #1 + WORD $0x0a170294 // and w20, w20, w23 + WORD $0x2a3403f4 // mvn w20, w20 + WORD $0x8a150295 // and x21, x20, x21 + WORD $0x14000002 // b LBB0_137 $8(%rip) LBB0_136: - WORD $0x52800084 // mov w4, #4 - WORD $0x92f00006 // mov x6, #9223372036854775807 - WORD $0xb20903e7 // mov x7, #36028797027352576 - WORD $0xf2800027 // movk x7, #1 - WORD $0xb7f8a0b5 // tbnz x21, #63, LBB0_400 $5140(%rip) - WORD $0x8b15037c // add x28, x27, x21 - WORD $0x140000bd // b LBB0_170 $756(%rip) -LBB0_138: - WORD $0x54009fc0 // b.eq LBB0_398 $5112(%rip) - WORD $0xf101029f // cmp x20, #64 - WORD $0x54005fa3 // b.lo LBB0_283 $3060(%rip) WORD $0xd2800005 // mov x5, #0 - WORD $0x92800008 // mov x8, #-1 +LBB0_137: + WORD $0xb5000f55 // cbnz x21, LBB0_151 $488(%rip) + WORD $0x910081ce // add x14, x14, #32 + WORD $0xd1008273 // sub x19, x19, #32 + WORD $0x8b130014 // add x20, x0, x19 + WORD $0xf100fe9f // cmp x20, #63 + WORD $0x54fffa6c // b.gt LBB0_134 $-180(%rip) + WORD $0xb500f065 // cbnz x5, LBB0_466 $7692(%rip) + WORD $0x8b0e03c5 // add x5, lr, x14 + WORD $0x910004a5 // add x5, x5, #1 + WORD $0xaa2e03ee // mvn x14, x14 + WORD $0x8b0001ce // add x14, x14, x0 + WORD $0xf10005df // cmp x14, #1 + WORD $0x5400f20a // b.ge LBB0_469 $7744(%rip) + WORD $0x14000938 // b LBB0_575 $9440(%rip) LBB0_141: - WORD $0x8b1c0131 // add x17, x9, x28 - WORD $0xad405a37 // ldp q23, q22, [x17] - WORD $0xad415235 // ldp q21, q20, [x17, #32] - WORD $0x6e208ef8 // cmeq.16b v24, v23, v0 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260311 // fmov w17, s24 - WORD $0x6e208ed8 // cmeq.16b v24, v22, v0 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260307 // fmov w7, s24 - WORD $0x6e208eb8 // cmeq.16b v24, v21, v0 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260315 // fmov w21, s24 - WORD $0x6e208e98 // cmeq.16b v24, v20, v0 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260316 // fmov w22, s24 - WORD $0x6e218ef8 // cmeq.16b v24, v23, v1 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260317 // fmov w23, s24 - WORD $0x6e218ed8 // cmeq.16b v24, v22, v1 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260318 // fmov w24, s24 - WORD $0x6e218eb8 // cmeq.16b v24, v21, v1 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260319 // fmov w25, s24 - WORD $0x6e218e98 // cmeq.16b v24, v20, v1 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e26031a // fmov w26, s24 + WORD $0x54011a60 // b.eq LBB0_543 $9036(%rip) + WORD $0xf10102df // cmp x22, #64 + WORD $0x5400b7c3 // b.lo LBB0_371 $5880(%rip) + WORD $0xd2800013 // mov x19, #0 + WORD $0x92800000 // mov x0, #-1 +LBB0_144: + WORD $0x8b1c036e // add x14, x27, x28 + WORD $0xad4071dd // ldp q29, q28, [x14] + WORD $0xad4169db // ldp q27, q26, [x14, #32] + WORD $0x6e208fbe // cmeq.16b v30, v29, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603ce // fmov w14, s30 + WORD $0x6e208f9e // cmeq.16b v30, v28, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603c5 // fmov w5, s30 + WORD $0x6e208f7e // cmeq.16b v30, v27, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d4 // fmov w20, s30 + WORD $0x6e208f5e // cmeq.16b v30, v26, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d5 // fmov w21, s30 + WORD $0x6e218fbe // cmeq.16b v30, v29, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d7 // fmov w23, s30 + WORD $0x6e218f9e // cmeq.16b v30, v28, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d8 // fmov w24, s30 + WORD $0x6e218f7e // cmeq.16b v30, v27, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d9 // fmov w25, s30 + WORD $0x6e218f5e // cmeq.16b v30, v26, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603da // fmov w26, s30 + WORD $0xd3607e94 // lsl x20, x20, #32 + WORD $0xaa15c294 // orr x20, x20, x21, lsl #48 + WORD $0x53103ca5 // lsl w5, w5, #16 + WORD $0xaa050285 // orr x5, x20, x5 + WORD $0xaa0e00ae // orr x14, x5, x14 + WORD $0xd3607f25 // lsl x5, x25, #32 + WORD $0xaa1ac0a5 // orr x5, x5, x26, lsl #48 + WORD $0x53103f14 // lsl w20, w24, #16 + WORD $0xaa1400a5 // orr x5, x5, x20 + WORD $0xaa1700a5 // orr x5, x5, x23 + WORD $0xb5000445 // cbnz x5, LBB0_149 $136(%rip) + WORD $0xb50004d3 // cbnz x19, LBB0_150 $152(%rip) +LBB0_146: + WORD $0x6e3d349d // cmhi.16b v29, v4, v29 + WORD $0x4e221fbd // and.16b v29, v29, v2 + WORD $0x4e0303bd // tbl.16b v29, { v29 }, v3 + WORD $0x4e71bbbd // addv.8h h29, v29 + WORD $0x1e2603a5 // fmov w5, s29 + WORD $0x6e3c349c // cmhi.16b v28, v4, v28 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260394 // fmov w20, s28 + WORD $0x6e3b349b // cmhi.16b v27, v4, v27 + WORD $0x4e221f7b // and.16b v27, v27, v2 + WORD $0x4e03037b // tbl.16b v27, { v27 }, v3 + WORD $0x4e71bb7b // addv.8h h27, v27 + WORD $0x1e260375 // fmov w21, s27 + WORD $0x6e3a349a // cmhi.16b v26, v4, v26 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260357 // fmov w23, s26 WORD $0xd3607eb5 // lsl x21, x21, #32 - WORD $0xaa16c2b5 // orr x21, x21, x22, lsl #48 - WORD $0x53103ce7 // lsl w7, w7, #16 - WORD $0xaa0702a7 // orr x7, x21, x7 - WORD $0xaa1100e7 // orr x7, x7, x17 - WORD $0xd3607f31 // lsl x17, x25, #32 - WORD $0xaa1ac231 // orr x17, x17, x26, lsl #48 - WORD $0x53103f15 // lsl w21, w24, #16 - WORD $0xaa150231 // orr x17, x17, x21 - WORD $0xaa170231 // orr x17, x17, x23 - WORD $0xb5000451 // cbnz x17, LBB0_146 $136(%rip) - WORD $0xb50004c5 // cbnz x5, LBB0_147 $152(%rip) -LBB0_143: - WORD $0x6e373497 // cmhi.16b v23, v4, v23 - WORD $0x4e221ef7 // and.16b v23, v23, v2 - WORD $0x4e0302f7 // tbl.16b v23, { v23 }, v3 - WORD $0x4e71baf7 // addv.8h h23, v23 - WORD $0x1e2602f1 // fmov w17, s23 - WORD $0x6e363496 // cmhi.16b v22, v4, v22 - WORD $0x4e221ed6 // and.16b v22, v22, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602d5 // fmov w21, s22 - WORD $0x6e353495 // cmhi.16b v21, v4, v21 - WORD $0x4e221eb5 // and.16b v21, v21, v2 - WORD $0x4e0302b5 // tbl.16b v21, { v21 }, v3 - WORD $0x4e71bab5 // addv.8h h21, v21 - WORD $0x1e2602b6 // fmov w22, s21 - WORD $0x6e343494 // cmhi.16b v20, v4, v20 - WORD $0x4e221e94 // and.16b v20, v20, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260297 // fmov w23, s20 - WORD $0xd3607ed6 // lsl x22, x22, #32 - WORD $0xaa17c2d6 // orr x22, x22, x23, lsl #48 - WORD $0x53103eb5 // lsl w21, w21, #16 - WORD $0xaa1502d5 // orr x21, x22, x21 - WORD $0xaa1102b1 // orr x17, x21, x17 - WORD $0xb50002e7 // cbnz x7, LBB0_148 $92(%rip) - WORD $0xb5009651 // cbnz x17, LBB0_404 $4808(%rip) - WORD $0xd1010294 // sub x20, x20, #64 + WORD $0xaa17c2b5 // orr x21, x21, x23, lsl #48 + WORD $0x53103e94 // lsl w20, w20, #16 + WORD $0xaa1402b4 // orr x20, x21, x20 + WORD $0xaa050285 // orr x5, x20, x5 + WORD $0xb500042e // cbnz x14, LBB0_152 $132(%rip) + WORD $0xb5011105 // cbnz x5, LBB0_549 $8736(%rip) + WORD $0xd10102d6 // sub x22, x22, #64 WORD $0x9101039c // add x28, x28, #64 - WORD $0xf100fe9f // cmp x20, #63 - WORD $0x54fff568 // b.hi LBB0_141 $-340(%rip) - WORD $0x1400027e // b LBB0_276 $2552(%rip) -LBB0_146: - WORD $0xb100051f // cmn x8, #1 - WORD $0xdac00235 // rbit x21, x17 - WORD $0xdac012b5 // clz x21, x21 - WORD $0x8b1c02b5 // add x21, x21, x28 - WORD $0x9a951108 // csel x8, x8, x21, ne -LBB0_147: - WORD $0x8a250235 // bic x21, x17, x5 - WORD $0xaa1504b6 // orr x22, x5, x21, lsl #1 - WORD $0x8a360231 // bic x17, x17, x22 - WORD $0x9201f231 // and x17, x17, #0xaaaaaaaaaaaaaaaa - WORD $0xab150231 // adds x17, x17, x21 - WORD $0x1a9f37e5 // cset w5, hs - WORD $0xd37ffa31 // lsl x17, x17, #1 - WORD $0xd200f231 // eor x17, x17, #0x5555555555555555 - WORD $0x8a160231 // and x17, x17, x22 - WORD $0x8a3100e7 // bic x7, x7, x17 - WORD $0x17ffffd1 // b LBB0_143 $-188(%rip) -LBB0_148: - WORD $0xdac000e5 // rbit x5, x7 - WORD $0xdac010a5 // clz x5, x5 - WORD $0xdac00231 // rbit x17, x17 - WORD $0xdac01231 // clz x17, x17 - WORD $0xeb05023f // cmp x17, x5 - WORD $0x54009d23 // b.lo LBB0_427 $5028(%rip) - WORD $0x8b1c00b1 // add x17, x5, x28 + WORD $0xf100fedf // cmp x22, #63 + WORD $0x54fff568 // b.hi LBB0_144 $-340(%rip) + WORD $0x14000535 // b LBB0_362 $5332(%rip) +LBB0_149: + WORD $0xb100041f // cmn x0, #1 + WORD $0xdac000b4 // rbit x20, x5 + WORD $0xdac01294 // clz x20, x20 + WORD $0x8b1c0294 // add x20, x20, x28 + WORD $0x9a941000 // csel x0, x0, x20, ne LBB0_150: - WORD $0x9100063c // add x28, x17, #1 - WORD $0x52800084 // mov w4, #4 - WORD $0x92f00006 // mov x6, #9223372036854775807 - WORD $0xb20903e7 // mov x7, #36028797027352576 - WORD $0xf2800027 // movk x7, #1 - WORD $0xb7f8909c // tbnz x28, #63, LBB0_397 $4624(%rip) + WORD $0x8a3300b4 // bic x20, x5, x19 + WORD $0xaa140675 // orr x21, x19, x20, lsl #1 + WORD $0x8a3500a5 // bic x5, x5, x21 + WORD $0x9201f0a5 // and x5, x5, #0xaaaaaaaaaaaaaaaa + WORD $0xab1400a5 // adds x5, x5, x20 + WORD $0x1a9f37f3 // cset w19, hs + WORD $0xd37ff8a5 // lsl x5, x5, #1 + WORD $0xd200f0a5 // eor x5, x5, #0x5555555555555555 + WORD $0x8a1500a5 // and x5, x5, x21 + WORD $0x8a2501ce // bic x14, x14, x5 + WORD $0x17ffffd1 // b LBB0_146 $-188(%rip) LBB0_151: + WORD $0xdac002a0 // rbit x0, x21 + WORD $0xdac01000 // clz x0, x0 + WORD $0x8b0e010e // add x14, x8, x14 + WORD $0x8b0e000e // add x14, x0, x14 + WORD $0x910009dc // add x28, x14, #2 WORD $0xf900003c // str x28, [x1] - WORD $0xaa1b03e8 // mov x8, x27 - WORD $0xb27ff7f1 // mov x17, #9223372036854775806 - WORD $0xeb11037f // cmp x27, x17 - WORD $0x54008e48 // b.hi LBB0_394 $4552(%rip) - WORD $0xf9400048 // ldr x8, [x2] - WORD $0xf13ffd1f // cmp x8, #4095 - WORD $0x54008f4c // b.gt LBB0_396 $4584(%rip) - WORD $0x91000511 // add x17, x8, #1 - WORD $0xf9000051 // str x17, [x2] - WORD $0xf8287944 // str x4, [x10, x8, lsl #3] - WORD $0xf9400045 // ldr x5, [x2] - WORD $0xaa0e03e8 // mov x8, x14 - WORD $0xb5ff9f25 // cbnz x5, LBB0_1 $-3100(%rip) - WORD $0x14000468 // b LBB0_394 $4512(%rip) + WORD $0xaa0803e0 // mov x0, x8 + WORD $0xeb11011f // cmp x8, x17 + WORD $0x54001923 // b.lo LBB0_195 $804(%rip) + WORD $0x140008c3 // b LBB0_576 $8972(%rip) +LBB0_152: + WORD $0xdac001ce // rbit x14, x14 + WORD $0xdac011ce // clz x14, x14 + WORD $0xdac000a5 // rbit x5, x5 + WORD $0xdac010a5 // clz x5, x5 + WORD $0xeb0e00bf // cmp x5, x14 + WORD $0x540116e3 // b.lo LBB0_572 $8924(%rip) + WORD $0x8b1c01ce // add x14, x14, x28 + WORD $0x910005dc // add x28, x14, #1 + WORD $0xb6f8707c // tbz x28, #63, LBB0_283 $3596(%rip) + WORD $0x14000852 // b LBB0_542 $8520(%rip) LBB0_154: - WORD $0x71008abf // cmp w21, #34 - WORD $0x540008c0 // b.eq LBB0_174 $280(%rip) - WORD $0x7100b6bf // cmp w21, #45 - WORD $0x54008c81 // b.ne LBB0_394 $4496(%rip) - WORD $0xf9400408 // ldr x8, [x0, #8] - WORD $0xeb1c0118 // subs x24, x8, x28 - WORD $0x540090a0 // b.eq LBB0_408 $4628(%rip) - WORD $0xb20903e4 // mov x4, #36028797027352576 - WORD $0xf2800024 // movk x4, #1 - WORD $0x8b1c0128 // add x8, x9, x28 - WORD $0x39400111 // ldrb w17, [x8] - WORD $0x7100c23f // cmp w17, #48 - WORD $0x54002281 // b.ne LBB0_198 $1104(%rip) - WORD $0xf100071f // cmp x24, #1 - WORD $0x54002141 // b.ne LBB0_196 $1064(%rip) -LBB0_159: - WORD $0x52800027 // mov w7, #1 - WORD $0x140001ac // b LBB0_244 $1712(%rip) + WORD $0x710088bf // cmp w5, #34 + WORD $0x54001d40 // b.eq LBB0_207 $936(%rip) + WORD $0x7100b4bf // cmp w5, #45 + WORD $0x540116a1 // b.ne LBB0_576 $8916(%rip) + WORD $0x37306b03 // tbnz w3, #6, LBB0_272 $3424(%rip) + WORD $0xf94004ce // ldr x14, [x6, #8] + WORD $0xeb1c01d5 // subs x21, x14, x28 + WORD $0x54011480 // b.eq LBB0_568 $8848(%rip) + WORD $0x8b1c0360 // add x0, x27, x28 + WORD $0x3940000e // ldrb w14, [x0] + WORD $0x7100c1df // cmp w14, #48 + WORD $0x54008981 // b.ne LBB0_310 $4400(%rip) + WORD $0xf10006bf // cmp x21, #1 + WORD $0x540087e1 // b.ne LBB0_308 $4348(%rip) LBB0_160: - WORD $0x71016ebf // cmp w21, #91 - WORD $0x54000540 // b.eq LBB0_172 $168(%rip) - WORD $0x71019abf // cmp w21, #102 - WORD $0x54008a61 // b.ne LBB0_394 $4428(%rip) - WORD $0xf9400408 // ldr x8, [x0, #8] - WORD $0xd1001111 // sub x17, x8, #4 - WORD $0xeb11037f // cmp x27, x17 - WORD $0x54008dc2 // b.hs LBB0_406 $4536(%rip) - WORD $0xb87c6928 // ldr w8, [x9, x28] - WORD $0x528d8c31 // mov w17, #27745 - WORD $0x72acae71 // movk w17, #25971, lsl #16 - WORD $0x6b11011f // cmp w8, w17 - WORD $0x54009361 // b.ne LBB0_420 $4716(%rip) - WORD $0x9100177c // add x28, x27, #5 - WORD $0x14000015 // b LBB0_170 $84(%rip) -LBB0_165: - WORD $0xf9400408 // ldr x8, [x0, #8] - WORD $0xd1000d11 // sub x17, x8, #3 - WORD $0xeb11037f // cmp x27, x17 - WORD $0x54008c62 // b.hs LBB0_406 $4492(%rip) - WORD $0xb87b6928 // ldr w8, [x9, x27] - WORD $0x528e4e91 // mov w17, #29300 - WORD $0x72acaeb1 // movk w17, #25973, lsl #16 - WORD $0x6b11011f // cmp w8, w17 - WORD $0x54000160 // b.eq LBB0_169 $44(%rip) - WORD $0x1400047a // b LBB0_415 $4584(%rip) + WORD $0x5280002e // mov w14, #1 + WORD $0x14000371 // b LBB0_282 $3524(%rip) +LBB0_161: + WORD $0x71016cbf // cmp w5, #91 + WORD $0x54001a20 // b.eq LBB0_204 $836(%rip) + WORD $0x710198bf // cmp w5, #102 + WORD $0x540114a1 // b.ne LBB0_576 $8852(%rip) + WORD $0xf94004ce // ldr x14, [x6, #8] + WORD $0xd10011cf // sub x15, x14, #4 + WORD $0xeb0f011f // cmp x8, x15 + WORD $0x540108a2 // b.hs LBB0_548 $8468(%rip) + WORD $0xb87c6b6e // ldr w14, [x27, x28] + WORD $0x528d8c2f // mov w15, #27745 + WORD $0x72acae6f // movk w15, #25971, lsl #16 + WORD $0x6b0f01df // cmp w14, w15 + WORD $0x54010e41 // b.ne LBB0_561 $8648(%rip) + WORD $0x9100151c // add x28, x8, #5 + WORD $0x140000be // b LBB0_203 $760(%rip) +LBB0_166: + WORD $0x8b2543ce // add x14, lr, w5, uxtw + WORD $0x8b1c01d5 // add x21, x14, x28 LBB0_167: - WORD $0xf9400408 // ldr x8, [x0, #8] - WORD $0xd1000d11 // sub x17, x8, #3 - WORD $0xeb11037f // cmp x27, x17 - WORD $0x54008b22 // b.hs LBB0_406 $4452(%rip) - WORD $0xb87b6928 // ldr w8, [x9, x27] - WORD $0x528eadd1 // mov w17, #30062 - WORD $0x72ad8d91 // movk w17, #27756, lsl #16 - WORD $0x6b11011f // cmp w8, w17 - WORD $0x54008ba1 // b.ne LBB0_411 $4468(%rip) -LBB0_169: - WORD $0x9100137c // add x28, x27, #4 -LBB0_170: - WORD $0xf900003c // str x28, [x1] - WORD $0xaa1b03e8 // mov x8, x27 - WORD $0xeb06037f // cmp x27, x6 - WORD $0x54008602 // b.hs LBB0_394 $4288(%rip) -LBB0_171: - WORD $0xf9400045 // ldr x5, [x2] - WORD $0xaa0e03e8 // mov x8, x14 - WORD $0xb5ff97a5 // cbnz x5, LBB0_1 $-3340(%rip) - WORD $0x1400042c // b LBB0_394 $4272(%rip) -LBB0_172: - WORD $0xf9400048 // ldr x8, [x2] - WORD $0xf13ffd1f // cmp x8, #4095 - WORD $0x5400868c // b.gt LBB0_396 $4304(%rip) - WORD $0x91000511 // add x17, x8, #1 - WORD $0xf9000051 // str x17, [x2] - WORD $0x528000b1 // mov w17, #5 - WORD $0xf8287951 // str x17, [x10, x8, lsl #3] - WORD $0xf9400045 // ldr x5, [x2] - WORD $0xaa0e03e8 // mov x8, x14 - WORD $0xb5ff9645 // cbnz x5, LBB0_1 $-3384(%rip) - WORD $0x14000421 // b LBB0_394 $4228(%rip) -LBB0_174: - WORD $0x3200f3f8 // mov w24, #1431655765 - WORD $0xf9400408 // ldr x8, [x0, #8] - WORD $0xeb1c0114 // subs x20, x8, x28 - WORD $0x37280b43 // tbnz w3, #5, LBB0_185 $360(%rip) - WORD $0x54008560 // b.eq LBB0_398 $4268(%rip) - WORD $0xf101029f // cmp x20, #64 - WORD $0x540051e3 // b.lo LBB0_307 $2620(%rip) - WORD $0xd2800005 // mov x5, #0 - WORD $0x92800008 // mov x8, #-1 + WORD $0x9280000e // mov x14, #-1 + WORD $0xb40106a0 // cbz x0, LBB0_545 $8404(%rip) +LBB0_168: + WORD $0xb4010696 // cbz x22, LBB0_545 $8400(%rip) + WORD $0xb4010673 // cbz x19, LBB0_545 $8396(%rip) + WORD $0xcb1e02ae // sub x14, x21, lr + WORD $0xd10005c5 // sub x5, x14, #1 + WORD $0xeb05001f // cmp x0, x5 + WORD $0x540002c0 // b.eq LBB0_178 $88(%rip) + WORD $0xeb0502df // cmp x22, x5 + WORD $0x54000280 // b.eq LBB0_178 $80(%rip) + WORD $0xeb05027f // cmp x19, x5 + WORD $0x54000240 // b.eq LBB0_178 $72(%rip) + WORD $0xf10006c5 // subs x5, x22, #1 + WORD $0x5400006b // b.lt LBB0_175 $12(%rip) + WORD $0xeb05027f // cmp x19, x5 + WORD $0x54010501 // b.ne LBB0_546 $8352(%rip) +LBB0_175: + WORD $0xaa130005 // orr x5, x0, x19 + WORD $0xb7f80065 // tbnz x5, #63, LBB0_177 $12(%rip) + WORD $0xeb13001f // cmp x0, x19 + WORD $0x540105ca // b.ge LBB0_551 $8376(%rip) +LBB0_177: + WORD $0xd37ffcaf // lsr x15, x5, #63 + WORD $0x520001ef // eor w15, w15, #0x1 + WORD $0xd1000665 // sub x5, x19, #1 + WORD $0xeb05001f // cmp x0, x5 + WORD $0x1a9f17e0 // cset w0, eq + WORD $0x6a0001ff // tst w15, w0 + WORD $0x5280008f // mov w15, #4 + WORD $0xda9301ce // csinv x14, x14, x19, eq + WORD $0x14000003 // b LBB0_180 $12(%rip) LBB0_178: - WORD $0x8b1c0131 // add x17, x9, x28 - WORD $0xad405634 // ldp q20, q21, [x17] - WORD $0xad415e36 // ldp q22, q23, [x17, #32] - WORD $0x6e208e98 // cmeq.16b v24, v20, v0 - WORD $0x6e208eb9 // cmeq.16b v25, v21, v0 - WORD $0x6e208eda // cmeq.16b v26, v22, v0 - WORD $0x6e208efb // cmeq.16b v27, v23, v0 - WORD $0x6e218e94 // cmeq.16b v20, v20, v1 - WORD $0x6e218eb5 // cmeq.16b v21, v21, v1 - WORD $0x6e218ed6 // cmeq.16b v22, v22, v1 - WORD $0x6e218ef7 // cmeq.16b v23, v23, v1 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260311 // fmov w17, s24 - WORD $0x4e221f38 // and.16b v24, v25, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260304 // fmov w4, s24 - WORD $0x4e221f58 // and.16b v24, v26, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260306 // fmov w6, s24 - WORD $0x4e221f78 // and.16b v24, v27, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260307 // fmov w7, s24 - WORD $0x4e221e94 // and.16b v20, v20, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260293 // fmov w19, s20 - WORD $0x4e221eb4 // and.16b v20, v21, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260295 // fmov w21, s20 - WORD $0x4e221ed4 // and.16b v20, v22, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260296 // fmov w22, s20 - WORD $0x4e221ef4 // and.16b v20, v23, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260297 // fmov w23, s20 - WORD $0xd3607cc6 // lsl x6, x6, #32 - WORD $0xaa07c0c6 // orr x6, x6, x7, lsl #48 - WORD $0x53103c84 // lsl w4, w4, #16 - WORD $0xaa0400c4 // orr x4, x6, x4 - WORD $0xaa110087 // orr x7, x4, x17 - WORD $0xd3607ed1 // lsl x17, x22, #32 - WORD $0xaa17c231 // orr x17, x17, x23, lsl #48 - WORD $0x53103ea4 // lsl w4, w21, #16 - WORD $0xaa040231 // orr x17, x17, x4 - WORD $0xaa130231 // orr x17, x17, x19 - WORD $0xb5000131 // cbnz x17, LBB0_182 $36(%rip) - WORD $0xb50001a5 // cbnz x5, LBB0_183 $52(%rip) - WORD $0x52800073 // mov w19, #3 - WORD $0xb5ffa2c7 // cbnz x7, LBB0_38 $-2984(%rip) -LBB0_181: - WORD $0xd1010294 // sub x20, x20, #64 - WORD $0x9101039c // add x28, x28, #64 - WORD $0xf100fe9f // cmp x20, #63 - WORD $0x54fff888 // b.hi LBB0_178 $-240(%rip) - WORD $0x14000247 // b LBB0_304 $2332(%rip) + WORD $0xcb0e03ee // neg x14, x14 +LBB0_179: + WORD $0x5280008f // mov w15, #4 +LBB0_180: + WORD $0xb7f902ee // tbnz x14, #63, LBB0_545 $8284(%rip) + WORD $0x8b0e011c // add x28, x8, x14 + WORD $0x1400033f // b LBB0_283 $3324(%rip) LBB0_182: - WORD $0xb100051f // cmn x8, #1 - WORD $0xdac00224 // rbit x4, x17 - WORD $0xdac01084 // clz x4, x4 - WORD $0x8b1c0084 // add x4, x4, x28 - WORD $0x9a841108 // csel x8, x8, x4, ne -LBB0_183: - WORD $0x8a250224 // bic x4, x17, x5 - WORD $0xaa0404a6 // orr x6, x5, x4, lsl #1 - WORD $0x8a260231 // bic x17, x17, x6 - WORD $0x9201f231 // and x17, x17, #0xaaaaaaaaaaaaaaaa - WORD $0xab040231 // adds x17, x17, x4 - WORD $0x1a9f37e5 // cset w5, hs - WORD $0xd37ffa31 // lsl x17, x17, #1 - WORD $0xd200f231 // eor x17, x17, #0x5555555555555555 - WORD $0x8a060231 // and x17, x17, x6 - WORD $0x8a3100e7 // bic x7, x7, x17 - WORD $0x52800073 // mov w19, #3 - WORD $0xb4fffd67 // cbz x7, LBB0_181 $-84(%rip) - WORD $0x17fffcff // b LBB0_38 $-3076(%rip) -LBB0_184: - WORD $0xaa1803f6 // mov x22, x24 - WORD $0x92800015 // mov x21, #-1 - WORD $0xb5ffd688 // cbnz x8, LBB0_125 $-1328(%rip) - WORD $0x140003d7 // b LBB0_400 $3932(%rip) + WORD $0x54010200 // b.eq LBB0_543 $8256(%rip) + WORD $0xf10102df // cmp x22, #64 + WORD $0x5400af83 // b.lo LBB0_399 $5616(%rip) + WORD $0xd2800013 // mov x19, #0 + WORD $0x92800000 // mov x0, #-1 LBB0_185: - WORD $0x54007a40 // b.eq LBB0_398 $3912(%rip) - WORD $0xf101029f // cmp x20, #64 - WORD $0x54004b43 // b.lo LBB0_313 $2408(%rip) - WORD $0xd2800005 // mov x5, #0 - WORD $0x92800008 // mov x8, #-1 -LBB0_188: - WORD $0x8b1c0131 // add x17, x9, x28 - WORD $0xad405a37 // ldp q23, q22, [x17] - WORD $0xad415235 // ldp q21, q20, [x17, #32] - WORD $0x6e208ef8 // cmeq.16b v24, v23, v0 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260311 // fmov w17, s24 - WORD $0x6e208ed8 // cmeq.16b v24, v22, v0 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260304 // fmov w4, s24 - WORD $0x6e208eb8 // cmeq.16b v24, v21, v0 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260306 // fmov w6, s24 - WORD $0x6e208e98 // cmeq.16b v24, v20, v0 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260307 // fmov w7, s24 - WORD $0x6e218ef8 // cmeq.16b v24, v23, v1 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260313 // fmov w19, s24 - WORD $0x6e218ed8 // cmeq.16b v24, v22, v1 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260315 // fmov w21, s24 - WORD $0x6e218eb8 // cmeq.16b v24, v21, v1 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260316 // fmov w22, s24 - WORD $0x6e218e98 // cmeq.16b v24, v20, v1 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260317 // fmov w23, s24 - WORD $0xd3607cc6 // lsl x6, x6, #32 - WORD $0xaa07c0c6 // orr x6, x6, x7, lsl #48 - WORD $0x53103c84 // lsl w4, w4, #16 - WORD $0xaa0400c4 // orr x4, x6, x4 - WORD $0xaa110087 // orr x7, x4, x17 - WORD $0xd3607ed1 // lsl x17, x22, #32 - WORD $0xaa17c231 // orr x17, x17, x23, lsl #48 - WORD $0x53103ea4 // lsl w4, w21, #16 - WORD $0xaa040231 // orr x17, x17, x4 - WORD $0xaa130231 // orr x17, x17, x19 - WORD $0xb5000451 // cbnz x17, LBB0_193 $136(%rip) - WORD $0xb50004c5 // cbnz x5, LBB0_194 $152(%rip) -LBB0_190: - WORD $0x6e373497 // cmhi.16b v23, v4, v23 - WORD $0x4e221ef7 // and.16b v23, v23, v2 - WORD $0x4e0302f7 // tbl.16b v23, { v23 }, v3 - WORD $0x4e71baf7 // addv.8h h23, v23 - WORD $0x1e2602f1 // fmov w17, s23 - WORD $0x6e363496 // cmhi.16b v22, v4, v22 - WORD $0x4e221ed6 // and.16b v22, v22, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602c4 // fmov w4, s22 - WORD $0x6e353495 // cmhi.16b v21, v4, v21 - WORD $0x4e221eb5 // and.16b v21, v21, v2 - WORD $0x4e0302b5 // tbl.16b v21, { v21 }, v3 - WORD $0x4e71bab5 // addv.8h h21, v21 - WORD $0x1e2602a6 // fmov w6, s21 - WORD $0x6e343494 // cmhi.16b v20, v4, v20 - WORD $0x4e221e94 // and.16b v20, v20, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260293 // fmov w19, s20 - WORD $0xd3607cc6 // lsl x6, x6, #32 - WORD $0xaa13c0c6 // orr x6, x6, x19, lsl #48 - WORD $0x53103c84 // lsl w4, w4, #16 - WORD $0xaa0400c4 // orr x4, x6, x4 - WORD $0xaa110091 // orr x17, x4, x17 - WORD $0xb50002e7 // cbnz x7, LBB0_195 $92(%rip) - WORD $0xb50070d1 // cbnz x17, LBB0_404 $3608(%rip) - WORD $0xd1010294 // sub x20, x20, #64 + WORD $0x8b1c036e // add x14, x27, x28 + WORD $0xad4071dd // ldp q29, q28, [x14] + WORD $0xad4169db // ldp q27, q26, [x14, #32] + WORD $0x6e208fbe // cmeq.16b v30, v29, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603ce // fmov w14, s30 + WORD $0x6e208f9e // cmeq.16b v30, v28, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603c5 // fmov w5, s30 + WORD $0x6e208f7e // cmeq.16b v30, v27, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d4 // fmov w20, s30 + WORD $0x6e208f5e // cmeq.16b v30, v26, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d5 // fmov w21, s30 + WORD $0x6e218fbe // cmeq.16b v30, v29, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d7 // fmov w23, s30 + WORD $0x6e218f9e // cmeq.16b v30, v28, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d8 // fmov w24, s30 + WORD $0x6e218f7e // cmeq.16b v30, v27, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d9 // fmov w25, s30 + WORD $0x6e218f5e // cmeq.16b v30, v26, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603da // fmov w26, s30 + WORD $0xd3607e94 // lsl x20, x20, #32 + WORD $0xaa15c294 // orr x20, x20, x21, lsl #48 + WORD $0x53103ca5 // lsl w5, w5, #16 + WORD $0xaa050285 // orr x5, x20, x5 + WORD $0xaa0e00ae // orr x14, x5, x14 + WORD $0xd3607f25 // lsl x5, x25, #32 + WORD $0xaa1ac0a5 // orr x5, x5, x26, lsl #48 + WORD $0x53103f14 // lsl w20, w24, #16 + WORD $0xaa1400a5 // orr x5, x5, x20 + WORD $0xaa1700a5 // orr x5, x5, x23 + WORD $0xb5000445 // cbnz x5, LBB0_190 $136(%rip) + WORD $0xb50004d3 // cbnz x19, LBB0_191 $152(%rip) +LBB0_187: + WORD $0x6e3d349d // cmhi.16b v29, v4, v29 + WORD $0x4e221fbd // and.16b v29, v29, v2 + WORD $0x4e0303bd // tbl.16b v29, { v29 }, v3 + WORD $0x4e71bbbd // addv.8h h29, v29 + WORD $0x1e2603a5 // fmov w5, s29 + WORD $0x6e3c349c // cmhi.16b v28, v4, v28 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260394 // fmov w20, s28 + WORD $0x6e3b349b // cmhi.16b v27, v4, v27 + WORD $0x4e221f7b // and.16b v27, v27, v2 + WORD $0x4e03037b // tbl.16b v27, { v27 }, v3 + WORD $0x4e71bb7b // addv.8h h27, v27 + WORD $0x1e260375 // fmov w21, s27 + WORD $0x6e3a349a // cmhi.16b v26, v4, v26 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260357 // fmov w23, s26 + WORD $0xd3607eb5 // lsl x21, x21, #32 + WORD $0xaa17c2b5 // orr x21, x21, x23, lsl #48 + WORD $0x53103e94 // lsl w20, w20, #16 + WORD $0xaa1402b4 // orr x20, x21, x20 + WORD $0xaa050285 // orr x5, x20, x5 + WORD $0xb50002ee // cbnz x14, LBB0_192 $92(%rip) + WORD $0xb500f8a5 // cbnz x5, LBB0_549 $7956(%rip) + WORD $0xd10102d6 // sub x22, x22, #64 WORD $0x9101039c // add x28, x28, #64 - WORD $0xf100fe9f // cmp x20, #63 - WORD $0x54fff568 // b.hi LBB0_188 $-340(%rip) - WORD $0x140001d7 // b LBB0_305 $1884(%rip) -LBB0_193: - WORD $0xb100051f // cmn x8, #1 - WORD $0xdac00224 // rbit x4, x17 - WORD $0xdac01084 // clz x4, x4 - WORD $0x8b1c0084 // add x4, x4, x28 - WORD $0x9a841108 // csel x8, x8, x4, ne + WORD $0xf100fedf // cmp x22, #63 + WORD $0x54fff568 // b.hi LBB0_185 $-340(%rip) + WORD $0x140004fb // b LBB0_392 $5100(%rip) +LBB0_190: + WORD $0xb100041f // cmn x0, #1 + WORD $0xdac000b4 // rbit x20, x5 + WORD $0xdac01294 // clz x20, x20 + WORD $0x8b1c0294 // add x20, x20, x28 + WORD $0x9a941000 // csel x0, x0, x20, ne +LBB0_191: + WORD $0x8a3300b4 // bic x20, x5, x19 + WORD $0xaa140675 // orr x21, x19, x20, lsl #1 + WORD $0x8a3500a5 // bic x5, x5, x21 + WORD $0x9201f0a5 // and x5, x5, #0xaaaaaaaaaaaaaaaa + WORD $0xab1400a5 // adds x5, x5, x20 + WORD $0x1a9f37f3 // cset w19, hs + WORD $0xd37ff8a5 // lsl x5, x5, #1 + WORD $0xd200f0a5 // eor x5, x5, #0x5555555555555555 + WORD $0x8a1500a5 // and x5, x5, x21 + WORD $0x8a2501ce // bic x14, x14, x5 + WORD $0x17ffffd1 // b LBB0_187 $-188(%rip) +LBB0_192: + WORD $0xdac001ce // rbit x14, x14 + WORD $0xdac011ce // clz x14, x14 + WORD $0xdac000a5 // rbit x5, x5 + WORD $0xdac010a5 // clz x5, x5 + WORD $0xeb0e00bf // cmp x5, x14 + WORD $0x5400ffc3 // b.lo LBB0_572 $8184(%rip) + WORD $0x8b1c01ce // add x14, x14, x28 + WORD $0x910005dc // add x28, x14, #1 + WORD $0xb7f8f35c // tbnz x28, #63, LBB0_542 $7784(%rip) LBB0_194: - WORD $0x8a250224 // bic x4, x17, x5 - WORD $0xaa0404a6 // orr x6, x5, x4, lsl #1 - WORD $0x8a260231 // bic x17, x17, x6 - WORD $0x9201f231 // and x17, x17, #0xaaaaaaaaaaaaaaaa - WORD $0xab040231 // adds x17, x17, x4 - WORD $0x1a9f37e5 // cset w5, hs - WORD $0xd37ffa31 // lsl x17, x17, #1 - WORD $0xd200f231 // eor x17, x17, #0x5555555555555555 - WORD $0x8a060231 // and x17, x17, x6 - WORD $0x8a3100e7 // bic x7, x7, x17 - WORD $0x17ffffd1 // b LBB0_190 $-188(%rip) + WORD $0xf900003c // str x28, [x1] + WORD $0xaa0803e0 // mov x0, x8 + WORD $0xb27ff7ee // mov x14, #9223372036854775806 + WORD $0xeb0e011f // cmp x8, x14 + WORD $0x5400ff88 // b.hi LBB0_576 $8176(%rip) LBB0_195: - WORD $0xdac000e4 // rbit x4, x7 - WORD $0xdac01085 // clz x5, x4 - WORD $0xdac00231 // rbit x17, x17 - WORD $0xdac01231 // clz x17, x17 - WORD $0xeb05023f // cmp x17, x5 - WORD $0x52800073 // mov w19, #3 - WORD $0x54ffc682 // b.hs LBB0_120 $-1840(%rip) - WORD $0x140003bb // b LBB0_427 $3820(%rip) -LBB0_196: - WORD $0x39400511 // ldrb w17, [x8, #1] - WORD $0x5100ba31 // sub w17, w17, #46 - WORD $0x7100de3f // cmp w17, #55 - WORD $0x54ffde88 // b.hi LBB0_159 $-1072(%rip) - WORD $0x9ad121f1 // lsl x17, x15, x17 - WORD $0x52800027 // mov w7, #1 - WORD $0xea04023f // tst x17, x4 - WORD $0x540013a0 // b.eq LBB0_244 $628(%rip) -LBB0_198: - WORD $0xf100431f // cmp x24, #16 - WORD $0x54004803 // b.lo LBB0_335 $2304(%rip) - WORD $0xd2800017 // mov x23, #0 - WORD $0xd2800007 // mov x7, #0 - WORD $0x9280001e // mov lr, #-1 - WORD $0x92800005 // mov x5, #-1 - WORD $0x92800014 // mov x20, #-1 + WORD $0xf9400048 // ldr x8, [x2] + WORD $0xf13ffd1f // cmp x8, #4095 + WORD $0x5400f20c // b.gt LBB0_541 $7744(%rip) + WORD $0x9100050e // add x14, x8, #1 + WORD $0xf900004e // str x14, [x2] + WORD $0xf828792f // str x15, [x9, x8, lsl #3] + WORD $0x140002c2 // b LBB0_284 $2824(%rip) +LBB0_197: + WORD $0xf94004ce // ldr x14, [x6, #8] + WORD $0xd1000dcf // sub x15, x14, #3 + WORD $0xeb0f011f // cmp x8, x15 + WORD $0x5400f2a2 // b.hs LBB0_548 $7764(%rip) + WORD $0x8b1c036e // add x14, x27, x28 + WORD $0xb85ff1ce // ldur w14, [x14, #-1] + WORD $0x528e4e8f // mov w15, #29300 + WORD $0x72acaeaf // movk w15, #25973, lsl #16 + WORD $0x6b0f01df // cmp w14, w15 + WORD $0x5280008f // mov w15, #4 + WORD $0x5400f2c1 // b.ne LBB0_552 $7768(%rip) + WORD $0x9100111c // add x28, x8, #4 + WORD $0x140002b1 // b LBB0_283 $2756(%rip) LBB0_200: - WORD $0x3ce76914 // ldr q20, [x8, x7] - WORD $0x6e258e95 // cmeq.16b v21, v20, v5 - WORD $0x6e268e96 // cmeq.16b v22, v20, v6 - WORD $0x6e278e97 // cmeq.16b v23, v20, v7 - WORD $0x4e308698 // add.16b v24, v20, v16 - WORD $0x6e383638 // cmhi.16b v24, v17, v24 - WORD $0x4e321e94 // and.16b v20, v20, v18 - WORD $0x6e338e94 // cmeq.16b v20, v20, v19 - WORD $0x4eb71ed6 // orr.16b v22, v22, v23 - WORD $0x4eb51f17 // orr.16b v23, v24, v21 - WORD $0x4eb61e98 // orr.16b v24, v20, v22 - WORD $0x4eb81ef7 // orr.16b v23, v23, v24 - WORD $0x4e221eb5 // and.16b v21, v21, v2 - WORD $0x4e0302b5 // tbl.16b v21, { v21 }, v3 - WORD $0x4e71bab5 // addv.8h h21, v21 - WORD $0x1e2602b1 // fmov w17, s21 - WORD $0x4e221e94 // and.16b v20, v20, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260284 // fmov w4, s20 - WORD $0x4e221ed4 // and.16b v20, v22, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260286 // fmov w6, s20 - WORD $0x4e221ef4 // and.16b v20, v23, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260295 // fmov w21, s20 - WORD $0x2a3503f5 // mvn w21, w21 - WORD $0x32103eb5 // orr w21, w21, #0xffff0000 - WORD $0x5ac002b5 // rbit w21, w21 - WORD $0x5ac012b5 // clz w21, w21 - WORD $0x12800013 // mov w19, #-1 - WORD $0x1ad52276 // lsl w22, w19, w21 - WORD $0x0a360239 // bic w25, w17, w22 - WORD $0x0a360093 // bic w19, w4, w22 - WORD $0x0a3600d6 // bic w22, w6, w22 - WORD $0x710042bf // cmp w21, #16 - WORD $0x1a99023a // csel w26, w17, w25, eq - WORD $0x1a930091 // csel w17, w4, w19, eq - WORD $0x1a9600d6 // csel w22, w6, w22, eq - WORD $0x51000744 // sub w4, w26, #1 - WORD $0x6a1a0099 // ands w25, w4, w26 - WORD $0x54002f81 // b.ne LBB0_303 $1520(%rip) - WORD $0x51000624 // sub w4, w17, #1 - WORD $0x6a110099 // ands w25, w4, w17 - WORD $0x54002f21 // b.ne LBB0_303 $1508(%rip) - WORD $0x510006c4 // sub w4, w22, #1 - WORD $0x6a160099 // ands w25, w4, w22 - WORD $0x54002ec1 // b.ne LBB0_303 $1496(%rip) - WORD $0x340000da // cbz w26, LBB0_206 $24(%rip) - WORD $0x5ac00344 // rbit w4, w26 - WORD $0x5ac0109a // clz w26, w4 - WORD $0xb100069f // cmn x20, #1 - WORD $0x54004001 // b.ne LBB0_334 $2048(%rip) - WORD $0x8b1a00f4 // add x20, x7, x26 -LBB0_206: - WORD $0x340000d1 // cbz w17, LBB0_209 $24(%rip) - WORD $0x5ac00231 // rbit w17, w17 - WORD $0x5ac01231 // clz w17, w17 - WORD $0xb10004bf // cmn x5, #1 - WORD $0x54002ea1 // b.ne LBB0_306 $1492(%rip) - WORD $0x8b1100e5 // add x5, x7, x17 -LBB0_209: - WORD $0x340000d6 // cbz w22, LBB0_212 $24(%rip) - WORD $0x5ac002d1 // rbit w17, w22 - WORD $0x5ac01231 // clz w17, w17 - WORD $0xb10007df // cmn lr, #1 - WORD $0x54002de1 // b.ne LBB0_306 $1468(%rip) - WORD $0x8b1100fe // add lr, x7, x17 + WORD $0xf94004ce // ldr x14, [x6, #8] + WORD $0xd1000dcf // sub x15, x14, #3 + WORD $0xeb0f011f // cmp x8, x15 + WORD $0x5400f102 // b.hs LBB0_548 $7712(%rip) + WORD $0x8b1c036e // add x14, x27, x28 + WORD $0xb85ff1ce // ldur w14, [x14, #-1] + WORD $0x528eadcf // mov w15, #30062 + WORD $0x72ad8d8f // movk w15, #27756, lsl #16 + WORD $0x6b0f01df // cmp w14, w15 + WORD $0x5400f3c1 // b.ne LBB0_556 $7800(%rip) + WORD $0x9100111c // add x28, x8, #4 +LBB0_203: + WORD $0xf900003c // str x28, [x1] + WORD $0xaa0803e0 // mov x0, x8 + WORD $0xeb11011f // cmp x8, x17 + WORD $0x5280008f // mov w15, #4 + WORD $0x540054a3 // b.lo LBB0_284 $2708(%rip) + WORD $0x140007d7 // b LBB0_576 $8028(%rip) +LBB0_204: + WORD $0x37302d43 // tbnz w3, #6, LBB0_245 $1448(%rip) + WORD $0xf9400048 // ldr x8, [x2] + WORD $0xf13ffd1f // cmp x8, #4095 + WORD $0x5400ed4c // b.gt LBB0_541 $7592(%rip) + WORD $0x9100050e // add x14, x8, #1 + WORD $0xf900004e // str x14, [x2] + WORD $0x528000ae // mov w14, #5 + WORD $0xf828792e // str x14, [x9, x8, lsl #3] + WORD $0x1400029b // b LBB0_284 $2668(%rip) +LBB0_207: + WORD $0x373053c3 // tbnz w3, #6, LBB0_285 $2680(%rip) + WORD $0xf94004ce // ldr x14, [x6, #8] + WORD $0xeb1c01d6 // subs x22, x14, x28 + WORD $0x37285ca3 // tbnz w3, #5, LBB0_296 $2964(%rip) + WORD $0x5400ec80 // b.eq LBB0_543 $7568(%rip) + WORD $0xf10102df // cmp x22, #64 + WORD $0x5400ab63 // b.lo LBB0_430 $5484(%rip) + WORD $0xd2800013 // mov x19, #0 + WORD $0x92800000 // mov x0, #-1 LBB0_212: - WORD $0x710042bf // cmp w21, #16 - WORD $0x540005e1 // b.ne LBB0_230 $188(%rip) - WORD $0x910040e7 // add x7, x7, #16 - WORD $0xd10042f7 // sub x23, x23, #16 - WORD $0x8b170315 // add x21, x24, x23 - WORD $0xf1003ebf // cmp x21, #15 - WORD $0x54fff6c8 // b.hi LBB0_200 $-296(%rip) - WORD $0x8b070116 // add x22, x8, x7 - WORD $0xeb07031f // cmp x24, x7 - WORD $0x52800073 // mov w19, #3 - WORD $0x54000520 // b.eq LBB0_231 $164(%rip) + WORD $0x8b1c036e // add x14, x27, x28 + WORD $0xad406dda // ldp q26, q27, [x14] + WORD $0xad4175dc // ldp q28, q29, [x14, #32] + WORD $0x6e208f5e // cmeq.16b v30, v26, v0 + WORD $0x6e208f7f // cmeq.16b v31, v27, v0 + WORD $0x6e208f88 // cmeq.16b v8, v28, v0 + WORD $0x6e208fa9 // cmeq.16b v9, v29, v0 + WORD $0x6e218f5a // cmeq.16b v26, v26, v1 + WORD $0x6e218f7b // cmeq.16b v27, v27, v1 + WORD $0x6e218f9c // cmeq.16b v28, v28, v1 + WORD $0x6e218fbd // cmeq.16b v29, v29, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603ce // fmov w14, s30 + WORD $0x4e221ffe // and.16b v30, v31, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603cf // fmov w15, s30 + WORD $0x4e221d1e // and.16b v30, v8, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d1 // fmov w17, s30 + WORD $0x4e221d3e // and.16b v30, v9, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603c5 // fmov w5, s30 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260347 // fmov w7, s26 + WORD $0x4e221f7a // and.16b v26, v27, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260354 // fmov w20, s26 + WORD $0x4e221f9a // and.16b v26, v28, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260355 // fmov w21, s26 + WORD $0x4e221fba // and.16b v26, v29, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260357 // fmov w23, s26 + WORD $0xd3607e31 // lsl x17, x17, #32 + WORD $0xaa05c231 // orr x17, x17, x5, lsl #48 + WORD $0x53103def // lsl w15, w15, #16 + WORD $0xaa0f022f // orr x15, x17, x15 + WORD $0xaa0e01ee // orr x14, x15, x14 + WORD $0xd3607eaf // lsl x15, x21, #32 + WORD $0xaa17c1ef // orr x15, x15, x23, lsl #48 + WORD $0x53103e91 // lsl w17, w20, #16 + WORD $0xaa1101ef // orr x15, x15, x17 + WORD $0xaa0701e5 // orr x5, x15, x7 + WORD $0xb5000165 // cbnz x5, LBB0_216 $44(%rip) + WORD $0xb50001f3 // cbnz x19, LBB0_217 $60(%rip) + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0xb500032e // cbnz x14, LBB0_218 $100(%rip) LBB0_215: - WORD $0x8b1502c6 // add x6, x22, x21 - WORD $0x8b160191 // add x17, x12, x22 - WORD $0xcb1b0238 // sub x24, x17, x27 - WORD $0xaa1603f7 // mov x23, x22 - WORD $0x14000008 // b LBB0_219 $32(%rip) + WORD $0xd10102d6 // sub x22, x22, #64 + WORD $0x9101039c // add x28, x28, #64 + WORD $0xf100fedf // cmp x22, #63 + WORD $0x54fff848 // b.hi LBB0_212 $-248(%rip) + WORD $0x14000511 // b LBB0_427 $5188(%rip) LBB0_216: - WORD $0xb10007df // cmn lr, #1 - WORD $0x54002a01 // b.ne LBB0_302 $1344(%rip) - WORD $0xd100071e // sub lr, x24, #1 + WORD $0xb100041f // cmn x0, #1 + WORD $0xdac000af // rbit x15, x5 + WORD $0xdac011ef // clz x15, x15 + WORD $0x8b1c01ef // add x15, x15, x28 + WORD $0x9a8f1000 // csel x0, x0, x15, ne +LBB0_217: + WORD $0x8a3300af // bic x15, x5, x19 + WORD $0xaa0f0671 // orr x17, x19, x15, lsl #1 + WORD $0x8a3100a5 // bic x5, x5, x17 + WORD $0x9201f0a5 // and x5, x5, #0xaaaaaaaaaaaaaaaa + WORD $0xab0f00af // adds x15, x5, x15 + WORD $0x1a9f37f3 // cset w19, hs + WORD $0xd37ff9ef // lsl x15, x15, #1 + WORD $0xd200f1ef // eor x15, x15, #0x5555555555555555 + WORD $0x8a1101ef // and x15, x15, x17 + WORD $0x8a2f01ce // bic x14, x14, x15 + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0xb4fffd2e // cbz x14, LBB0_215 $-92(%rip) LBB0_218: - WORD $0x91000718 // add x24, x24, #1 - WORD $0xaa1703f6 // mov x22, x23 - WORD $0xd10006b5 // sub x21, x21, #1 - WORD $0xb4000a35 // cbz x21, LBB0_249 $324(%rip) + WORD $0xdac001ce // rbit x14, x14 + WORD $0xdac011ce // clz x14, x14 + WORD $0x8b1c01ce // add x14, x14, x28 + WORD $0x910005dc // add x28, x14, #1 + WORD $0xb6f846dc // tbz x28, #63, LBB0_283 $2264(%rip) + WORD $0x14000705 // b LBB0_542 $7188(%rip) LBB0_219: - WORD $0x384016f1 // ldrb w17, [x23], #1 - WORD $0x5100c224 // sub w4, w17, #48 - WORD $0x7100289f // cmp w4, #10 - WORD $0x54ffff23 // b.lo LBB0_218 $-28(%rip) - WORD $0x7100b63f // cmp w17, #45 - WORD $0x5400016d // b.le LBB0_226 $44(%rip) - WORD $0x7101963f // cmp w17, #101 - WORD $0x540001c0 // b.eq LBB0_228 $56(%rip) - WORD $0x7101163f // cmp w17, #69 - WORD $0x54000180 // b.eq LBB0_228 $48(%rip) - WORD $0x7100ba3f // cmp w17, #46 - WORD $0x54000221 // b.ne LBB0_231 $68(%rip) - WORD $0xb100069f // cmn x20, #1 - WORD $0x540027a1 // b.ne LBB0_302 $1268(%rip) - WORD $0xd1000714 // sub x20, x24, #1 - WORD $0x17ffffed // b LBB0_218 $-76(%rip) -LBB0_226: - WORD $0x7100ae3f // cmp w17, #43 - WORD $0x54fffd00 // b.eq LBB0_216 $-96(%rip) - WORD $0x7100b63f // cmp w17, #45 - WORD $0x54fffcc0 // b.eq LBB0_216 $-104(%rip) - WORD $0x14000008 // b LBB0_231 $32(%rip) -LBB0_228: - WORD $0xb10004bf // cmn x5, #1 - WORD $0x54002681 // b.ne LBB0_302 $1232(%rip) - WORD $0xd1000705 // sub x5, x24, #1 - WORD $0x17ffffe4 // b LBB0_218 $-112(%rip) -LBB0_230: - WORD $0x8b354111 // add x17, x8, w21, uxtw - WORD $0x8b070236 // add x22, x17, x7 - WORD $0x52800073 // mov w19, #3 -LBB0_231: - WORD $0x92800007 // mov x7, #-1 - WORD $0xb4005db4 // cbz x20, LBB0_409 $2996(%rip) -LBB0_232: - WORD $0xb4005d9e // cbz lr, LBB0_409 $2992(%rip) - WORD $0xb4005d65 // cbz x5, LBB0_409 $2988(%rip) - WORD $0xcb0802c8 // sub x8, x22, x8 - WORD $0xd1000511 // sub x17, x8, #1 - WORD $0xeb11029f // cmp x20, x17 - WORD $0x540002a0 // b.eq LBB0_242 $84(%rip) - WORD $0xeb1103df // cmp lr, x17 - WORD $0x54000260 // b.eq LBB0_242 $76(%rip) - WORD $0xeb1100bf // cmp x5, x17 - WORD $0x54000220 // b.eq LBB0_242 $68(%rip) - WORD $0xf10007d1 // subs x17, lr, #1 - WORD $0x5400006b // b.lt LBB0_239 $12(%rip) - WORD $0xeb1100bf // cmp x5, x17 - WORD $0x54005c01 // b.ne LBB0_410 $2944(%rip) + WORD $0xf9000fff // str xzr, [sp, #24] + WORD $0xd2800013 // mov x19, #0 + WORD $0xd2800000 // mov x0, #0 + WORD $0xd280001e // mov lr, #0 + WORD $0xf94004ce // ldr x14, [x6, #8] + WORD $0xcb1c01ce // sub x14, x14, x28 + WORD $0x8b1c037b // add x27, x27, x28 + WORD $0x1400000a // b LBB0_221 $40(%rip) +LBB0_220: + WORD $0x937ffdce // asr x14, x14, #63 + WORD $0xf9000fee // str x14, [sp, #24] + WORD $0x9e6700ba // fmov d26, x5 + WORD $0x0e205b5a // cnt.8b v26, v26 + WORD $0x2e303b5a // uaddlv.8b h26, v26 + WORD $0x1e26034e // fmov w14, s26 + WORD $0x8b0001c0 // add x0, x14, x0 + WORD $0x9101037b // add x27, x27, #64 + WORD $0xaa1c03ee // mov x14, x28 +LBB0_221: + WORD $0xf10101dc // subs x28, x14, #64 + WORD $0xf9000bee // str x14, [sp, #16] + WORD $0x5400174b // b.lt LBB0_229 $744(%rip) +LBB0_222: + WORD $0xad40737d // ldp q29, q28, [x27] + WORD $0xad416b7b // ldp q27, q26, [x27, #32] + WORD $0x6e218fbe // cmeq.16b v30, v29, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603ce // fmov w14, s30 + WORD $0x6e218f9e // cmeq.16b v30, v28, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603cf // fmov w15, s30 + WORD $0x6e218f7e // cmeq.16b v30, v27, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d1 // fmov w17, s30 + WORD $0x6e218f5e // cmeq.16b v30, v26, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603c5 // fmov w5, s30 + WORD $0xd3607e31 // lsl x17, x17, #32 + WORD $0xaa05c231 // orr x17, x17, x5, lsl #48 + WORD $0x53103def // lsl w15, w15, #16 + WORD $0xaa0f022f // orr x15, x17, x15 + WORD $0xaa0e01ee // orr x14, x15, x14 + WORD $0xaa1301cf // orr x15, x14, x19 + WORD $0xb500008f // cbnz x15, LBB0_224 $16(%rip) + WORD $0xd2800013 // mov x19, #0 + WORD $0xd280000e // mov x14, #0 + WORD $0x1400000a // b LBB0_225 $40(%rip) +LBB0_224: + WORD $0x8a3301cf // bic x15, x14, x19 + WORD $0xaa0f0671 // orr x17, x19, x15, lsl #1 + WORD $0x8a3101ce // bic x14, x14, x17 + WORD $0x9201f1ce // and x14, x14, #0xaaaaaaaaaaaaaaaa + WORD $0xab0f01ce // adds x14, x14, x15 + WORD $0x1a9f37f3 // cset w19, hs + WORD $0xd37ff9ce // lsl x14, x14, #1 + WORD $0xd200f1ce // eor x14, x14, #0x5555555555555555 + WORD $0x8a1101ce // and x14, x14, x17 +LBB0_225: + WORD $0x6e208fbe // cmeq.16b v30, v29, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603cf // fmov w15, s30 + WORD $0x6e208f9e // cmeq.16b v30, v28, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d1 // fmov w17, s30 + WORD $0x6e208f7e // cmeq.16b v30, v27, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603c5 // fmov w5, s30 + WORD $0x6e208f5e // cmeq.16b v30, v26, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603c7 // fmov w7, s30 + WORD $0xd3607ca5 // lsl x5, x5, #32 + WORD $0xaa07c0a5 // orr x5, x5, x7, lsl #48 + WORD $0x53103e31 // lsl w17, w17, #16 + WORD $0xaa1100b1 // orr x17, x5, x17 + WORD $0xaa0f022f // orr x15, x17, x15 + WORD $0x8a2e01ee // bic x14, x15, x14 + WORD $0x9200e1cf // and x15, x14, #0x1111111111111111 + WORD $0x9203e1d1 // and x17, x14, #0x2222222222222222 + WORD $0x9202e1c5 // and x5, x14, #0x4444444444444444 + WORD $0x9201e1ce // and x14, x14, #0x8888888888888888 + WORD $0xb200e3f8 // mov x24, #1229782938247303441 + WORD $0x9b187de7 // mul x7, x15, x24 + WORD $0xb201e3f7 // mov x23, #-8608480567731124088 + WORD $0xf2e11117 // movk x23, #2184, lsl #48 + WORD $0x9b177e34 // mul x20, x17, x23 + WORD $0xca1400e7 // eor x7, x7, x20 + WORD $0xb202e3f6 // mov x22, #4919131752989213764 + WORD $0xf2e08896 // movk x22, #1092, lsl #48 + WORD $0x9b167cb4 // mul x20, x5, x22 + WORD $0xb203e3f5 // mov x21, #2459565876494606882 + WORD $0xf2e04455 // movk x21, #546, lsl #48 + WORD $0x9b157dd5 // mul x21, x14, x21 + WORD $0xca150294 // eor x20, x20, x21 + WORD $0xca1400e7 // eor x7, x7, x20 + WORD $0xb203e3f9 // mov x25, #2459565876494606882 + WORD $0x9b197df4 // mul x20, x15, x25 + WORD $0x9b187e35 // mul x21, x17, x24 + WORD $0xca150294 // eor x20, x20, x21 + WORD $0x9b177cb5 // mul x21, x5, x23 + WORD $0x9b167dd6 // mul x22, x14, x22 + WORD $0xca1602b5 // eor x21, x21, x22 + WORD $0xca150294 // eor x20, x20, x21 + WORD $0xb202e3fa // mov x26, #4919131752989213764 + WORD $0x9b1a7df5 // mul x21, x15, x26 + WORD $0x9b197e36 // mul x22, x17, x25 + WORD $0xca1602b5 // eor x21, x21, x22 + WORD $0x9b187cb6 // mul x22, x5, x24 + WORD $0x9b177dd7 // mul x23, x14, x23 + WORD $0xca1702d6 // eor x22, x22, x23 + WORD $0xca1602b5 // eor x21, x21, x22 + WORD $0xb201e3f6 // mov x22, #-8608480567731124088 + WORD $0x9b167def // mul x15, x15, x22 + WORD $0x9b1a7e31 // mul x17, x17, x26 + WORD $0xca1101ef // eor x15, x15, x17 + WORD $0x9b197cb1 // mul x17, x5, x25 + WORD $0x9b187dce // mul x14, x14, x24 + WORD $0xca0e022e // eor x14, x17, x14 + WORD $0xca0e01ee // eor x14, x15, x14 + WORD $0x9200e0ef // and x15, x7, #0x1111111111111111 + WORD $0x9203e291 // and x17, x20, #0x2222222222222222 + WORD $0x9202e2a5 // and x5, x21, #0x4444444444444444 + WORD $0x9201e1ce // and x14, x14, #0x8888888888888888 + WORD $0xaa1101ef // orr x15, x15, x17 + WORD $0xaa0e00ae // orr x14, x5, x14 + WORD $0xaa0e01ee // orr x14, x15, x14 + WORD $0xf9400fef // ldr x15, [sp, #24] + WORD $0xca0f01ce // eor x14, x14, x15 + WORD $0x6e388fbe // cmeq.16b v30, v29, v24 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603cf // fmov w15, s30 + WORD $0x6e388f9e // cmeq.16b v30, v28, v24 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d1 // fmov w17, s30 + WORD $0x6e388f7e // cmeq.16b v30, v27, v24 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603c5 // fmov w5, s30 + WORD $0x6e388f5e // cmeq.16b v30, v26, v24 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603c7 // fmov w7, s30 + WORD $0xd3607ca5 // lsl x5, x5, #32 + WORD $0xaa07c0a5 // orr x5, x5, x7, lsl #48 + WORD $0x53103e31 // lsl w17, w17, #16 + WORD $0xaa1100b1 // orr x17, x5, x17 + WORD $0xaa0f022f // orr x15, x17, x15 + WORD $0x8a2e01e5 // bic x5, x15, x14 + WORD $0x6e398fbd // cmeq.16b v29, v29, v25 + WORD $0x4e221fbd // and.16b v29, v29, v2 + WORD $0x4e0303bd // tbl.16b v29, { v29 }, v3 + WORD $0x4e71bbbd // addv.8h h29, v29 + WORD $0x1e2603af // fmov w15, s29 + WORD $0x6e398f9c // cmeq.16b v28, v28, v25 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260391 // fmov w17, s28 + WORD $0x6e398f7b // cmeq.16b v27, v27, v25 + WORD $0x4e221f7b // and.16b v27, v27, v2 + WORD $0x4e03037b // tbl.16b v27, { v27 }, v3 + WORD $0x4e71bb7b // addv.8h h27, v27 + WORD $0x1e260367 // fmov w7, s27 + WORD $0x6e398f5a // cmeq.16b v26, v26, v25 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260354 // fmov w20, s26 + WORD $0xd3607ce7 // lsl x7, x7, #32 + WORD $0xaa14c0e7 // orr x7, x7, x20, lsl #48 + WORD $0x53103e31 // lsl w17, w17, #16 + WORD $0xaa1100f1 // orr x17, x7, x17 + WORD $0xaa0f022f // orr x15, x17, x15 + WORD $0xea2e01f4 // bics x20, x15, x14 + WORD $0x54ffe940 // b.eq LBB0_220 $-728(%rip) + WORD $0x52800067 // mov w7, #3 +LBB0_227: + WORD $0xd1000695 // sub x21, x20, #1 + WORD $0x8a0502af // and x15, x21, x5 + WORD $0x9e6701fa // fmov d26, x15 + WORD $0x0e205b5a // cnt.8b v26, v26 + WORD $0x2e303b5a // uaddlv.8b h26, v26 + WORD $0x1e26034f // fmov w15, s26 + WORD $0x8b0001ef // add x15, x15, x0 + WORD $0xeb1e01ff // cmp x15, lr + WORD $0x540026c9 // b.ls LBB0_271 $1240(%rip) + WORD $0x910007de // add lr, lr, #1 + WORD $0xea1402b4 // ands x20, x21, x20 + WORD $0x54fffea1 // b.ne LBB0_227 $-44(%rip) + WORD $0x17ffff3c // b LBB0_220 $-784(%rip) +LBB0_229: + WORD $0xf10001df // cmp x14, #0 + WORD $0x5400d34d // b.le LBB0_573 $6760(%rip) + WORD $0xad025ff7 // stp q23, q23, [sp, #64] + WORD $0xad015ff7 // stp q23, q23, [sp, #32] + WORD $0x92402f6e // and x14, x27, #0xfff + WORD $0xf13f05df // cmp x14, #4033 + WORD $0x54ffe823 // b.lo LBB0_222 $-764(%rip) + WORD $0xf9400bee // ldr x14, [sp, #16] + WORD $0xf10081c5 // subs x5, x14, #32 + WORD $0x540000a3 // b.lo LBB0_233 $20(%rip) + WORD $0xacc16f7a // ldp q26, q27, [x27], #32 + WORD $0xad016ffa // stp q26, q27, [sp, #32] + WORD $0xaa0a03ee // mov x14, x10 + WORD $0x14000003 // b LBB0_234 $12(%rip) +LBB0_233: + WORD $0x910083ee // add x14, sp, #32 + WORD $0xf9400be5 // ldr x5, [sp, #16] +LBB0_234: + WORD $0xf10040b4 // subs x20, x5, #16 + WORD $0x54000243 // b.lo LBB0_240 $72(%rip) + WORD $0x3cc1077a // ldr q26, [x27], #16 + WORD $0x3c8105da // str q26, [x14], #16 + WORD $0xaa1403e5 // mov x5, x20 + WORD $0xf1002294 // subs x20, x20, #8 + WORD $0x540001e2 // b.hs LBB0_241 $60(%rip) +LBB0_236: + WORD $0xf10010b4 // subs x20, x5, #4 + WORD $0x54000243 // b.lo LBB0_242 $72(%rip) +LBB0_237: + WORD $0xb840476f // ldr w15, [x27], #4 + WORD $0xb80045cf // str w15, [x14], #4 + WORD $0xaa1403e5 // mov x5, x20 + WORD $0xf1000a94 // subs x20, x20, #2 + WORD $0x540001e2 // b.hs LBB0_243 $60(%rip) +LBB0_238: + WORD $0xb4000245 // cbz x5, LBB0_244 $72(%rip) LBB0_239: - WORD $0xaa050291 // orr x17, x20, x5 - WORD $0xb7f80071 // tbnz x17, #63, LBB0_241 $12(%rip) - WORD $0xeb05029f // cmp x20, x5 - WORD $0x540063ca // b.ge LBB0_426 $3192(%rip) + WORD $0x3940036f // ldrb w15, [x27] + WORD $0x390001cf // strb w15, [x14] + WORD $0x910083fb // add x27, sp, #32 + WORD $0x17ffff25 // b LBB0_222 $-876(%rip) +LBB0_240: + WORD $0xf10020b4 // subs x20, x5, #8 + WORD $0x54fffe63 // b.lo LBB0_236 $-52(%rip) LBB0_241: - WORD $0xd37ffe31 // lsr x17, x17, #63 - WORD $0x52000231 // eor w17, w17, #0x1 - WORD $0xd10004a4 // sub x4, x5, #1 - WORD $0xeb04029f // cmp x20, x4 - WORD $0x1a9f17e4 // cset w4, eq - WORD $0x6a04023f // tst w17, w4 - WORD $0xda850107 // csinv x7, x8, x5, eq - WORD $0x14000002 // b LBB0_243 $8(%rip) + WORD $0xf840876f // ldr x15, [x27], #8 + WORD $0xf80085cf // str x15, [x14], #8 + WORD $0xaa1403e5 // mov x5, x20 + WORD $0xf1001294 // subs x20, x20, #4 + WORD $0x54fffe02 // b.hs LBB0_237 $-64(%rip) LBB0_242: - WORD $0xcb0803e7 // neg x7, x8 + WORD $0xf10008b4 // subs x20, x5, #2 + WORD $0x54fffe63 // b.lo LBB0_238 $-52(%rip) LBB0_243: - WORD $0xb7f85a27 // tbnz x7, #63, LBB0_409 $2884(%rip) + WORD $0x7840276f // ldrh w15, [x27], #2 + WORD $0x780025cf // strh w15, [x14], #2 + WORD $0xaa1403e5 // mov x5, x20 + WORD $0xb5fffe14 // cbnz x20, LBB0_239 $-64(%rip) LBB0_244: - WORD $0x8b1c00fc // add x28, x7, x28 - WORD $0xf900003c // str x28, [x1] - WORD $0xaa1b03e8 // mov x8, x27 - WORD $0x92f00006 // mov x6, #9223372036854775807 - WORD $0xeb06037f // cmp x27, x6 - WORD $0x52800084 // mov w4, #4 - WORD $0xb20903e7 // mov x7, #36028797027352576 - WORD $0xf2800027 // movk x7, #1 - WORD $0x54ffce83 // b.lo LBB0_171 $-1584(%rip) - WORD $0x140002a2 // b LBB0_394 $2696(%rip) + WORD $0x910083fb // add x27, sp, #32 + WORD $0x17ffff16 // b LBB0_222 $-936(%rip) LBB0_245: - WORD $0x5ac00328 // rbit w8, w25 - WORD $0x5ac01108 // clz w8, w8 - WORD $0xaa3c03f1 // mvn x17, x28 - WORD $0xcb080235 // sub x21, x17, x8 - WORD $0x17fffda7 // b LBB0_136 $-2404(%rip) + WORD $0xf9000fff // str xzr, [sp, #24] + WORD $0xd2800013 // mov x19, #0 + WORD $0xd2800000 // mov x0, #0 + WORD $0xd280001e // mov lr, #0 + WORD $0xf94004ce // ldr x14, [x6, #8] + WORD $0xcb1c01ce // sub x14, x14, x28 + WORD $0x8b1c037b // add x27, x27, x28 + WORD $0x1400000a // b LBB0_247 $40(%rip) LBB0_246: - WORD $0xaa3c03e8 // mvn x8, x28 - WORD $0xcb314115 // sub x21, x8, w17, uxtw - WORD $0x17fffda4 // b LBB0_136 $-2416(%rip) + WORD $0x937ffdce // asr x14, x14, #63 + WORD $0xf9000fee // str x14, [sp, #24] + WORD $0x9e6700ba // fmov d26, x5 + WORD $0x0e205b5a // cnt.8b v26, v26 + WORD $0x2e303b5a // uaddlv.8b h26, v26 + WORD $0x1e26034e // fmov w14, s26 + WORD $0x8b0001c0 // add x0, x14, x0 + WORD $0x9101037b // add x27, x27, #64 + WORD $0xaa1c03ee // mov x14, x28 LBB0_247: - WORD $0x8b1c013c // add x28, x9, x28 - WORD $0x1400000a // b LBB0_251 $40(%rip) + WORD $0xf10101dc // subs x28, x14, #64 + WORD $0xf9000bee // str x14, [sp, #16] + WORD $0x5400174b // b.lt LBB0_255 $744(%rip) LBB0_248: - WORD $0x8b1c013c // add x28, x9, x28 - WORD $0x1400002c // b LBB0_257 $176(%rip) -LBB0_249: - WORD $0xaa0603f6 // mov x22, x6 - WORD $0x92800007 // mov x7, #-1 - WORD $0xb5fff994 // cbnz x20, LBB0_232 $-208(%rip) - WORD $0x140002b7 // b LBB0_409 $2780(%rip) + WORD $0xad40737d // ldp q29, q28, [x27] + WORD $0xad416b7b // ldp q27, q26, [x27, #32] + WORD $0x6e218fbe // cmeq.16b v30, v29, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603ce // fmov w14, s30 + WORD $0x6e218f9e // cmeq.16b v30, v28, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603cf // fmov w15, s30 + WORD $0x6e218f7e // cmeq.16b v30, v27, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d1 // fmov w17, s30 + WORD $0x6e218f5e // cmeq.16b v30, v26, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603c5 // fmov w5, s30 + WORD $0xd3607e31 // lsl x17, x17, #32 + WORD $0xaa05c231 // orr x17, x17, x5, lsl #48 + WORD $0x53103def // lsl w15, w15, #16 + WORD $0xaa0f022f // orr x15, x17, x15 + WORD $0xaa0e01ee // orr x14, x15, x14 + WORD $0xaa1301cf // orr x15, x14, x19 + WORD $0xb500008f // cbnz x15, LBB0_250 $16(%rip) + WORD $0xd2800013 // mov x19, #0 + WORD $0xd280000e // mov x14, #0 + WORD $0x1400000a // b LBB0_251 $40(%rip) LBB0_250: - WORD $0xd2800005 // mov x5, #0 - WORD $0x8b1c013c // add x28, x9, x28 - WORD $0x92800008 // mov x8, #-1 + WORD $0x8a3301cf // bic x15, x14, x19 + WORD $0xaa0f0671 // orr x17, x19, x15, lsl #1 + WORD $0x8a3101ce // bic x14, x14, x17 + WORD $0x9201f1ce // and x14, x14, #0xaaaaaaaaaaaaaaaa + WORD $0xab0f01ce // adds x14, x14, x15 + WORD $0x1a9f37f3 // cset w19, hs + WORD $0xd37ff9ce // lsl x14, x14, #1 + WORD $0xd200f1ce // eor x14, x14, #0x5555555555555555 + WORD $0x8a1101ce // and x14, x14, x17 LBB0_251: - WORD $0xf1008287 // subs x7, x20, #32 - WORD $0x54003463 // b.lo LBB0_339 $1676(%rip) - WORD $0xad405794 // ldp q20, q21, [x28] - WORD $0x6e208e96 // cmeq.16b v22, v20, v0 - WORD $0x6e208eb7 // cmeq.16b v23, v21, v0 - WORD $0x6e218e94 // cmeq.16b v20, v20, v1 - WORD $0x6e218eb5 // cmeq.16b v21, v21, v1 - WORD $0x4e221ed6 // and.16b v22, v22, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602d4 // fmov w20, s22 - WORD $0x4e221ef6 // and.16b v22, v23, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602d1 // fmov w17, s22 - WORD $0x4e221e94 // and.16b v20, v20, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260295 // fmov w21, s20 - WORD $0x4e221eb4 // and.16b v20, v21, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260296 // fmov w22, s20 - WORD $0x33103e34 // bfi w20, w17, #16, #16 - WORD $0x33103ed5 // bfi w21, w22, #16, #16 - WORD $0x35002ed5 // cbnz w21, LBB0_336 $1496(%rip) - WORD $0xb5002f65 // cbnz x5, LBB0_337 $1516(%rip) - WORD $0xb40030f4 // cbz x20, LBB0_338 $1564(%rip) + WORD $0x6e208fbe // cmeq.16b v30, v29, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603cf // fmov w15, s30 + WORD $0x6e208f9e // cmeq.16b v30, v28, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d1 // fmov w17, s30 + WORD $0x6e208f7e // cmeq.16b v30, v27, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603c5 // fmov w5, s30 + WORD $0x6e208f5e // cmeq.16b v30, v26, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603c7 // fmov w7, s30 + WORD $0xd3607ca5 // lsl x5, x5, #32 + WORD $0xaa07c0a5 // orr x5, x5, x7, lsl #48 + WORD $0x53103e31 // lsl w17, w17, #16 + WORD $0xaa1100b1 // orr x17, x5, x17 + WORD $0xaa0f022f // orr x15, x17, x15 + WORD $0x8a2e01ee // bic x14, x15, x14 + WORD $0x9200e1cf // and x15, x14, #0x1111111111111111 + WORD $0x9203e1d1 // and x17, x14, #0x2222222222222222 + WORD $0x9202e1c5 // and x5, x14, #0x4444444444444444 + WORD $0x9201e1ce // and x14, x14, #0x8888888888888888 + WORD $0xb200e3f8 // mov x24, #1229782938247303441 + WORD $0x9b187de7 // mul x7, x15, x24 + WORD $0xb201e3f7 // mov x23, #-8608480567731124088 + WORD $0xf2e11117 // movk x23, #2184, lsl #48 + WORD $0x9b177e34 // mul x20, x17, x23 + WORD $0xca1400e7 // eor x7, x7, x20 + WORD $0xb202e3f6 // mov x22, #4919131752989213764 + WORD $0xf2e08896 // movk x22, #1092, lsl #48 + WORD $0x9b167cb4 // mul x20, x5, x22 + WORD $0xb203e3f5 // mov x21, #2459565876494606882 + WORD $0xf2e04455 // movk x21, #546, lsl #48 + WORD $0x9b157dd5 // mul x21, x14, x21 + WORD $0xca150294 // eor x20, x20, x21 + WORD $0xca1400e7 // eor x7, x7, x20 + WORD $0xb203e3f9 // mov x25, #2459565876494606882 + WORD $0x9b197df4 // mul x20, x15, x25 + WORD $0x9b187e35 // mul x21, x17, x24 + WORD $0xca150294 // eor x20, x20, x21 + WORD $0x9b177cb5 // mul x21, x5, x23 + WORD $0x9b167dd6 // mul x22, x14, x22 + WORD $0xca1602b5 // eor x21, x21, x22 + WORD $0xca150294 // eor x20, x20, x21 + WORD $0xb202e3fa // mov x26, #4919131752989213764 + WORD $0x9b1a7df5 // mul x21, x15, x26 + WORD $0x9b197e36 // mul x22, x17, x25 + WORD $0xca1602b5 // eor x21, x21, x22 + WORD $0x9b187cb6 // mul x22, x5, x24 + WORD $0x9b177dd7 // mul x23, x14, x23 + WORD $0xca1702d6 // eor x22, x22, x23 + WORD $0xca1602b5 // eor x21, x21, x22 + WORD $0xb201e3f6 // mov x22, #-8608480567731124088 + WORD $0x9b167def // mul x15, x15, x22 + WORD $0x9b1a7e31 // mul x17, x17, x26 + WORD $0xca1101ef // eor x15, x15, x17 + WORD $0x9b197cb1 // mul x17, x5, x25 + WORD $0x9b187dce // mul x14, x14, x24 + WORD $0xca0e022e // eor x14, x17, x14 + WORD $0xca0e01ee // eor x14, x15, x14 + WORD $0x9200e0ef // and x15, x7, #0x1111111111111111 + WORD $0x9203e291 // and x17, x20, #0x2222222222222222 + WORD $0x9202e2a5 // and x5, x21, #0x4444444444444444 + WORD $0x9201e1ce // and x14, x14, #0x8888888888888888 + WORD $0xaa1101ef // orr x15, x15, x17 + WORD $0xaa0e00ae // orr x14, x5, x14 + WORD $0xaa0e01ee // orr x14, x15, x14 + WORD $0xf9400fef // ldr x15, [sp, #24] + WORD $0xca0f01ce // eor x14, x14, x15 + WORD $0x6e368fbe // cmeq.16b v30, v29, v22 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603cf // fmov w15, s30 + WORD $0x6e368f9e // cmeq.16b v30, v28, v22 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d1 // fmov w17, s30 + WORD $0x6e368f7e // cmeq.16b v30, v27, v22 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603c5 // fmov w5, s30 + WORD $0x6e368f5e // cmeq.16b v30, v26, v22 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603c7 // fmov w7, s30 + WORD $0xd3607ca5 // lsl x5, x5, #32 + WORD $0xaa07c0a5 // orr x5, x5, x7, lsl #48 + WORD $0x53103e31 // lsl w17, w17, #16 + WORD $0xaa1100b1 // orr x17, x5, x17 + WORD $0xaa0f022f // orr x15, x17, x15 + WORD $0x8a2e01e5 // bic x5, x15, x14 + WORD $0x6e358fbd // cmeq.16b v29, v29, v21 + WORD $0x4e221fbd // and.16b v29, v29, v2 + WORD $0x4e0303bd // tbl.16b v29, { v29 }, v3 + WORD $0x4e71bbbd // addv.8h h29, v29 + WORD $0x1e2603af // fmov w15, s29 + WORD $0x6e358f9c // cmeq.16b v28, v28, v21 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260391 // fmov w17, s28 + WORD $0x6e358f7b // cmeq.16b v27, v27, v21 + WORD $0x4e221f7b // and.16b v27, v27, v2 + WORD $0x4e03037b // tbl.16b v27, { v27 }, v3 + WORD $0x4e71bb7b // addv.8h h27, v27 + WORD $0x1e260367 // fmov w7, s27 + WORD $0x6e358f5a // cmeq.16b v26, v26, v21 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260354 // fmov w20, s26 + WORD $0xd3607ce7 // lsl x7, x7, #32 + WORD $0xaa14c0e7 // orr x7, x7, x20, lsl #48 + WORD $0x53103e31 // lsl w17, w17, #16 + WORD $0xaa1100f1 // orr x17, x7, x17 + WORD $0xaa0f022f // orr x15, x17, x15 + WORD $0xea2e01f4 // bics x20, x15, x14 + WORD $0x54ffe940 // b.eq LBB0_246 $-728(%rip) + WORD $0x52800067 // mov w7, #3 +LBB0_253: + WORD $0xd1000695 // sub x21, x20, #1 + WORD $0x8a0502af // and x15, x21, x5 + WORD $0x9e6701fa // fmov d26, x15 + WORD $0x0e205b5a // cnt.8b v26, v26 + WORD $0x2e303b5a // uaddlv.8b h26, v26 + WORD $0x1e26034f // fmov w15, s26 + WORD $0x8b0001ef // add x15, x15, x0 + WORD $0xeb1e01ff // cmp x15, lr + WORD $0x540006e9 // b.ls LBB0_271 $220(%rip) + WORD $0x910007de // add lr, lr, #1 + WORD $0xea1402b4 // ands x20, x21, x20 + WORD $0x54fffea1 // b.ne LBB0_253 $-44(%rip) + WORD $0x17ffff3c // b LBB0_246 $-784(%rip) LBB0_255: - WORD $0xdac00291 // rbit x17, x20 - WORD $0xdac01231 // clz x17, x17 - WORD $0xcb090385 // sub x5, x28, x9 - WORD $0x8b1100b1 // add x17, x5, x17 - WORD $0x17fffd52 // b LBB0_121 $-2744(%rip) -LBB0_256: - WORD $0xd2800005 // mov x5, #0 - WORD $0x8b1c013c // add x28, x9, x28 - WORD $0x92800008 // mov x8, #-1 -LBB0_257: - WORD $0xf1008295 // subs x21, x20, #32 - WORD $0x54000643 // b.lo LBB0_265 $200(%rip) - WORD $0xad405395 // ldp q21, q20, [x28] - WORD $0x6e208eb6 // cmeq.16b v22, v21, v0 - WORD $0x4e221ed6 // and.16b v22, v22, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602d4 // fmov w20, s22 - WORD $0x6e208e96 // cmeq.16b v22, v20, v0 - WORD $0x4e221ed6 // and.16b v22, v22, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602d1 // fmov w17, s22 - WORD $0x6e218eb6 // cmeq.16b v22, v21, v1 - WORD $0x4e221ed6 // and.16b v22, v22, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602c7 // fmov w7, s22 - WORD $0x6e218e96 // cmeq.16b v22, v20, v1 - WORD $0x4e221ed6 // and.16b v22, v22, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602d6 // fmov w22, s22 - WORD $0x33103e34 // bfi w20, w17, #16, #16 - WORD $0x33103ec7 // bfi w7, w22, #16, #16 - WORD $0x35003047 // cbnz w7, LBB0_349 $1544(%rip) - WORD $0xb50030e5 // cbnz x5, LBB0_350 $1564(%rip) + WORD $0xf10001df // cmp x14, #0 + WORD $0x5400b36d // b.le LBB0_573 $5740(%rip) + WORD $0xad025ff7 // stp q23, q23, [sp, #64] + WORD $0xad015ff7 // stp q23, q23, [sp, #32] + WORD $0x92402f6e // and x14, x27, #0xfff + WORD $0xf13f05df // cmp x14, #4033 + WORD $0x54ffe823 // b.lo LBB0_248 $-764(%rip) + WORD $0xf9400bee // ldr x14, [sp, #16] + WORD $0xf10081c5 // subs x5, x14, #32 + WORD $0x540000a3 // b.lo LBB0_259 $20(%rip) + WORD $0xacc16f7a // ldp q26, q27, [x27], #32 + WORD $0xad016ffa // stp q26, q27, [sp, #32] + WORD $0xaa0a03ee // mov x14, x10 + WORD $0x14000003 // b LBB0_260 $12(%rip) +LBB0_259: + WORD $0x910083ee // add x14, sp, #32 + WORD $0xf9400be5 // ldr x5, [sp, #16] LBB0_260: - WORD $0x6e353495 // cmhi.16b v21, v4, v21 - WORD $0x4e221eb5 // and.16b v21, v21, v2 - WORD $0x4e0302b5 // tbl.16b v21, { v21 }, v3 - WORD $0x4e71bab5 // addv.8h h21, v21 - WORD $0x1e2602a7 // fmov w7, s21 - WORD $0x6e343494 // cmhi.16b v20, v4, v20 - WORD $0x4e221e94 // and.16b v20, v20, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260291 // fmov w17, s20 - WORD $0x33103e27 // bfi w7, w17, #16, #16 - WORD $0xdac000f1 // rbit x17, x7 - WORD $0xdac01231 // clz x17, x17 - WORD $0xb4000114 // cbz x20, LBB0_263 $32(%rip) - WORD $0xdac00285 // rbit x5, x20 - WORD $0xdac010a7 // clz x7, x5 - WORD $0xcb090385 // sub x5, x28, x9 - WORD $0xeb07023f // cmp x17, x7 - WORD $0x54005543 // b.lo LBB0_428 $2728(%rip) - WORD $0x8b0700b1 // add x17, x5, x7 - WORD $0x17fffd1f // b LBB0_121 $-2948(%rip) + WORD $0xf10040b4 // subs x20, x5, #16 + WORD $0x54000243 // b.lo LBB0_266 $72(%rip) + WORD $0x3cc1077a // ldr q26, [x27], #16 + WORD $0x3c8105da // str q26, [x14], #16 + WORD $0xaa1403e5 // mov x5, x20 + WORD $0xf1002294 // subs x20, x20, #8 + WORD $0x540001e2 // b.hs LBB0_267 $60(%rip) +LBB0_262: + WORD $0xf10010b4 // subs x20, x5, #4 + WORD $0x54000243 // b.lo LBB0_268 $72(%rip) LBB0_263: - WORD $0x35005527 // cbnz w7, LBB0_429 $2724(%rip) - WORD $0x9100839c // add x28, x28, #32 - WORD $0xaa1503f4 // mov x20, x21 + WORD $0xb840476f // ldr w15, [x27], #4 + WORD $0xb80045cf // str w15, [x14], #4 + WORD $0xaa1403e5 // mov x5, x20 + WORD $0xf1000a94 // subs x20, x20, #2 + WORD $0x540001e2 // b.hs LBB0_269 $60(%rip) +LBB0_264: + WORD $0xb4000245 // cbz x5, LBB0_270 $72(%rip) LBB0_265: - WORD $0xb5003965 // cbnz x5, LBB0_368 $1836(%rip) - WORD $0xb40048b4 // cbz x20, LBB0_398 $2324(%rip) + WORD $0x3940036f // ldrb w15, [x27] + WORD $0x390001cf // strb w15, [x14] + WORD $0x910083fb // add x27, sp, #32 + WORD $0x17ffff25 // b LBB0_248 $-876(%rip) +LBB0_266: + WORD $0xf10020b4 // subs x20, x5, #8 + WORD $0x54fffe63 // b.lo LBB0_262 $-52(%rip) LBB0_267: - WORD $0xd2800005 // mov x5, #0 + WORD $0xf840876f // ldr x15, [x27], #8 + WORD $0xf80085cf // str x15, [x14], #8 + WORD $0xaa1403e5 // mov x5, x20 + WORD $0xf1001294 // subs x20, x20, #4 + WORD $0x54fffe02 // b.hs LBB0_263 $-64(%rip) LBB0_268: - WORD $0x38656b91 // ldrb w17, [x28, x5] - WORD $0x71008a3f // cmp w17, #34 - WORD $0x540002e0 // b.eq LBB0_274 $92(%rip) - WORD $0x7101723f // cmp w17, #92 - WORD $0x540000e0 // b.eq LBB0_272 $28(%rip) - WORD $0x71007e3f // cmp w17, #31 - WORD $0x54005409 // b.ls LBB0_430 $2688(%rip) - WORD $0x910004a5 // add x5, x5, #1 - WORD $0xeb05029f // cmp x20, x5 - WORD $0x54fffee1 // b.ne LBB0_268 $-36(%rip) - WORD $0x14000239 // b LBB0_398 $2276(%rip) + WORD $0xf10008b4 // subs x20, x5, #2 + WORD $0x54fffe63 // b.lo LBB0_264 $-52(%rip) +LBB0_269: + WORD $0x7840276f // ldrh w15, [x27], #2 + WORD $0x780025cf // strh w15, [x14], #2 + WORD $0xaa1403e5 // mov x5, x20 + WORD $0xb5fffe14 // cbnz x20, LBB0_265 $-64(%rip) +LBB0_270: + WORD $0x910083fb // add x27, sp, #32 + WORD $0x17ffff16 // b LBB0_248 $-936(%rip) +LBB0_271: + WORD $0xf94004ce // ldr x14, [x6, #8] + WORD $0xdac0028f // rbit x15, x20 + WORD $0xdac011ef // clz x15, x15 + WORD $0xf9400bf1 // ldr x17, [sp, #16] + WORD $0xcb1101ef // sub x15, x15, x17 + WORD $0x8b0e01ee // add x14, x15, x14 + WORD $0x910005cf // add x15, x14, #1 + WORD $0xf900002f // str x15, [x1] + WORD $0xf94004d1 // ldr x17, [x6, #8] + WORD $0xeb1101ff // cmp x15, x17 + WORD $0x9a8e263c // csinc x28, x17, x14, hs + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0xf900003c // str x28, [x1] + WORD $0xda9f9100 // csinv x0, x8, xzr, ls + WORD $0x5280008f // mov w15, #4 + WORD $0xb6f80560 // tbz x0, #63, LBB0_284 $172(%rip) + WORD $0x1400055d // b LBB0_576 $5492(%rip) LBB0_272: - WORD $0xd1000691 // sub x17, x20, #1 - WORD $0xeb05023f // cmp x17, x5 - WORD $0x540046c0 // b.eq LBB0_398 $2264(%rip) - WORD $0x8b050391 // add x17, x28, x5 - WORD $0x8b0c0227 // add x7, x17, x12 - WORD $0xb100051f // cmn x8, #1 - WORD $0x9a8800e8 // csel x8, x7, x8, eq - WORD $0x91000a3c // add x28, x17, #2 - WORD $0xcb050291 // sub x17, x20, x5 - WORD $0xd1000a87 // sub x7, x20, #2 - WORD $0xd1000a34 // sub x20, x17, #2 - WORD $0xeb0500ff // cmp x7, x5 - WORD $0x54fffd01 // b.ne LBB0_267 $-96(%rip) - WORD $0x1400022b // b LBB0_398 $2220(%rip) -LBB0_274: - WORD $0x8b1c0191 // add x17, x12, x28 - WORD $0x8b050231 // add x17, x17, x5 - WORD $0x17fffcfd // b LBB0_121 $-3084(%rip) + WORD $0xf94004ce // ldr x14, [x6, #8] + WORD $0xcb1c01ce // sub x14, x14, x28 + WORD $0xf10041df // cmp x14, #16 + WORD $0x540001e3 // b.lo LBB0_275 $60(%rip) +LBB0_273: + WORD $0x3cfc6b7a // ldr q26, [x27, x28] + WORD $0x6e348f5b // cmeq.16b v27, v26, v20 + WORD $0x4e321f5a // and.16b v26, v26, v18 + WORD $0x6e358f5a // cmeq.16b v26, v26, v21 + WORD $0x4ebb1f5a // orr.16b v26, v26, v27 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260340 // fmov w0, s26 + WORD $0x350002a0 // cbnz w0, LBB0_281 $84(%rip) + WORD $0xd10041ce // sub x14, x14, #16 + WORD $0x9100439c // add x28, x28, #16 + WORD $0xf1003ddf // cmp x14, #15 + WORD $0x54fffe68 // b.hi LBB0_273 $-52(%rip) LBB0_275: - WORD $0x8b1c013c // add x28, x9, x28 - WORD $0x14000006 // b LBB0_278 $24(%rip) -LBB0_276: - WORD $0x8b1c013c // add x28, x9, x28 - WORD $0x14000028 // b LBB0_284 $160(%rip) + WORD $0x8b1c0360 // add x0, x27, x28 + WORD $0xb4ff79ce // cbz x14, LBB0_130 $-4296(%rip) + WORD $0x8b0e0005 // add x5, x0, x14 + WORD $0xcb1b001c // sub x28, x0, x27 LBB0_277: - WORD $0xd2800005 // mov x5, #0 - WORD $0x8b1c013c // add x28, x9, x28 - WORD $0x92800008 // mov x8, #-1 -LBB0_278: - WORD $0xf1008287 // subs x7, x20, #32 - WORD $0x54002d23 // b.lo LBB0_354 $1444(%rip) - WORD $0xad405794 // ldp q20, q21, [x28] - WORD $0x6e208e96 // cmeq.16b v22, v20, v0 - WORD $0x6e208eb7 // cmeq.16b v23, v21, v0 - WORD $0x6e218e94 // cmeq.16b v20, v20, v1 - WORD $0x6e218eb5 // cmeq.16b v21, v21, v1 - WORD $0x4e221ed6 // and.16b v22, v22, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602d4 // fmov w20, s22 - WORD $0x4e221ef6 // and.16b v22, v23, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602d1 // fmov w17, s22 - WORD $0x4e221e94 // and.16b v20, v20, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260295 // fmov w21, s20 - WORD $0x4e221eb4 // and.16b v20, v21, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260296 // fmov w22, s20 - WORD $0x33103e34 // bfi w20, w17, #16, #16 - WORD $0x33103ed5 // bfi w21, w22, #16, #16 - WORD $0x35002795 // cbnz w21, LBB0_351 $1264(%rip) - WORD $0xb5002825 // cbnz x5, LBB0_352 $1284(%rip) - WORD $0xb40029b4 // cbz x20, LBB0_353 $1332(%rip) + WORD $0x39400013 // ldrb w19, [x0] + WORD $0x7100b27f // cmp w19, #44 + WORD $0x54ff7940 // b.eq LBB0_131 $-4312(%rip) + WORD $0x7101f67f // cmp w19, #125 + WORD $0x54ff7900 // b.eq LBB0_131 $-4320(%rip) + WORD $0x7101767f // cmp w19, #93 + WORD $0x54ff78c0 // b.eq LBB0_131 $-4328(%rip) + WORD $0x91000400 // add x0, x0, #1 + WORD $0x9100079c // add x28, x28, #1 + WORD $0xf10005ce // subs x14, x14, #1 + WORD $0x54fffec1 // b.ne LBB0_277 $-40(%rip) + WORD $0x17fffbbf // b LBB0_129 $-4356(%rip) +LBB0_281: + WORD $0x5ac0000e // rbit w14, w0 + WORD $0x5ac011ce // clz w14, w14 LBB0_282: - WORD $0xdac00291 // rbit x17, x20 - WORD $0xdac01231 // clz x17, x17 - WORD $0xcb090385 // sub x5, x28, x9 - WORD $0x8b1100b1 // add x17, x5, x17 - WORD $0x17fffd75 // b LBB0_150 $-2604(%rip) + WORD $0x8b1c01dc // add x28, x14, x28 LBB0_283: - WORD $0xd2800005 // mov x5, #0 - WORD $0x8b1c013c // add x28, x9, x28 - WORD $0x92800008 // mov x8, #-1 + WORD $0xf900003c // str x28, [x1] + WORD $0xaa0803e0 // mov x0, x8 + WORD $0xeb11011f // cmp x8, x17 + WORD $0x5400a682 // b.hs LBB0_576 $5328(%rip) LBB0_284: - WORD $0xf1008295 // subs x21, x20, #32 - WORD $0x54000643 // b.lo LBB0_292 $200(%rip) - WORD $0xad405395 // ldp q21, q20, [x28] - WORD $0x6e208eb6 // cmeq.16b v22, v21, v0 - WORD $0x4e221ed6 // and.16b v22, v22, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602d4 // fmov w20, s22 - WORD $0x6e208e96 // cmeq.16b v22, v20, v0 - WORD $0x4e221ed6 // and.16b v22, v22, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602d1 // fmov w17, s22 - WORD $0x6e218eb6 // cmeq.16b v22, v21, v1 - WORD $0x4e221ed6 // and.16b v22, v22, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602c7 // fmov w7, s22 - WORD $0x6e218e96 // cmeq.16b v22, v20, v1 - WORD $0x4e221ed6 // and.16b v22, v22, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602d6 // fmov w22, s22 - WORD $0x33103e34 // bfi w20, w17, #16, #16 - WORD $0x33103ec7 // bfi w7, w22, #16, #16 - WORD $0x350029a7 // cbnz w7, LBB0_364 $1332(%rip) - WORD $0xb5002a45 // cbnz x5, LBB0_365 $1352(%rip) + WORD $0xf9400053 // ldr x19, [x2] + WORD $0xaa0b03e0 // mov x0, x11 + WORD $0xb5ff2f53 // cbnz x19, LBB0_1 $-6680(%rip) + WORD $0x14000530 // b LBB0_576 $5312(%rip) +LBB0_285: + WORD $0xf94004c0 // ldr x0, [x6, #8] + WORD $0xcb1c000e // sub x14, x0, x28 + WORD $0xf10081df // cmp x14, #32 + WORD $0x540053eb // b.lt LBB0_421 $2684(%rip) + WORD $0xd280000e // mov x14, #0 + WORD $0xd2800005 // mov x5, #0 + WORD $0xcb080000 // sub x0, x0, x8 + WORD $0x528003f3 // mov w19, #31 LBB0_287: - WORD $0x6e353495 // cmhi.16b v21, v4, v21 - WORD $0x4e221eb5 // and.16b v21, v21, v2 - WORD $0x4e0302b5 // tbl.16b v21, { v21 }, v3 - WORD $0x4e71bab5 // addv.8h h21, v21 - WORD $0x1e2602a7 // fmov w7, s21 - WORD $0x6e343494 // cmhi.16b v20, v4, v20 - WORD $0x4e221e94 // and.16b v20, v20, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260291 // fmov w17, s20 - WORD $0x33103e27 // bfi w7, w17, #16, #16 - WORD $0xdac000f1 // rbit x17, x7 - WORD $0xdac01231 // clz x17, x17 - WORD $0xb4000114 // cbz x20, LBB0_290 $32(%rip) - WORD $0xdac00285 // rbit x5, x20 - WORD $0xdac010a7 // clz x7, x5 - WORD $0xcb090385 // sub x5, x28, x9 - WORD $0xeb07023f // cmp x17, x7 - WORD $0x540045a3 // b.lo LBB0_428 $2228(%rip) - WORD $0x8b0700b1 // add x17, x5, x7 - WORD $0x17fffd42 // b LBB0_150 $-2808(%rip) + WORD $0x8b0e03cf // add x15, lr, x14 + WORD $0x3cc011fa // ldur q26, [x15, #1] + WORD $0x3cc111fb // ldur q27, [x15, #17] + WORD $0x6e208f5c // cmeq.16b v28, v26, v0 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260395 // fmov w21, s28 + WORD $0x6e208f7c // cmeq.16b v28, v27, v0 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e26038f // fmov w15, s28 + WORD $0x33103df5 // bfi w21, w15, #16, #16 + WORD $0x6e218f5a // cmeq.16b v26, v26, v1 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260354 // fmov w20, s26 + WORD $0x6e218f7a // cmeq.16b v26, v27, v1 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e26034f // fmov w15, s26 + WORD $0x33103df4 // bfi w20, w15, #16, #16 + WORD $0x7100029f // cmp w20, #0 + WORD $0xfa4008a0 // ccmp x5, #0, #0, eq + WORD $0x540001a0 // b.eq LBB0_289 $52(%rip) + WORD $0x0a25028f // bic w15, w20, w5 + WORD $0x2a0f04b1 // orr w17, w5, w15, lsl #1 + WORD $0x0a040285 // and w5, w20, w4 + WORD $0x0a3100a5 // bic w5, w5, w17 + WORD $0x2b0f00af // adds w15, w5, w15 + WORD $0x1a9f37e5 // cset w5, hs + WORD $0x4a0f060f // eor w15, w16, w15, lsl #1 + WORD $0x0a1101ef // and w15, w15, w17 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0x2a2f03ef // mvn w15, w15 + WORD $0x8a1501f5 // and x21, x15, x21 + WORD $0x14000002 // b LBB0_290 $8(%rip) +LBB0_289: + WORD $0xd2800005 // mov x5, #0 LBB0_290: - WORD $0x35004587 // cbnz w7, LBB0_429 $2224(%rip) - WORD $0x9100839c // add x28, x28, #32 - WORD $0xaa1503f4 // mov x20, x21 -LBB0_292: - WORD $0xb5002bc5 // cbnz x5, LBB0_372 $1400(%rip) - WORD $0xb4003914 // cbz x20, LBB0_398 $1824(%rip) + WORD $0xb50001d5 // cbnz x21, LBB0_294 $56(%rip) + WORD $0x910081ce // add x14, x14, #32 + WORD $0xd1008273 // sub x19, x19, #32 + WORD $0x8b13000f // add x15, x0, x19 + WORD $0xf100fdff // cmp x15, #63 + WORD $0x54fffa4c // b.gt LBB0_287 $-184(%rip) + WORD $0xb5008585 // cbnz x5, LBB0_516 $4272(%rip) + WORD $0x8b0e03cf // add x15, lr, x14 + WORD $0x910005e5 // add x5, x15, #1 + WORD $0xaa2e03ee // mvn x14, x14 + WORD $0x8b0001ce // add x14, x14, x0 + WORD $0xf10005df // cmp x14, #1 + WORD $0x54004d0a // b.ge LBB0_422 $2464(%rip) + WORD $0x140004f0 // b LBB0_575 $5056(%rip) LBB0_294: - WORD $0xd2800005 // mov x5, #0 + WORD $0xdac002af // rbit x15, x21 + WORD $0xdac011ef // clz x15, x15 + WORD $0x8b0e010e // add x14, x8, x14 + WORD $0x8b0e01ee // add x14, x15, x14 + WORD $0x910009dc // add x28, x14, #2 + WORD $0x5280008f // mov w15, #4 + WORD $0x17ffffb3 // b LBB0_283 $-308(%rip) LBB0_295: - WORD $0x38656b91 // ldrb w17, [x28, x5] - WORD $0x71008a3f // cmp w17, #34 - WORD $0x540002e0 // b.eq LBB0_301 $92(%rip) - WORD $0x7101723f // cmp w17, #92 - WORD $0x540000e0 // b.eq LBB0_299 $28(%rip) - WORD $0x71007e3f // cmp w17, #31 - WORD $0x54004469 // b.ls LBB0_430 $2188(%rip) - WORD $0x910004a5 // add x5, x5, #1 - WORD $0xeb05029f // cmp x20, x5 - WORD $0x54fffee1 // b.ne LBB0_295 $-36(%rip) - WORD $0x140001bc // b LBB0_398 $1776(%rip) + WORD $0xaa1a03f5 // mov x21, x26 + WORD $0x9280000e // mov x14, #-1 + WORD $0xb5ff8a40 // cbnz x0, LBB0_168 $-3768(%rip) + WORD $0x14000485 // b LBB0_545 $4628(%rip) +LBB0_296: + WORD $0x54009000 // b.eq LBB0_543 $4608(%rip) + WORD $0xf10102df // cmp x22, #64 + WORD $0x54005383 // b.lo LBB0_436 $2672(%rip) + WORD $0xd2800013 // mov x19, #0 + WORD $0x92800000 // mov x0, #-1 LBB0_299: - WORD $0xd1000691 // sub x17, x20, #1 - WORD $0xeb05023f // cmp x17, x5 - WORD $0x54003720 // b.eq LBB0_398 $1764(%rip) - WORD $0x8b050391 // add x17, x28, x5 - WORD $0x8b0c0227 // add x7, x17, x12 - WORD $0xb100051f // cmn x8, #1 - WORD $0x9a8800e8 // csel x8, x7, x8, eq - WORD $0x91000a3c // add x28, x17, #2 - WORD $0xcb050291 // sub x17, x20, x5 - WORD $0xd1000a87 // sub x7, x20, #2 - WORD $0xd1000a34 // sub x20, x17, #2 - WORD $0xeb0500ff // cmp x7, x5 - WORD $0x54fffd01 // b.ne LBB0_294 $-96(%rip) - WORD $0x140001ae // b LBB0_398 $1720(%rip) + WORD $0x8b1c036e // add x14, x27, x28 + WORD $0xad4071dd // ldp q29, q28, [x14] + WORD $0xad4169db // ldp q27, q26, [x14, #32] + WORD $0x6e208fbe // cmeq.16b v30, v29, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603ce // fmov w14, s30 + WORD $0x6e208f9e // cmeq.16b v30, v28, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603cf // fmov w15, s30 + WORD $0x6e208f7e // cmeq.16b v30, v27, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d1 // fmov w17, s30 + WORD $0x6e208f5e // cmeq.16b v30, v26, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603c5 // fmov w5, s30 + WORD $0x6e218fbe // cmeq.16b v30, v29, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603c7 // fmov w7, s30 + WORD $0x6e218f9e // cmeq.16b v30, v28, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d4 // fmov w20, s30 + WORD $0x6e218f7e // cmeq.16b v30, v27, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d5 // fmov w21, s30 + WORD $0x6e218f5e // cmeq.16b v30, v26, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d7 // fmov w23, s30 + WORD $0xd3607e31 // lsl x17, x17, #32 + WORD $0xaa05c231 // orr x17, x17, x5, lsl #48 + WORD $0x53103def // lsl w15, w15, #16 + WORD $0xaa0f022f // orr x15, x17, x15 + WORD $0xaa0e01ee // orr x14, x15, x14 + WORD $0xd3607eaf // lsl x15, x21, #32 + WORD $0xaa17c1ef // orr x15, x15, x23, lsl #48 + WORD $0x53103e91 // lsl w17, w20, #16 + WORD $0xaa1101ef // orr x15, x15, x17 + WORD $0xaa0701e5 // orr x5, x15, x7 + WORD $0xb5000445 // cbnz x5, LBB0_304 $136(%rip) + WORD $0xb50004d3 // cbnz x19, LBB0_305 $152(%rip) LBB0_301: - WORD $0x8b1c0191 // add x17, x12, x28 - WORD $0x8b050231 // add x17, x17, x5 - WORD $0x17fffd20 // b LBB0_150 $-2944(%rip) -LBB0_302: - WORD $0xcb1803e7 // neg x7, x24 - WORD $0x17fffeee // b LBB0_243 $-1096(%rip) -LBB0_303: - WORD $0x5ac00328 // rbit w8, w25 - WORD $0x5ac01108 // clz w8, w8 - WORD $0xaa2703f1 // mvn x17, x7 - WORD $0xcb080227 // sub x7, x17, x8 - WORD $0x52800073 // mov w19, #3 - WORD $0x17fffee8 // b LBB0_243 $-1120(%rip) + WORD $0x6e3d349d // cmhi.16b v29, v4, v29 + WORD $0x4e221fbd // and.16b v29, v29, v2 + WORD $0x4e0303bd // tbl.16b v29, { v29 }, v3 + WORD $0x4e71bbbd // addv.8h h29, v29 + WORD $0x1e2603af // fmov w15, s29 + WORD $0x6e3c349c // cmhi.16b v28, v4, v28 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260391 // fmov w17, s28 + WORD $0x6e3b349b // cmhi.16b v27, v4, v27 + WORD $0x4e221f7b // and.16b v27, v27, v2 + WORD $0x4e03037b // tbl.16b v27, { v27 }, v3 + WORD $0x4e71bb7b // addv.8h h27, v27 + WORD $0x1e260365 // fmov w5, s27 + WORD $0x6e3a349a // cmhi.16b v26, v4, v26 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260347 // fmov w7, s26 + WORD $0xd3607ca5 // lsl x5, x5, #32 + WORD $0xaa07c0a5 // orr x5, x5, x7, lsl #48 + WORD $0x53103e31 // lsl w17, w17, #16 + WORD $0xaa1100b1 // orr x17, x5, x17 + WORD $0xaa0f0225 // orr x5, x17, x15 + WORD $0xb50002ee // cbnz x14, LBB0_306 $92(%rip) + WORD $0xb50086a5 // cbnz x5, LBB0_549 $4308(%rip) + WORD $0xd10102d6 // sub x22, x22, #64 + WORD $0x9101039c // add x28, x28, #64 + WORD $0xf100fedf // cmp x22, #63 + WORD $0x54fff568 // b.hi LBB0_299 $-340(%rip) + WORD $0x14000218 // b LBB0_428 $2144(%rip) LBB0_304: - WORD $0x8b1c013c // add x28, x9, x28 - WORD $0x1400000a // b LBB0_308 $40(%rip) + WORD $0xb100041f // cmn x0, #1 + WORD $0xdac000af // rbit x15, x5 + WORD $0xdac011ef // clz x15, x15 + WORD $0x8b1c01ef // add x15, x15, x28 + WORD $0x9a8f1000 // csel x0, x0, x15, ne LBB0_305: - WORD $0x8b1c013c // add x28, x9, x28 - WORD $0x1400002c // b LBB0_314 $176(%rip) + WORD $0x8a3300af // bic x15, x5, x19 + WORD $0xaa0f0671 // orr x17, x19, x15, lsl #1 + WORD $0x8a3100a5 // bic x5, x5, x17 + WORD $0x9201f0a5 // and x5, x5, #0xaaaaaaaaaaaaaaaa + WORD $0xab0f00af // adds x15, x5, x15 + WORD $0x1a9f37f3 // cset w19, hs + WORD $0xd37ff9ef // lsl x15, x15, #1 + WORD $0xd200f1ef // eor x15, x15, #0x5555555555555555 + WORD $0x8a1101ef // and x15, x15, x17 + WORD $0x8a2f01ce // bic x14, x14, x15 + WORD $0x17ffffd1 // b LBB0_301 $-188(%rip) LBB0_306: - WORD $0xaa2703e8 // mvn x8, x7 - WORD $0xcb314107 // sub x7, x8, w17, uxtw - WORD $0x52800073 // mov w19, #3 - WORD $0x17fffee0 // b LBB0_243 $-1152(%rip) -LBB0_307: - WORD $0xd2800005 // mov x5, #0 - WORD $0x8b1c013c // add x28, x9, x28 - WORD $0x92800008 // mov x8, #-1 + WORD $0xdac001ce // rbit x14, x14 + WORD $0xdac011ce // clz x14, x14 + WORD $0xdac000af // rbit x15, x5 + WORD $0xdac011e5 // clz x5, x15 + WORD $0xeb0e00bf // cmp x5, x14 + WORD $0x52800067 // mov w7, #3 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0x54008d83 // b.lo LBB0_572 $4528(%rip) + WORD $0x8b1c01ce // add x14, x14, x28 + WORD $0x910005dc // add x28, x14, #1 + WORD $0x5280008f // mov w15, #4 + WORD $0xb6ffe6fc // tbz x28, #63, LBB0_283 $-804(%rip) + WORD $0x14000406 // b LBB0_542 $4120(%rip) LBB0_308: - WORD $0xf1008287 // subs x7, x20, #32 - WORD $0x540028e3 // b.lo LBB0_377 $1308(%rip) - WORD $0xad405794 // ldp q20, q21, [x28] - WORD $0x6e208e96 // cmeq.16b v22, v20, v0 - WORD $0x6e208eb7 // cmeq.16b v23, v21, v0 - WORD $0x6e218e94 // cmeq.16b v20, v20, v1 - WORD $0x6e218eb5 // cmeq.16b v21, v21, v1 - WORD $0x4e221ed6 // and.16b v22, v22, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602d4 // fmov w20, s22 - WORD $0x4e221ef6 // and.16b v22, v23, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602d1 // fmov w17, s22 - WORD $0x4e221e94 // and.16b v20, v20, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260295 // fmov w21, s20 - WORD $0x4e221eb4 // and.16b v20, v21, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260284 // fmov w4, s20 - WORD $0x33103e34 // bfi w20, w17, #16, #16 - WORD $0x33103c95 // bfi w21, w4, #16, #16 - WORD $0x35002375 // cbnz w21, LBB0_374 $1132(%rip) - WORD $0xb5002405 // cbnz x5, LBB0_375 $1152(%rip) - WORD $0xb4002574 // cbz x20, LBB0_376 $1196(%rip) -LBB0_312: - WORD $0xdac00291 // rbit x17, x20 - WORD $0xdac01231 // clz x17, x17 - WORD $0xcb090384 // sub x4, x28, x9 - WORD $0x8b110091 // add x17, x4, x17 - WORD $0x14000055 // b LBB0_332 $340(%rip) -LBB0_313: + WORD $0x3940040e // ldrb w14, [x0, #1] + WORD $0x5100b9ce // sub w14, w14, #46 + WORD $0x7100dddf // cmp w14, #55 + WORD $0x54ff77e8 // b.hi LBB0_160 $-4356(%rip) + WORD $0x9ace218f // lsl x15, x12, x14 + WORD $0x5280002e // mov w14, #1 + WORD $0xb20903e5 // mov x5, #36028797027352576 + WORD $0xf2800025 // movk x5, #1 + WORD $0xea0501ff // tst x15, x5 + WORD $0x5280008f // mov w15, #4 + WORD $0x54ffe540 // b.eq LBB0_282 $-856(%rip) +LBB0_310: + WORD $0xf10042bf // cmp x21, #16 + WORD $0x54004f23 // b.lo LBB0_458 $2532(%rip) WORD $0xd2800005 // mov x5, #0 - WORD $0x8b1c013c // add x28, x9, x28 - WORD $0x92800008 // mov x8, #-1 -LBB0_314: - WORD $0xf1008295 // subs x21, x20, #32 - WORD $0x54000643 // b.lo LBB0_322 $200(%rip) - WORD $0xad405395 // ldp q21, q20, [x28] - WORD $0x6e208eb6 // cmeq.16b v22, v21, v0 - WORD $0x4e221ed6 // and.16b v22, v22, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602d4 // fmov w20, s22 - WORD $0x6e208e96 // cmeq.16b v22, v20, v0 - WORD $0x4e221ed6 // and.16b v22, v22, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602d1 // fmov w17, s22 - WORD $0x6e218eb6 // cmeq.16b v22, v21, v1 - WORD $0x4e221ed6 // and.16b v22, v22, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602c7 // fmov w7, s22 - WORD $0x6e218e96 // cmeq.16b v22, v20, v1 - WORD $0x4e221ed6 // and.16b v22, v22, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602c4 // fmov w4, s22 - WORD $0x33103e34 // bfi w20, w17, #16, #16 - WORD $0x33103c87 // bfi w7, w4, #16, #16 - WORD $0x350024e7 // cbnz w7, LBB0_386 $1180(%rip) - WORD $0xb5002585 // cbnz x5, LBB0_387 $1200(%rip) -LBB0_317: - WORD $0x6e353495 // cmhi.16b v21, v4, v21 - WORD $0x4e221eb5 // and.16b v21, v21, v2 - WORD $0x4e0302b5 // tbl.16b v21, { v21 }, v3 - WORD $0x4e71bab5 // addv.8h h21, v21 - WORD $0x1e2602a7 // fmov w7, s21 - WORD $0x6e343494 // cmhi.16b v20, v4, v20 - WORD $0x4e221e94 // and.16b v20, v20, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260291 // fmov w17, s20 - WORD $0x33103e27 // bfi w7, w17, #16, #16 - WORD $0xdac000f1 // rbit x17, x7 - WORD $0xdac01231 // clz x17, x17 - WORD $0xb4000114 // cbz x20, LBB0_320 $32(%rip) - WORD $0xdac00284 // rbit x4, x20 - WORD $0xdac01087 // clz x7, x4 - WORD $0xcb090385 // sub x5, x28, x9 - WORD $0xeb07023f // cmp x17, x7 - WORD $0x54003483 // b.lo LBB0_428 $1680(%rip) - WORD $0x8b0700b1 // add x17, x5, x7 - WORD $0x14000022 // b LBB0_332 $136(%rip) -LBB0_320: - WORD $0x35003467 // cbnz w7, LBB0_429 $1676(%rip) - WORD $0x9100839c // add x28, x28, #32 - WORD $0xaa1503f4 // mov x20, x21 -LBB0_322: - WORD $0xb5002505 // cbnz x5, LBB0_391 $1184(%rip) - WORD $0xb40027f4 // cbz x20, LBB0_398 $1276(%rip) + WORD $0xd280000e // mov x14, #0 + WORD $0x92800013 // mov x19, #-1 + WORD $0x9280001e // mov lr, #-1 + WORD $0x92800016 // mov x22, #-1 +LBB0_312: + WORD $0x3cee681a // ldr q26, [x0, x14] + WORD $0x6e258f5b // cmeq.16b v27, v26, v5 + WORD $0x6e268f5c // cmeq.16b v28, v26, v6 + WORD $0x6e278f5d // cmeq.16b v29, v26, v7 + WORD $0x4e30875e // add.16b v30, v26, v16 + WORD $0x6e3e363e // cmhi.16b v30, v17, v30 + WORD $0x4e321f5a // and.16b v26, v26, v18 + WORD $0x6e338f5a // cmeq.16b v26, v26, v19 + WORD $0x4ebd1f9c // orr.16b v28, v28, v29 + WORD $0x4ebb1fdd // orr.16b v29, v30, v27 + WORD $0x4ebc1f5e // orr.16b v30, v26, v28 + WORD $0x4ebe1fbd // orr.16b v29, v29, v30 + WORD $0x4e221f7b // and.16b v27, v27, v2 + WORD $0x4e03037b // tbl.16b v27, { v27 }, v3 + WORD $0x4e71bb7b // addv.8h h27, v27 + WORD $0x1e26036f // fmov w15, s27 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260354 // fmov w20, s26 + WORD $0x4e221f9a // and.16b v26, v28, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260357 // fmov w23, s26 + WORD $0x4e221fba // and.16b v26, v29, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260358 // fmov w24, s26 + WORD $0x2a3803f8 // mvn w24, w24 + WORD $0x32103f18 // orr w24, w24, #0xffff0000 + WORD $0x5ac00318 // rbit w24, w24 + WORD $0x5ac0131a // clz w26, w24 + WORD $0x12800011 // mov w17, #-1 + WORD $0x1ada2238 // lsl w24, w17, w26 + WORD $0x0a3801f9 // bic w25, w15, w24 + WORD $0x0a380291 // bic w17, w20, w24 + WORD $0x0a3802e7 // bic w7, w23, w24 + WORD $0x7100435f // cmp w26, #16 + WORD $0x1a9901f8 // csel w24, w15, w25, eq + WORD $0x1a910294 // csel w20, w20, w17, eq + WORD $0x1a8702f9 // csel w25, w23, w7, eq + WORD $0x5100070f // sub w15, w24, #1 + WORD $0x6a1801f7 // ands w23, w15, w24 + WORD $0x54003381 // b.ne LBB0_420 $1648(%rip) + WORD $0x5100068f // sub w15, w20, #1 + WORD $0x6a1401f7 // ands w23, w15, w20 + WORD $0x54003321 // b.ne LBB0_420 $1636(%rip) + WORD $0x5100072f // sub w15, w25, #1 + WORD $0x6a1901f7 // ands w23, w15, w25 + WORD $0x540032c1 // b.ne LBB0_420 $1624(%rip) + WORD $0x340000d8 // cbz w24, LBB0_318 $24(%rip) + WORD $0x5ac0030f // rbit w15, w24 + WORD $0x5ac011f8 // clz w24, w15 + WORD $0xb10006df // cmn x22, #1 + WORD $0x54004721 // b.ne LBB0_457 $2276(%rip) + WORD $0x8b1801d6 // add x22, x14, x24 +LBB0_318: + WORD $0x340000d4 // cbz w20, LBB0_321 $24(%rip) + WORD $0x5ac0028f // rbit w15, w20 + WORD $0x5ac011f4 // clz w20, w15 + WORD $0xb10007df // cmn lr, #1 + WORD $0x540035c1 // b.ne LBB0_429 $1720(%rip) + WORD $0x8b1401de // add lr, x14, x20 +LBB0_321: + WORD $0x340000d9 // cbz w25, LBB0_324 $24(%rip) + WORD $0x5ac0032f // rbit w15, w25 + WORD $0x5ac011f4 // clz w20, w15 + WORD $0xb100067f // cmn x19, #1 + WORD $0x54003501 // b.ne LBB0_429 $1696(%rip) + WORD $0x8b1401d3 // add x19, x14, x20 LBB0_324: - WORD $0xd2800005 // mov x5, #0 -LBB0_325: - WORD $0x38656b91 // ldrb w17, [x28, x5] - WORD $0x71008a3f // cmp w17, #34 - WORD $0x540002e0 // b.eq LBB0_331 $92(%rip) - WORD $0x7101723f // cmp w17, #92 - WORD $0x540000e0 // b.eq LBB0_329 $28(%rip) - WORD $0x71007e3f // cmp w17, #31 - WORD $0x54003349 // b.ls LBB0_430 $1640(%rip) - WORD $0x910004a5 // add x5, x5, #1 - WORD $0xeb05029f // cmp x20, x5 - WORD $0x54fffee1 // b.ne LBB0_325 $-36(%rip) - WORD $0x14000133 // b LBB0_398 $1228(%rip) -LBB0_329: - WORD $0xd1000691 // sub x17, x20, #1 - WORD $0xeb05023f // cmp x17, x5 - WORD $0x54002600 // b.eq LBB0_398 $1216(%rip) - WORD $0x8b050391 // add x17, x28, x5 - WORD $0x8b0c0224 // add x4, x17, x12 - WORD $0xb100051f // cmn x8, #1 - WORD $0x9a880088 // csel x8, x4, x8, eq - WORD $0x91000a3c // add x28, x17, #2 - WORD $0xcb050291 // sub x17, x20, x5 - WORD $0xd1000a84 // sub x4, x20, #2 - WORD $0xd1000a34 // sub x20, x17, #2 - WORD $0xeb05009f // cmp x4, x5 - WORD $0x54fffd01 // b.ne LBB0_324 $-96(%rip) - WORD $0x14000125 // b LBB0_398 $1172(%rip) + WORD $0x7100435f // cmp w26, #16 + WORD $0x54000601 // b.ne LBB0_342 $192(%rip) + WORD $0x910041ce // add x14, x14, #16 + WORD $0xd10040a5 // sub x5, x5, #16 + WORD $0x8b0502ba // add x26, x21, x5 + WORD $0xf1003f5f // cmp x26, #15 + WORD $0x54fff6c8 // b.hi LBB0_312 $-296(%rip) + WORD $0x8b0e0005 // add x5, x0, x14 + WORD $0xeb0e02bf // cmp x21, x14 + WORD $0x52800067 // mov w7, #3 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0x54000540 // b.eq LBB0_343 $168(%rip) +LBB0_327: + WORD $0x8b1a00ae // add x14, x5, x26 + WORD $0xcb0800af // sub x15, x5, x8 + WORD $0xcb1b01f5 // sub x21, x15, x27 + WORD $0xaa0503fb // mov x27, x5 + WORD $0x14000008 // b LBB0_331 $32(%rip) +LBB0_328: + WORD $0xb100067f // cmn x19, #1 + WORD $0x54002da1 // b.ne LBB0_419 $1460(%rip) + WORD $0xd10006b3 // sub x19, x21, #1 +LBB0_330: + WORD $0x910006b5 // add x21, x21, #1 + WORD $0xaa1b03e5 // mov x5, x27 + WORD $0xd100075a // sub x26, x26, #1 + WORD $0xb4000b3a // cbz x26, LBB0_363 $356(%rip) LBB0_331: - WORD $0x8b1c0191 // add x17, x12, x28 - WORD $0x8b050231 // add x17, x17, x5 -LBB0_332: - WORD $0x9100063c // add x28, x17, #1 - WORD $0x52800073 // mov w19, #3 - WORD $0x17fffbf6 // b LBB0_122 $-4136(%rip) -LBB0_333: - WORD $0x92800008 // mov x8, #-1 - WORD $0xaa1e03f6 // mov x22, lr - WORD $0xaa1503f7 // mov x23, x21 - WORD $0x92800005 // mov x5, #-1 - WORD $0x92800014 // mov x20, #-1 - WORD $0x17fffb21 // b LBB0_82 $-4988(%rip) -LBB0_334: - WORD $0xaa2703e8 // mvn x8, x7 - WORD $0xcb3a4107 // sub x7, x8, w26, uxtw - WORD $0x52800073 // mov w19, #3 - WORD $0x17fffe5b // b LBB0_243 $-1684(%rip) -LBB0_335: - WORD $0x92800014 // mov x20, #-1 - WORD $0xaa0803f6 // mov x22, x8 - WORD $0xaa1803f5 // mov x21, x24 - WORD $0x92800005 // mov x5, #-1 - WORD $0x9280001e // mov lr, #-1 - WORD $0x52800073 // mov w19, #3 - WORD $0x17fffe0f // b LBB0_215 $-1988(%rip) -LBB0_336: - WORD $0xdac002b1 // rbit x17, x21 - WORD $0xdac01231 // clz x17, x17 - WORD $0xcb090396 // sub x22, x28, x9 - WORD $0x8b1102d1 // add x17, x22, x17 - WORD $0xb100051f // cmn x8, #1 - WORD $0x9a911108 // csel x8, x8, x17, ne -LBB0_337: - WORD $0x0a2502b1 // bic w17, w21, w5 - WORD $0x531f7a36 // lsl w22, w17, #1 - WORD $0x331f7a25 // bfi w5, w17, #1, #31 - WORD $0x0a3602b5 // bic w21, w21, w22 - WORD $0x1201f2b5 // and w21, w21, #0xaaaaaaaa - WORD $0x2b1102b1 // adds w17, w21, w17 - WORD $0x4a1104d1 // eor w17, w6, w17, lsl #1 - WORD $0x0a050231 // and w17, w17, w5 - WORD $0x1a9f37e5 // cset w5, hs - WORD $0x2a3103f1 // mvn w17, w17 - WORD $0x8a140234 // and x20, x17, x20 - WORD $0x52800073 // mov w19, #3 - WORD $0xb5ffcf74 // cbnz x20, LBB0_255 $-1556(%rip) + WORD $0x38401774 // ldrb w20, [x27], #1 + WORD $0x5100c28f // sub w15, w20, #48 + WORD $0x710029ff // cmp w15, #10 + WORD $0x54ffff23 // b.lo LBB0_330 $-28(%rip) + WORD $0x7100b69f // cmp w20, #45 + WORD $0x5400016d // b.le LBB0_338 $44(%rip) + WORD $0x7101969f // cmp w20, #101 + WORD $0x540001c0 // b.eq LBB0_340 $56(%rip) + WORD $0x7101169f // cmp w20, #69 + WORD $0x54000180 // b.eq LBB0_340 $48(%rip) + WORD $0x7100ba9f // cmp w20, #46 + WORD $0x54000241 // b.ne LBB0_343 $72(%rip) + WORD $0xb10006df // cmn x22, #1 + WORD $0x54002b41 // b.ne LBB0_419 $1384(%rip) + WORD $0xd10006b6 // sub x22, x21, #1 + WORD $0x17ffffed // b LBB0_330 $-76(%rip) LBB0_338: - WORD $0x9100839c // add x28, x28, #32 - WORD $0xaa0703f4 // mov x20, x7 -LBB0_339: - WORD $0xb5000ec5 // cbnz x5, LBB0_366 $472(%rip) - WORD $0xb4000314 // cbz x20, LBB0_348 $96(%rip) -LBB0_341: - WORD $0xaa1c03e7 // mov x7, x28 - WORD $0x384014e5 // ldrb w5, [x7], #1 - WORD $0x710088bf // cmp w5, #34 - WORD $0x54000260 // b.eq LBB0_347 $76(%rip) - WORD $0xd1000691 // sub x17, x20, #1 - WORD $0x710170bf // cmp w5, #92 - WORD $0x540000a0 // b.eq LBB0_344 $20(%rip) - WORD $0xaa0703fc // mov x28, x7 - WORD $0xaa1103f4 // mov x20, x17 - WORD $0xb5fffef1 // cbnz x17, LBB0_341 $-36(%rip) - WORD $0x14000009 // b LBB0_346 $36(%rip) + WORD $0x7100ae9f // cmp w20, #43 + WORD $0x54fffd00 // b.eq LBB0_328 $-96(%rip) + WORD $0x7100b69f // cmp w20, #45 + WORD $0x54fffcc0 // b.eq LBB0_328 $-104(%rip) + WORD $0x14000009 // b LBB0_343 $36(%rip) +LBB0_340: + WORD $0xb10007df // cmn lr, #1 + WORD $0x54002a21 // b.ne LBB0_419 $1348(%rip) + WORD $0xd10006be // sub lr, x21, #1 + WORD $0x17ffffe4 // b LBB0_330 $-112(%rip) +LBB0_342: + WORD $0x8b3a400f // add x15, x0, w26, uxtw + WORD $0x8b0e01e5 // add x5, x15, x14 + WORD $0x52800067 // mov w7, #3 + WORD $0x92f00011 // mov x17, #9223372036854775807 +LBB0_343: + WORD $0x9280000e // mov x14, #-1 + WORD $0xb4007a96 // cbz x22, LBB0_569 $3920(%rip) LBB0_344: - WORD $0xb4001d91 // cbz x17, LBB0_398 $944(%rip) - WORD $0x8b0b00f1 // add x17, x7, x11 - WORD $0xb100051f // cmn x8, #1 - WORD $0x9a880228 // csel x8, x17, x8, eq - WORD $0x91000b9c // add x28, x28, #2 - WORD $0xd1000a91 // sub x17, x20, #2 - WORD $0xaa1103f4 // mov x20, x17 - WORD $0xb5fffdd1 // cbnz x17, LBB0_341 $-72(%rip) -LBB0_346: - WORD $0x710088bf // cmp w5, #34 - WORD $0x54000060 // b.eq LBB0_348 $12(%rip) - WORD $0x140000e2 // b LBB0_398 $904(%rip) -LBB0_347: - WORD $0xaa0703fc // mov x28, x7 -LBB0_348: - WORD $0xcb09039c // sub x28, x28, x9 - WORD $0x17fffbb5 // b LBB0_122 $-4396(%rip) -LBB0_349: - WORD $0xdac000f1 // rbit x17, x7 - WORD $0xdac01231 // clz x17, x17 - WORD $0xcb090396 // sub x22, x28, x9 - WORD $0x8b1102d1 // add x17, x22, x17 - WORD $0xb100051f // cmn x8, #1 - WORD $0x9a911108 // csel x8, x8, x17, ne -LBB0_350: - WORD $0x0a2500f1 // bic w17, w7, w5 - WORD $0x531f7a36 // lsl w22, w17, #1 - WORD $0x331f7a25 // bfi w5, w17, #1, #31 - WORD $0x0a3600e7 // bic w7, w7, w22 - WORD $0x1201f0e7 // and w7, w7, #0xaaaaaaaa - WORD $0x2b1100f1 // adds w17, w7, w17 - WORD $0x4a1104d1 // eor w17, w6, w17, lsl #1 - WORD $0x0a050231 // and w17, w17, w5 - WORD $0x1a9f37e5 // cset w5, hs - WORD $0x2a3103f1 // mvn w17, w17 - WORD $0x8a140234 // and x20, x17, x20 - WORD $0x52800073 // mov w19, #3 - WORD $0x17fffe6e // b LBB0_260 $-1608(%rip) + WORD $0x5280008f // mov w15, #4 + WORD $0xb4007a53 // cbz x19, LBB0_569 $3912(%rip) + WORD $0xb4007a3e // cbz lr, LBB0_569 $3908(%rip) + WORD $0xcb0000ae // sub x14, x5, x0 + WORD $0xd10005c0 // sub x0, x14, #1 + WORD $0xeb0002df // cmp x22, x0 + WORD $0x54000300 // b.eq LBB0_355 $96(%rip) + WORD $0xeb00027f // cmp x19, x0 + WORD $0x540002c0 // b.eq LBB0_355 $88(%rip) + WORD $0xeb0003df // cmp lr, x0 + WORD $0x54000280 // b.eq LBB0_355 $80(%rip) + WORD $0xf1000660 // subs x0, x19, #1 + WORD $0x5400006b // b.lt LBB0_351 $12(%rip) + WORD $0xeb0003df // cmp lr, x0 + WORD $0x540078c1 // b.ne LBB0_570 $3864(%rip) LBB0_351: - WORD $0xdac002b1 // rbit x17, x21 - WORD $0xdac01231 // clz x17, x17 - WORD $0xcb090396 // sub x22, x28, x9 - WORD $0x8b1102d1 // add x17, x22, x17 - WORD $0xb100051f // cmn x8, #1 - WORD $0x9a911108 // csel x8, x8, x17, ne -LBB0_352: - WORD $0x0a2502b1 // bic w17, w21, w5 - WORD $0x531f7a36 // lsl w22, w17, #1 - WORD $0x331f7a25 // bfi w5, w17, #1, #31 - WORD $0x0a3602b5 // bic w21, w21, w22 - WORD $0x1201f2b5 // and w21, w21, #0xaaaaaaaa - WORD $0x2b1102b1 // adds w17, w21, w17 - WORD $0x4a110491 // eor w17, w4, w17, lsl #1 - WORD $0x0a050231 // and w17, w17, w5 - WORD $0x1a9f37e5 // cset w5, hs - WORD $0x2a3103f1 // mvn w17, w17 - WORD $0x8a140234 // and x20, x17, x20 - WORD $0x52800073 // mov w19, #3 - WORD $0xb5ffd6b4 // cbnz x20, LBB0_282 $-1324(%rip) + WORD $0xaa1e02c0 // orr x0, x22, lr + WORD $0xb7f80060 // tbnz x0, #63, LBB0_353 $12(%rip) + WORD $0xeb1e02df // cmp x22, lr + WORD $0x5400788a // b.ge LBB0_571 $3856(%rip) LBB0_353: - WORD $0x9100839c // add x28, x28, #32 - WORD $0xaa0703f4 // mov x20, x7 + WORD $0xd37ffc0f // lsr x15, x0, #63 + WORD $0x520001ef // eor w15, w15, #0x1 + WORD $0xd10007d1 // sub x17, lr, #1 + WORD $0xeb1102df // cmp x22, x17 + WORD $0x1a9f17f1 // cset w17, eq + WORD $0x6a1101ff // tst w15, w17 + WORD $0xda9e01ce // csinv x14, x14, lr, eq LBB0_354: - WORD $0xb5000865 // cbnz x5, LBB0_370 $268(%rip) - WORD $0xb4000314 // cbz x20, LBB0_363 $96(%rip) + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0xb6ffd16e // tbz x14, #63, LBB0_282 $-1492(%rip) + WORD $0x140003b6 // b LBB0_569 $3800(%rip) +LBB0_355: + WORD $0xcb0e03ee // neg x14, x14 + WORD $0xb6ffd10e // tbz x14, #63, LBB0_282 $-1504(%rip) + WORD $0x140003b3 // b LBB0_569 $3788(%rip) LBB0_356: - WORD $0xaa1c03e7 // mov x7, x28 - WORD $0x384014e5 // ldrb w5, [x7], #1 - WORD $0x710088bf // cmp w5, #34 - WORD $0x54000260 // b.eq LBB0_362 $76(%rip) - WORD $0xd1000691 // sub x17, x20, #1 - WORD $0x710170bf // cmp w5, #92 - WORD $0x540000a0 // b.eq LBB0_359 $20(%rip) - WORD $0xaa0703fc // mov x28, x7 - WORD $0xaa1103f4 // mov x20, x17 - WORD $0xb5fffef1 // cbnz x17, LBB0_356 $-36(%rip) - WORD $0x14000009 // b LBB0_361 $36(%rip) + WORD $0xb5003be5 // cbnz x5, LBB0_459 $1916(%rip) + WORD $0x8b0e03c5 // add x5, lr, x14 + WORD $0x910004a5 // add x5, x5, #1 + WORD $0xaa2e03ee // mvn x14, x14 + WORD $0x8b0001ce // add x14, x14, x0 + WORD $0xf10005df // cmp x14, #1 + WORD $0x54003d8a // b.ge LBB0_462 $1968(%rip) + WORD $0x140003b6 // b LBB0_575 $3800(%rip) +LBB0_358: + WORD $0x5ac002ee // rbit w14, w23 + WORD $0x5ac011ce // clz w14, w14 + WORD $0xaa3c03ef // mvn x15, x28 + WORD $0xcb0e01ee // sub x14, x15, x14 + WORD $0x17fffb39 // b LBB0_179 $-4892(%rip) LBB0_359: - WORD $0xb4001531 // cbz x17, LBB0_398 $676(%rip) - WORD $0x8b0b00f1 // add x17, x7, x11 - WORD $0xb100051f // cmn x8, #1 - WORD $0x9a880228 // csel x8, x17, x8, eq - WORD $0x91000b9c // add x28, x28, #2 - WORD $0xd1000a91 // sub x17, x20, #2 - WORD $0xaa1103f4 // mov x20, x17 - WORD $0xb5fffdd1 // cbnz x17, LBB0_356 $-72(%rip) + WORD $0xaa3c03ee // mvn x14, x28 + WORD $0xcb3441ce // sub x14, x14, w20, uxtw + WORD $0x17fffb36 // b LBB0_179 $-4904(%rip) +LBB0_360: + WORD $0x8b1c0365 // add x5, x27, x28 + WORD $0xf10005df // cmp x14, #1 + WORD $0x54003c0a // b.ge LBB0_462 $1920(%rip) + WORD $0x140003aa // b LBB0_575 $3752(%rip) LBB0_361: - WORD $0x710088bf // cmp w5, #34 - WORD $0x54000060 // b.eq LBB0_363 $12(%rip) - WORD $0x1400009f // b LBB0_398 $636(%rip) + WORD $0x8b1c037c // add x28, x27, x28 + WORD $0x1400000e // b LBB0_366 $56(%rip) LBB0_362: - WORD $0xaa0703fc // mov x28, x7 + WORD $0x8b1c037c // add x28, x27, x28 + WORD $0x14000032 // b LBB0_372 $200(%rip) LBB0_363: - WORD $0xcb09039c // sub x28, x28, x9 - WORD $0x52800084 // mov w4, #4 - WORD $0x92f00006 // mov x6, #9223372036854775807 - WORD $0xb20903e7 // mov x7, #36028797027352576 - WORD $0xf2800027 // movk x7, #1 - WORD $0xb6ff827c // tbz x28, #63, LBB0_151 $-4020(%rip) - WORD $0x14000095 // b LBB0_397 $596(%rip) + WORD $0xaa0e03e5 // mov x5, x14 + WORD $0x9280000e // mov x14, #-1 + WORD $0xb5fff8b6 // cbnz x22, LBB0_344 $-236(%rip) + WORD $0x14000397 // b LBB0_569 $3676(%rip) LBB0_364: - WORD $0xdac000f1 // rbit x17, x7 - WORD $0xdac01231 // clz x17, x17 - WORD $0xcb090396 // sub x22, x28, x9 - WORD $0x8b1102d1 // add x17, x22, x17 - WORD $0xb100051f // cmn x8, #1 - WORD $0x9a911108 // csel x8, x8, x17, ne + WORD $0x8b1c0365 // add x5, x27, x28 + WORD $0xf10005df // cmp x14, #1 + WORD $0x54003eca // b.ge LBB0_469 $2008(%rip) + WORD $0x1400039e // b LBB0_575 $3704(%rip) LBB0_365: - WORD $0x0a2500f1 // bic w17, w7, w5 - WORD $0x531f7a36 // lsl w22, w17, #1 - WORD $0x331f7a25 // bfi w5, w17, #1, #31 - WORD $0x0a3600e7 // bic w7, w7, w22 - WORD $0x1201f0e7 // and w7, w7, #0xaaaaaaaa - WORD $0x2b1100f1 // adds w17, w7, w17 - WORD $0x4a110491 // eor w17, w4, w17, lsl #1 - WORD $0x0a050231 // and w17, w17, w5 - WORD $0x1a9f37e5 // cset w5, hs - WORD $0x2a3103f1 // mvn w17, w17 - WORD $0x8a140234 // and x20, x17, x20 - WORD $0x52800073 // mov w19, #3 - WORD $0x17fffea3 // b LBB0_287 $-1396(%rip) + WORD $0xd2800013 // mov x19, #0 + WORD $0x8b1c037c // add x28, x27, x28 + WORD $0x92800000 // mov x0, #-1 LBB0_366: - WORD $0xb4001074 // cbz x20, LBB0_398 $524(%rip) - WORD $0x8b0b0391 // add x17, x28, x11 - WORD $0xb100051f // cmn x8, #1 - WORD $0x9a880228 // csel x8, x17, x8, eq - WORD $0x9100079c // add x28, x28, #1 - WORD $0xd1000694 // sub x20, x20, #1 - WORD $0xb5fff0d4 // cbnz x20, LBB0_341 $-488(%rip) - WORD $0x17ffff9c // b LBB0_348 $-400(%rip) -LBB0_368: - WORD $0xb4000f74 // cbz x20, LBB0_398 $492(%rip) - WORD $0x8b0b0391 // add x17, x28, x11 - WORD $0xb100051f // cmn x8, #1 - WORD $0x9a880228 // csel x8, x17, x8, eq - WORD $0x9100079c // add x28, x28, #1 - WORD $0xd1000694 // sub x20, x20, #1 - WORD $0xb5ffc634 // cbnz x20, LBB0_267 $-1852(%rip) - WORD $0x14000074 // b LBB0_398 $464(%rip) + WORD $0xf10082ce // subs x14, x22, #32 + WORD $0x54004363 // b.lo LBB0_476 $2156(%rip) + WORD $0xad406f9a // ldp q26, q27, [x28] + WORD $0x6e208f5c // cmeq.16b v28, v26, v0 + WORD $0x6e208f7d // cmeq.16b v29, v27, v0 + WORD $0x6e218f5a // cmeq.16b v26, v26, v1 + WORD $0x6e218f7b // cmeq.16b v27, v27, v1 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260385 // fmov w5, s28 + WORD $0x4e221fbc // and.16b v28, v29, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260394 // fmov w20, s28 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260355 // fmov w21, s26 + WORD $0x4e221f7a // and.16b v26, v27, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260356 // fmov w22, s26 + WORD $0x33103e85 // bfi w5, w20, #16, #16 + WORD $0x33103ed5 // bfi w21, w22, #16, #16 + WORD $0x35003d75 // cbnz w21, LBB0_473 $1964(%rip) + WORD $0xb5003e13 // cbnz x19, LBB0_474 $1984(%rip) + WORD $0xb4003fe5 // cbz x5, LBB0_475 $2044(%rip) LBB0_370: - WORD $0xb4000e74 // cbz x20, LBB0_398 $460(%rip) - WORD $0x8b0b0391 // add x17, x28, x11 - WORD $0xb100051f // cmn x8, #1 - WORD $0x9a880228 // csel x8, x17, x8, eq - WORD $0x9100079c // add x28, x28, #1 - WORD $0xd1000694 // sub x20, x20, #1 - WORD $0xb5fff734 // cbnz x20, LBB0_356 $-284(%rip) - WORD $0x17ffffcf // b LBB0_363 $-196(%rip) + WORD $0xdac000ae // rbit x14, x5 + WORD $0xdac011ce // clz x14, x14 + WORD $0xcb1b0385 // sub x5, x28, x27 + WORD $0x8b0e00ae // add x14, x5, x14 + WORD $0x910005dc // add x28, x14, #1 + WORD $0xb6ffc87c // tbz x28, #63, LBB0_283 $-1780(%rip) + WORD $0x14000312 // b LBB0_542 $3144(%rip) +LBB0_371: + WORD $0xd2800013 // mov x19, #0 + WORD $0x8b1c037c // add x28, x27, x28 + WORD $0x92800000 // mov x0, #-1 LBB0_372: - WORD $0xb4000d74 // cbz x20, LBB0_398 $428(%rip) - WORD $0x8b0b0391 // add x17, x28, x11 - WORD $0xb100051f // cmn x8, #1 - WORD $0x9a880228 // csel x8, x17, x8, eq - WORD $0x9100079c // add x28, x28, #1 - WORD $0xd1000694 // sub x20, x20, #1 - WORD $0xb5ffd3d4 // cbnz x20, LBB0_294 $-1416(%rip) - WORD $0x14000064 // b LBB0_398 $400(%rip) -LBB0_374: - WORD $0xdac002b1 // rbit x17, x21 - WORD $0xdac01231 // clz x17, x17 - WORD $0xcb090384 // sub x4, x28, x9 - WORD $0x8b110091 // add x17, x4, x17 - WORD $0xb100051f // cmn x8, #1 - WORD $0x9a911108 // csel x8, x8, x17, ne + WORD $0xf10082ce // subs x14, x22, #32 + WORD $0x54000623 // b.lo LBB0_379 $196(%rip) + WORD $0xad406b9b // ldp q27, q26, [x28] + WORD $0x6e208f7c // cmeq.16b v28, v27, v0 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260385 // fmov w5, s28 + WORD $0x6e208f5c // cmeq.16b v28, v26, v0 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260394 // fmov w20, s28 + WORD $0x6e218f7c // cmeq.16b v28, v27, v1 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260395 // fmov w21, s28 + WORD $0x6e218f5c // cmeq.16b v28, v26, v1 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260396 // fmov w22, s28 + WORD $0x33103e85 // bfi w5, w20, #16, #16 + WORD $0x33103ed5 // bfi w21, w22, #16, #16 + WORD $0x35003ff5 // cbnz w21, LBB0_487 $2044(%rip) + WORD $0xb5004093 // cbnz x19, LBB0_488 $2064(%rip) LBB0_375: - WORD $0x0a2502b1 // bic w17, w21, w5 - WORD $0x531f7a24 // lsl w4, w17, #1 - WORD $0x331f7a25 // bfi w5, w17, #1, #31 - WORD $0x0a2402a4 // bic w4, w21, w4 - WORD $0x1201f084 // and w4, w4, #0xaaaaaaaa - WORD $0x2b110091 // adds w17, w4, w17 - WORD $0x4a110711 // eor w17, w24, w17, lsl #1 - WORD $0x0a050231 // and w17, w17, w5 - WORD $0x1a9f37e5 // cset w5, hs - WORD $0x2a3103f1 // mvn w17, w17 - WORD $0x8a140234 // and x20, x17, x20 - WORD $0xb5ffdaf4 // cbnz x20, LBB0_312 $-1188(%rip) -LBB0_376: - WORD $0x9100839c // add x28, x28, #32 - WORD $0xaa0703f4 // mov x20, x7 + WORD $0x6e3b349b // cmhi.16b v27, v4, v27 + WORD $0x4e221f7b // and.16b v27, v27, v2 + WORD $0x4e03037b // tbl.16b v27, { v27 }, v3 + WORD $0x4e71bb7b // addv.8h h27, v27 + WORD $0x1e260375 // fmov w21, s27 + WORD $0x6e3a349a // cmhi.16b v26, v4, v26 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260354 // fmov w20, s26 + WORD $0x33103e95 // bfi w21, w20, #16, #16 + WORD $0xdac002b4 // rbit x20, x21 + WORD $0xdac01294 // clz x20, x20 + WORD $0xb40000e5 // cbz x5, LBB0_377 $28(%rip) + WORD $0xdac000ae // rbit x14, x5 + WORD $0xdac011c5 // clz x5, x14 + WORD $0xcb1b038e // sub x14, x28, x27 + WORD $0xeb05029f // cmp x20, x5 + WORD $0x54000462 // b.hs LBB0_390 $140(%rip) + WORD $0x14000350 // b LBB0_577 $3392(%rip) LBB0_377: - WORD $0xb50005c5 // cbnz x5, LBB0_388 $184(%rip) - WORD $0xb4000694 // cbz x20, LBB0_390 $208(%rip) + WORD $0x35006a55 // cbnz w21, LBB0_578 $3400(%rip) + WORD $0x9100839c // add x28, x28, #32 + WORD $0xaa0e03f6 // mov x22, x14 LBB0_379: - WORD $0xaa1c03e7 // mov x7, x28 - WORD $0x384014e5 // ldrb w5, [x7], #1 - WORD $0x710088bf // cmp w5, #34 - WORD $0x54000280 // b.eq LBB0_385 $80(%rip) - WORD $0xd1000691 // sub x17, x20, #1 - WORD $0x710170bf // cmp w5, #92 - WORD $0x540000a0 // b.eq LBB0_382 $20(%rip) - WORD $0xaa0703fc // mov x28, x7 - WORD $0xaa1103f4 // mov x20, x17 - WORD $0xb5fffef1 // cbnz x17, LBB0_379 $-36(%rip) - WORD $0x14000009 // b LBB0_384 $36(%rip) + WORD $0xb5004a73 // cbnz x19, LBB0_507 $2380(%rip) + WORD $0xb4005bb6 // cbz x22, LBB0_543 $2932(%rip) +LBB0_381: + WORD $0xcb1b03ee // neg x14, x27 LBB0_382: - WORD $0xb4000851 // cbz x17, LBB0_398 $264(%rip) - WORD $0x8b0b00f1 // add x17, x7, x11 - WORD $0xb100051f // cmn x8, #1 - WORD $0x9a880228 // csel x8, x17, x8, eq - WORD $0x91000b9c // add x28, x28, #2 - WORD $0xd1000a91 // sub x17, x20, #2 - WORD $0xaa1103f4 // mov x20, x17 - WORD $0xb5fffdd1 // cbnz x17, LBB0_379 $-72(%rip) -LBB0_384: - WORD $0x710088bf // cmp w5, #34 - WORD $0x52800073 // mov w19, #3 - WORD $0x54ffeb00 // b.eq LBB0_348 $-672(%rip) - WORD $0x14000037 // b LBB0_398 $220(%rip) -LBB0_385: - WORD $0xaa0703fc // mov x28, x7 - WORD $0x52800073 // mov w19, #3 - WORD $0x17ffff54 // b LBB0_348 $-688(%rip) -LBB0_386: - WORD $0xdac000f1 // rbit x17, x7 - WORD $0xdac01231 // clz x17, x17 - WORD $0xcb090384 // sub x4, x28, x9 - WORD $0x8b110091 // add x17, x4, x17 - WORD $0xb100051f // cmn x8, #1 - WORD $0x9a911108 // csel x8, x8, x17, ne + WORD $0xd2800005 // mov x5, #0 +LBB0_383: + WORD $0x38656b93 // ldrb w19, [x28, x5] + WORD $0x71008a7f // cmp w19, #34 + WORD $0x540002e0 // b.eq LBB0_389 $92(%rip) + WORD $0x7101727f // cmp w19, #92 + WORD $0x540000e0 // b.eq LBB0_387 $28(%rip) + WORD $0x71007e7f // cmp w19, #31 + WORD $0x54006929 // b.ls LBB0_579 $3364(%rip) + WORD $0x910004a5 // add x5, x5, #1 + WORD $0xeb0502df // cmp x22, x5 + WORD $0x54fffee1 // b.ne LBB0_383 $-36(%rip) + WORD $0x140002d0 // b LBB0_543 $2880(%rip) LBB0_387: - WORD $0x0a2500f1 // bic w17, w7, w5 - WORD $0x531f7a24 // lsl w4, w17, #1 - WORD $0x331f7a25 // bfi w5, w17, #1, #31 - WORD $0x0a2400e4 // bic w4, w7, w4 - WORD $0x1201f084 // and w4, w4, #0xaaaaaaaa - WORD $0x2b110091 // adds w17, w4, w17 - WORD $0x4a110711 // eor w17, w24, w17, lsl #1 - WORD $0x0a050231 // and w17, w17, w5 - WORD $0x1a9f37e5 // cset w5, hs - WORD $0x2a3103f1 // mvn w17, w17 - WORD $0x8a140234 // and x20, x17, x20 - WORD $0x17fffeca // b LBB0_317 $-1240(%rip) -LBB0_388: - WORD $0xb4000434 // cbz x20, LBB0_398 $132(%rip) - WORD $0x8b0b0391 // add x17, x28, x11 - WORD $0xb100051f // cmn x8, #1 - WORD $0x9a880228 // csel x8, x17, x8, eq - WORD $0x9100079c // add x28, x28, #1 - WORD $0xd1000694 // sub x20, x20, #1 - WORD $0xb5fff9d4 // cbnz x20, LBB0_379 $-200(%rip) + WORD $0xd10006d3 // sub x19, x22, #1 + WORD $0xeb05027f // cmp x19, x5 + WORD $0x540059a0 // b.eq LBB0_543 $2868(%rip) + WORD $0x8b050393 // add x19, x28, x5 + WORD $0x8b0e0274 // add x20, x19, x14 + WORD $0xb100041f // cmn x0, #1 + WORD $0x9a800280 // csel x0, x20, x0, eq + WORD $0x91000a7c // add x28, x19, #2 + WORD $0xd1000ad3 // sub x19, x22, #2 + WORD $0xcb0502d4 // sub x20, x22, x5 + WORD $0xd1000a96 // sub x22, x20, #2 + WORD $0xeb05027f // cmp x19, x5 + WORD $0x54fffd01 // b.ne LBB0_382 $-96(%rip) + WORD $0x140002c2 // b LBB0_543 $2824(%rip) +LBB0_389: + WORD $0xcb1b038e // sub x14, x28, x27 LBB0_390: - WORD $0x52800073 // mov w19, #3 - WORD $0x17ffff39 // b LBB0_348 $-796(%rip) + WORD $0x8b0501ce // add x14, x14, x5 + WORD $0x910005dc // add x28, x14, #1 + WORD $0xb6ffbd9c // tbz x28, #63, LBB0_283 $-2128(%rip) + WORD $0x140002bb // b LBB0_542 $2796(%rip) LBB0_391: - WORD $0xb4000314 // cbz x20, LBB0_398 $96(%rip) - WORD $0x8b0b0391 // add x17, x28, x11 - WORD $0xb100051f // cmn x8, #1 - WORD $0x9a880228 // csel x8, x17, x8, eq - WORD $0x9100079c // add x28, x28, #1 - WORD $0xd1000694 // sub x20, x20, #1 - WORD $0xb5ffda94 // cbnz x20, LBB0_324 $-1200(%rip) - WORD $0x14000011 // b LBB0_398 $68(%rip) + WORD $0x8b1c037c // add x28, x27, x28 + WORD $0x14000006 // b LBB0_394 $24(%rip) +LBB0_392: + WORD $0x8b1c037c // add x28, x27, x28 + WORD $0x1400002a // b LBB0_400 $168(%rip) LBB0_393: - WORD $0x92800008 // mov x8, #-1 + WORD $0xd2800013 // mov x19, #0 + WORD $0x8b1c037c // add x28, x27, x28 + WORD $0x92800000 // mov x0, #-1 LBB0_394: - WORD $0xaa0803e0 // mov x0, x8 - WORD $0xa9457bfd // ldp fp, lr, [sp, #80] - WORD $0xa9444ff4 // ldp x20, x19, [sp, #64] - WORD $0xa94357f6 // ldp x22, x21, [sp, #48] - WORD $0xa9425ff8 // ldp x24, x23, [sp, #32] - WORD $0xa94167fa // ldp x26, x25, [sp, #16] - WORD $0xa8c76ffc // ldp x28, x27, [sp], #112 - WORD $0xd65f03c0 // ret -LBB0_395: - WORD $0x9280001c // mov x28, #-1 - WORD $0xaa1b03e8 // mov x8, x27 - WORD $0x1400000c // b LBB0_403 $48(%rip) -LBB0_396: - WORD $0x928000c8 // mov x8, #-7 - WORD $0x17fffff4 // b LBB0_394 $-48(%rip) -LBB0_397: - WORD $0xb100079f // cmn x28, #1 - WORD $0x54000101 // b.ne LBB0_403 $32(%rip) + WORD $0xf10082ce // subs x14, x22, #32 + WORD $0x54003d43 // b.lo LBB0_492 $1960(%rip) + WORD $0xad406f9a // ldp q26, q27, [x28] + WORD $0x6e208f5c // cmeq.16b v28, v26, v0 + WORD $0x6e208f7d // cmeq.16b v29, v27, v0 + WORD $0x6e218f5a // cmeq.16b v26, v26, v1 + WORD $0x6e218f7b // cmeq.16b v27, v27, v1 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260385 // fmov w5, s28 + WORD $0x4e221fbc // and.16b v28, v29, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260394 // fmov w20, s28 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260355 // fmov w21, s26 + WORD $0x4e221f7a // and.16b v26, v27, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260356 // fmov w22, s26 + WORD $0x33103e85 // bfi w5, w20, #16, #16 + WORD $0x33103ed5 // bfi w21, w22, #16, #16 + WORD $0x35003755 // cbnz w21, LBB0_489 $1768(%rip) + WORD $0xb50037f3 // cbnz x19, LBB0_490 $1788(%rip) + WORD $0xb40039c5 // cbz x5, LBB0_491 $1848(%rip) LBB0_398: - WORD $0xf9400408 // ldr x8, [x0, #8] - WORD $0x9280001c // mov x28, #-1 - WORD $0x14000005 // b LBB0_403 $20(%rip) + WORD $0xdac000ae // rbit x14, x5 + WORD $0xdac011ce // clz x14, x14 + WORD $0xcb1b0385 // sub x5, x28, x27 + WORD $0x8b0e00ae // add x14, x5, x14 + WORD $0x910005dc // add x28, x14, #1 + WORD $0xb6ff5f3c // tbz x28, #63, LBB0_194 $-5148(%rip) + WORD $0x14000291 // b LBB0_542 $2628(%rip) LBB0_399: - WORD $0x92800015 // mov x21, #-1 + WORD $0xd2800013 // mov x19, #0 + WORD $0x8b1c037c // add x28, x27, x28 + WORD $0x92800000 // mov x0, #-1 LBB0_400: - WORD $0xaa3503f4 // mvn x20, x21 -LBB0_401: - WORD $0x8b1b0288 // add x8, x20, x27 -LBB0_402: - WORD $0x9280003c // mov x28, #-2 + WORD $0xf10082ce // subs x14, x22, #32 + WORD $0x54000623 // b.lo LBB0_407 $196(%rip) + WORD $0xad406b9b // ldp q27, q26, [x28] + WORD $0x6e208f7c // cmeq.16b v28, v27, v0 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260385 // fmov w5, s28 + WORD $0x6e208f5c // cmeq.16b v28, v26, v0 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260394 // fmov w20, s28 + WORD $0x6e218f7c // cmeq.16b v28, v27, v1 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260395 // fmov w21, s28 + WORD $0x6e218f5c // cmeq.16b v28, v26, v1 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260396 // fmov w22, s28 + WORD $0x33103e85 // bfi w5, w20, #16, #16 + WORD $0x33103ed5 // bfi w21, w22, #16, #16 + WORD $0x35003995 // cbnz w21, LBB0_502 $1840(%rip) + WORD $0xb5003a33 // cbnz x19, LBB0_504 $1860(%rip) LBB0_403: - WORD $0xf9000028 // str x8, [x1] - WORD $0xaa1c03e8 // mov x8, x28 - WORD $0x17ffffe8 // b LBB0_394 $-96(%rip) -LBB0_404: - WORD $0xb100051f // cmn x8, #1 - WORD $0x54ffff61 // b.ne LBB0_402 $-20(%rip) - WORD $0xdac00228 // rbit x8, x17 - WORD $0xdac01108 // clz x8, x8 - WORD $0x8b1c0108 // add x8, x8, x28 - WORD $0x17fffff7 // b LBB0_402 $-36(%rip) -LBB0_406: - WORD $0x9280001c // mov x28, #-1 - WORD $0x17fffff6 // b LBB0_403 $-40(%rip) + WORD $0x6e3b349b // cmhi.16b v27, v4, v27 + WORD $0x4e221f7b // and.16b v27, v27, v2 + WORD $0x4e03037b // tbl.16b v27, { v27 }, v3 + WORD $0x4e71bb7b // addv.8h h27, v27 + WORD $0x1e260375 // fmov w21, s27 + WORD $0x6e3a349a // cmhi.16b v26, v4, v26 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260354 // fmov w20, s26 + WORD $0x33103e95 // bfi w21, w20, #16, #16 + WORD $0xdac002b4 // rbit x20, x21 + WORD $0xdac01294 // clz x20, x20 + WORD $0xb40000e5 // cbz x5, LBB0_405 $28(%rip) + WORD $0xdac000ae // rbit x14, x5 + WORD $0xdac011c5 // clz x5, x14 + WORD $0xcb1b038e // sub x14, x28, x27 + WORD $0xeb05029f // cmp x20, x5 + WORD $0x54000582 // b.hs LBB0_418 $176(%rip) + WORD $0x140002cf // b LBB0_577 $2876(%rip) +LBB0_405: + WORD $0x35005a35 // cbnz w21, LBB0_578 $2884(%rip) + WORD $0x9100839c // add x28, x28, #32 + WORD $0xaa0e03f6 // mov x22, x14 LBB0_407: - WORD $0xaa0803f4 // mov x20, x8 - WORD $0x8b1b0108 // add x8, x8, x27 - WORD $0x17fffff2 // b LBB0_402 $-56(%rip) -LBB0_408: - WORD $0x92800007 // mov x7, #-1 + WORD $0xb5003d53 // cbnz x19, LBB0_514 $1960(%rip) + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0xb4004b36 // cbz x22, LBB0_543 $2404(%rip) LBB0_409: - WORD $0xaa2703fe // mvn lr, x7 + WORD $0xcb1b03ee // neg x14, x27 LBB0_410: - WORD $0x8b1e0388 // add x8, x28, lr - WORD $0x17ffffee // b LBB0_402 $-72(%rip) + WORD $0xd2800005 // mov x5, #0 LBB0_411: - WORD $0xf900003b // str x27, [x1] - WORD $0x394003c8 // ldrb w8, [lr] - WORD $0x7101b91f // cmp w8, #110 - WORD $0x54000761 // b.ne LBB0_425 $236(%rip) - WORD $0x91000768 // add x8, x27, #1 - WORD $0xf9000028 // str x8, [x1] - WORD $0x38686928 // ldrb w8, [x9, x8] - WORD $0x7101d51f // cmp w8, #117 - WORD $0x540006c1 // b.ne LBB0_425 $216(%rip) - WORD $0x91000b68 // add x8, x27, #2 - WORD $0xf9000028 // str x8, [x1] - WORD $0x38686928 // ldrb w8, [x9, x8] - WORD $0x7101b11f // cmp w8, #108 - WORD $0x54000621 // b.ne LBB0_425 $196(%rip) - WORD $0x91000f68 // add x8, x27, #3 - WORD $0xf9000028 // str x8, [x1] - WORD $0x38686928 // ldrb w8, [x9, x8] - WORD $0x7101b11f // cmp w8, #108 - WORD $0x54000581 // b.ne LBB0_425 $176(%rip) - WORD $0x14000014 // b LBB0_419 $80(%rip) + WORD $0x38656b93 // ldrb w19, [x28, x5] + WORD $0x71008a7f // cmp w19, #34 + WORD $0x540003a0 // b.eq LBB0_417 $116(%rip) + WORD $0x7101727f // cmp w19, #92 + WORD $0x54000140 // b.eq LBB0_415 $40(%rip) + WORD $0x71007e7f // cmp w19, #31 + WORD $0x540058a9 // b.ls LBB0_579 $2836(%rip) + WORD $0x910004a5 // add x5, x5, #1 + WORD $0xeb0502df // cmp x22, x5 + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0x54fffe81 // b.ne LBB0_411 $-48(%rip) + WORD $0x14000249 // b LBB0_543 $2340(%rip) LBB0_415: - WORD $0xf900003b // str x27, [x1] - WORD $0x394003c8 // ldrb w8, [lr] - WORD $0x7101d11f // cmp w8, #116 - WORD $0x540004e1 // b.ne LBB0_425 $156(%rip) - WORD $0x91000768 // add x8, x27, #1 - WORD $0xf9000028 // str x8, [x1] - WORD $0x38686928 // ldrb w8, [x9, x8] - WORD $0x7101c91f // cmp w8, #114 - WORD $0x54000441 // b.ne LBB0_425 $136(%rip) - WORD $0x91000b68 // add x8, x27, #2 - WORD $0xf9000028 // str x8, [x1] - WORD $0x38686928 // ldrb w8, [x9, x8] - WORD $0x7101d51f // cmp w8, #117 - WORD $0x540003a1 // b.ne LBB0_425 $116(%rip) - WORD $0x91000f68 // add x8, x27, #3 - WORD $0xf9000028 // str x8, [x1] - WORD $0x38686928 // ldrb w8, [x9, x8] - WORD $0x7101951f // cmp w8, #101 - WORD $0x54000301 // b.ne LBB0_425 $96(%rip) + WORD $0xd10006d3 // sub x19, x22, #1 + WORD $0xeb05027f // cmp x19, x5 + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0x54004860 // b.eq LBB0_543 $2316(%rip) + WORD $0x8b050393 // add x19, x28, x5 + WORD $0x8b0e0274 // add x20, x19, x14 + WORD $0xb100041f // cmn x0, #1 + WORD $0x9a800280 // csel x0, x20, x0, eq + WORD $0x91000a7c // add x28, x19, #2 + WORD $0xd1000ad3 // sub x19, x22, #2 + WORD $0xcb0502d4 // sub x20, x22, x5 + WORD $0xd1000a96 // sub x22, x20, #2 + WORD $0xeb05027f // cmp x19, x5 + WORD $0x54fffc41 // b.ne LBB0_410 $-120(%rip) + WORD $0x14000238 // b LBB0_543 $2272(%rip) +LBB0_417: + WORD $0xcb1b038e // sub x14, x28, x27 +LBB0_418: + WORD $0x8b0501ce // add x14, x14, x5 + WORD $0x910005dc // add x28, x14, #1 + WORD $0xb6ff533c // tbz x28, #63, LBB0_194 $-5532(%rip) + WORD $0x14000231 // b LBB0_542 $2244(%rip) LBB0_419: - WORD $0x91001368 // add x8, x27, #4 - WORD $0x17ffffc5 // b LBB0_402 $-236(%rip) + WORD $0xcb1503ee // neg x14, x21 + WORD $0x5280008f // mov w15, #4 + WORD $0xb6ffabae // tbz x14, #63, LBB0_282 $-2700(%rip) + WORD $0x14000288 // b LBB0_569 $2592(%rip) LBB0_420: - WORD $0xf900003c // str x28, [x1] - WORD $0x387c6928 // ldrb w8, [x9, x28] - WORD $0x7101851f // cmp w8, #97 - WORD $0x54000241 // b.ne LBB0_425 $72(%rip) - WORD $0x91000b68 // add x8, x27, #2 - WORD $0xf9000028 // str x8, [x1] - WORD $0x38686928 // ldrb w8, [x9, x8] - WORD $0x7101b11f // cmp w8, #108 - WORD $0x540001a1 // b.ne LBB0_425 $52(%rip) - WORD $0x91000f68 // add x8, x27, #3 - WORD $0xf9000028 // str x8, [x1] - WORD $0x38686928 // ldrb w8, [x9, x8] - WORD $0x7101cd1f // cmp w8, #115 - WORD $0x54000101 // b.ne LBB0_425 $32(%rip) - WORD $0x91001368 // add x8, x27, #4 - WORD $0xf9000028 // str x8, [x1] - WORD $0x38686928 // ldrb w8, [x9, x8] - WORD $0x7101951f // cmp w8, #101 - WORD $0x54000061 // b.ne LBB0_425 $12(%rip) - WORD $0x91001768 // add x8, x27, #5 - WORD $0x17ffffb0 // b LBB0_402 $-320(%rip) -LBB0_425: - WORD $0x92800028 // mov x8, #-2 - WORD $0x17ffff99 // b LBB0_394 $-412(%rip) -LBB0_426: - WORD $0xaa1403fe // mov lr, x20 - WORD $0x8b140388 // add x8, x28, x20 - WORD $0x17ffffab // b LBB0_402 $-340(%rip) + WORD $0x5ac002ef // rbit w15, w23 + WORD $0x5ac011ef // clz w15, w15 + WORD $0xaa2e03ee // mvn x14, x14 + WORD $0xcb0f01ce // sub x14, x14, x15 + WORD $0x52800067 // mov w7, #3 + WORD $0x17fffec9 // b LBB0_354 $-1244(%rip) +LBB0_421: + WORD $0x8b1c0365 // add x5, x27, x28 + WORD $0xf10005df // cmp x14, #1 + WORD $0x5400514b // b.lt LBB0_575 $2600(%rip) +LBB0_422: + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0x14000007 // b LBB0_424 $28(%rip) +LBB0_423: + WORD $0x92800033 // mov x19, #-2 + WORD $0x52800040 // mov w0, #2 + WORD $0x8b0000a5 // add x5, x5, x0 + WORD $0x92800000 // mov x0, #-1 + WORD $0xab1301ce // adds x14, x14, x19 + WORD $0x5400502d // b.le LBB0_576 $2564(%rip) +LBB0_424: + WORD $0x394000a0 // ldrb w0, [x5] + WORD $0x7101701f // cmp w0, #92 + WORD $0x54ffff00 // b.eq LBB0_423 $-32(%rip) + WORD $0x7100881f // cmp w0, #34 + WORD $0x54001780 // b.eq LBB0_465 $752(%rip) + WORD $0x92800013 // mov x19, #-1 + WORD $0x52800020 // mov w0, #1 + WORD $0x8b0000a5 // add x5, x5, x0 + WORD $0x92800000 // mov x0, #-1 + WORD $0xab1301ce // adds x14, x14, x19 + WORD $0x54fffecc // b.gt LBB0_424 $-40(%rip) + WORD $0x14000275 // b LBB0_576 $2516(%rip) LBB0_427: - WORD $0x8b1c0228 // add x8, x17, x28 - WORD $0x17ffffa9 // b LBB0_402 $-348(%rip) + WORD $0x8b1c037c // add x28, x27, x28 + WORD $0x1400000a // b LBB0_431 $40(%rip) LBB0_428: - WORD $0x8b1100a8 // add x8, x5, x17 - WORD $0x17ffffa7 // b LBB0_402 $-356(%rip) + WORD $0x8b1c037c // add x28, x27, x28 + WORD $0x1400002d // b LBB0_437 $180(%rip) LBB0_429: - WORD $0xcb090388 // sub x8, x28, x9 - WORD $0x8b110108 // add x8, x8, x17 - WORD $0x17ffffa4 // b LBB0_402 $-368(%rip) + WORD $0xaa2e03ee // mvn x14, x14 + WORD $0xcb3441ce // sub x14, x14, w20, uxtw + WORD $0x52800067 // mov w7, #3 + WORD $0x17fffea8 // b LBB0_354 $-1376(%rip) LBB0_430: - WORD $0xcb090388 // sub x8, x28, x9 - WORD $0x8b050108 // add x8, x8, x5 - WORD $0x17ffffa1 // b LBB0_402 $-380(%rip) + WORD $0xd2800013 // mov x19, #0 + WORD $0x8b1c037c // add x28, x27, x28 + WORD $0x92800000 // mov x0, #-1 +LBB0_431: + WORD $0xf10082ce // subs x14, x22, #32 + WORD $0x54003743 // b.lo LBB0_521 $1768(%rip) + WORD $0xad406f9a // ldp q26, q27, [x28] + WORD $0x6e208f5c // cmeq.16b v28, v26, v0 + WORD $0x6e208f7d // cmeq.16b v29, v27, v0 + WORD $0x6e218f5a // cmeq.16b v26, v26, v1 + WORD $0x6e218f7b // cmeq.16b v27, v27, v1 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260385 // fmov w5, s28 + WORD $0x4e221fbc // and.16b v28, v29, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e26038f // fmov w15, s28 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260355 // fmov w21, s26 + WORD $0x4e221f7a // and.16b v26, v27, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260351 // fmov w17, s26 + WORD $0x33103de5 // bfi w5, w15, #16, #16 + WORD $0x33103e35 // bfi w21, w17, #16, #16 + WORD $0x350031d5 // cbnz w21, LBB0_518 $1592(%rip) + WORD $0xb5003273 // cbnz x19, LBB0_519 $1612(%rip) + WORD $0xb40033c5 // cbz x5, LBB0_520 $1656(%rip) +LBB0_435: + WORD $0xdac000ae // rbit x14, x5 + WORD $0xdac011ce // clz x14, x14 + WORD $0xcb1b038f // sub x15, x28, x27 + WORD $0x8b0e01ee // add x14, x15, x14 + WORD $0x910005dc // add x28, x14, #1 + WORD $0x140001b4 // b LBB0_532 $1744(%rip) +LBB0_436: + WORD $0xd2800013 // mov x19, #0 + WORD $0x8b1c037c // add x28, x27, x28 + WORD $0x92800000 // mov x0, #-1 +LBB0_437: + WORD $0xf10082ce // subs x14, x22, #32 + WORD $0x54000623 // b.lo LBB0_444 $196(%rip) + WORD $0xad406b9b // ldp q27, q26, [x28] + WORD $0x6e208f7c // cmeq.16b v28, v27, v0 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260385 // fmov w5, s28 + WORD $0x6e208f5c // cmeq.16b v28, v26, v0 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e26038f // fmov w15, s28 + WORD $0x6e218f7c // cmeq.16b v28, v27, v1 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260395 // fmov w21, s28 + WORD $0x6e218f5c // cmeq.16b v28, v26, v1 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260391 // fmov w17, s28 + WORD $0x33103de5 // bfi w5, w15, #16, #16 + WORD $0x33103e35 // bfi w21, w17, #16, #16 + WORD $0x35003395 // cbnz w21, LBB0_533 $1648(%rip) + WORD $0xb5003433 // cbnz x19, LBB0_535 $1668(%rip) +LBB0_440: + WORD $0x6e3b349b // cmhi.16b v27, v4, v27 + WORD $0x4e221f7b // and.16b v27, v27, v2 + WORD $0x4e03037b // tbl.16b v27, { v27 }, v3 + WORD $0x4e71bb7b // addv.8h h27, v27 + WORD $0x1e260375 // fmov w21, s27 + WORD $0x6e3a349a // cmhi.16b v26, v4, v26 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e26034f // fmov w15, s26 + WORD $0x33103df5 // bfi w21, w15, #16, #16 + WORD $0xdac002af // rbit x15, x21 + WORD $0xdac011f4 // clz x20, x15 + WORD $0xb40000e5 // cbz x5, LBB0_442 $28(%rip) + WORD $0xdac000ae // rbit x14, x5 + WORD $0xdac011c5 // clz x5, x14 + WORD $0xcb1b038e // sub x14, x28, x27 + WORD $0xeb05029f // cmp x20, x5 + WORD $0x54000462 // b.hs LBB0_455 $140(%rip) + WORD $0x1400021f // b LBB0_577 $2172(%rip) +LBB0_442: + WORD $0x35004435 // cbnz w21, LBB0_578 $2180(%rip) + WORD $0x9100839c // add x28, x28, #32 + WORD $0xaa0e03f6 // mov x22, x14 +LBB0_444: + WORD $0xb50033d3 // cbnz x19, LBB0_538 $1656(%rip) + WORD $0xb4003596 // cbz x22, LBB0_543 $1712(%rip) +LBB0_446: + WORD $0xcb1b03ee // neg x14, x27 +LBB0_447: + WORD $0xd2800005 // mov x5, #0 +LBB0_448: + WORD $0x38656b93 // ldrb w19, [x28, x5] + WORD $0x71008a7f // cmp w19, #34 + WORD $0x540002e0 // b.eq LBB0_454 $92(%rip) + WORD $0x7101727f // cmp w19, #92 + WORD $0x540000e0 // b.eq LBB0_452 $28(%rip) + WORD $0x71007e7f // cmp w19, #31 + WORD $0x54004309 // b.ls LBB0_579 $2144(%rip) + WORD $0x910004a5 // add x5, x5, #1 + WORD $0xeb0502df // cmp x22, x5 + WORD $0x54fffee1 // b.ne LBB0_448 $-36(%rip) + WORD $0x1400019f // b LBB0_543 $1660(%rip) +LBB0_452: + WORD $0xd10006cf // sub x15, x22, #1 + WORD $0xeb0501ff // cmp x15, x5 + WORD $0x54003380 // b.eq LBB0_543 $1648(%rip) + WORD $0x8b05038f // add x15, x28, x5 + WORD $0x8b0e01f1 // add x17, x15, x14 + WORD $0xb100041f // cmn x0, #1 + WORD $0x9a800220 // csel x0, x17, x0, eq + WORD $0x910009fc // add x28, x15, #2 + WORD $0xd1000acf // sub x15, x22, #2 + WORD $0xcb0502d1 // sub x17, x22, x5 + WORD $0xd1000a36 // sub x22, x17, #2 + WORD $0xeb0501ff // cmp x15, x5 + WORD $0x54fffd01 // b.ne LBB0_447 $-96(%rip) + WORD $0x14000191 // b LBB0_543 $1604(%rip) +LBB0_454: + WORD $0xcb1b038e // sub x14, x28, x27 +LBB0_455: + WORD $0x8b0501ce // add x14, x14, x5 + WORD $0x910005dc // add x28, x14, #1 + WORD $0x1400015e // b LBB0_532 $1400(%rip) +LBB0_456: + WORD $0x92800000 // mov x0, #-1 + WORD $0xaa1e03f5 // mov x21, lr + WORD $0xaa1a03e5 // mov x5, x26 + WORD $0x92800013 // mov x19, #-1 + WORD $0x92800016 // mov x22, #-1 + WORD $0x17fff7bf // b LBB0_85 $-8452(%rip) +LBB0_457: + WORD $0xaa2e03ee // mvn x14, x14 + WORD $0xcb3841ce // sub x14, x14, w24, uxtw + WORD $0x52800067 // mov w7, #3 + WORD $0x17fffe23 // b LBB0_354 $-1908(%rip) +LBB0_458: + WORD $0x92800016 // mov x22, #-1 + WORD $0xaa0003e5 // mov x5, x0 + WORD $0xaa1503fa // mov x26, x21 + WORD $0x9280001e // mov lr, #-1 + WORD $0x92800013 // mov x19, #-1 + WORD $0x52800067 // mov w7, #3 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0x17fffdd6 // b LBB0_327 $-2216(%rip) +LBB0_459: + WORD $0xd1000405 // sub x5, x0, #1 + WORD $0xeb0e00bf // cmp x5, x14 + WORD $0x54003b80 // b.eq LBB0_575 $1904(%rip) + WORD $0x8b0e03c5 // add x5, lr, x14 + WORD $0x910008a5 // add x5, x5, #2 + WORD $0xcb0e000e // sub x14, x0, x14 + WORD $0xd10009ce // sub x14, x14, #2 + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0xf10005df // cmp x14, #1 + WORD $0x5400010a // b.ge LBB0_462 $32(%rip) + WORD $0x140001d2 // b LBB0_575 $1864(%rip) +LBB0_461: + WORD $0x92800033 // mov x19, #-2 + WORD $0x52800040 // mov w0, #2 + WORD $0x8b0000a5 // add x5, x5, x0 + WORD $0x92800000 // mov x0, #-1 + WORD $0xab1301ce // adds x14, x14, x19 + WORD $0x540039ad // b.le LBB0_576 $1844(%rip) +LBB0_462: + WORD $0x394000a0 // ldrb w0, [x5] + WORD $0x7101701f // cmp w0, #92 + WORD $0x54ffff00 // b.eq LBB0_461 $-32(%rip) + WORD $0x7100881f // cmp w0, #34 + WORD $0x54000100 // b.eq LBB0_465 $32(%rip) + WORD $0x92800013 // mov x19, #-1 + WORD $0x52800020 // mov w0, #1 + WORD $0x8b0000a5 // add x5, x5, x0 + WORD $0x92800000 // mov x0, #-1 + WORD $0xab1301ce // adds x14, x14, x19 + WORD $0x54fffecc // b.gt LBB0_462 $-40(%rip) + WORD $0x140001c1 // b LBB0_576 $1796(%rip) +LBB0_465: + WORD $0xcb1b00ae // sub x14, x5, x27 + WORD $0x910005dc // add x28, x14, #1 + WORD $0x17fffc87 // b LBB0_283 $-3556(%rip) +LBB0_466: + WORD $0xd1000405 // sub x5, x0, #1 + WORD $0xeb0e00bf // cmp x5, x14 + WORD $0x54003740 // b.eq LBB0_575 $1768(%rip) + WORD $0x8b0e03c5 // add x5, lr, x14 + WORD $0x910008a5 // add x5, x5, #2 + WORD $0xcb0e000e // sub x14, x0, x14 + WORD $0xd10009ce // sub x14, x14, #2 + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0xf10005df // cmp x14, #1 + WORD $0x5400010a // b.ge LBB0_469 $32(%rip) + WORD $0x140001b0 // b LBB0_575 $1728(%rip) +LBB0_468: + WORD $0x92800033 // mov x19, #-2 + WORD $0x52800040 // mov w0, #2 + WORD $0x8b0000a5 // add x5, x5, x0 + WORD $0x92800000 // mov x0, #-1 + WORD $0xab1301ce // adds x14, x14, x19 + WORD $0x5400356d // b.le LBB0_576 $1708(%rip) +LBB0_469: + WORD $0x394000a0 // ldrb w0, [x5] + WORD $0x7101701f // cmp w0, #92 + WORD $0x54ffff00 // b.eq LBB0_468 $-32(%rip) + WORD $0x7100881f // cmp w0, #34 + WORD $0x54000100 // b.eq LBB0_472 $32(%rip) + WORD $0x92800013 // mov x19, #-1 + WORD $0x52800020 // mov w0, #1 + WORD $0x8b0000a5 // add x5, x5, x0 + WORD $0x92800000 // mov x0, #-1 + WORD $0xab1301ce // adds x14, x14, x19 + WORD $0x54fffecc // b.gt LBB0_469 $-40(%rip) + WORD $0x1400019f // b LBB0_576 $1660(%rip) +LBB0_472: + WORD $0xcb1b00ae // sub x14, x5, x27 + WORD $0x910005dc // add x28, x14, #1 + WORD $0xf900003c // str x28, [x1] + WORD $0xaa0803e0 // mov x0, x8 + WORD $0xeb11011f // cmp x8, x17 + WORD $0x54ff33c3 // b.lo LBB0_195 $-6536(%rip) + WORD $0x14000198 // b LBB0_576 $1632(%rip) +LBB0_473: + WORD $0xdac002b4 // rbit x20, x21 + WORD $0xdac01294 // clz x20, x20 + WORD $0xcb1b0396 // sub x22, x28, x27 + WORD $0x8b1402d4 // add x20, x22, x20 + WORD $0xb100041f // cmn x0, #1 + WORD $0x9a941000 // csel x0, x0, x20, ne +LBB0_474: + WORD $0x0a3302b4 // bic w20, w21, w19 + WORD $0x531f7a96 // lsl w22, w20, #1 + WORD $0x331f7a93 // bfi w19, w20, #1, #31 + WORD $0x0a3602b5 // bic w21, w21, w22 + WORD $0x1201f2b5 // and w21, w21, #0xaaaaaaaa + WORD $0x2b1402b4 // adds w20, w21, w20 + WORD $0x4a140614 // eor w20, w16, w20, lsl #1 + WORD $0x0a130293 // and w19, w20, w19 + WORD $0x1a9f37f4 // cset w20, hs + WORD $0x2a3303f3 // mvn w19, w19 + WORD $0x8a050265 // and x5, x19, x5 + WORD $0xaa1403f3 // mov x19, x20 + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0xb5ffc065 // cbnz x5, LBB0_370 $-2036(%rip) +LBB0_475: + WORD $0x9100839c // add x28, x28, #32 + WORD $0xaa0e03f6 // mov x22, x14 +LBB0_476: + WORD $0xb50010d3 // cbnz x19, LBB0_505 $536(%rip) + WORD $0xb40003b6 // cbz x22, LBB0_485 $116(%rip) +LBB0_478: + WORD $0xaa3b03ee // mvn x14, x27 +LBB0_479: + WORD $0xaa1c03f3 // mov x19, x28 + WORD $0x38401665 // ldrb w5, [x19], #1 + WORD $0x710088bf // cmp w5, #34 + WORD $0x54000320 // b.eq LBB0_486 $100(%rip) + WORD $0xd10006d4 // sub x20, x22, #1 + WORD $0x710170bf // cmp w5, #92 + WORD $0x54000100 // b.eq LBB0_482 $32(%rip) + WORD $0xaa1303fc // mov x28, x19 + WORD $0xaa1403f6 // mov x22, x20 + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0xb5fffe94 // cbnz x20, LBB0_479 $-48(%rip) + WORD $0x1400000c // b LBB0_484 $48(%rip) +LBB0_482: + WORD $0xb4002134 // cbz x20, LBB0_543 $1060(%rip) + WORD $0x8b0e0273 // add x19, x19, x14 + WORD $0xb100041f // cmn x0, #1 + WORD $0x9a800260 // csel x0, x19, x0, eq + WORD $0x91000b9c // add x28, x28, #2 + WORD $0xd1000ad4 // sub x20, x22, #2 + WORD $0xaa1403f6 // mov x22, x20 + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0xb5fffd14 // cbnz x20, LBB0_479 $-96(%rip) +LBB0_484: + WORD $0x710088bf // cmp w5, #34 + WORD $0x54001fa1 // b.ne LBB0_543 $1012(%rip) +LBB0_485: + WORD $0xaa1c03f3 // mov x19, x28 +LBB0_486: + WORD $0xcb1b027c // sub x28, x19, x27 + WORD $0xb6ff851c // tbz x28, #63, LBB0_283 $-3936(%rip) + WORD $0x140000f7 // b LBB0_542 $988(%rip) +LBB0_487: + WORD $0xdac002b4 // rbit x20, x21 + WORD $0xdac01294 // clz x20, x20 + WORD $0xcb1b0396 // sub x22, x28, x27 + WORD $0x8b1402d4 // add x20, x22, x20 + WORD $0xb100041f // cmn x0, #1 + WORD $0x9a941000 // csel x0, x0, x20, ne +LBB0_488: + WORD $0x0a3302b4 // bic w20, w21, w19 + WORD $0x531f7a96 // lsl w22, w20, #1 + WORD $0x331f7a93 // bfi w19, w20, #1, #31 + WORD $0x0a3602b5 // bic w21, w21, w22 + WORD $0x1201f2b5 // and w21, w21, #0xaaaaaaaa + WORD $0x2b1402b4 // adds w20, w21, w20 + WORD $0x4a140614 // eor w20, w16, w20, lsl #1 + WORD $0x0a130293 // and w19, w20, w19 + WORD $0x1a9f37f4 // cset w20, hs + WORD $0x2a3303f3 // mvn w19, w19 + WORD $0x8a050265 // and x5, x19, x5 + WORD $0xaa1403f3 // mov x19, x20 + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0x17fffdee // b LBB0_375 $-2120(%rip) +LBB0_489: + WORD $0xdac002b4 // rbit x20, x21 + WORD $0xdac01294 // clz x20, x20 + WORD $0xcb1b0396 // sub x22, x28, x27 + WORD $0x8b1402d4 // add x20, x22, x20 + WORD $0xb100041f // cmn x0, #1 + WORD $0x9a941000 // csel x0, x0, x20, ne +LBB0_490: + WORD $0x0a3302b4 // bic w20, w21, w19 + WORD $0x531f7a96 // lsl w22, w20, #1 + WORD $0x331f7a93 // bfi w19, w20, #1, #31 + WORD $0x0a3602b5 // bic w21, w21, w22 + WORD $0x1201f2b5 // and w21, w21, #0xaaaaaaaa + WORD $0x2b1402b4 // adds w20, w21, w20 + WORD $0x4a140614 // eor w20, w16, w20, lsl #1 + WORD $0x0a130293 // and w19, w20, w19 + WORD $0x1a9f37f4 // cset w20, hs + WORD $0x2a3303f3 // mvn w19, w19 + WORD $0x8a050265 // and x5, x19, x5 + WORD $0xaa1403f3 // mov x19, x20 + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0xb5ffc685 // cbnz x5, LBB0_398 $-1840(%rip) +LBB0_491: + WORD $0x9100839c // add x28, x28, #32 + WORD $0xaa0e03f6 // mov x22, x14 +LBB0_492: + WORD $0xb5000913 // cbnz x19, LBB0_509 $288(%rip) + WORD $0xb40009f6 // cbz x22, LBB0_511 $316(%rip) +LBB0_494: + WORD $0xaa3b03ee // mvn x14, x27 +LBB0_495: + WORD $0xaa1c03f3 // mov x19, x28 + WORD $0x38401665 // ldrb w5, [x19], #1 + WORD $0x710088bf // cmp w5, #34 + WORD $0x540002c0 // b.eq LBB0_501 $88(%rip) + WORD $0xd10006d4 // sub x20, x22, #1 + WORD $0x710170bf // cmp w5, #92 + WORD $0x540000a0 // b.eq LBB0_498 $20(%rip) + WORD $0xaa1303fc // mov x28, x19 + WORD $0xaa1403f6 // mov x22, x20 + WORD $0xb5fffef4 // cbnz x20, LBB0_495 $-36(%rip) + WORD $0x14000009 // b LBB0_500 $36(%rip) +LBB0_498: + WORD $0xb4001794 // cbz x20, LBB0_543 $752(%rip) + WORD $0x8b0e0273 // add x19, x19, x14 + WORD $0xb100041f // cmn x0, #1 + WORD $0x9a800260 // csel x0, x19, x0, eq + WORD $0x91000b9c // add x28, x28, #2 + WORD $0xd1000ad4 // sub x20, x22, #2 + WORD $0xaa1403f6 // mov x22, x20 + WORD $0xb5fffdd4 // cbnz x20, LBB0_495 $-72(%rip) +LBB0_500: + WORD $0x710088bf // cmp w5, #34 + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0x54000720 // b.eq LBB0_512 $228(%rip) + WORD $0x140000af // b LBB0_543 $700(%rip) +LBB0_501: + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0x14000035 // b LBB0_513 $212(%rip) +LBB0_502: + WORD $0xb100041f // cmn x0, #1 + WORD $0x540000a1 // b.ne LBB0_504 $20(%rip) + WORD $0xdac002a0 // rbit x0, x21 + WORD $0xdac01000 // clz x0, x0 + WORD $0xcb1b0394 // sub x20, x28, x27 + WORD $0x8b000280 // add x0, x20, x0 +LBB0_504: + WORD $0x0a3302b4 // bic w20, w21, w19 + WORD $0x531f7a96 // lsl w22, w20, #1 + WORD $0x331f7a93 // bfi w19, w20, #1, #31 + WORD $0x0a3602b5 // bic w21, w21, w22 + WORD $0x1201f2b5 // and w21, w21, #0xaaaaaaaa + WORD $0x2b1402b4 // adds w20, w21, w20 + WORD $0x4a140614 // eor w20, w16, w20, lsl #1 + WORD $0x0a130293 // and w19, w20, w19 + WORD $0x1a9f37f4 // cset w20, hs + WORD $0x2a3303f3 // mvn w19, w19 + WORD $0x8a050265 // and x5, x19, x5 + WORD $0xaa1403f3 // mov x19, x20 + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0x17fffe21 // b LBB0_403 $-1916(%rip) +LBB0_505: + WORD $0xb4001296 // cbz x22, LBB0_543 $592(%rip) + WORD $0xaa3b03ee // mvn x14, x27 + WORD $0x8b0e038e // add x14, x28, x14 + WORD $0xb100041f // cmn x0, #1 + WORD $0x9a8001c0 // csel x0, x14, x0, eq + WORD $0x9100079c // add x28, x28, #1 + WORD $0xd10006d6 // sub x22, x22, #1 + WORD $0xb5ffeeb6 // cbnz x22, LBB0_478 $-556(%rip) + WORD $0x17ffff90 // b LBB0_485 $-448(%rip) +LBB0_507: + WORD $0xb4001176 // cbz x22, LBB0_543 $556(%rip) + WORD $0xaa3b03ee // mvn x14, x27 + WORD $0x8b0e038e // add x14, x28, x14 + WORD $0xb100041f // cmn x0, #1 + WORD $0x9a8001c0 // csel x0, x14, x0, eq + WORD $0x9100079c // add x28, x28, #1 + WORD $0xd10006d6 // sub x22, x22, #1 + WORD $0xb5ffb516 // cbnz x22, LBB0_381 $-2400(%rip) + WORD $0x14000083 // b LBB0_543 $524(%rip) +LBB0_509: + WORD $0xb4001056 // cbz x22, LBB0_543 $520(%rip) + WORD $0xaa3b03ee // mvn x14, x27 + WORD $0x8b0e038e // add x14, x28, x14 + WORD $0xb100041f // cmn x0, #1 + WORD $0x9a8001c0 // csel x0, x14, x0, eq + WORD $0x9100079c // add x28, x28, #1 + WORD $0xd10006d6 // sub x22, x22, #1 + WORD $0xb5fff676 // cbnz x22, LBB0_494 $-308(%rip) +LBB0_511: + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 +LBB0_512: + WORD $0xaa1c03f3 // mov x19, x28 +LBB0_513: + WORD $0xcb1b027c // sub x28, x19, x27 + WORD $0xb6ff1b5c // tbz x28, #63, LBB0_194 $-7320(%rip) + WORD $0x14000072 // b LBB0_542 $456(%rip) +LBB0_514: + WORD $0xb4000e76 // cbz x22, LBB0_543 $460(%rip) + WORD $0xaa3b03ee // mvn x14, x27 + WORD $0x8b0e038e // add x14, x28, x14 + WORD $0xb100041f // cmn x0, #1 + WORD $0x9a8001c0 // csel x0, x14, x0, eq + WORD $0x9100079c // add x28, x28, #1 + WORD $0xd10006d6 // sub x22, x22, #1 + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0xb5ffc236 // cbnz x22, LBB0_409 $-1980(%rip) + WORD $0x14000068 // b LBB0_543 $416(%rip) +LBB0_516: + WORD $0xd100040f // sub x15, x0, #1 + WORD $0xeb0e01ff // cmp x15, x14 + WORD $0x54001920 // b.eq LBB0_575 $804(%rip) + WORD $0x8b0e03cf // add x15, lr, x14 + WORD $0x910009e5 // add x5, x15, #2 + WORD $0xcb0e000e // sub x14, x0, x14 + WORD $0xd10009ce // sub x14, x14, #2 + WORD $0xf10005df // cmp x14, #1 + WORD $0x54ffc74a // b.ge LBB0_422 $-1816(%rip) + WORD $0x140000c2 // b LBB0_575 $776(%rip) +LBB0_518: + WORD $0xdac002af // rbit x15, x21 + WORD $0xdac011ef // clz x15, x15 + WORD $0xcb1b0391 // sub x17, x28, x27 + WORD $0x8b0f022f // add x15, x17, x15 + WORD $0xb100041f // cmn x0, #1 + WORD $0x9a8f1000 // csel x0, x0, x15, ne +LBB0_519: + WORD $0x0a3302af // bic w15, w21, w19 + WORD $0x531f79f1 // lsl w17, w15, #1 + WORD $0x331f79f3 // bfi w19, w15, #1, #31 + WORD $0x0a3102b1 // bic w17, w21, w17 + WORD $0x1201f231 // and w17, w17, #0xaaaaaaaa + WORD $0x2b0f022f // adds w15, w17, w15 + WORD $0x4a0f060f // eor w15, w16, w15, lsl #1 + WORD $0x0a1301ef // and w15, w15, w19 + WORD $0x1a9f37f3 // cset w19, hs + WORD $0x2a2f03ef // mvn w15, w15 + WORD $0x8a0501e5 // and x5, x15, x5 + WORD $0xb5ffcc85 // cbnz x5, LBB0_435 $-1648(%rip) +LBB0_520: + WORD $0x9100839c // add x28, x28, #32 + WORD $0xaa0e03f6 // mov x22, x14 +LBB0_521: + WORD $0xb5000633 // cbnz x19, LBB0_536 $196(%rip) + WORD $0xb40002f6 // cbz x22, LBB0_530 $92(%rip) +LBB0_523: + WORD $0xaa3b03ee // mvn x14, x27 +LBB0_524: + WORD $0xaa1c03f3 // mov x19, x28 + WORD $0x38401665 // ldrb w5, [x19], #1 + WORD $0x710088bf // cmp w5, #34 + WORD $0x54000260 // b.eq LBB0_531 $76(%rip) + WORD $0xd10006d4 // sub x20, x22, #1 + WORD $0x710170bf // cmp w5, #92 + WORD $0x540000a0 // b.eq LBB0_527 $20(%rip) + WORD $0xaa1303fc // mov x28, x19 + WORD $0xaa1403f6 // mov x22, x20 + WORD $0xb5fffef4 // cbnz x20, LBB0_524 $-36(%rip) + WORD $0x14000009 // b LBB0_529 $36(%rip) +LBB0_527: + WORD $0xb4000774 // cbz x20, LBB0_543 $236(%rip) + WORD $0x8b0e026f // add x15, x19, x14 + WORD $0xb100041f // cmn x0, #1 + WORD $0x9a8001e0 // csel x0, x15, x0, eq + WORD $0x91000b9c // add x28, x28, #2 + WORD $0xd1000ad4 // sub x20, x22, #2 + WORD $0xaa1403f6 // mov x22, x20 + WORD $0xb5fffdd4 // cbnz x20, LBB0_524 $-72(%rip) +LBB0_529: + WORD $0x710088bf // cmp w5, #34 + WORD $0x54000641 // b.ne LBB0_543 $200(%rip) +LBB0_530: + WORD $0xaa1c03f3 // mov x19, x28 +LBB0_531: + WORD $0xcb1b027c // sub x28, x19, x27 +LBB0_532: + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0xb6ff6b5c // tbz x28, #63, LBB0_283 $-4760(%rip) + WORD $0x14000029 // b LBB0_542 $164(%rip) +LBB0_533: + WORD $0xb100041f // cmn x0, #1 + WORD $0x540000a1 // b.ne LBB0_535 $20(%rip) + WORD $0xdac002af // rbit x15, x21 + WORD $0xdac011ef // clz x15, x15 + WORD $0xcb1b0391 // sub x17, x28, x27 + WORD $0x8b0f0220 // add x0, x17, x15 +LBB0_535: + WORD $0x0a3302af // bic w15, w21, w19 + WORD $0x531f79f1 // lsl w17, w15, #1 + WORD $0x331f79f3 // bfi w19, w15, #1, #31 + WORD $0x0a3102b1 // bic w17, w21, w17 + WORD $0x1201f231 // and w17, w17, #0xaaaaaaaa + WORD $0x2b0f022f // adds w15, w17, w15 + WORD $0x4a0f060f // eor w15, w16, w15, lsl #1 + WORD $0x0a1301ef // and w15, w15, w19 + WORD $0x1a9f37f3 // cset w19, hs + WORD $0x2a2f03ef // mvn w15, w15 + WORD $0x8a0501e5 // and x5, x15, x5 + WORD $0x17fffe55 // b LBB0_440 $-1708(%rip) +LBB0_536: + WORD $0xb4000316 // cbz x22, LBB0_543 $96(%rip) + WORD $0xaa3b03ee // mvn x14, x27 + WORD $0x8b0e038e // add x14, x28, x14 + WORD $0xb100041f // cmn x0, #1 + WORD $0x9a8001c0 // csel x0, x14, x0, eq + WORD $0x9100079c // add x28, x28, #1 + WORD $0xd10006d6 // sub x22, x22, #1 + WORD $0xb5fff956 // cbnz x22, LBB0_523 $-216(%rip) + WORD $0x17ffffdf // b LBB0_530 $-132(%rip) +LBB0_538: + WORD $0xb40001f6 // cbz x22, LBB0_543 $60(%rip) + WORD $0xaa3b03ee // mvn x14, x27 + WORD $0x8b0e038e // add x14, x28, x14 + WORD $0xb100041f // cmn x0, #1 + WORD $0x9a8001c0 // csel x0, x14, x0, eq + WORD $0x9100079c // add x28, x28, #1 + WORD $0xd10006d6 // sub x22, x22, #1 + WORD $0xb5ffcbb6 // cbnz x22, LBB0_446 $-1676(%rip) + WORD $0x14000007 // b LBB0_543 $28(%rip) +LBB0_540: + WORD $0x92800020 // mov x0, #-2 + WORD $0x1400006a // b LBB0_576 $424(%rip) +LBB0_541: + WORD $0x928000c0 // mov x0, #-7 + WORD $0x14000068 // b LBB0_576 $416(%rip) +LBB0_542: + WORD $0xb100079f // cmn x28, #1 + WORD $0x54000ac1 // b.ne LBB0_567 $344(%rip) +LBB0_543: + WORD $0xf94004c0 // ldr x0, [x6, #8] + WORD $0x9280001c // mov x28, #-1 + WORD $0x14000053 // b LBB0_567 $332(%rip) +LBB0_544: + WORD $0x9280000e // mov x14, #-1 +LBB0_545: + WORD $0xaa2e03f6 // mvn x22, x14 +LBB0_546: + WORD $0x8b0802c8 // add x8, x22, x8 +LBB0_547: + WORD $0xf9000028 // str x8, [x1] + WORD $0x92800020 // mov x0, #-2 + WORD $0x1400005d // b LBB0_576 $372(%rip) +LBB0_548: + WORD $0xf900002e // str x14, [x1] + WORD $0x1400005a // b LBB0_575 $360(%rip) +LBB0_549: + WORD $0xb100041f // cmn x0, #1 + WORD $0x540008a0 // b.eq LBB0_566 $276(%rip) + WORD $0x9280003c // mov x28, #-2 + WORD $0x14000047 // b LBB0_567 $284(%rip) +LBB0_551: + WORD $0xaa0003f6 // mov x22, x0 + WORD $0x17fffff5 // b LBB0_546 $-44(%rip) +LBB0_552: + WORD $0xf9000028 // str x8, [x1] + WORD $0x394003c9 // ldrb w9, [lr] + WORD $0x7101d13f // cmp w9, #116 + WORD $0x54000a21 // b.ne LBB0_576 $324(%rip) + WORD $0x91000509 // add x9, x8, #1 + WORD $0xf9000029 // str x9, [x1] + WORD $0x38696b69 // ldrb w9, [x27, x9] + WORD $0x7101c93f // cmp w9, #114 + WORD $0x54000981 // b.ne LBB0_576 $304(%rip) + WORD $0x91000909 // add x9, x8, #2 + WORD $0xf9000029 // str x9, [x1] + WORD $0x38696b69 // ldrb w9, [x27, x9] + WORD $0x7101d53f // cmp w9, #117 + WORD $0x540008e1 // b.ne LBB0_576 $284(%rip) + WORD $0x91000d09 // add x9, x8, #3 + WORD $0xf9000029 // str x9, [x1] + WORD $0x38696b69 // ldrb w9, [x27, x9] + WORD $0x7101953f // cmp w9, #101 + WORD $0x54000841 // b.ne LBB0_576 $264(%rip) + WORD $0x14000014 // b LBB0_560 $80(%rip) +LBB0_556: + WORD $0xf9000028 // str x8, [x1] + WORD $0x394003c9 // ldrb w9, [lr] + WORD $0x7101b93f // cmp w9, #110 + WORD $0x540007a1 // b.ne LBB0_576 $244(%rip) + WORD $0x91000509 // add x9, x8, #1 + WORD $0xf9000029 // str x9, [x1] + WORD $0x38696b69 // ldrb w9, [x27, x9] + WORD $0x7101d53f // cmp w9, #117 + WORD $0x54000701 // b.ne LBB0_576 $224(%rip) + WORD $0x91000909 // add x9, x8, #2 + WORD $0xf9000029 // str x9, [x1] + WORD $0x38696b69 // ldrb w9, [x27, x9] + WORD $0x7101b13f // cmp w9, #108 + WORD $0x54000661 // b.ne LBB0_576 $204(%rip) + WORD $0x91000d09 // add x9, x8, #3 + WORD $0xf9000029 // str x9, [x1] + WORD $0x38696b69 // ldrb w9, [x27, x9] + WORD $0x7101b13f // cmp w9, #108 + WORD $0x540005c1 // b.ne LBB0_576 $184(%rip) +LBB0_560: + WORD $0x91001108 // add x8, x8, #4 + WORD $0xf9000028 // str x8, [x1] + WORD $0x1400002b // b LBB0_576 $172(%rip) +LBB0_561: + WORD $0xf900003c // str x28, [x1] + WORD $0x387c6b69 // ldrb w9, [x27, x28] + WORD $0x7101853f // cmp w9, #97 + WORD $0x540004e1 // b.ne LBB0_576 $156(%rip) + WORD $0x91000909 // add x9, x8, #2 + WORD $0xf9000029 // str x9, [x1] + WORD $0x38696b69 // ldrb w9, [x27, x9] + WORD $0x7101b13f // cmp w9, #108 + WORD $0x54000441 // b.ne LBB0_576 $136(%rip) + WORD $0x91000d09 // add x9, x8, #3 + WORD $0xf9000029 // str x9, [x1] + WORD $0x38696b69 // ldrb w9, [x27, x9] + WORD $0x7101cd3f // cmp w9, #115 + WORD $0x540003a1 // b.ne LBB0_576 $116(%rip) + WORD $0x91001109 // add x9, x8, #4 + WORD $0xf9000029 // str x9, [x1] + WORD $0x38696b69 // ldrb w9, [x27, x9] + WORD $0x7101953f // cmp w9, #101 + WORD $0x54000301 // b.ne LBB0_576 $96(%rip) + WORD $0x91001508 // add x8, x8, #5 + WORD $0xf9000028 // str x8, [x1] + WORD $0x14000015 // b LBB0_576 $84(%rip) +LBB0_566: + WORD $0xdac000a8 // rbit x8, x5 + WORD $0xdac01108 // clz x8, x8 + WORD $0x8b1c0100 // add x0, x8, x28 + WORD $0x9280003c // mov x28, #-2 +LBB0_567: + WORD $0xf9000020 // str x0, [x1] + WORD $0xaa1c03e0 // mov x0, x28 + WORD $0x1400000e // b LBB0_576 $56(%rip) +LBB0_568: + WORD $0x9280000e // mov x14, #-1 +LBB0_569: + WORD $0xaa2e03f3 // mvn x19, x14 +LBB0_570: + WORD $0x8b130388 // add x8, x28, x19 + WORD $0x17ffffab // b LBB0_547 $-340(%rip) +LBB0_571: + WORD $0xaa1603f3 // mov x19, x22 + WORD $0x8b160388 // add x8, x28, x22 + WORD $0x17ffffa8 // b LBB0_547 $-352(%rip) +LBB0_572: + WORD $0x8b1c00a0 // add x0, x5, x28 + WORD $0x9280003c // mov x28, #-2 + WORD $0x17fffff4 // b LBB0_567 $-48(%rip) +LBB0_573: + WORD $0xf94004c8 // ldr x8, [x6, #8] +LBB0_574: + WORD $0xf9000028 // str x8, [x1] +LBB0_575: + WORD $0x92800000 // mov x0, #-1 +LBB0_576: + WORD $0xa94cfbfd // ldp fp, lr, [sp, #200] + WORD $0xa94bcff4 // ldp x20, x19, [sp, #184] + WORD $0xa94ad7f6 // ldp x22, x21, [sp, #168] + WORD $0xa949dff8 // ldp x24, x23, [sp, #152] + WORD $0xa948e7fa // ldp x26, x25, [sp, #136] + WORD $0xa947effc // ldp x28, x27, [sp, #120] + WORD $0x6d46a3e9 // ldp d9, d8, [sp, #104] + WORD $0x910383ff // add sp, sp, #224 + WORD $0xd65f03c0 // ret +LBB0_577: + WORD $0x8b1401c0 // add x0, x14, x20 + WORD $0x9280003c // mov x28, #-2 + WORD $0x17ffffe5 // b LBB0_567 $-108(%rip) +LBB0_578: + WORD $0xcb1b0388 // sub x8, x28, x27 + WORD $0x8b140100 // add x0, x8, x20 + WORD $0x9280003c // mov x28, #-2 + WORD $0x17ffffe1 // b LBB0_567 $-124(%rip) +LBB0_579: + WORD $0xcb1b0388 // sub x8, x28, x27 + WORD $0x8b050100 // add x0, x8, x5 + WORD $0x9280003c // mov x28, #-2 + WORD $0x17ffffdd // b LBB0_567 $-140(%rip) // .p2align 2, 0x00 _MASK_USE_NUMBER: WORD $0x00000002 // .long 2 @@ -2361,7 +3460,7 @@ TEXT ·__skip_object(SB), NOSPLIT, $0-40 _entry: MOVD 16(g), R16 - SUB $176, RSP, R17 + SUB $288, RSP, R17 CMP R16, R17 BLS _stack_grow diff --git a/internal/native/neon/skip_object_subr_arm64.go b/internal/native/neon/skip_object_subr_arm64.go index ab7ab2034..39288011c 100644 --- a/internal/native/neon/skip_object_subr_arm64.go +++ b/internal/native/neon/skip_object_subr_arm64.go @@ -13,7 +13,7 @@ var ( ) const ( - _stack__skip_object = 112 + _stack__skip_object = 224 ) var ( diff --git a/internal/native/neon/skip_one_arm64.s b/internal/native/neon/skip_one_arm64.s index 6dca0875f..33edb4c4e 100644 --- a/internal/native/neon/skip_one_arm64.s +++ b/internal/native/neon/skip_one_arm64.s @@ -5,7 +5,7 @@ #include "funcdata.h" #include "textflag.h" -TEXT ·__skip_one_entry__(SB), NOSPLIT, $96 +TEXT ·__skip_one_entry__(SB), NOSPLIT, $208 NO_LOCAL_POINTERS WORD $0x100000a0 // adr x0, .+20 MOVD R0, ret(FP) @@ -59,45 +59,46 @@ lCPI0_2: // .byte 15 _skip_one: - WORD $0xa9b96ffc // stp x28, x27, [sp, #-112]! - WORD $0xa90167fa // stp x26, x25, [sp, #16] - WORD $0xa9025ff8 // stp x24, x23, [sp, #32] - WORD $0xa90357f6 // stp x22, x21, [sp, #48] - WORD $0xa9044ff4 // stp x20, x19, [sp, #64] - WORD $0xa9057bfd // stp fp, lr, [sp, #80] + WORD $0xd10383ff // sub sp, sp, #224 + WORD $0x6d06a3e9 // stp d9, d8, [sp, #104] + WORD $0xa907effc // stp x28, x27, [sp, #120] + WORD $0xa908e7fa // stp x26, x25, [sp, #136] + WORD $0xa909dff8 // stp x24, x23, [sp, #152] + WORD $0xa90ad7f6 // stp x22, x21, [sp, #168] + WORD $0xa90bcff4 // stp x20, x19, [sp, #184] + WORD $0xa90cfbfd // stp fp, lr, [sp, #200] WORD $0xa93ffbfd // stp fp, lr, [sp, #-8] WORD $0xd10023fd // sub fp, sp, #8 + WORD $0xaa0003e6 // mov x6, x0 Lloh0: - WORD $0x10fffd88 // adr x8, lCPI0_0 $-80(%rip) + WORD $0x10fffd28 // adr x8, lCPI0_0 $-92(%rip) Lloh1: WORD $0x3dc00100 // ldr q0, [x8, lCPI0_0@PAGEOFF] $0(%rip) - WORD $0xaa0203ea // mov x10, x2 - WORD $0x3c808540 // str q0, [x10], #8 - WORD $0xf9400009 // ldr x9, [x0] - WORD $0xaa2903eb // mvn x11, x9 + WORD $0xaa0203e9 // mov x9, x2 + WORD $0x3c808520 // str q0, [x9], #8 + WORD $0x910083e8 // add x8, sp, #32 + WORD $0x9100810a // add x10, x8, #32 WORD $0xf940003c // ldr x28, [x1] - WORD $0xcb0903ec // neg x12, x9 - WORD $0xd100052d // sub x13, x9, #1 - WORD $0x9280000e // mov x14, #-1 - WORD $0x5280002f // mov w15, #1 - WORD $0xd284c010 // mov x16, #9728 - WORD $0xf2c00030 // movk x16, #1, lsl #32 - WORD $0x52800073 // mov w19, #3 - WORD $0x52800084 // mov w4, #4 + WORD $0x9280000b // mov x11, #-1 + WORD $0x5280002c // mov w12, #1 + WORD $0xd284c00d // mov x13, #9728 + WORD $0xf2c0002d // movk x13, #1, lsl #32 + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 WORD $0x4f01e440 // movi.16b v0, #34 WORD $0x4f02e781 // movi.16b v1, #92 Lloh2: - WORD $0x10fffbe8 // adr x8, lCPI0_1 $-132(%rip) + WORD $0x10fffbc8 // adr x8, lCPI0_1 $-136(%rip) Lloh3: WORD $0x3dc00102 // ldr q2, [x8, lCPI0_1@PAGEOFF] $0(%rip) Lloh4: - WORD $0x10fffc28 // adr x8, lCPI0_2 $-124(%rip) + WORD $0x10fffc08 // adr x8, lCPI0_2 $-128(%rip) Lloh5: WORD $0x3dc00103 // ldr q3, [x8, lCPI0_2@PAGEOFF] $0(%rip) - WORD $0x92f00006 // mov x6, #9223372036854775807 + WORD $0x3200f3f0 // mov w16, #1431655765 + WORD $0x92f00011 // mov x17, #9223372036854775807 WORD $0x4f01e404 // movi.16b v4, #32 - WORD $0xb20903e7 // mov x7, #36028797027352576 - WORD $0xf2800027 // movk x7, #1 + WORD $0x3201f3e4 // mov w4, #-1431655766 WORD $0x4f01e5c5 // movi.16b v5, #46 WORD $0x4f01e566 // movi.16b v6, #43 WORD $0x4f01e5a7 // movi.16b v7, #45 @@ -105,2253 +106,3351 @@ Lloh5: WORD $0x4f00e551 // movi.16b v17, #10 WORD $0x4f06e7f2 // movi.16b v18, #223 WORD $0x4f02e4b3 // movi.16b v19, #69 - WORD $0x52800025 // mov w5, #1 + WORD $0x4f01e594 // movi.16b v20, #44 + WORD $0x4f02e7b5 // movi.16b v21, #93 + WORD $0x4f02e776 // movi.16b v22, #91 + WORD $0x6f00e417 // movi.2d v23, #0000000000000000 + WORD $0x4f03e778 // movi.16b v24, #123 + WORD $0x4f03e7b9 // movi.16b v25, #125 + WORD $0x52800033 // mov w19, #1 LBB0_1: - WORD $0xf9400408 // ldr x8, [x0, #8] - WORD $0xeb08039f // cmp x28, x8 + WORD $0xa94038db // ldp x27, x14, [x6] + WORD $0xeb0e039f // cmp x28, x14 WORD $0x54000162 // b.hs LBB0_6 $44(%rip) - WORD $0x387c6931 // ldrb w17, [x9, x28] - WORD $0x7100363f // cmp w17, #13 + WORD $0x387c6b68 // ldrb w8, [x27, x28] + WORD $0x7100351f // cmp w8, #13 WORD $0x54000100 // b.eq LBB0_6 $32(%rip) - WORD $0x7100823f // cmp w17, #32 + WORD $0x7100811f // cmp w8, #32 WORD $0x540000c0 // b.eq LBB0_6 $24(%rip) - WORD $0x51002e31 // sub w17, w17, #11 - WORD $0x31000a3f // cmn w17, #2 + WORD $0x51002d08 // sub w8, w8, #11 + WORD $0x3100091f // cmn w8, #2 WORD $0x54000062 // b.hs LBB0_6 $12(%rip) - WORD $0xaa1c03fb // mov x27, x28 + WORD $0xaa1c03e8 // mov x8, x28 WORD $0x14000031 // b LBB0_22 $196(%rip) LBB0_6: - WORD $0x9100079b // add x27, x28, #1 - WORD $0xeb08037f // cmp x27, x8 + WORD $0x91000788 // add x8, x28, #1 + WORD $0xeb0e011f // cmp x8, x14 WORD $0x54000122 // b.hs LBB0_10 $36(%rip) - WORD $0x387b6931 // ldrb w17, [x9, x27] - WORD $0x7100363f // cmp w17, #13 + WORD $0x38686b60 // ldrb w0, [x27, x8] + WORD $0x7100341f // cmp w0, #13 WORD $0x540000c0 // b.eq LBB0_10 $24(%rip) - WORD $0x7100823f // cmp w17, #32 + WORD $0x7100801f // cmp w0, #32 WORD $0x54000080 // b.eq LBB0_10 $16(%rip) - WORD $0x51002e31 // sub w17, w17, #11 - WORD $0x31000a3f // cmn w17, #2 + WORD $0x51002c00 // sub w0, w0, #11 + WORD $0x3100081f // cmn w0, #2 WORD $0x540004c3 // b.lo LBB0_22 $152(%rip) LBB0_10: - WORD $0x91000b9b // add x27, x28, #2 - WORD $0xeb08037f // cmp x27, x8 + WORD $0x91000b88 // add x8, x28, #2 + WORD $0xeb0e011f // cmp x8, x14 WORD $0x54000122 // b.hs LBB0_14 $36(%rip) - WORD $0x387b6931 // ldrb w17, [x9, x27] - WORD $0x7100363f // cmp w17, #13 + WORD $0x38686b60 // ldrb w0, [x27, x8] + WORD $0x7100341f // cmp w0, #13 WORD $0x540000c0 // b.eq LBB0_14 $24(%rip) - WORD $0x7100823f // cmp w17, #32 + WORD $0x7100801f // cmp w0, #32 WORD $0x54000080 // b.eq LBB0_14 $16(%rip) - WORD $0x51002e31 // sub w17, w17, #11 - WORD $0x31000a3f // cmn w17, #2 + WORD $0x51002c00 // sub w0, w0, #11 + WORD $0x3100081f // cmn w0, #2 WORD $0x54000363 // b.lo LBB0_22 $108(%rip) LBB0_14: - WORD $0x91000f9b // add x27, x28, #3 - WORD $0xeb08037f // cmp x27, x8 + WORD $0x91000f88 // add x8, x28, #3 + WORD $0xeb0e011f // cmp x8, x14 WORD $0x54000122 // b.hs LBB0_18 $36(%rip) - WORD $0x387b6931 // ldrb w17, [x9, x27] - WORD $0x7100363f // cmp w17, #13 + WORD $0x38686b60 // ldrb w0, [x27, x8] + WORD $0x7100341f // cmp w0, #13 WORD $0x540000c0 // b.eq LBB0_18 $24(%rip) - WORD $0x7100823f // cmp w17, #32 + WORD $0x7100801f // cmp w0, #32 WORD $0x54000080 // b.eq LBB0_18 $16(%rip) - WORD $0x51002e31 // sub w17, w17, #11 - WORD $0x31000a3f // cmn w17, #2 + WORD $0x51002c00 // sub w0, w0, #11 + WORD $0x3100081f // cmn w0, #2 WORD $0x54000203 // b.lo LBB0_22 $64(%rip) LBB0_18: - WORD $0x9100139b // add x27, x28, #4 - WORD $0xeb08037f // cmp x27, x8 - WORD $0x5400e902 // b.hs LBB0_395 $7456(%rip) + WORD $0x91001388 // add x8, x28, #4 + WORD $0xeb0e011f // cmp x8, x14 + WORD $0x540170a2 // b.hs LBB0_574 $11796(%rip) LBB0_19: - WORD $0x387b6931 // ldrb w17, [x9, x27] - WORD $0x7100823f // cmp w17, #32 - WORD $0x9ad121f1 // lsl x17, x15, x17 - WORD $0x8a100231 // and x17, x17, x16 - WORD $0xfa409a24 // ccmp x17, #0, #4, ls + WORD $0x38686b60 // ldrb w0, [x27, x8] + WORD $0x7100801f // cmp w0, #32 + WORD $0x9ac02180 // lsl x0, x12, x0 + WORD $0x8a0d0000 // and x0, x0, x13 + WORD $0xfa409804 // ccmp x0, #0, #4, ls WORD $0x540000a0 // b.eq LBB0_21 $20(%rip) - WORD $0x9100077b // add x27, x27, #1 - WORD $0xeb1b011f // cmp x8, x27 + WORD $0x91000508 // add x8, x8, #1 + WORD $0xeb0801df // cmp x14, x8 WORD $0x54ffff01 // b.ne LBB0_19 $-32(%rip) - WORD $0x14000735 // b LBB0_393 $7380(%rip) + WORD $0x14000b7c // b LBB0_575 $11760(%rip) LBB0_21: - WORD $0xeb08037f // cmp x27, x8 - WORD $0x5400e662 // b.hs LBB0_393 $7372(%rip) + WORD $0xeb0e011f // cmp x8, x14 + WORD $0x54016f42 // b.hs LBB0_575 $11752(%rip) LBB0_22: - WORD $0x9100077c // add x28, x27, #1 + WORD $0x9100051c // add x28, x8, #1 WORD $0xf900003c // str x28, [x1] - WORD $0x8b1b013e // add lr, x9, x27 - WORD $0x394003d5 // ldrb w21, [lr] - WORD $0x3400e5d5 // cbz w21, LBB0_393 $7352(%rip) - WORD $0xd10004b4 // sub x20, x5, #1 - WORD $0xf8747948 // ldr x8, [x10, x20, lsl #3] - WORD $0xb10005df // cmn x14, #1 - WORD $0x9a8e036e // csel x14, x27, x14, eq - WORD $0x71000d1f // cmp w8, #3 - WORD $0x54000c8c // b.gt LBB0_39 $400(%rip) - WORD $0x7100051f // cmp w8, #1 - WORD $0x540018c0 // b.eq LBB0_54 $792(%rip) - WORD $0x7100091f // cmp w8, #2 - WORD $0x54002c20 // b.eq LBB0_94 $1412(%rip) - WORD $0x71000d1f // cmp w8, #3 - WORD $0x540019c1 // b.ne LBB0_58 $824(%rip) - WORD $0x71008abf // cmp w21, #34 - WORD $0x5400f0e1 // b.ne LBB0_425 $7708(%rip) - WORD $0x3200f3e6 // mov w6, #1431655765 - WORD $0xf8347944 // str x4, [x10, x20, lsl #3] - WORD $0xf9400408 // ldr x8, [x0, #8] - WORD $0xeb1c0114 // subs x20, x8, x28 - WORD $0x372831a3 // tbnz w3, #5, LBB0_109 $1588(%rip) - WORD $0x5400e540 // b.eq LBB0_398 $7336(%rip) - WORD $0xf101029f // cmp x20, #64 - WORD $0x54009103 // b.lo LBB0_250 $4640(%rip) - WORD $0xd2800005 // mov x5, #0 - WORD $0x92800008 // mov x8, #-1 -LBB0_32: - WORD $0x8b1c0131 // add x17, x9, x28 - WORD $0xad405634 // ldp q20, q21, [x17] - WORD $0xad415e36 // ldp q22, q23, [x17, #32] - WORD $0x6e208e98 // cmeq.16b v24, v20, v0 - WORD $0x6e208eb9 // cmeq.16b v25, v21, v0 - WORD $0x6e208eda // cmeq.16b v26, v22, v0 - WORD $0x6e208efb // cmeq.16b v27, v23, v0 - WORD $0x6e218e94 // cmeq.16b v20, v20, v1 - WORD $0x6e218eb5 // cmeq.16b v21, v21, v1 - WORD $0x6e218ed6 // cmeq.16b v22, v22, v1 - WORD $0x6e218ef7 // cmeq.16b v23, v23, v1 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260311 // fmov w17, s24 - WORD $0x4e221f38 // and.16b v24, v25, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260307 // fmov w7, s24 - WORD $0x4e221f58 // and.16b v24, v26, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260315 // fmov w21, s24 - WORD $0x4e221f78 // and.16b v24, v27, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260316 // fmov w22, s24 - WORD $0x4e221e94 // and.16b v20, v20, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260297 // fmov w23, s20 - WORD $0x4e221eb4 // and.16b v20, v21, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260298 // fmov w24, s20 - WORD $0x4e221ed4 // and.16b v20, v22, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260299 // fmov w25, s20 - WORD $0x4e221ef4 // and.16b v20, v23, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e26029a // fmov w26, s20 - WORD $0xd3607eb5 // lsl x21, x21, #32 - WORD $0xaa16c2b5 // orr x21, x21, x22, lsl #48 - WORD $0x53103ce7 // lsl w7, w7, #16 - WORD $0xaa0702a7 // orr x7, x21, x7 - WORD $0xaa1100e7 // orr x7, x7, x17 - WORD $0xd3607f31 // lsl x17, x25, #32 - WORD $0xaa1ac231 // orr x17, x17, x26, lsl #48 - WORD $0x53103f15 // lsl w21, w24, #16 - WORD $0xaa150231 // orr x17, x17, x21 - WORD $0xaa170231 // orr x17, x17, x23 - WORD $0xb5000111 // cbnz x17, LBB0_36 $32(%rip) - WORD $0xb5000185 // cbnz x5, LBB0_37 $48(%rip) - WORD $0xb50002c7 // cbnz x7, LBB0_38 $88(%rip) -LBB0_35: - WORD $0xd1010294 // sub x20, x20, #64 - WORD $0x9101039c // add x28, x28, #64 - WORD $0xf100fe9f // cmp x20, #63 - WORD $0x54fff8a8 // b.hi LBB0_32 $-236(%rip) - WORD $0x14000441 // b LBB0_247 $4356(%rip) + WORD $0x8b08037e // add lr, x27, x8 + WORD $0x394003c5 // ldrb w5, [lr] + WORD $0x34016ea5 // cbz w5, LBB0_575 $11732(%rip) + WORD $0xd100066e // sub x14, x19, #1 + WORD $0xf86e7920 // ldr x0, [x9, x14, lsl #3] + WORD $0xb100057f // cmn x11, #1 + WORD $0x9a8b010b // csel x11, x8, x11, eq + WORD $0x71000c1f // cmp w0, #3 + WORD $0x54000ccc // b.gt LBB0_40 $408(%rip) + WORD $0x7100041f // cmp w0, #1 + WORD $0x54001940 // b.eq LBB0_56 $808(%rip) + WORD $0x7100081f // cmp w0, #2 + WORD $0x54002cc0 // b.eq LBB0_97 $1432(%rip) + WORD $0x71000c1f // cmp w0, #3 + WORD $0x540019e1 // b.ne LBB0_60 $828(%rip) + WORD $0x710088bf // cmp w5, #34 + WORD $0x54015fa1 // b.ne LBB0_540 $11252(%rip) + WORD $0xf82e792f // str x15, [x9, x14, lsl #3] + WORD $0x373031a3 // tbnz w3, #6, LBB0_113 $1588(%rip) + WORD $0xf94004ce // ldr x14, [x6, #8] + WORD $0xeb1c01d6 // subs x22, x14, x28 + WORD $0x37284563 // tbnz w3, #5, LBB0_141 $2220(%rip) + WORD $0x54015fa0 // b.eq LBB0_543 $11252(%rip) + WORD $0xf10102df // cmp x22, #64 + WORD $0x5400f843 // b.lo LBB0_365 $7944(%rip) + WORD $0xd2800013 // mov x19, #0 + WORD $0x92800000 // mov x0, #-1 +LBB0_33: + WORD $0x8b1c036e // add x14, x27, x28 + WORD $0xad406dda // ldp q26, q27, [x14] + WORD $0xad4175dc // ldp q28, q29, [x14, #32] + WORD $0x6e208f5e // cmeq.16b v30, v26, v0 + WORD $0x6e208f7f // cmeq.16b v31, v27, v0 + WORD $0x6e208f88 // cmeq.16b v8, v28, v0 + WORD $0x6e208fa9 // cmeq.16b v9, v29, v0 + WORD $0x6e218f5a // cmeq.16b v26, v26, v1 + WORD $0x6e218f7b // cmeq.16b v27, v27, v1 + WORD $0x6e218f9c // cmeq.16b v28, v28, v1 + WORD $0x6e218fbd // cmeq.16b v29, v29, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603ce // fmov w14, s30 + WORD $0x4e221ffe // and.16b v30, v31, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603c5 // fmov w5, s30 + WORD $0x4e221d1e // and.16b v30, v8, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d4 // fmov w20, s30 + WORD $0x4e221d3e // and.16b v30, v9, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d5 // fmov w21, s30 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260357 // fmov w23, s26 + WORD $0x4e221f7a // and.16b v26, v27, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260358 // fmov w24, s26 + WORD $0x4e221f9a // and.16b v26, v28, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260359 // fmov w25, s26 + WORD $0x4e221fba // and.16b v26, v29, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e26035a // fmov w26, s26 + WORD $0xd3607e94 // lsl x20, x20, #32 + WORD $0xaa15c294 // orr x20, x20, x21, lsl #48 + WORD $0x53103ca5 // lsl w5, w5, #16 + WORD $0xaa050285 // orr x5, x20, x5 + WORD $0xaa0e00ae // orr x14, x5, x14 + WORD $0xd3607f25 // lsl x5, x25, #32 + WORD $0xaa1ac0a5 // orr x5, x5, x26, lsl #48 + WORD $0x53103f14 // lsl w20, w24, #16 + WORD $0xaa1400a5 // orr x5, x5, x20 + WORD $0xaa1700a5 // orr x5, x5, x23 + WORD $0xb5000105 // cbnz x5, LBB0_37 $32(%rip) + WORD $0xb5000193 // cbnz x19, LBB0_38 $48(%rip) + WORD $0xb50002ce // cbnz x14, LBB0_39 $88(%rip) LBB0_36: - WORD $0xb100051f // cmn x8, #1 - WORD $0xdac00235 // rbit x21, x17 - WORD $0xdac012b5 // clz x21, x21 - WORD $0x8b1c02b5 // add x21, x21, x28 - WORD $0x9a951108 // csel x8, x8, x21, ne + WORD $0xd10102d6 // sub x22, x22, #64 + WORD $0x9101039c // add x28, x28, #64 + WORD $0xf100fedf // cmp x22, #63 + WORD $0x54fff8a8 // b.hi LBB0_33 $-236(%rip) + WORD $0x14000777 // b LBB0_361 $7644(%rip) LBB0_37: - WORD $0x8a250235 // bic x21, x17, x5 - WORD $0xaa1504b6 // orr x22, x5, x21, lsl #1 - WORD $0x8a360231 // bic x17, x17, x22 - WORD $0x9201f231 // and x17, x17, #0xaaaaaaaaaaaaaaaa - WORD $0xab150231 // adds x17, x17, x21 - WORD $0x1a9f37e5 // cset w5, hs - WORD $0xd37ffa31 // lsl x17, x17, #1 - WORD $0xd200f231 // eor x17, x17, #0x5555555555555555 - WORD $0x8a160231 // and x17, x17, x22 - WORD $0x8a3100e7 // bic x7, x7, x17 - WORD $0xb4fffd87 // cbz x7, LBB0_35 $-80(%rip) + WORD $0xb100041f // cmn x0, #1 + WORD $0xdac000b4 // rbit x20, x5 + WORD $0xdac01294 // clz x20, x20 + WORD $0x8b1c0294 // add x20, x20, x28 + WORD $0x9a941000 // csel x0, x0, x20, ne LBB0_38: - WORD $0xdac000f1 // rbit x17, x7 - WORD $0xdac01231 // clz x17, x17 - WORD $0x8b1c0231 // add x17, x17, x28 - WORD $0x140001aa // b LBB0_121 $1704(%rip) + WORD $0x8a3300b4 // bic x20, x5, x19 + WORD $0xaa140675 // orr x21, x19, x20, lsl #1 + WORD $0x8a3500a5 // bic x5, x5, x21 + WORD $0x9201f0a5 // and x5, x5, #0xaaaaaaaaaaaaaaaa + WORD $0xab1400a5 // adds x5, x5, x20 + WORD $0x1a9f37f3 // cset w19, hs + WORD $0xd37ff8a5 // lsl x5, x5, #1 + WORD $0xd200f0a5 // eor x5, x5, #0x5555555555555555 + WORD $0x8a1500a5 // and x5, x5, x21 + WORD $0x8a2501ce // bic x14, x14, x5 + WORD $0xb4fffd8e // cbz x14, LBB0_36 $-80(%rip) LBB0_39: - WORD $0x7100111f // cmp w8, #4 - WORD $0x54000d00 // b.eq LBB0_56 $416(%rip) - WORD $0x7100151f // cmp w8, #5 - WORD $0x54002060 // b.eq LBB0_96 $1036(%rip) - WORD $0x7100191f // cmp w8, #6 - WORD $0x54000d61 // b.ne LBB0_58 $428(%rip) - WORD $0x71008abf // cmp w21, #34 - WORD $0x54001f81 // b.ne LBB0_95 $1008(%rip) - WORD $0x3200f3e4 // mov w4, #1431655765 - WORD $0x52800048 // mov w8, #2 - WORD $0xf8347948 // str x8, [x10, x20, lsl #3] - WORD $0xf9400408 // ldr x8, [x0, #8] - WORD $0xeb1c0114 // subs x20, x8, x28 - WORD $0x37283923 // tbnz w3, #5, LBB0_138 $1828(%rip) - WORD $0x5400d8c0 // b.eq LBB0_398 $6936(%rip) - WORD $0xf101029f // cmp x20, #64 - WORD $0x54009423 // b.lo LBB0_277 $4740(%rip) - WORD $0xd2800005 // mov x5, #0 - WORD $0x92800008 // mov x8, #-1 -LBB0_47: - WORD $0x8b1c0131 // add x17, x9, x28 - WORD $0xad405634 // ldp q20, q21, [x17] - WORD $0xad415e36 // ldp q22, q23, [x17, #32] - WORD $0x6e208e98 // cmeq.16b v24, v20, v0 - WORD $0x6e208eb9 // cmeq.16b v25, v21, v0 - WORD $0x6e208eda // cmeq.16b v26, v22, v0 - WORD $0x6e208efb // cmeq.16b v27, v23, v0 - WORD $0x6e218e94 // cmeq.16b v20, v20, v1 - WORD $0x6e218eb5 // cmeq.16b v21, v21, v1 - WORD $0x6e218ed6 // cmeq.16b v22, v22, v1 - WORD $0x6e218ef7 // cmeq.16b v23, v23, v1 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260311 // fmov w17, s24 - WORD $0x4e221f38 // and.16b v24, v25, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260307 // fmov w7, s24 - WORD $0x4e221f58 // and.16b v24, v26, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260315 // fmov w21, s24 - WORD $0x4e221f78 // and.16b v24, v27, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260316 // fmov w22, s24 - WORD $0x4e221e94 // and.16b v20, v20, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260297 // fmov w23, s20 - WORD $0x4e221eb4 // and.16b v20, v21, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260298 // fmov w24, s20 - WORD $0x4e221ed4 // and.16b v20, v22, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260299 // fmov w25, s20 - WORD $0x4e221ef4 // and.16b v20, v23, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e26029a // fmov w26, s20 - WORD $0xd3607eb5 // lsl x21, x21, #32 - WORD $0xaa16c2b5 // orr x21, x21, x22, lsl #48 - WORD $0x53103ce7 // lsl w7, w7, #16 - WORD $0xaa0702a7 // orr x7, x21, x7 - WORD $0xaa1100e7 // orr x7, x7, x17 - WORD $0xd3607f31 // lsl x17, x25, #32 - WORD $0xaa1ac231 // orr x17, x17, x26, lsl #48 - WORD $0x53103f15 // lsl w21, w24, #16 - WORD $0xaa150231 // orr x17, x17, x21 - WORD $0xaa170231 // orr x17, x17, x23 - WORD $0xb5000111 // cbnz x17, LBB0_51 $32(%rip) - WORD $0xb5000185 // cbnz x5, LBB0_52 $48(%rip) - WORD $0xb50002c7 // cbnz x7, LBB0_53 $88(%rip) -LBB0_50: - WORD $0xd1010294 // sub x20, x20, #64 - WORD $0x9101039c // add x28, x28, #64 - WORD $0xf100fe9f // cmp x20, #63 - WORD $0x54fff8a8 // b.hi LBB0_47 $-236(%rip) - WORD $0x1400045e // b LBB0_275 $4472(%rip) -LBB0_51: - WORD $0xb100051f // cmn x8, #1 - WORD $0xdac00235 // rbit x21, x17 - WORD $0xdac012b5 // clz x21, x21 - WORD $0x8b1c02b5 // add x21, x21, x28 - WORD $0x9a951108 // csel x8, x8, x21, ne + WORD $0xdac001ce // rbit x14, x14 + WORD $0xdac011ce // clz x14, x14 + WORD $0x8b1c01ce // add x14, x14, x28 + WORD $0x910005dc // add x28, x14, #1 + WORD $0xb6f8babc // tbz x28, #63, LBB0_283 $5972(%rip) + WORD $0x14000aa4 // b LBB0_542 $10896(%rip) +LBB0_40: + WORD $0x7100101f // cmp w0, #4 + WORD $0x54000d40 // b.eq LBB0_58 $424(%rip) + WORD $0x7100141f // cmp w0, #5 + WORD $0x540020c0 // b.eq LBB0_99 $1048(%rip) + WORD $0x7100181f // cmp w0, #6 + WORD $0x54000d41 // b.ne LBB0_60 $424(%rip) + WORD $0x710088bf // cmp w5, #34 + WORD $0x54001fe1 // b.ne LBB0_98 $1020(%rip) + WORD $0x52800040 // mov w0, #2 + WORD $0xf82e7920 // str x0, [x9, x14, lsl #3] + WORD $0x37303143 // tbnz w3, #6, LBB0_132 $1576(%rip) + WORD $0xf94004ce // ldr x14, [x6, #8] + WORD $0xeb1c01d6 // subs x22, x14, x28 + WORD $0x37285103 // tbnz w3, #5, LBB0_182 $2592(%rip) + WORD $0x540152e0 // b.eq LBB0_543 $10844(%rip) + WORD $0xf10102df // cmp x22, #64 + WORD $0x5400fba3 // b.lo LBB0_393 $8052(%rip) + WORD $0xd2800013 // mov x19, #0 + WORD $0x92800000 // mov x0, #-1 +LBB0_49: + WORD $0x8b1c036e // add x14, x27, x28 + WORD $0xad406dda // ldp q26, q27, [x14] + WORD $0xad4175dc // ldp q28, q29, [x14, #32] + WORD $0x6e208f5e // cmeq.16b v30, v26, v0 + WORD $0x6e208f7f // cmeq.16b v31, v27, v0 + WORD $0x6e208f88 // cmeq.16b v8, v28, v0 + WORD $0x6e208fa9 // cmeq.16b v9, v29, v0 + WORD $0x6e218f5a // cmeq.16b v26, v26, v1 + WORD $0x6e218f7b // cmeq.16b v27, v27, v1 + WORD $0x6e218f9c // cmeq.16b v28, v28, v1 + WORD $0x6e218fbd // cmeq.16b v29, v29, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603ce // fmov w14, s30 + WORD $0x4e221ffe // and.16b v30, v31, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603c5 // fmov w5, s30 + WORD $0x4e221d1e // and.16b v30, v8, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d4 // fmov w20, s30 + WORD $0x4e221d3e // and.16b v30, v9, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d5 // fmov w21, s30 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260357 // fmov w23, s26 + WORD $0x4e221f7a // and.16b v26, v27, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260358 // fmov w24, s26 + WORD $0x4e221f9a // and.16b v26, v28, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260359 // fmov w25, s26 + WORD $0x4e221fba // and.16b v26, v29, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e26035a // fmov w26, s26 + WORD $0xd3607e94 // lsl x20, x20, #32 + WORD $0xaa15c294 // orr x20, x20, x21, lsl #48 + WORD $0x53103ca5 // lsl w5, w5, #16 + WORD $0xaa050285 // orr x5, x20, x5 + WORD $0xaa0e00ae // orr x14, x5, x14 + WORD $0xd3607f25 // lsl x5, x25, #32 + WORD $0xaa1ac0a5 // orr x5, x5, x26, lsl #48 + WORD $0x53103f14 // lsl w20, w24, #16 + WORD $0xaa1400a5 // orr x5, x5, x20 + WORD $0xaa1700a5 // orr x5, x5, x23 + WORD $0xb5000105 // cbnz x5, LBB0_53 $32(%rip) + WORD $0xb5000193 // cbnz x19, LBB0_54 $48(%rip) + WORD $0xb50002ce // cbnz x14, LBB0_55 $88(%rip) LBB0_52: - WORD $0x8a250235 // bic x21, x17, x5 - WORD $0xaa1504b6 // orr x22, x5, x21, lsl #1 - WORD $0x8a360231 // bic x17, x17, x22 - WORD $0x9201f231 // and x17, x17, #0xaaaaaaaaaaaaaaaa - WORD $0xab150231 // adds x17, x17, x21 - WORD $0x1a9f37e5 // cset w5, hs - WORD $0xd37ffa31 // lsl x17, x17, #1 - WORD $0xd200f231 // eor x17, x17, #0x5555555555555555 - WORD $0x8a160231 // and x17, x17, x22 - WORD $0x8a3100e7 // bic x7, x7, x17 - WORD $0xb4fffd87 // cbz x7, LBB0_50 $-80(%rip) + WORD $0xd10102d6 // sub x22, x22, #64 + WORD $0x9101039c // add x28, x28, #64 + WORD $0xf100fedf // cmp x22, #63 + WORD $0x54fff8a8 // b.hi LBB0_49 $-236(%rip) + WORD $0x1400079a // b LBB0_391 $7784(%rip) LBB0_53: - WORD $0xdac000f1 // rbit x17, x7 - WORD $0xdac01231 // clz x17, x17 - WORD $0x8b1c0231 // add x17, x17, x28 - WORD $0x140001e6 // b LBB0_150 $1944(%rip) + WORD $0xb100041f // cmn x0, #1 + WORD $0xdac000b4 // rbit x20, x5 + WORD $0xdac01294 // clz x20, x20 + WORD $0x8b1c0294 // add x20, x20, x28 + WORD $0x9a941000 // csel x0, x0, x20, ne LBB0_54: - WORD $0x7100b2bf // cmp w21, #44 - WORD $0x540017e0 // b.eq LBB0_105 $764(%rip) - WORD $0x710176bf // cmp w21, #93 - WORD $0x54001420 // b.eq LBB0_97 $644(%rip) - WORD $0x140006c3 // b LBB0_425 $6924(%rip) + WORD $0x8a3300b4 // bic x20, x5, x19 + WORD $0xaa140675 // orr x21, x19, x20, lsl #1 + WORD $0x8a3500a5 // bic x5, x5, x21 + WORD $0x9201f0a5 // and x5, x5, #0xaaaaaaaaaaaaaaaa + WORD $0xab1400a5 // adds x5, x5, x20 + WORD $0x1a9f37f3 // cset w19, hs + WORD $0xd37ff8a5 // lsl x5, x5, #1 + WORD $0xd200f0a5 // eor x5, x5, #0x5555555555555555 + WORD $0x8a1500a5 // and x5, x5, x21 + WORD $0x8a2501ce // bic x14, x14, x5 + WORD $0xb4fffd8e // cbz x14, LBB0_52 $-80(%rip) +LBB0_55: + WORD $0xdac001ce // rbit x14, x14 + WORD $0xdac011ce // clz x14, x14 + WORD $0x8b1c01ce // add x14, x14, x28 + WORD $0x910005dc // add x28, x14, #1 + WORD $0xb6f854dc // tbz x28, #63, LBB0_194 $2712(%rip) + WORD $0x14000a3e // b LBB0_542 $10488(%rip) LBB0_56: - WORD $0x7100eabf // cmp w21, #58 - WORD $0x5400d821 // b.ne LBB0_425 $6916(%rip) - WORD $0xf834795f // str xzr, [x10, x20, lsl #3] - WORD $0xf9400045 // ldr x5, [x2] - WORD $0xaa0e03e8 // mov x8, x14 - WORD $0xb5ffdce5 // cbnz x5, LBB0_1 $-1124(%rip) - WORD $0x14000656 // b LBB0_394 $6488(%rip) + WORD $0x7100b0bf // cmp w5, #44 + WORD $0x540017c0 // b.eq LBB0_109 $760(%rip) + WORD $0x710174bf // cmp w5, #93 + WORD $0x54001440 // b.eq LBB0_100 $648(%rip) + WORD $0x14000a35 // b LBB0_540 $10452(%rip) LBB0_58: - WORD $0xf9000054 // str x20, [x2] - WORD $0x92800028 // mov x8, #-2 - WORD $0x71016abf // cmp w21, #90 - WORD $0x540013cc // b.gt LBB0_99 $632(%rip) -LBB0_59: - WORD $0x5100c2b1 // sub w17, w21, #48 - WORD $0x71002a3f // cmp w17, #10 - WORD $0x54003d02 // b.hs LBB0_154 $1952(%rip) - WORD $0xf9400408 // ldr x8, [x0, #8] - WORD $0xeb1b0115 // subs x21, x8, x27 - WORD $0x5400cbc0 // b.eq LBB0_399 $6520(%rip) - WORD $0x394003c8 // ldrb w8, [lr] - WORD $0x7100c11f // cmp w8, #48 - WORD $0x54000141 // b.ne LBB0_65 $40(%rip) - WORD $0xf10006bf // cmp x21, #1 - WORD $0x54004280 // b.eq LBB0_170 $2128(%rip) - WORD $0x387c6928 // ldrb w8, [x9, x28] - WORD $0x5100b908 // sub w8, w8, #46 - WORD $0x7100dd1f // cmp w8, #55 - WORD $0x54004208 // b.hi LBB0_170 $2112(%rip) - WORD $0x9ac821e8 // lsl x8, x15, x8 - WORD $0xea07011f // tst x8, x7 - WORD $0x540041a0 // b.eq LBB0_170 $2100(%rip) -LBB0_65: - WORD $0xf10042bf // cmp x21, #16 - WORD $0x5400a5c3 // b.lo LBB0_333 $5304(%rip) - WORD $0xd2800016 // mov x22, #0 + WORD $0x7100e8bf // cmp w5, #58 + WORD $0x54014661 // b.ne LBB0_540 $10444(%rip) + WORD $0xf82e793f // str xzr, [x9, x14, lsl #3] + WORD $0x14000569 // b LBB0_284 $5540(%rip) +LBB0_60: + WORD $0xf900004e // str x14, [x2] + WORD $0x92800020 // mov x0, #-2 + WORD $0x710168bf // cmp w5, #90 + WORD $0x5400144c // b.gt LBB0_102 $648(%rip) +LBB0_61: + WORD $0x5100c0ae // sub w14, w5, #48 + WORD $0x710029df // cmp w14, #10 + WORD $0x54003ba2 // b.hs LBB0_154 $1908(%rip) + WORD $0xf94004ce // ldr x14, [x6, #8] + WORD $0x37301ee3 // tbnz w3, #6, LBB0_120 $988(%rip) + WORD $0xeb0801da // subs x26, x14, x8 + WORD $0x540145e0 // b.eq LBB0_544 $10428(%rip) + WORD $0x394003ce // ldrb w14, [lr] + WORD $0x7100c1df // cmp w14, #48 + WORD $0x54000181 // b.ne LBB0_68 $48(%rip) + WORD $0xf100075f // cmp x26, #1 + WORD $0x5400aaa0 // b.eq LBB0_283 $5460(%rip) + WORD $0x387c6b6e // ldrb w14, [x27, x28] + WORD $0x5100b9ce // sub w14, w14, #46 + WORD $0x7100dddf // cmp w14, #55 + WORD $0x5400aa28 // b.hi LBB0_283 $5444(%rip) + WORD $0x9ace218e // lsl x14, x12, x14 + WORD $0xb20903e0 // mov x0, #36028797027352576 + WORD $0xf2800020 // movk x0, #1 + WORD $0xea0001df // tst x14, x0 + WORD $0x5400a980 // b.eq LBB0_283 $5424(%rip) +LBB0_68: + WORD $0xf100435f // cmp x26, #16 + WORD $0x54011203 // b.lo LBB0_456 $8768(%rip) + WORD $0xd280000e // mov x14, #0 WORD $0xd280001c // mov x28, #0 - WORD $0x92800014 // mov x20, #-1 - WORD $0x92800005 // mov x5, #-1 - WORD $0x92800008 // mov x8, #-1 -LBB0_67: - WORD $0x3cfc6bd4 // ldr q20, [lr, x28] - WORD $0x6e258e95 // cmeq.16b v21, v20, v5 - WORD $0x6e268e96 // cmeq.16b v22, v20, v6 - WORD $0x6e278e97 // cmeq.16b v23, v20, v7 - WORD $0x4e308698 // add.16b v24, v20, v16 - WORD $0x6e383638 // cmhi.16b v24, v17, v24 - WORD $0x4e321e94 // and.16b v20, v20, v18 - WORD $0x6e338e94 // cmeq.16b v20, v20, v19 - WORD $0x4eb71ed6 // orr.16b v22, v22, v23 - WORD $0x4eb51f17 // orr.16b v23, v24, v21 - WORD $0x4eb61e98 // orr.16b v24, v20, v22 - WORD $0x4eb81ef7 // orr.16b v23, v23, v24 - WORD $0x4e221eb5 // and.16b v21, v21, v2 - WORD $0x4e0302b5 // tbl.16b v21, { v21 }, v3 - WORD $0x4e71bab5 // addv.8h h21, v21 - WORD $0x1e2602b1 // fmov w17, s21 - WORD $0x4e221e94 // and.16b v20, v20, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260297 // fmov w23, s20 - WORD $0x4e221ed4 // and.16b v20, v22, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260299 // fmov w25, s20 - WORD $0x4e221ef4 // and.16b v20, v23, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260287 // fmov w7, s20 - WORD $0x2a2703e7 // mvn w7, w7 - WORD $0x32103ce7 // orr w7, w7, #0xffff0000 - WORD $0x5ac000e7 // rbit w7, w7 - WORD $0x5ac010e7 // clz w7, w7 - WORD $0x12800004 // mov w4, #-1 - WORD $0x1ac72098 // lsl w24, w4, w7 - WORD $0x0a38023a // bic w26, w17, w24 - WORD $0x0a3802e4 // bic w4, w23, w24 - WORD $0x0a380326 // bic w6, w25, w24 - WORD $0x710040ff // cmp w7, #16 - WORD $0x1a9a0231 // csel w17, w17, w26, eq - WORD $0x1a8402f8 // csel w24, w23, w4, eq - WORD $0x1a860337 // csel w23, w25, w6, eq - WORD $0x51000624 // sub w4, w17, #1 - WORD $0x6a110099 // ands w25, w4, w17 - WORD $0x54006d81 // b.ne LBB0_245 $3504(%rip) - WORD $0x51000704 // sub w4, w24, #1 - WORD $0x6a180099 // ands w25, w4, w24 - WORD $0x54006d21 // b.ne LBB0_245 $3492(%rip) - WORD $0x510006e4 // sub w4, w23, #1 - WORD $0x6a170099 // ands w25, w4, w23 - WORD $0x54006cc1 // b.ne LBB0_245 $3480(%rip) - WORD $0x340000d1 // cbz w17, LBB0_73 $24(%rip) - WORD $0x5ac00231 // rbit w17, w17 - WORD $0x5ac01231 // clz w17, w17 - WORD $0xb100051f // cmn x8, #1 - WORD $0x54006cc1 // b.ne LBB0_246 $3480(%rip) - WORD $0x8b110388 // add x8, x28, x17 -LBB0_73: - WORD $0x340000d8 // cbz w24, LBB0_76 $24(%rip) - WORD $0x5ac00311 // rbit w17, w24 - WORD $0x5ac01231 // clz w17, w17 - WORD $0xb10004bf // cmn x5, #1 - WORD $0x54006c01 // b.ne LBB0_246 $3456(%rip) - WORD $0x8b110385 // add x5, x28, x17 + WORD $0x92800016 // mov x22, #-1 + WORD $0x92800013 // mov x19, #-1 + WORD $0x92800000 // mov x0, #-1 +LBB0_70: + WORD $0x3cfc6bda // ldr q26, [lr, x28] + WORD $0x6e258f5b // cmeq.16b v27, v26, v5 + WORD $0x6e268f5c // cmeq.16b v28, v26, v6 + WORD $0x6e278f5d // cmeq.16b v29, v26, v7 + WORD $0x4e30875e // add.16b v30, v26, v16 + WORD $0x6e3e363e // cmhi.16b v30, v17, v30 + WORD $0x4e321f5a // and.16b v26, v26, v18 + WORD $0x6e338f5a // cmeq.16b v26, v26, v19 + WORD $0x4ebd1f9c // orr.16b v28, v28, v29 + WORD $0x4ebb1fdd // orr.16b v29, v30, v27 + WORD $0x4ebc1f5e // orr.16b v30, v26, v28 + WORD $0x4ebe1fbd // orr.16b v29, v29, v30 + WORD $0x4e221f7b // and.16b v27, v27, v2 + WORD $0x4e03037b // tbl.16b v27, { v27 }, v3 + WORD $0x4e71bb7b // addv.8h h27, v27 + WORD $0x1e260374 // fmov w20, s27 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260355 // fmov w21, s26 + WORD $0x4e221f9a // and.16b v26, v28, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260357 // fmov w23, s26 + WORD $0x4e221fba // and.16b v26, v29, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260345 // fmov w5, s26 + WORD $0x2a2503e5 // mvn w5, w5 + WORD $0x32103ca5 // orr w5, w5, #0xffff0000 + WORD $0x5ac000a5 // rbit w5, w5 + WORD $0x5ac010a5 // clz w5, w5 + WORD $0x1280000f // mov w15, #-1 + WORD $0x1ac521f8 // lsl w24, w15, w5 + WORD $0x0a380299 // bic w25, w20, w24 + WORD $0x0a3802af // bic w15, w21, w24 + WORD $0x0a3802f8 // bic w24, w23, w24 + WORD $0x710040bf // cmp w5, #16 + WORD $0x1a990294 // csel w20, w20, w25, eq + WORD $0x1a8f02b9 // csel w25, w21, w15, eq + WORD $0x1a9802f5 // csel w21, w23, w24, eq + WORD $0x5100068f // sub w15, w20, #1 + WORD $0x6a1401f7 // ands w23, w15, w20 + WORD $0x5400d341 // b.ne LBB0_358 $6760(%rip) + WORD $0x5100072f // sub w15, w25, #1 + WORD $0x6a1901f7 // ands w23, w15, w25 + WORD $0x5400d2e1 // b.ne LBB0_358 $6748(%rip) + WORD $0x510006af // sub w15, w21, #1 + WORD $0x6a1501f7 // ands w23, w15, w21 + WORD $0x5400d281 // b.ne LBB0_358 $6736(%rip) + WORD $0x340000d4 // cbz w20, LBB0_76 $24(%rip) + WORD $0x5ac0028f // rbit w15, w20 + WORD $0x5ac011f4 // clz w20, w15 + WORD $0xb100041f // cmn x0, #1 + WORD $0x5400d281 // b.ne LBB0_359 $6736(%rip) + WORD $0x8b140380 // add x0, x28, x20 LBB0_76: - WORD $0x340000d7 // cbz w23, LBB0_79 $24(%rip) - WORD $0x5ac002f1 // rbit w17, w23 - WORD $0x5ac01231 // clz w17, w17 - WORD $0xb100069f // cmn x20, #1 - WORD $0x54006b41 // b.ne LBB0_246 $3432(%rip) - WORD $0x8b110394 // add x20, x28, x17 + WORD $0x340000d9 // cbz w25, LBB0_79 $24(%rip) + WORD $0x5ac0032f // rbit w15, w25 + WORD $0x5ac011f4 // clz w20, w15 + WORD $0xb100067f // cmn x19, #1 + WORD $0x5400d1c1 // b.ne LBB0_359 $6712(%rip) + WORD $0x8b140393 // add x19, x28, x20 LBB0_79: - WORD $0x710040ff // cmp w7, #16 - WORD $0x54001bc1 // b.ne LBB0_123 $888(%rip) - WORD $0x9100439c // add x28, x28, #16 - WORD $0xd10042d6 // sub x22, x22, #16 - WORD $0x8b1602b7 // add x23, x21, x22 - WORD $0xf1003eff // cmp x23, #15 - WORD $0x54fff6c8 // b.hi LBB0_67 $-296(%rip) - WORD $0x8b1c03d6 // add x22, lr, x28 - WORD $0xeb1c02bf // cmp x21, x28 - WORD $0x54001b00 // b.eq LBB0_124 $864(%rip) + WORD $0x340000d5 // cbz w21, LBB0_82 $24(%rip) + WORD $0x5ac002af // rbit w15, w21 + WORD $0x5ac011f4 // clz w20, w15 + WORD $0xb10006df // cmn x22, #1 + WORD $0x5400d101 // b.ne LBB0_359 $6688(%rip) + WORD $0x8b140396 // add x22, x28, x20 LBB0_82: - WORD $0x8b1702d8 // add x24, x22, x23 - WORD $0x8b1b01b1 // add x17, x13, x27 - WORD $0xcb160235 // sub x21, x17, x22 - WORD $0xcb1e02c7 // sub x7, x22, lr - WORD $0xaa1603fc // mov x28, x22 - WORD $0x14000009 // b LBB0_85 $36(%rip) -LBB0_83: - WORD $0xb10004bf // cmn x5, #1 - WORD $0xaa0703e5 // mov x5, x7 - WORD $0x54001d81 // b.ne LBB0_136 $944(%rip) -LBB0_84: - WORD $0xd10006b5 // sub x21, x21, #1 - WORD $0x910004e7 // add x7, x7, #1 - WORD $0xaa1c03f6 // mov x22, x28 - WORD $0xd10006f7 // sub x23, x23, #1 - WORD $0xb40042d7 // cbz x23, LBB0_184 $2136(%rip) + WORD $0x710040bf // cmp w5, #16 + WORD $0x540033a1 // b.ne LBB0_166 $1652(%rip) + WORD $0x9100439c // add x28, x28, #16 + WORD $0xd10041ce // sub x14, x14, #16 + WORD $0x8b0e0345 // add x5, x26, x14 + WORD $0xf1003cbf // cmp x5, #15 + WORD $0x54fff6c8 // b.hi LBB0_70 $-296(%rip) + WORD $0x8b1c03d5 // add x21, lr, x28 + WORD $0xeb1c035f // cmp x26, x28 + WORD $0x540032e0 // b.eq LBB0_167 $1628(%rip) LBB0_85: - WORD $0x38401791 // ldrb w17, [x28], #1 - WORD $0x5100c224 // sub w4, w17, #48 - WORD $0x7100289f // cmp w4, #10 - WORD $0x54ffff03 // b.lo LBB0_84 $-32(%rip) - WORD $0x7100b63f // cmp w17, #45 - WORD $0x5400016d // b.le LBB0_91 $44(%rip) - WORD $0x7101963f // cmp w17, #101 - WORD $0x54fffe20 // b.eq LBB0_83 $-60(%rip) - WORD $0x7101163f // cmp w17, #69 - WORD $0x54fffde0 // b.eq LBB0_83 $-68(%rip) - WORD $0x7100ba3f // cmp w17, #46 - WORD $0x540017c1 // b.ne LBB0_124 $760(%rip) - WORD $0xb100051f // cmn x8, #1 - WORD $0xaa0703e8 // mov x8, x7 - WORD $0x54fffda0 // b.eq LBB0_84 $-76(%rip) - WORD $0x140000d7 // b LBB0_136 $860(%rip) -LBB0_91: - WORD $0x7100ae3f // cmp w17, #43 - WORD $0x54000060 // b.eq LBB0_93 $12(%rip) - WORD $0x7100b63f // cmp w17, #45 - WORD $0x540016c1 // b.ne LBB0_124 $728(%rip) -LBB0_93: - WORD $0xb100069f // cmn x20, #1 - WORD $0xaa0703f4 // mov x20, x7 - WORD $0x54fffca0 // b.eq LBB0_84 $-108(%rip) - WORD $0x140000cf // b LBB0_136 $828(%rip) + WORD $0x8b0502ba // add x26, x21, x5 + WORD $0xaa3503ee // mvn x14, x21 + WORD $0x8b1b010f // add x15, x8, x27 + WORD $0x8b0f01ce // add x14, x14, x15 + WORD $0xcb1e02bb // sub x27, x21, lr + WORD $0xaa1503fc // mov x28, x21 + WORD $0x14000009 // b LBB0_88 $36(%rip) +LBB0_86: + WORD $0xb100067f // cmn x19, #1 + WORD $0xaa1b03f3 // mov x19, x27 + WORD $0x54003561 // b.ne LBB0_179 $1708(%rip) +LBB0_87: + WORD $0xd10005ce // sub x14, x14, #1 + WORD $0x9100077b // add x27, x27, #1 + WORD $0xaa1c03f5 // mov x21, x28 + WORD $0xd10004a5 // sub x5, x5, #1 + WORD $0xb400a6c5 // cbz x5, LBB0_295 $5336(%rip) +LBB0_88: + WORD $0x38401794 // ldrb w20, [x28], #1 + WORD $0x5100c28f // sub w15, w20, #48 + WORD $0x710029ff // cmp w15, #10 + WORD $0x54ffff03 // b.lo LBB0_87 $-32(%rip) + WORD $0x7100b69f // cmp w20, #45 + WORD $0x5400016d // b.le LBB0_94 $44(%rip) + WORD $0x7101969f // cmp w20, #101 + WORD $0x54fffe20 // b.eq LBB0_86 $-60(%rip) + WORD $0x7101169f // cmp w20, #69 + WORD $0x54fffde0 // b.eq LBB0_86 $-68(%rip) + WORD $0x7100ba9f // cmp w20, #46 + WORD $0x54002f81 // b.ne LBB0_167 $1520(%rip) + WORD $0xb100041f // cmn x0, #1 + WORD $0xaa1b03e0 // mov x0, x27 + WORD $0x54fffda0 // b.eq LBB0_87 $-76(%rip) + WORD $0x14000196 // b LBB0_179 $1624(%rip) LBB0_94: - WORD $0x7100b2bf // cmp w21, #44 - WORD $0x54000560 // b.eq LBB0_107 $172(%rip) -LBB0_95: - WORD $0x7101f6bf // cmp w21, #125 - WORD $0x54000080 // b.eq LBB0_97 $16(%rip) - WORD $0x14000626 // b LBB0_425 $6296(%rip) + WORD $0x7100ae9f // cmp w20, #43 + WORD $0x54000060 // b.eq LBB0_96 $12(%rip) + WORD $0x7100b69f // cmp w20, #45 + WORD $0x54002e81 // b.ne LBB0_167 $1488(%rip) LBB0_96: - WORD $0x710176bf // cmp w21, #93 - WORD $0x540000c1 // b.ne LBB0_98 $24(%rip) + WORD $0xb10006df // cmn x22, #1 + WORD $0xaa1b03f6 // mov x22, x27 + WORD $0x54fffca0 // b.eq LBB0_87 $-108(%rip) + WORD $0x1400018e // b LBB0_179 $1592(%rip) LBB0_97: - WORD $0xf9000054 // str x20, [x2] - WORD $0xaa1403e5 // mov x5, x20 - WORD $0xaa0e03e8 // mov x8, x14 - WORD $0xb5ffc954 // cbnz x20, LBB0_1 $-1752(%rip) - WORD $0x140005b9 // b LBB0_394 $5860(%rip) + WORD $0x7100b0bf // cmp w5, #44 + WORD $0x540004c0 // b.eq LBB0_111 $152(%rip) LBB0_98: - WORD $0xf834794f // str x15, [x10, x20, lsl #3] - WORD $0x92800028 // mov x8, #-2 - WORD $0x71016abf // cmp w21, #90 - WORD $0x54ffec8d // b.le LBB0_59 $-624(%rip) + WORD $0x7101f4bf // cmp w5, #125 + WORD $0x54000080 // b.eq LBB0_100 $16(%rip) + WORD $0x14000997 // b LBB0_540 $9820(%rip) LBB0_99: - WORD $0x7101b6bf // cmp w21, #109 - WORD $0x54002bad // b.le LBB0_160 $1396(%rip) - WORD $0x7101babf // cmp w21, #110 - WORD $0x54002e80 // b.eq LBB0_167 $1488(%rip) - WORD $0x7101d2bf // cmp w21, #116 - WORD $0x54002d00 // b.eq LBB0_165 $1440(%rip) - WORD $0x7101eebf // cmp w21, #123 - WORD $0x5400b5a1 // b.ne LBB0_394 $5812(%rip) + WORD $0x710174bf // cmp w5, #93 + WORD $0x540000c1 // b.ne LBB0_101 $24(%rip) +LBB0_100: + WORD $0xf900004e // str x14, [x2] + WORD $0xaa0e03f3 // mov x19, x14 + WORD $0xaa0b03e0 // mov x0, x11 + WORD $0xb5ffc8ae // cbnz x14, LBB0_1 $-1772(%rip) + WORD $0x140009fb // b LBB0_576 $10220(%rip) +LBB0_101: + WORD $0xf82e792c // str x12, [x9, x14, lsl #3] + WORD $0x92800020 // mov x0, #-2 + WORD $0x710168bf // cmp w5, #90 + WORD $0x54ffec0d // b.le LBB0_61 $-640(%rip) +LBB0_102: + WORD $0x7101b4bf // cmp w5, #109 + WORD $0x540029ad // b.le LBB0_161 $1332(%rip) + WORD $0x7101b8bf // cmp w5, #110 + WORD $0x54004180 // b.eq LBB0_200 $2096(%rip) + WORD $0x7101d0bf // cmp w5, #116 + WORD $0x54003fa0 // b.eq LBB0_197 $2036(%rip) + WORD $0x7101ecbf // cmp w5, #123 + WORD $0x54013de1 // b.ne LBB0_576 $10172(%rip) + WORD $0x37305063 // tbnz w3, #6, LBB0_219 $2572(%rip) WORD $0xf9400048 // ldr x8, [x2] WORD $0xf13ffd1f // cmp x8, #4095 - WORD $0x5400b6ac // b.gt LBB0_396 $5844(%rip) - WORD $0x91000511 // add x17, x8, #1 - WORD $0xf9000051 // str x17, [x2] - WORD $0x528000d1 // mov w17, #6 - WORD $0xf8287951 // str x17, [x10, x8, lsl #3] - WORD $0xf9400045 // ldr x5, [x2] - WORD $0xaa0e03e8 // mov x8, x14 - WORD $0xb5ffc665 // cbnz x5, LBB0_1 $-1844(%rip) - WORD $0x140005a2 // b LBB0_394 $5768(%rip) -LBB0_105: - WORD $0xf13ffcbf // cmp x5, #4095 - WORD $0x5400b56c // b.gt LBB0_396 $5804(%rip) - WORD $0x910004a8 // add x8, x5, #1 + WORD $0x5401304c // b.gt LBB0_541 $9736(%rip) + WORD $0x9100050e // add x14, x8, #1 + WORD $0xf900004e // str x14, [x2] + WORD $0x528000ce // mov w14, #6 + WORD $0xf828792e // str x14, [x9, x8, lsl #3] + WORD $0x140004b3 // b LBB0_284 $4812(%rip) +LBB0_109: + WORD $0xf13ffe7f // cmp x19, #4095 + WORD $0x54012f6c // b.gt LBB0_541 $9708(%rip) + WORD $0x91000668 // add x8, x19, #1 WORD $0xf9000048 // str x8, [x2] - WORD $0xf825795f // str xzr, [x10, x5, lsl #3] - WORD $0xf9400045 // ldr x5, [x2] - WORD $0xaa0e03e8 // mov x8, x14 - WORD $0xb5ffc545 // cbnz x5, LBB0_1 $-1880(%rip) - WORD $0x14000599 // b LBB0_394 $5732(%rip) -LBB0_107: - WORD $0xf13ffcbf // cmp x5, #4095 - WORD $0x5400b44c // b.gt LBB0_396 $5768(%rip) - WORD $0x910004a8 // add x8, x5, #1 + WORD $0xf833793f // str xzr, [x9, x19, lsl #3] + WORD $0x140004ad // b LBB0_284 $4788(%rip) +LBB0_111: + WORD $0xf13ffe7f // cmp x19, #4095 + WORD $0x54012eac // b.gt LBB0_541 $9684(%rip) + WORD $0x91000668 // add x8, x19, #1 WORD $0xf9000048 // str x8, [x2] - WORD $0xf8257953 // str x19, [x10, x5, lsl #3] - WORD $0xf9400045 // ldr x5, [x2] - WORD $0xaa0e03e8 // mov x8, x14 - WORD $0xb5ffc425 // cbnz x5, LBB0_1 $-1916(%rip) - WORD $0x14000590 // b LBB0_394 $5696(%rip) -LBB0_109: - WORD $0x5400b3c0 // b.eq LBB0_398 $5752(%rip) - WORD $0xf101029f // cmp x20, #64 - WORD $0x54006403 // b.lo LBB0_256 $3200(%rip) + WORD $0xf8337927 // str x7, [x9, x19, lsl #3] + WORD $0x140004a7 // b LBB0_284 $4764(%rip) +LBB0_113: + WORD $0xf94004c0 // ldr x0, [x6, #8] + WORD $0xcb1c000e // sub x14, x0, x28 + WORD $0xf10081df // cmp x14, #32 + WORD $0x5400c50b // b.lt LBB0_360 $6304(%rip) + WORD $0xd280000e // mov x14, #0 WORD $0xd2800005 // mov x5, #0 - WORD $0x92800008 // mov x8, #-1 -LBB0_112: - WORD $0x8b1c0131 // add x17, x9, x28 - WORD $0xad405a37 // ldp q23, q22, [x17] - WORD $0xad415235 // ldp q21, q20, [x17, #32] - WORD $0x6e208ef8 // cmeq.16b v24, v23, v0 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260311 // fmov w17, s24 - WORD $0x6e208ed8 // cmeq.16b v24, v22, v0 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260307 // fmov w7, s24 - WORD $0x6e208eb8 // cmeq.16b v24, v21, v0 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260315 // fmov w21, s24 - WORD $0x6e208e98 // cmeq.16b v24, v20, v0 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260316 // fmov w22, s24 - WORD $0x6e218ef8 // cmeq.16b v24, v23, v1 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260317 // fmov w23, s24 - WORD $0x6e218ed8 // cmeq.16b v24, v22, v1 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260318 // fmov w24, s24 - WORD $0x6e218eb8 // cmeq.16b v24, v21, v1 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260319 // fmov w25, s24 - WORD $0x6e218e98 // cmeq.16b v24, v20, v1 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e26031a // fmov w26, s24 - WORD $0xd3607eb5 // lsl x21, x21, #32 - WORD $0xaa16c2b5 // orr x21, x21, x22, lsl #48 - WORD $0x53103ce7 // lsl w7, w7, #16 - WORD $0xaa0702a7 // orr x7, x21, x7 - WORD $0xaa1100e7 // orr x7, x7, x17 - WORD $0xd3607f31 // lsl x17, x25, #32 - WORD $0xaa1ac231 // orr x17, x17, x26, lsl #48 - WORD $0x53103f15 // lsl w21, w24, #16 - WORD $0xaa150231 // orr x17, x17, x21 - WORD $0xaa170231 // orr x17, x17, x23 - WORD $0xb5000451 // cbnz x17, LBB0_117 $136(%rip) - WORD $0xb50004c5 // cbnz x5, LBB0_118 $152(%rip) -LBB0_114: - WORD $0x6e373497 // cmhi.16b v23, v4, v23 - WORD $0x4e221ef7 // and.16b v23, v23, v2 - WORD $0x4e0302f7 // tbl.16b v23, { v23 }, v3 - WORD $0x4e71baf7 // addv.8h h23, v23 - WORD $0x1e2602f1 // fmov w17, s23 - WORD $0x6e363496 // cmhi.16b v22, v4, v22 - WORD $0x4e221ed6 // and.16b v22, v22, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602d5 // fmov w21, s22 - WORD $0x6e353495 // cmhi.16b v21, v4, v21 - WORD $0x4e221eb5 // and.16b v21, v21, v2 - WORD $0x4e0302b5 // tbl.16b v21, { v21 }, v3 - WORD $0x4e71bab5 // addv.8h h21, v21 - WORD $0x1e2602b6 // fmov w22, s21 - WORD $0x6e343494 // cmhi.16b v20, v4, v20 - WORD $0x4e221e94 // and.16b v20, v20, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260297 // fmov w23, s20 - WORD $0xd3607ed6 // lsl x22, x22, #32 - WORD $0xaa17c2d6 // orr x22, x22, x23, lsl #48 - WORD $0x53103eb5 // lsl w21, w21, #16 - WORD $0xaa1502d5 // orr x21, x22, x21 - WORD $0xaa1102b1 // orr x17, x21, x17 - WORD $0xb50002e7 // cbnz x7, LBB0_119 $92(%rip) - WORD $0xb500aa51 // cbnz x17, LBB0_404 $5448(%rip) - WORD $0xd1010294 // sub x20, x20, #64 - WORD $0x9101039c // add x28, x28, #64 + WORD $0xcb080000 // sub x0, x0, x8 + WORD $0x528003f3 // mov w19, #31 + WORD $0x14000008 // b LBB0_117 $32(%rip) +LBB0_115: + WORD $0xd2800005 // mov x5, #0 + WORD $0xb50005b5 // cbnz x21, LBB0_119 $180(%rip) +LBB0_116: + WORD $0x910081ce // add x14, x14, #32 + WORD $0xd1008273 // sub x19, x19, #32 + WORD $0x8b130014 // add x20, x0, x19 WORD $0xf100fe9f // cmp x20, #63 - WORD $0x54fff568 // b.hi LBB0_112 $-340(%rip) - WORD $0x1400029d // b LBB0_248 $2676(%rip) + WORD $0x5400c18d // b.le LBB0_356 $6192(%rip) LBB0_117: - WORD $0xb100051f // cmn x8, #1 - WORD $0xdac00235 // rbit x21, x17 - WORD $0xdac012b5 // clz x21, x21 - WORD $0x8b1c02b5 // add x21, x21, x28 - WORD $0x9a951108 // csel x8, x8, x21, ne -LBB0_118: - WORD $0x8a250235 // bic x21, x17, x5 - WORD $0xaa1504b6 // orr x22, x5, x21, lsl #1 - WORD $0x8a360231 // bic x17, x17, x22 - WORD $0x9201f231 // and x17, x17, #0xaaaaaaaaaaaaaaaa - WORD $0xab150231 // adds x17, x17, x21 + WORD $0x8b0e03d4 // add x20, lr, x14 + WORD $0x3cc0129a // ldur q26, [x20, #1] + WORD $0x3cc1129b // ldur q27, [x20, #17] + WORD $0x6e208f5c // cmeq.16b v28, v26, v0 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260395 // fmov w21, s28 + WORD $0x6e208f7c // cmeq.16b v28, v27, v0 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260394 // fmov w20, s28 + WORD $0x33103e95 // bfi w21, w20, #16, #16 + WORD $0x6e218f5a // cmeq.16b v26, v26, v1 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260354 // fmov w20, s26 + WORD $0x6e218f7a // cmeq.16b v26, v27, v1 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260356 // fmov w22, s26 + WORD $0x33103ed4 // bfi w20, w22, #16, #16 + WORD $0x7100029f // cmp w20, #0 + WORD $0xfa4008a0 // ccmp x5, #0, #0, eq + WORD $0x54fffbc0 // b.eq LBB0_115 $-136(%rip) + WORD $0x0a250296 // bic w22, w20, w5 + WORD $0x2a1604b7 // orr w23, w5, w22, lsl #1 + WORD $0x0a040285 // and w5, w20, w4 + WORD $0x0a3700a5 // bic w5, w5, w23 + WORD $0x2b1600b4 // adds w20, w5, w22 WORD $0x1a9f37e5 // cset w5, hs - WORD $0xd37ffa31 // lsl x17, x17, #1 - WORD $0xd200f231 // eor x17, x17, #0x5555555555555555 - WORD $0x8a160231 // and x17, x17, x22 - WORD $0x8a3100e7 // bic x7, x7, x17 - WORD $0x17ffffd1 // b LBB0_114 $-188(%rip) + WORD $0x4a140614 // eor w20, w16, w20, lsl #1 + WORD $0x0a170294 // and w20, w20, w23 + WORD $0x2a3403f4 // mvn w20, w20 + WORD $0x8a150295 // and x21, x20, x21 + WORD $0xb4fffab5 // cbz x21, LBB0_116 $-172(%rip) LBB0_119: - WORD $0xdac000e5 // rbit x5, x7 - WORD $0xdac010a5 // clz x5, x5 - WORD $0xdac00231 // rbit x17, x17 - WORD $0xdac01231 // clz x17, x17 - WORD $0xeb05023f // cmp x17, x5 - WORD $0x5400b123 // b.lo LBB0_427 $5668(%rip) + WORD $0xdac002a0 // rbit x0, x21 + WORD $0xdac01000 // clz x0, x0 + WORD $0x8b0e010e // add x14, x8, x14 + WORD $0x8b0e000e // add x14, x0, x14 + WORD $0x910009dc // add x28, x14, #2 + WORD $0x14000466 // b LBB0_283 $4504(%rip) LBB0_120: - WORD $0x8b1c00b1 // add x17, x5, x28 + WORD $0xcb1c01ce // sub x14, x14, x28 + WORD $0xf10041df // cmp x14, #16 + WORD $0x540001e3 // b.lo LBB0_123 $60(%rip) LBB0_121: - WORD $0x9100063c // add x28, x17, #1 -LBB0_122: - WORD $0x52800084 // mov w4, #4 - WORD $0x92f00006 // mov x6, #9223372036854775807 - WORD $0xb20903e7 // mov x7, #36028797027352576 - WORD $0xf2800027 // movk x7, #1 - WORD $0xb6f81c9c // tbz x28, #63, LBB0_170 $912(%rip) - WORD $0x14000523 // b LBB0_397 $5260(%rip) + WORD $0x3cfc6b7a // ldr q26, [x27, x28] + WORD $0x6e348f5b // cmeq.16b v27, v26, v20 + WORD $0x4e321f5a // and.16b v26, v26, v18 + WORD $0x6e358f5a // cmeq.16b v26, v26, v21 + WORD $0x4ebb1f5a // orr.16b v26, v26, v27 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260340 // fmov w0, s26 + WORD $0x35008ac0 // cbnz w0, LBB0_281 $4440(%rip) + WORD $0xd10041ce // sub x14, x14, #16 + WORD $0x9100439c // add x28, x28, #16 + WORD $0xf1003ddf // cmp x14, #15 + WORD $0x54fffe68 // b.hi LBB0_121 $-52(%rip) LBB0_123: - WORD $0x8b2743d1 // add x17, lr, w7, uxtw - WORD $0x8b1c0236 // add x22, x17, x28 -LBB0_124: - WORD $0x92800015 // mov x21, #-1 - WORD $0xb400a4a8 // cbz x8, LBB0_400 $5268(%rip) + WORD $0x8b1c0360 // add x0, x27, x28 + WORD $0xb40001ee // cbz x14, LBB0_130 $60(%rip) + WORD $0x8b0e0005 // add x5, x0, x14 + WORD $0xcb1b001c // sub x28, x0, x27 LBB0_125: - WORD $0xb400a494 // cbz x20, LBB0_400 $5264(%rip) - WORD $0xb400a465 // cbz x5, LBB0_400 $5260(%rip) - WORD $0xcb1e02c7 // sub x7, x22, lr - WORD $0xd10004f1 // sub x17, x7, #1 - WORD $0xeb11011f // cmp x8, x17 - WORD $0x540002a0 // b.eq LBB0_135 $84(%rip) - WORD $0xeb11029f // cmp x20, x17 - WORD $0x54000260 // b.eq LBB0_135 $76(%rip) - WORD $0xeb1100bf // cmp x5, x17 - WORD $0x54000220 // b.eq LBB0_135 $68(%rip) - WORD $0xf1000691 // subs x17, x20, #1 - WORD $0x5400006b // b.lt LBB0_132 $12(%rip) - WORD $0xeb1100bf // cmp x5, x17 - WORD $0x5400a301 // b.ne LBB0_401 $5216(%rip) + WORD $0x39400013 // ldrb w19, [x0] + WORD $0x7100b27f // cmp w19, #44 + WORD $0x540089c0 // b.eq LBB0_283 $4408(%rip) + WORD $0x7101f67f // cmp w19, #125 + WORD $0x54008980 // b.eq LBB0_283 $4400(%rip) + WORD $0x7101767f // cmp w19, #93 + WORD $0x54008940 // b.eq LBB0_283 $4392(%rip) + WORD $0x91000400 // add x0, x0, #1 + WORD $0x9100079c // add x28, x28, #1 + WORD $0xf10005ce // subs x14, x14, #1 + WORD $0x54fffec1 // b.ne LBB0_125 $-40(%rip) +LBB0_129: + WORD $0xaa0503e0 // mov x0, x5 +LBB0_130: + WORD $0xcb1b001c // sub x28, x0, x27 +LBB0_131: + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0x14000440 // b LBB0_283 $4352(%rip) LBB0_132: - WORD $0xaa050111 // orr x17, x8, x5 - WORD $0xb7f80071 // tbnz x17, #63, LBB0_134 $12(%rip) - WORD $0xeb05011f // cmp x8, x5 - WORD $0x5400a42a // b.ge LBB0_407 $5252(%rip) + WORD $0xf94004c0 // ldr x0, [x6, #8] + WORD $0xcb1c000e // sub x14, x0, x28 + WORD $0xf10081df // cmp x14, #32 + WORD $0x5400ba2b // b.lt LBB0_364 $5956(%rip) + WORD $0xd280000e // mov x14, #0 + WORD $0xd2800005 // mov x5, #0 + WORD $0xcb080000 // sub x0, x0, x8 + WORD $0x528003f3 // mov w19, #31 LBB0_134: - WORD $0xd37ffe31 // lsr x17, x17, #63 - WORD $0x52000231 // eor w17, w17, #0x1 - WORD $0xd10004a4 // sub x4, x5, #1 - WORD $0xeb04011f // cmp x8, x4 - WORD $0x1a9f17e8 // cset w8, eq - WORD $0x6a08023f // tst w17, w8 - WORD $0xda8500f5 // csinv x21, x7, x5, eq - WORD $0x14000002 // b LBB0_136 $8(%rip) -LBB0_135: - WORD $0xcb0703f5 // neg x21, x7 + WORD $0x8b0e03d4 // add x20, lr, x14 + WORD $0x3cc0129a // ldur q26, [x20, #1] + WORD $0x3cc1129b // ldur q27, [x20, #17] + WORD $0x6e208f5c // cmeq.16b v28, v26, v0 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260395 // fmov w21, s28 + WORD $0x6e208f7c // cmeq.16b v28, v27, v0 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260394 // fmov w20, s28 + WORD $0x33103e95 // bfi w21, w20, #16, #16 + WORD $0x6e218f5a // cmeq.16b v26, v26, v1 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260354 // fmov w20, s26 + WORD $0x6e218f7a // cmeq.16b v26, v27, v1 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260356 // fmov w22, s26 + WORD $0x33103ed4 // bfi w20, w22, #16, #16 + WORD $0x7100029f // cmp w20, #0 + WORD $0xfa4008a0 // ccmp x5, #0, #0, eq + WORD $0x54000180 // b.eq LBB0_136 $48(%rip) + WORD $0x0a250296 // bic w22, w20, w5 + WORD $0x2a1604b7 // orr w23, w5, w22, lsl #1 + WORD $0x0a040285 // and w5, w20, w4 + WORD $0x0a3700a5 // bic w5, w5, w23 + WORD $0x2b1600b4 // adds w20, w5, w22 + WORD $0x1a9f37e5 // cset w5, hs + WORD $0x4a140614 // eor w20, w16, w20, lsl #1 + WORD $0x0a170294 // and w20, w20, w23 + WORD $0x2a3403f4 // mvn w20, w20 + WORD $0x8a150295 // and x21, x20, x21 + WORD $0x14000002 // b LBB0_137 $8(%rip) LBB0_136: - WORD $0x52800084 // mov w4, #4 - WORD $0x92f00006 // mov x6, #9223372036854775807 - WORD $0xb20903e7 // mov x7, #36028797027352576 - WORD $0xf2800027 // movk x7, #1 - WORD $0xb7f8a0b5 // tbnz x21, #63, LBB0_400 $5140(%rip) - WORD $0x8b15037c // add x28, x27, x21 - WORD $0x140000bd // b LBB0_170 $756(%rip) -LBB0_138: - WORD $0x54009fc0 // b.eq LBB0_398 $5112(%rip) - WORD $0xf101029f // cmp x20, #64 - WORD $0x54005fa3 // b.lo LBB0_283 $3060(%rip) WORD $0xd2800005 // mov x5, #0 - WORD $0x92800008 // mov x8, #-1 +LBB0_137: + WORD $0xb5000f55 // cbnz x21, LBB0_151 $488(%rip) + WORD $0x910081ce // add x14, x14, #32 + WORD $0xd1008273 // sub x19, x19, #32 + WORD $0x8b130014 // add x20, x0, x19 + WORD $0xf100fe9f // cmp x20, #63 + WORD $0x54fffa6c // b.gt LBB0_134 $-180(%rip) + WORD $0xb500f065 // cbnz x5, LBB0_466 $7692(%rip) + WORD $0x8b0e03c5 // add x5, lr, x14 + WORD $0x910004a5 // add x5, x5, #1 + WORD $0xaa2e03ee // mvn x14, x14 + WORD $0x8b0001ce // add x14, x14, x0 + WORD $0xf10005df // cmp x14, #1 + WORD $0x5400f20a // b.ge LBB0_469 $7744(%rip) + WORD $0x14000938 // b LBB0_575 $9440(%rip) LBB0_141: - WORD $0x8b1c0131 // add x17, x9, x28 - WORD $0xad405a37 // ldp q23, q22, [x17] - WORD $0xad415235 // ldp q21, q20, [x17, #32] - WORD $0x6e208ef8 // cmeq.16b v24, v23, v0 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260311 // fmov w17, s24 - WORD $0x6e208ed8 // cmeq.16b v24, v22, v0 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260307 // fmov w7, s24 - WORD $0x6e208eb8 // cmeq.16b v24, v21, v0 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260315 // fmov w21, s24 - WORD $0x6e208e98 // cmeq.16b v24, v20, v0 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260316 // fmov w22, s24 - WORD $0x6e218ef8 // cmeq.16b v24, v23, v1 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260317 // fmov w23, s24 - WORD $0x6e218ed8 // cmeq.16b v24, v22, v1 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260318 // fmov w24, s24 - WORD $0x6e218eb8 // cmeq.16b v24, v21, v1 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260319 // fmov w25, s24 - WORD $0x6e218e98 // cmeq.16b v24, v20, v1 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e26031a // fmov w26, s24 + WORD $0x54011a60 // b.eq LBB0_543 $9036(%rip) + WORD $0xf10102df // cmp x22, #64 + WORD $0x5400b7c3 // b.lo LBB0_371 $5880(%rip) + WORD $0xd2800013 // mov x19, #0 + WORD $0x92800000 // mov x0, #-1 +LBB0_144: + WORD $0x8b1c036e // add x14, x27, x28 + WORD $0xad4071dd // ldp q29, q28, [x14] + WORD $0xad4169db // ldp q27, q26, [x14, #32] + WORD $0x6e208fbe // cmeq.16b v30, v29, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603ce // fmov w14, s30 + WORD $0x6e208f9e // cmeq.16b v30, v28, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603c5 // fmov w5, s30 + WORD $0x6e208f7e // cmeq.16b v30, v27, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d4 // fmov w20, s30 + WORD $0x6e208f5e // cmeq.16b v30, v26, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d5 // fmov w21, s30 + WORD $0x6e218fbe // cmeq.16b v30, v29, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d7 // fmov w23, s30 + WORD $0x6e218f9e // cmeq.16b v30, v28, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d8 // fmov w24, s30 + WORD $0x6e218f7e // cmeq.16b v30, v27, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d9 // fmov w25, s30 + WORD $0x6e218f5e // cmeq.16b v30, v26, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603da // fmov w26, s30 + WORD $0xd3607e94 // lsl x20, x20, #32 + WORD $0xaa15c294 // orr x20, x20, x21, lsl #48 + WORD $0x53103ca5 // lsl w5, w5, #16 + WORD $0xaa050285 // orr x5, x20, x5 + WORD $0xaa0e00ae // orr x14, x5, x14 + WORD $0xd3607f25 // lsl x5, x25, #32 + WORD $0xaa1ac0a5 // orr x5, x5, x26, lsl #48 + WORD $0x53103f14 // lsl w20, w24, #16 + WORD $0xaa1400a5 // orr x5, x5, x20 + WORD $0xaa1700a5 // orr x5, x5, x23 + WORD $0xb5000445 // cbnz x5, LBB0_149 $136(%rip) + WORD $0xb50004d3 // cbnz x19, LBB0_150 $152(%rip) +LBB0_146: + WORD $0x6e3d349d // cmhi.16b v29, v4, v29 + WORD $0x4e221fbd // and.16b v29, v29, v2 + WORD $0x4e0303bd // tbl.16b v29, { v29 }, v3 + WORD $0x4e71bbbd // addv.8h h29, v29 + WORD $0x1e2603a5 // fmov w5, s29 + WORD $0x6e3c349c // cmhi.16b v28, v4, v28 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260394 // fmov w20, s28 + WORD $0x6e3b349b // cmhi.16b v27, v4, v27 + WORD $0x4e221f7b // and.16b v27, v27, v2 + WORD $0x4e03037b // tbl.16b v27, { v27 }, v3 + WORD $0x4e71bb7b // addv.8h h27, v27 + WORD $0x1e260375 // fmov w21, s27 + WORD $0x6e3a349a // cmhi.16b v26, v4, v26 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260357 // fmov w23, s26 WORD $0xd3607eb5 // lsl x21, x21, #32 - WORD $0xaa16c2b5 // orr x21, x21, x22, lsl #48 - WORD $0x53103ce7 // lsl w7, w7, #16 - WORD $0xaa0702a7 // orr x7, x21, x7 - WORD $0xaa1100e7 // orr x7, x7, x17 - WORD $0xd3607f31 // lsl x17, x25, #32 - WORD $0xaa1ac231 // orr x17, x17, x26, lsl #48 - WORD $0x53103f15 // lsl w21, w24, #16 - WORD $0xaa150231 // orr x17, x17, x21 - WORD $0xaa170231 // orr x17, x17, x23 - WORD $0xb5000451 // cbnz x17, LBB0_146 $136(%rip) - WORD $0xb50004c5 // cbnz x5, LBB0_147 $152(%rip) -LBB0_143: - WORD $0x6e373497 // cmhi.16b v23, v4, v23 - WORD $0x4e221ef7 // and.16b v23, v23, v2 - WORD $0x4e0302f7 // tbl.16b v23, { v23 }, v3 - WORD $0x4e71baf7 // addv.8h h23, v23 - WORD $0x1e2602f1 // fmov w17, s23 - WORD $0x6e363496 // cmhi.16b v22, v4, v22 - WORD $0x4e221ed6 // and.16b v22, v22, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602d5 // fmov w21, s22 - WORD $0x6e353495 // cmhi.16b v21, v4, v21 - WORD $0x4e221eb5 // and.16b v21, v21, v2 - WORD $0x4e0302b5 // tbl.16b v21, { v21 }, v3 - WORD $0x4e71bab5 // addv.8h h21, v21 - WORD $0x1e2602b6 // fmov w22, s21 - WORD $0x6e343494 // cmhi.16b v20, v4, v20 - WORD $0x4e221e94 // and.16b v20, v20, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260297 // fmov w23, s20 - WORD $0xd3607ed6 // lsl x22, x22, #32 - WORD $0xaa17c2d6 // orr x22, x22, x23, lsl #48 - WORD $0x53103eb5 // lsl w21, w21, #16 - WORD $0xaa1502d5 // orr x21, x22, x21 - WORD $0xaa1102b1 // orr x17, x21, x17 - WORD $0xb50002e7 // cbnz x7, LBB0_148 $92(%rip) - WORD $0xb5009651 // cbnz x17, LBB0_404 $4808(%rip) - WORD $0xd1010294 // sub x20, x20, #64 + WORD $0xaa17c2b5 // orr x21, x21, x23, lsl #48 + WORD $0x53103e94 // lsl w20, w20, #16 + WORD $0xaa1402b4 // orr x20, x21, x20 + WORD $0xaa050285 // orr x5, x20, x5 + WORD $0xb500042e // cbnz x14, LBB0_152 $132(%rip) + WORD $0xb5011105 // cbnz x5, LBB0_549 $8736(%rip) + WORD $0xd10102d6 // sub x22, x22, #64 WORD $0x9101039c // add x28, x28, #64 - WORD $0xf100fe9f // cmp x20, #63 - WORD $0x54fff568 // b.hi LBB0_141 $-340(%rip) - WORD $0x1400027e // b LBB0_276 $2552(%rip) -LBB0_146: - WORD $0xb100051f // cmn x8, #1 - WORD $0xdac00235 // rbit x21, x17 - WORD $0xdac012b5 // clz x21, x21 - WORD $0x8b1c02b5 // add x21, x21, x28 - WORD $0x9a951108 // csel x8, x8, x21, ne -LBB0_147: - WORD $0x8a250235 // bic x21, x17, x5 - WORD $0xaa1504b6 // orr x22, x5, x21, lsl #1 - WORD $0x8a360231 // bic x17, x17, x22 - WORD $0x9201f231 // and x17, x17, #0xaaaaaaaaaaaaaaaa - WORD $0xab150231 // adds x17, x17, x21 - WORD $0x1a9f37e5 // cset w5, hs - WORD $0xd37ffa31 // lsl x17, x17, #1 - WORD $0xd200f231 // eor x17, x17, #0x5555555555555555 - WORD $0x8a160231 // and x17, x17, x22 - WORD $0x8a3100e7 // bic x7, x7, x17 - WORD $0x17ffffd1 // b LBB0_143 $-188(%rip) -LBB0_148: - WORD $0xdac000e5 // rbit x5, x7 - WORD $0xdac010a5 // clz x5, x5 - WORD $0xdac00231 // rbit x17, x17 - WORD $0xdac01231 // clz x17, x17 - WORD $0xeb05023f // cmp x17, x5 - WORD $0x54009d23 // b.lo LBB0_427 $5028(%rip) - WORD $0x8b1c00b1 // add x17, x5, x28 + WORD $0xf100fedf // cmp x22, #63 + WORD $0x54fff568 // b.hi LBB0_144 $-340(%rip) + WORD $0x14000535 // b LBB0_362 $5332(%rip) +LBB0_149: + WORD $0xb100041f // cmn x0, #1 + WORD $0xdac000b4 // rbit x20, x5 + WORD $0xdac01294 // clz x20, x20 + WORD $0x8b1c0294 // add x20, x20, x28 + WORD $0x9a941000 // csel x0, x0, x20, ne LBB0_150: - WORD $0x9100063c // add x28, x17, #1 - WORD $0x52800084 // mov w4, #4 - WORD $0x92f00006 // mov x6, #9223372036854775807 - WORD $0xb20903e7 // mov x7, #36028797027352576 - WORD $0xf2800027 // movk x7, #1 - WORD $0xb7f8909c // tbnz x28, #63, LBB0_397 $4624(%rip) + WORD $0x8a3300b4 // bic x20, x5, x19 + WORD $0xaa140675 // orr x21, x19, x20, lsl #1 + WORD $0x8a3500a5 // bic x5, x5, x21 + WORD $0x9201f0a5 // and x5, x5, #0xaaaaaaaaaaaaaaaa + WORD $0xab1400a5 // adds x5, x5, x20 + WORD $0x1a9f37f3 // cset w19, hs + WORD $0xd37ff8a5 // lsl x5, x5, #1 + WORD $0xd200f0a5 // eor x5, x5, #0x5555555555555555 + WORD $0x8a1500a5 // and x5, x5, x21 + WORD $0x8a2501ce // bic x14, x14, x5 + WORD $0x17ffffd1 // b LBB0_146 $-188(%rip) LBB0_151: + WORD $0xdac002a0 // rbit x0, x21 + WORD $0xdac01000 // clz x0, x0 + WORD $0x8b0e010e // add x14, x8, x14 + WORD $0x8b0e000e // add x14, x0, x14 + WORD $0x910009dc // add x28, x14, #2 WORD $0xf900003c // str x28, [x1] - WORD $0xaa1b03e8 // mov x8, x27 - WORD $0xb27ff7f1 // mov x17, #9223372036854775806 - WORD $0xeb11037f // cmp x27, x17 - WORD $0x54008e48 // b.hi LBB0_394 $4552(%rip) - WORD $0xf9400048 // ldr x8, [x2] - WORD $0xf13ffd1f // cmp x8, #4095 - WORD $0x54008f4c // b.gt LBB0_396 $4584(%rip) - WORD $0x91000511 // add x17, x8, #1 - WORD $0xf9000051 // str x17, [x2] - WORD $0xf8287944 // str x4, [x10, x8, lsl #3] - WORD $0xf9400045 // ldr x5, [x2] - WORD $0xaa0e03e8 // mov x8, x14 - WORD $0xb5ff9f25 // cbnz x5, LBB0_1 $-3100(%rip) - WORD $0x14000468 // b LBB0_394 $4512(%rip) + WORD $0xaa0803e0 // mov x0, x8 + WORD $0xeb11011f // cmp x8, x17 + WORD $0x54001923 // b.lo LBB0_195 $804(%rip) + WORD $0x140008c3 // b LBB0_576 $8972(%rip) +LBB0_152: + WORD $0xdac001ce // rbit x14, x14 + WORD $0xdac011ce // clz x14, x14 + WORD $0xdac000a5 // rbit x5, x5 + WORD $0xdac010a5 // clz x5, x5 + WORD $0xeb0e00bf // cmp x5, x14 + WORD $0x540116e3 // b.lo LBB0_572 $8924(%rip) + WORD $0x8b1c01ce // add x14, x14, x28 + WORD $0x910005dc // add x28, x14, #1 + WORD $0xb6f8707c // tbz x28, #63, LBB0_283 $3596(%rip) + WORD $0x14000852 // b LBB0_542 $8520(%rip) LBB0_154: - WORD $0x71008abf // cmp w21, #34 - WORD $0x540008c0 // b.eq LBB0_174 $280(%rip) - WORD $0x7100b6bf // cmp w21, #45 - WORD $0x54008c81 // b.ne LBB0_394 $4496(%rip) - WORD $0xf9400408 // ldr x8, [x0, #8] - WORD $0xeb1c0118 // subs x24, x8, x28 - WORD $0x540090a0 // b.eq LBB0_408 $4628(%rip) - WORD $0xb20903e4 // mov x4, #36028797027352576 - WORD $0xf2800024 // movk x4, #1 - WORD $0x8b1c0128 // add x8, x9, x28 - WORD $0x39400111 // ldrb w17, [x8] - WORD $0x7100c23f // cmp w17, #48 - WORD $0x54002281 // b.ne LBB0_198 $1104(%rip) - WORD $0xf100071f // cmp x24, #1 - WORD $0x54002141 // b.ne LBB0_196 $1064(%rip) -LBB0_159: - WORD $0x52800027 // mov w7, #1 - WORD $0x140001ac // b LBB0_244 $1712(%rip) + WORD $0x710088bf // cmp w5, #34 + WORD $0x54001d40 // b.eq LBB0_207 $936(%rip) + WORD $0x7100b4bf // cmp w5, #45 + WORD $0x540116a1 // b.ne LBB0_576 $8916(%rip) + WORD $0x37306b03 // tbnz w3, #6, LBB0_272 $3424(%rip) + WORD $0xf94004ce // ldr x14, [x6, #8] + WORD $0xeb1c01d5 // subs x21, x14, x28 + WORD $0x54011480 // b.eq LBB0_568 $8848(%rip) + WORD $0x8b1c0360 // add x0, x27, x28 + WORD $0x3940000e // ldrb w14, [x0] + WORD $0x7100c1df // cmp w14, #48 + WORD $0x54008981 // b.ne LBB0_310 $4400(%rip) + WORD $0xf10006bf // cmp x21, #1 + WORD $0x540087e1 // b.ne LBB0_308 $4348(%rip) LBB0_160: - WORD $0x71016ebf // cmp w21, #91 - WORD $0x54000540 // b.eq LBB0_172 $168(%rip) - WORD $0x71019abf // cmp w21, #102 - WORD $0x54008a61 // b.ne LBB0_394 $4428(%rip) - WORD $0xf9400408 // ldr x8, [x0, #8] - WORD $0xd1001111 // sub x17, x8, #4 - WORD $0xeb11037f // cmp x27, x17 - WORD $0x54008dc2 // b.hs LBB0_406 $4536(%rip) - WORD $0xb87c6928 // ldr w8, [x9, x28] - WORD $0x528d8c31 // mov w17, #27745 - WORD $0x72acae71 // movk w17, #25971, lsl #16 - WORD $0x6b11011f // cmp w8, w17 - WORD $0x54009361 // b.ne LBB0_420 $4716(%rip) - WORD $0x9100177c // add x28, x27, #5 - WORD $0x14000015 // b LBB0_170 $84(%rip) -LBB0_165: - WORD $0xf9400408 // ldr x8, [x0, #8] - WORD $0xd1000d11 // sub x17, x8, #3 - WORD $0xeb11037f // cmp x27, x17 - WORD $0x54008c62 // b.hs LBB0_406 $4492(%rip) - WORD $0xb87b6928 // ldr w8, [x9, x27] - WORD $0x528e4e91 // mov w17, #29300 - WORD $0x72acaeb1 // movk w17, #25973, lsl #16 - WORD $0x6b11011f // cmp w8, w17 - WORD $0x54000160 // b.eq LBB0_169 $44(%rip) - WORD $0x1400047a // b LBB0_415 $4584(%rip) + WORD $0x5280002e // mov w14, #1 + WORD $0x14000371 // b LBB0_282 $3524(%rip) +LBB0_161: + WORD $0x71016cbf // cmp w5, #91 + WORD $0x54001a20 // b.eq LBB0_204 $836(%rip) + WORD $0x710198bf // cmp w5, #102 + WORD $0x540114a1 // b.ne LBB0_576 $8852(%rip) + WORD $0xf94004ce // ldr x14, [x6, #8] + WORD $0xd10011cf // sub x15, x14, #4 + WORD $0xeb0f011f // cmp x8, x15 + WORD $0x540108a2 // b.hs LBB0_548 $8468(%rip) + WORD $0xb87c6b6e // ldr w14, [x27, x28] + WORD $0x528d8c2f // mov w15, #27745 + WORD $0x72acae6f // movk w15, #25971, lsl #16 + WORD $0x6b0f01df // cmp w14, w15 + WORD $0x54010e41 // b.ne LBB0_561 $8648(%rip) + WORD $0x9100151c // add x28, x8, #5 + WORD $0x140000be // b LBB0_203 $760(%rip) +LBB0_166: + WORD $0x8b2543ce // add x14, lr, w5, uxtw + WORD $0x8b1c01d5 // add x21, x14, x28 LBB0_167: - WORD $0xf9400408 // ldr x8, [x0, #8] - WORD $0xd1000d11 // sub x17, x8, #3 - WORD $0xeb11037f // cmp x27, x17 - WORD $0x54008b22 // b.hs LBB0_406 $4452(%rip) - WORD $0xb87b6928 // ldr w8, [x9, x27] - WORD $0x528eadd1 // mov w17, #30062 - WORD $0x72ad8d91 // movk w17, #27756, lsl #16 - WORD $0x6b11011f // cmp w8, w17 - WORD $0x54008ba1 // b.ne LBB0_411 $4468(%rip) -LBB0_169: - WORD $0x9100137c // add x28, x27, #4 -LBB0_170: - WORD $0xf900003c // str x28, [x1] - WORD $0xaa1b03e8 // mov x8, x27 - WORD $0xeb06037f // cmp x27, x6 - WORD $0x54008602 // b.hs LBB0_394 $4288(%rip) -LBB0_171: - WORD $0xf9400045 // ldr x5, [x2] - WORD $0xaa0e03e8 // mov x8, x14 - WORD $0xb5ff97a5 // cbnz x5, LBB0_1 $-3340(%rip) - WORD $0x1400042c // b LBB0_394 $4272(%rip) -LBB0_172: - WORD $0xf9400048 // ldr x8, [x2] - WORD $0xf13ffd1f // cmp x8, #4095 - WORD $0x5400868c // b.gt LBB0_396 $4304(%rip) - WORD $0x91000511 // add x17, x8, #1 - WORD $0xf9000051 // str x17, [x2] - WORD $0x528000b1 // mov w17, #5 - WORD $0xf8287951 // str x17, [x10, x8, lsl #3] - WORD $0xf9400045 // ldr x5, [x2] - WORD $0xaa0e03e8 // mov x8, x14 - WORD $0xb5ff9645 // cbnz x5, LBB0_1 $-3384(%rip) - WORD $0x14000421 // b LBB0_394 $4228(%rip) -LBB0_174: - WORD $0x3200f3f8 // mov w24, #1431655765 - WORD $0xf9400408 // ldr x8, [x0, #8] - WORD $0xeb1c0114 // subs x20, x8, x28 - WORD $0x37280b43 // tbnz w3, #5, LBB0_185 $360(%rip) - WORD $0x54008560 // b.eq LBB0_398 $4268(%rip) - WORD $0xf101029f // cmp x20, #64 - WORD $0x540051e3 // b.lo LBB0_307 $2620(%rip) - WORD $0xd2800005 // mov x5, #0 - WORD $0x92800008 // mov x8, #-1 + WORD $0x9280000e // mov x14, #-1 + WORD $0xb40106a0 // cbz x0, LBB0_545 $8404(%rip) +LBB0_168: + WORD $0xb4010696 // cbz x22, LBB0_545 $8400(%rip) + WORD $0xb4010673 // cbz x19, LBB0_545 $8396(%rip) + WORD $0xcb1e02ae // sub x14, x21, lr + WORD $0xd10005c5 // sub x5, x14, #1 + WORD $0xeb05001f // cmp x0, x5 + WORD $0x540002c0 // b.eq LBB0_178 $88(%rip) + WORD $0xeb0502df // cmp x22, x5 + WORD $0x54000280 // b.eq LBB0_178 $80(%rip) + WORD $0xeb05027f // cmp x19, x5 + WORD $0x54000240 // b.eq LBB0_178 $72(%rip) + WORD $0xf10006c5 // subs x5, x22, #1 + WORD $0x5400006b // b.lt LBB0_175 $12(%rip) + WORD $0xeb05027f // cmp x19, x5 + WORD $0x54010501 // b.ne LBB0_546 $8352(%rip) +LBB0_175: + WORD $0xaa130005 // orr x5, x0, x19 + WORD $0xb7f80065 // tbnz x5, #63, LBB0_177 $12(%rip) + WORD $0xeb13001f // cmp x0, x19 + WORD $0x540105ca // b.ge LBB0_551 $8376(%rip) +LBB0_177: + WORD $0xd37ffcaf // lsr x15, x5, #63 + WORD $0x520001ef // eor w15, w15, #0x1 + WORD $0xd1000665 // sub x5, x19, #1 + WORD $0xeb05001f // cmp x0, x5 + WORD $0x1a9f17e0 // cset w0, eq + WORD $0x6a0001ff // tst w15, w0 + WORD $0x5280008f // mov w15, #4 + WORD $0xda9301ce // csinv x14, x14, x19, eq + WORD $0x14000003 // b LBB0_180 $12(%rip) LBB0_178: - WORD $0x8b1c0131 // add x17, x9, x28 - WORD $0xad405634 // ldp q20, q21, [x17] - WORD $0xad415e36 // ldp q22, q23, [x17, #32] - WORD $0x6e208e98 // cmeq.16b v24, v20, v0 - WORD $0x6e208eb9 // cmeq.16b v25, v21, v0 - WORD $0x6e208eda // cmeq.16b v26, v22, v0 - WORD $0x6e208efb // cmeq.16b v27, v23, v0 - WORD $0x6e218e94 // cmeq.16b v20, v20, v1 - WORD $0x6e218eb5 // cmeq.16b v21, v21, v1 - WORD $0x6e218ed6 // cmeq.16b v22, v22, v1 - WORD $0x6e218ef7 // cmeq.16b v23, v23, v1 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260311 // fmov w17, s24 - WORD $0x4e221f38 // and.16b v24, v25, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260304 // fmov w4, s24 - WORD $0x4e221f58 // and.16b v24, v26, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260306 // fmov w6, s24 - WORD $0x4e221f78 // and.16b v24, v27, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260307 // fmov w7, s24 - WORD $0x4e221e94 // and.16b v20, v20, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260293 // fmov w19, s20 - WORD $0x4e221eb4 // and.16b v20, v21, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260295 // fmov w21, s20 - WORD $0x4e221ed4 // and.16b v20, v22, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260296 // fmov w22, s20 - WORD $0x4e221ef4 // and.16b v20, v23, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260297 // fmov w23, s20 - WORD $0xd3607cc6 // lsl x6, x6, #32 - WORD $0xaa07c0c6 // orr x6, x6, x7, lsl #48 - WORD $0x53103c84 // lsl w4, w4, #16 - WORD $0xaa0400c4 // orr x4, x6, x4 - WORD $0xaa110087 // orr x7, x4, x17 - WORD $0xd3607ed1 // lsl x17, x22, #32 - WORD $0xaa17c231 // orr x17, x17, x23, lsl #48 - WORD $0x53103ea4 // lsl w4, w21, #16 - WORD $0xaa040231 // orr x17, x17, x4 - WORD $0xaa130231 // orr x17, x17, x19 - WORD $0xb5000131 // cbnz x17, LBB0_182 $36(%rip) - WORD $0xb50001a5 // cbnz x5, LBB0_183 $52(%rip) - WORD $0x52800073 // mov w19, #3 - WORD $0xb5ffa2c7 // cbnz x7, LBB0_38 $-2984(%rip) -LBB0_181: - WORD $0xd1010294 // sub x20, x20, #64 - WORD $0x9101039c // add x28, x28, #64 - WORD $0xf100fe9f // cmp x20, #63 - WORD $0x54fff888 // b.hi LBB0_178 $-240(%rip) - WORD $0x14000247 // b LBB0_304 $2332(%rip) + WORD $0xcb0e03ee // neg x14, x14 +LBB0_179: + WORD $0x5280008f // mov w15, #4 +LBB0_180: + WORD $0xb7f902ee // tbnz x14, #63, LBB0_545 $8284(%rip) + WORD $0x8b0e011c // add x28, x8, x14 + WORD $0x1400033f // b LBB0_283 $3324(%rip) LBB0_182: - WORD $0xb100051f // cmn x8, #1 - WORD $0xdac00224 // rbit x4, x17 - WORD $0xdac01084 // clz x4, x4 - WORD $0x8b1c0084 // add x4, x4, x28 - WORD $0x9a841108 // csel x8, x8, x4, ne -LBB0_183: - WORD $0x8a250224 // bic x4, x17, x5 - WORD $0xaa0404a6 // orr x6, x5, x4, lsl #1 - WORD $0x8a260231 // bic x17, x17, x6 - WORD $0x9201f231 // and x17, x17, #0xaaaaaaaaaaaaaaaa - WORD $0xab040231 // adds x17, x17, x4 - WORD $0x1a9f37e5 // cset w5, hs - WORD $0xd37ffa31 // lsl x17, x17, #1 - WORD $0xd200f231 // eor x17, x17, #0x5555555555555555 - WORD $0x8a060231 // and x17, x17, x6 - WORD $0x8a3100e7 // bic x7, x7, x17 - WORD $0x52800073 // mov w19, #3 - WORD $0xb4fffd67 // cbz x7, LBB0_181 $-84(%rip) - WORD $0x17fffcff // b LBB0_38 $-3076(%rip) -LBB0_184: - WORD $0xaa1803f6 // mov x22, x24 - WORD $0x92800015 // mov x21, #-1 - WORD $0xb5ffd688 // cbnz x8, LBB0_125 $-1328(%rip) - WORD $0x140003d7 // b LBB0_400 $3932(%rip) + WORD $0x54010200 // b.eq LBB0_543 $8256(%rip) + WORD $0xf10102df // cmp x22, #64 + WORD $0x5400af83 // b.lo LBB0_399 $5616(%rip) + WORD $0xd2800013 // mov x19, #0 + WORD $0x92800000 // mov x0, #-1 LBB0_185: - WORD $0x54007a40 // b.eq LBB0_398 $3912(%rip) - WORD $0xf101029f // cmp x20, #64 - WORD $0x54004b43 // b.lo LBB0_313 $2408(%rip) - WORD $0xd2800005 // mov x5, #0 - WORD $0x92800008 // mov x8, #-1 -LBB0_188: - WORD $0x8b1c0131 // add x17, x9, x28 - WORD $0xad405a37 // ldp q23, q22, [x17] - WORD $0xad415235 // ldp q21, q20, [x17, #32] - WORD $0x6e208ef8 // cmeq.16b v24, v23, v0 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260311 // fmov w17, s24 - WORD $0x6e208ed8 // cmeq.16b v24, v22, v0 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260304 // fmov w4, s24 - WORD $0x6e208eb8 // cmeq.16b v24, v21, v0 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260306 // fmov w6, s24 - WORD $0x6e208e98 // cmeq.16b v24, v20, v0 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260307 // fmov w7, s24 - WORD $0x6e218ef8 // cmeq.16b v24, v23, v1 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260313 // fmov w19, s24 - WORD $0x6e218ed8 // cmeq.16b v24, v22, v1 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260315 // fmov w21, s24 - WORD $0x6e218eb8 // cmeq.16b v24, v21, v1 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260316 // fmov w22, s24 - WORD $0x6e218e98 // cmeq.16b v24, v20, v1 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260317 // fmov w23, s24 - WORD $0xd3607cc6 // lsl x6, x6, #32 - WORD $0xaa07c0c6 // orr x6, x6, x7, lsl #48 - WORD $0x53103c84 // lsl w4, w4, #16 - WORD $0xaa0400c4 // orr x4, x6, x4 - WORD $0xaa110087 // orr x7, x4, x17 - WORD $0xd3607ed1 // lsl x17, x22, #32 - WORD $0xaa17c231 // orr x17, x17, x23, lsl #48 - WORD $0x53103ea4 // lsl w4, w21, #16 - WORD $0xaa040231 // orr x17, x17, x4 - WORD $0xaa130231 // orr x17, x17, x19 - WORD $0xb5000451 // cbnz x17, LBB0_193 $136(%rip) - WORD $0xb50004c5 // cbnz x5, LBB0_194 $152(%rip) -LBB0_190: - WORD $0x6e373497 // cmhi.16b v23, v4, v23 - WORD $0x4e221ef7 // and.16b v23, v23, v2 - WORD $0x4e0302f7 // tbl.16b v23, { v23 }, v3 - WORD $0x4e71baf7 // addv.8h h23, v23 - WORD $0x1e2602f1 // fmov w17, s23 - WORD $0x6e363496 // cmhi.16b v22, v4, v22 - WORD $0x4e221ed6 // and.16b v22, v22, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602c4 // fmov w4, s22 - WORD $0x6e353495 // cmhi.16b v21, v4, v21 - WORD $0x4e221eb5 // and.16b v21, v21, v2 - WORD $0x4e0302b5 // tbl.16b v21, { v21 }, v3 - WORD $0x4e71bab5 // addv.8h h21, v21 - WORD $0x1e2602a6 // fmov w6, s21 - WORD $0x6e343494 // cmhi.16b v20, v4, v20 - WORD $0x4e221e94 // and.16b v20, v20, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260293 // fmov w19, s20 - WORD $0xd3607cc6 // lsl x6, x6, #32 - WORD $0xaa13c0c6 // orr x6, x6, x19, lsl #48 - WORD $0x53103c84 // lsl w4, w4, #16 - WORD $0xaa0400c4 // orr x4, x6, x4 - WORD $0xaa110091 // orr x17, x4, x17 - WORD $0xb50002e7 // cbnz x7, LBB0_195 $92(%rip) - WORD $0xb50070d1 // cbnz x17, LBB0_404 $3608(%rip) - WORD $0xd1010294 // sub x20, x20, #64 + WORD $0x8b1c036e // add x14, x27, x28 + WORD $0xad4071dd // ldp q29, q28, [x14] + WORD $0xad4169db // ldp q27, q26, [x14, #32] + WORD $0x6e208fbe // cmeq.16b v30, v29, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603ce // fmov w14, s30 + WORD $0x6e208f9e // cmeq.16b v30, v28, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603c5 // fmov w5, s30 + WORD $0x6e208f7e // cmeq.16b v30, v27, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d4 // fmov w20, s30 + WORD $0x6e208f5e // cmeq.16b v30, v26, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d5 // fmov w21, s30 + WORD $0x6e218fbe // cmeq.16b v30, v29, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d7 // fmov w23, s30 + WORD $0x6e218f9e // cmeq.16b v30, v28, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d8 // fmov w24, s30 + WORD $0x6e218f7e // cmeq.16b v30, v27, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d9 // fmov w25, s30 + WORD $0x6e218f5e // cmeq.16b v30, v26, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603da // fmov w26, s30 + WORD $0xd3607e94 // lsl x20, x20, #32 + WORD $0xaa15c294 // orr x20, x20, x21, lsl #48 + WORD $0x53103ca5 // lsl w5, w5, #16 + WORD $0xaa050285 // orr x5, x20, x5 + WORD $0xaa0e00ae // orr x14, x5, x14 + WORD $0xd3607f25 // lsl x5, x25, #32 + WORD $0xaa1ac0a5 // orr x5, x5, x26, lsl #48 + WORD $0x53103f14 // lsl w20, w24, #16 + WORD $0xaa1400a5 // orr x5, x5, x20 + WORD $0xaa1700a5 // orr x5, x5, x23 + WORD $0xb5000445 // cbnz x5, LBB0_190 $136(%rip) + WORD $0xb50004d3 // cbnz x19, LBB0_191 $152(%rip) +LBB0_187: + WORD $0x6e3d349d // cmhi.16b v29, v4, v29 + WORD $0x4e221fbd // and.16b v29, v29, v2 + WORD $0x4e0303bd // tbl.16b v29, { v29 }, v3 + WORD $0x4e71bbbd // addv.8h h29, v29 + WORD $0x1e2603a5 // fmov w5, s29 + WORD $0x6e3c349c // cmhi.16b v28, v4, v28 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260394 // fmov w20, s28 + WORD $0x6e3b349b // cmhi.16b v27, v4, v27 + WORD $0x4e221f7b // and.16b v27, v27, v2 + WORD $0x4e03037b // tbl.16b v27, { v27 }, v3 + WORD $0x4e71bb7b // addv.8h h27, v27 + WORD $0x1e260375 // fmov w21, s27 + WORD $0x6e3a349a // cmhi.16b v26, v4, v26 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260357 // fmov w23, s26 + WORD $0xd3607eb5 // lsl x21, x21, #32 + WORD $0xaa17c2b5 // orr x21, x21, x23, lsl #48 + WORD $0x53103e94 // lsl w20, w20, #16 + WORD $0xaa1402b4 // orr x20, x21, x20 + WORD $0xaa050285 // orr x5, x20, x5 + WORD $0xb50002ee // cbnz x14, LBB0_192 $92(%rip) + WORD $0xb500f8a5 // cbnz x5, LBB0_549 $7956(%rip) + WORD $0xd10102d6 // sub x22, x22, #64 WORD $0x9101039c // add x28, x28, #64 - WORD $0xf100fe9f // cmp x20, #63 - WORD $0x54fff568 // b.hi LBB0_188 $-340(%rip) - WORD $0x140001d7 // b LBB0_305 $1884(%rip) -LBB0_193: - WORD $0xb100051f // cmn x8, #1 - WORD $0xdac00224 // rbit x4, x17 - WORD $0xdac01084 // clz x4, x4 - WORD $0x8b1c0084 // add x4, x4, x28 - WORD $0x9a841108 // csel x8, x8, x4, ne + WORD $0xf100fedf // cmp x22, #63 + WORD $0x54fff568 // b.hi LBB0_185 $-340(%rip) + WORD $0x140004fb // b LBB0_392 $5100(%rip) +LBB0_190: + WORD $0xb100041f // cmn x0, #1 + WORD $0xdac000b4 // rbit x20, x5 + WORD $0xdac01294 // clz x20, x20 + WORD $0x8b1c0294 // add x20, x20, x28 + WORD $0x9a941000 // csel x0, x0, x20, ne +LBB0_191: + WORD $0x8a3300b4 // bic x20, x5, x19 + WORD $0xaa140675 // orr x21, x19, x20, lsl #1 + WORD $0x8a3500a5 // bic x5, x5, x21 + WORD $0x9201f0a5 // and x5, x5, #0xaaaaaaaaaaaaaaaa + WORD $0xab1400a5 // adds x5, x5, x20 + WORD $0x1a9f37f3 // cset w19, hs + WORD $0xd37ff8a5 // lsl x5, x5, #1 + WORD $0xd200f0a5 // eor x5, x5, #0x5555555555555555 + WORD $0x8a1500a5 // and x5, x5, x21 + WORD $0x8a2501ce // bic x14, x14, x5 + WORD $0x17ffffd1 // b LBB0_187 $-188(%rip) +LBB0_192: + WORD $0xdac001ce // rbit x14, x14 + WORD $0xdac011ce // clz x14, x14 + WORD $0xdac000a5 // rbit x5, x5 + WORD $0xdac010a5 // clz x5, x5 + WORD $0xeb0e00bf // cmp x5, x14 + WORD $0x5400ffc3 // b.lo LBB0_572 $8184(%rip) + WORD $0x8b1c01ce // add x14, x14, x28 + WORD $0x910005dc // add x28, x14, #1 + WORD $0xb7f8f35c // tbnz x28, #63, LBB0_542 $7784(%rip) LBB0_194: - WORD $0x8a250224 // bic x4, x17, x5 - WORD $0xaa0404a6 // orr x6, x5, x4, lsl #1 - WORD $0x8a260231 // bic x17, x17, x6 - WORD $0x9201f231 // and x17, x17, #0xaaaaaaaaaaaaaaaa - WORD $0xab040231 // adds x17, x17, x4 - WORD $0x1a9f37e5 // cset w5, hs - WORD $0xd37ffa31 // lsl x17, x17, #1 - WORD $0xd200f231 // eor x17, x17, #0x5555555555555555 - WORD $0x8a060231 // and x17, x17, x6 - WORD $0x8a3100e7 // bic x7, x7, x17 - WORD $0x17ffffd1 // b LBB0_190 $-188(%rip) + WORD $0xf900003c // str x28, [x1] + WORD $0xaa0803e0 // mov x0, x8 + WORD $0xb27ff7ee // mov x14, #9223372036854775806 + WORD $0xeb0e011f // cmp x8, x14 + WORD $0x5400ff88 // b.hi LBB0_576 $8176(%rip) LBB0_195: - WORD $0xdac000e4 // rbit x4, x7 - WORD $0xdac01085 // clz x5, x4 - WORD $0xdac00231 // rbit x17, x17 - WORD $0xdac01231 // clz x17, x17 - WORD $0xeb05023f // cmp x17, x5 - WORD $0x52800073 // mov w19, #3 - WORD $0x54ffc682 // b.hs LBB0_120 $-1840(%rip) - WORD $0x140003bb // b LBB0_427 $3820(%rip) -LBB0_196: - WORD $0x39400511 // ldrb w17, [x8, #1] - WORD $0x5100ba31 // sub w17, w17, #46 - WORD $0x7100de3f // cmp w17, #55 - WORD $0x54ffde88 // b.hi LBB0_159 $-1072(%rip) - WORD $0x9ad121f1 // lsl x17, x15, x17 - WORD $0x52800027 // mov w7, #1 - WORD $0xea04023f // tst x17, x4 - WORD $0x540013a0 // b.eq LBB0_244 $628(%rip) -LBB0_198: - WORD $0xf100431f // cmp x24, #16 - WORD $0x54004803 // b.lo LBB0_335 $2304(%rip) - WORD $0xd2800017 // mov x23, #0 - WORD $0xd2800007 // mov x7, #0 - WORD $0x9280001e // mov lr, #-1 - WORD $0x92800005 // mov x5, #-1 - WORD $0x92800014 // mov x20, #-1 + WORD $0xf9400048 // ldr x8, [x2] + WORD $0xf13ffd1f // cmp x8, #4095 + WORD $0x5400f20c // b.gt LBB0_541 $7744(%rip) + WORD $0x9100050e // add x14, x8, #1 + WORD $0xf900004e // str x14, [x2] + WORD $0xf828792f // str x15, [x9, x8, lsl #3] + WORD $0x140002c2 // b LBB0_284 $2824(%rip) +LBB0_197: + WORD $0xf94004ce // ldr x14, [x6, #8] + WORD $0xd1000dcf // sub x15, x14, #3 + WORD $0xeb0f011f // cmp x8, x15 + WORD $0x5400f2a2 // b.hs LBB0_548 $7764(%rip) + WORD $0x8b1c036e // add x14, x27, x28 + WORD $0xb85ff1ce // ldur w14, [x14, #-1] + WORD $0x528e4e8f // mov w15, #29300 + WORD $0x72acaeaf // movk w15, #25973, lsl #16 + WORD $0x6b0f01df // cmp w14, w15 + WORD $0x5280008f // mov w15, #4 + WORD $0x5400f2c1 // b.ne LBB0_552 $7768(%rip) + WORD $0x9100111c // add x28, x8, #4 + WORD $0x140002b1 // b LBB0_283 $2756(%rip) LBB0_200: - WORD $0x3ce76914 // ldr q20, [x8, x7] - WORD $0x6e258e95 // cmeq.16b v21, v20, v5 - WORD $0x6e268e96 // cmeq.16b v22, v20, v6 - WORD $0x6e278e97 // cmeq.16b v23, v20, v7 - WORD $0x4e308698 // add.16b v24, v20, v16 - WORD $0x6e383638 // cmhi.16b v24, v17, v24 - WORD $0x4e321e94 // and.16b v20, v20, v18 - WORD $0x6e338e94 // cmeq.16b v20, v20, v19 - WORD $0x4eb71ed6 // orr.16b v22, v22, v23 - WORD $0x4eb51f17 // orr.16b v23, v24, v21 - WORD $0x4eb61e98 // orr.16b v24, v20, v22 - WORD $0x4eb81ef7 // orr.16b v23, v23, v24 - WORD $0x4e221eb5 // and.16b v21, v21, v2 - WORD $0x4e0302b5 // tbl.16b v21, { v21 }, v3 - WORD $0x4e71bab5 // addv.8h h21, v21 - WORD $0x1e2602b1 // fmov w17, s21 - WORD $0x4e221e94 // and.16b v20, v20, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260284 // fmov w4, s20 - WORD $0x4e221ed4 // and.16b v20, v22, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260286 // fmov w6, s20 - WORD $0x4e221ef4 // and.16b v20, v23, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260295 // fmov w21, s20 - WORD $0x2a3503f5 // mvn w21, w21 - WORD $0x32103eb5 // orr w21, w21, #0xffff0000 - WORD $0x5ac002b5 // rbit w21, w21 - WORD $0x5ac012b5 // clz w21, w21 - WORD $0x12800013 // mov w19, #-1 - WORD $0x1ad52276 // lsl w22, w19, w21 - WORD $0x0a360239 // bic w25, w17, w22 - WORD $0x0a360093 // bic w19, w4, w22 - WORD $0x0a3600d6 // bic w22, w6, w22 - WORD $0x710042bf // cmp w21, #16 - WORD $0x1a99023a // csel w26, w17, w25, eq - WORD $0x1a930091 // csel w17, w4, w19, eq - WORD $0x1a9600d6 // csel w22, w6, w22, eq - WORD $0x51000744 // sub w4, w26, #1 - WORD $0x6a1a0099 // ands w25, w4, w26 - WORD $0x54002f81 // b.ne LBB0_303 $1520(%rip) - WORD $0x51000624 // sub w4, w17, #1 - WORD $0x6a110099 // ands w25, w4, w17 - WORD $0x54002f21 // b.ne LBB0_303 $1508(%rip) - WORD $0x510006c4 // sub w4, w22, #1 - WORD $0x6a160099 // ands w25, w4, w22 - WORD $0x54002ec1 // b.ne LBB0_303 $1496(%rip) - WORD $0x340000da // cbz w26, LBB0_206 $24(%rip) - WORD $0x5ac00344 // rbit w4, w26 - WORD $0x5ac0109a // clz w26, w4 - WORD $0xb100069f // cmn x20, #1 - WORD $0x54004001 // b.ne LBB0_334 $2048(%rip) - WORD $0x8b1a00f4 // add x20, x7, x26 -LBB0_206: - WORD $0x340000d1 // cbz w17, LBB0_209 $24(%rip) - WORD $0x5ac00231 // rbit w17, w17 - WORD $0x5ac01231 // clz w17, w17 - WORD $0xb10004bf // cmn x5, #1 - WORD $0x54002ea1 // b.ne LBB0_306 $1492(%rip) - WORD $0x8b1100e5 // add x5, x7, x17 -LBB0_209: - WORD $0x340000d6 // cbz w22, LBB0_212 $24(%rip) - WORD $0x5ac002d1 // rbit w17, w22 - WORD $0x5ac01231 // clz w17, w17 - WORD $0xb10007df // cmn lr, #1 - WORD $0x54002de1 // b.ne LBB0_306 $1468(%rip) - WORD $0x8b1100fe // add lr, x7, x17 + WORD $0xf94004ce // ldr x14, [x6, #8] + WORD $0xd1000dcf // sub x15, x14, #3 + WORD $0xeb0f011f // cmp x8, x15 + WORD $0x5400f102 // b.hs LBB0_548 $7712(%rip) + WORD $0x8b1c036e // add x14, x27, x28 + WORD $0xb85ff1ce // ldur w14, [x14, #-1] + WORD $0x528eadcf // mov w15, #30062 + WORD $0x72ad8d8f // movk w15, #27756, lsl #16 + WORD $0x6b0f01df // cmp w14, w15 + WORD $0x5400f3c1 // b.ne LBB0_556 $7800(%rip) + WORD $0x9100111c // add x28, x8, #4 +LBB0_203: + WORD $0xf900003c // str x28, [x1] + WORD $0xaa0803e0 // mov x0, x8 + WORD $0xeb11011f // cmp x8, x17 + WORD $0x5280008f // mov w15, #4 + WORD $0x540054a3 // b.lo LBB0_284 $2708(%rip) + WORD $0x140007d7 // b LBB0_576 $8028(%rip) +LBB0_204: + WORD $0x37302d43 // tbnz w3, #6, LBB0_245 $1448(%rip) + WORD $0xf9400048 // ldr x8, [x2] + WORD $0xf13ffd1f // cmp x8, #4095 + WORD $0x5400ed4c // b.gt LBB0_541 $7592(%rip) + WORD $0x9100050e // add x14, x8, #1 + WORD $0xf900004e // str x14, [x2] + WORD $0x528000ae // mov w14, #5 + WORD $0xf828792e // str x14, [x9, x8, lsl #3] + WORD $0x1400029b // b LBB0_284 $2668(%rip) +LBB0_207: + WORD $0x373053c3 // tbnz w3, #6, LBB0_285 $2680(%rip) + WORD $0xf94004ce // ldr x14, [x6, #8] + WORD $0xeb1c01d6 // subs x22, x14, x28 + WORD $0x37285ca3 // tbnz w3, #5, LBB0_296 $2964(%rip) + WORD $0x5400ec80 // b.eq LBB0_543 $7568(%rip) + WORD $0xf10102df // cmp x22, #64 + WORD $0x5400ab63 // b.lo LBB0_430 $5484(%rip) + WORD $0xd2800013 // mov x19, #0 + WORD $0x92800000 // mov x0, #-1 LBB0_212: - WORD $0x710042bf // cmp w21, #16 - WORD $0x540005e1 // b.ne LBB0_230 $188(%rip) - WORD $0x910040e7 // add x7, x7, #16 - WORD $0xd10042f7 // sub x23, x23, #16 - WORD $0x8b170315 // add x21, x24, x23 - WORD $0xf1003ebf // cmp x21, #15 - WORD $0x54fff6c8 // b.hi LBB0_200 $-296(%rip) - WORD $0x8b070116 // add x22, x8, x7 - WORD $0xeb07031f // cmp x24, x7 - WORD $0x52800073 // mov w19, #3 - WORD $0x54000520 // b.eq LBB0_231 $164(%rip) + WORD $0x8b1c036e // add x14, x27, x28 + WORD $0xad406dda // ldp q26, q27, [x14] + WORD $0xad4175dc // ldp q28, q29, [x14, #32] + WORD $0x6e208f5e // cmeq.16b v30, v26, v0 + WORD $0x6e208f7f // cmeq.16b v31, v27, v0 + WORD $0x6e208f88 // cmeq.16b v8, v28, v0 + WORD $0x6e208fa9 // cmeq.16b v9, v29, v0 + WORD $0x6e218f5a // cmeq.16b v26, v26, v1 + WORD $0x6e218f7b // cmeq.16b v27, v27, v1 + WORD $0x6e218f9c // cmeq.16b v28, v28, v1 + WORD $0x6e218fbd // cmeq.16b v29, v29, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603ce // fmov w14, s30 + WORD $0x4e221ffe // and.16b v30, v31, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603cf // fmov w15, s30 + WORD $0x4e221d1e // and.16b v30, v8, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d1 // fmov w17, s30 + WORD $0x4e221d3e // and.16b v30, v9, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603c5 // fmov w5, s30 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260347 // fmov w7, s26 + WORD $0x4e221f7a // and.16b v26, v27, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260354 // fmov w20, s26 + WORD $0x4e221f9a // and.16b v26, v28, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260355 // fmov w21, s26 + WORD $0x4e221fba // and.16b v26, v29, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260357 // fmov w23, s26 + WORD $0xd3607e31 // lsl x17, x17, #32 + WORD $0xaa05c231 // orr x17, x17, x5, lsl #48 + WORD $0x53103def // lsl w15, w15, #16 + WORD $0xaa0f022f // orr x15, x17, x15 + WORD $0xaa0e01ee // orr x14, x15, x14 + WORD $0xd3607eaf // lsl x15, x21, #32 + WORD $0xaa17c1ef // orr x15, x15, x23, lsl #48 + WORD $0x53103e91 // lsl w17, w20, #16 + WORD $0xaa1101ef // orr x15, x15, x17 + WORD $0xaa0701e5 // orr x5, x15, x7 + WORD $0xb5000165 // cbnz x5, LBB0_216 $44(%rip) + WORD $0xb50001f3 // cbnz x19, LBB0_217 $60(%rip) + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0xb500032e // cbnz x14, LBB0_218 $100(%rip) LBB0_215: - WORD $0x8b1502c6 // add x6, x22, x21 - WORD $0x8b160191 // add x17, x12, x22 - WORD $0xcb1b0238 // sub x24, x17, x27 - WORD $0xaa1603f7 // mov x23, x22 - WORD $0x14000008 // b LBB0_219 $32(%rip) + WORD $0xd10102d6 // sub x22, x22, #64 + WORD $0x9101039c // add x28, x28, #64 + WORD $0xf100fedf // cmp x22, #63 + WORD $0x54fff848 // b.hi LBB0_212 $-248(%rip) + WORD $0x14000511 // b LBB0_427 $5188(%rip) LBB0_216: - WORD $0xb10007df // cmn lr, #1 - WORD $0x54002a01 // b.ne LBB0_302 $1344(%rip) - WORD $0xd100071e // sub lr, x24, #1 + WORD $0xb100041f // cmn x0, #1 + WORD $0xdac000af // rbit x15, x5 + WORD $0xdac011ef // clz x15, x15 + WORD $0x8b1c01ef // add x15, x15, x28 + WORD $0x9a8f1000 // csel x0, x0, x15, ne +LBB0_217: + WORD $0x8a3300af // bic x15, x5, x19 + WORD $0xaa0f0671 // orr x17, x19, x15, lsl #1 + WORD $0x8a3100a5 // bic x5, x5, x17 + WORD $0x9201f0a5 // and x5, x5, #0xaaaaaaaaaaaaaaaa + WORD $0xab0f00af // adds x15, x5, x15 + WORD $0x1a9f37f3 // cset w19, hs + WORD $0xd37ff9ef // lsl x15, x15, #1 + WORD $0xd200f1ef // eor x15, x15, #0x5555555555555555 + WORD $0x8a1101ef // and x15, x15, x17 + WORD $0x8a2f01ce // bic x14, x14, x15 + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0xb4fffd2e // cbz x14, LBB0_215 $-92(%rip) LBB0_218: - WORD $0x91000718 // add x24, x24, #1 - WORD $0xaa1703f6 // mov x22, x23 - WORD $0xd10006b5 // sub x21, x21, #1 - WORD $0xb4000a35 // cbz x21, LBB0_249 $324(%rip) + WORD $0xdac001ce // rbit x14, x14 + WORD $0xdac011ce // clz x14, x14 + WORD $0x8b1c01ce // add x14, x14, x28 + WORD $0x910005dc // add x28, x14, #1 + WORD $0xb6f846dc // tbz x28, #63, LBB0_283 $2264(%rip) + WORD $0x14000705 // b LBB0_542 $7188(%rip) LBB0_219: - WORD $0x384016f1 // ldrb w17, [x23], #1 - WORD $0x5100c224 // sub w4, w17, #48 - WORD $0x7100289f // cmp w4, #10 - WORD $0x54ffff23 // b.lo LBB0_218 $-28(%rip) - WORD $0x7100b63f // cmp w17, #45 - WORD $0x5400016d // b.le LBB0_226 $44(%rip) - WORD $0x7101963f // cmp w17, #101 - WORD $0x540001c0 // b.eq LBB0_228 $56(%rip) - WORD $0x7101163f // cmp w17, #69 - WORD $0x54000180 // b.eq LBB0_228 $48(%rip) - WORD $0x7100ba3f // cmp w17, #46 - WORD $0x54000221 // b.ne LBB0_231 $68(%rip) - WORD $0xb100069f // cmn x20, #1 - WORD $0x540027a1 // b.ne LBB0_302 $1268(%rip) - WORD $0xd1000714 // sub x20, x24, #1 - WORD $0x17ffffed // b LBB0_218 $-76(%rip) -LBB0_226: - WORD $0x7100ae3f // cmp w17, #43 - WORD $0x54fffd00 // b.eq LBB0_216 $-96(%rip) - WORD $0x7100b63f // cmp w17, #45 - WORD $0x54fffcc0 // b.eq LBB0_216 $-104(%rip) - WORD $0x14000008 // b LBB0_231 $32(%rip) -LBB0_228: - WORD $0xb10004bf // cmn x5, #1 - WORD $0x54002681 // b.ne LBB0_302 $1232(%rip) - WORD $0xd1000705 // sub x5, x24, #1 - WORD $0x17ffffe4 // b LBB0_218 $-112(%rip) -LBB0_230: - WORD $0x8b354111 // add x17, x8, w21, uxtw - WORD $0x8b070236 // add x22, x17, x7 - WORD $0x52800073 // mov w19, #3 -LBB0_231: - WORD $0x92800007 // mov x7, #-1 - WORD $0xb4005db4 // cbz x20, LBB0_409 $2996(%rip) -LBB0_232: - WORD $0xb4005d9e // cbz lr, LBB0_409 $2992(%rip) - WORD $0xb4005d65 // cbz x5, LBB0_409 $2988(%rip) - WORD $0xcb0802c8 // sub x8, x22, x8 - WORD $0xd1000511 // sub x17, x8, #1 - WORD $0xeb11029f // cmp x20, x17 - WORD $0x540002a0 // b.eq LBB0_242 $84(%rip) - WORD $0xeb1103df // cmp lr, x17 - WORD $0x54000260 // b.eq LBB0_242 $76(%rip) - WORD $0xeb1100bf // cmp x5, x17 - WORD $0x54000220 // b.eq LBB0_242 $68(%rip) - WORD $0xf10007d1 // subs x17, lr, #1 - WORD $0x5400006b // b.lt LBB0_239 $12(%rip) - WORD $0xeb1100bf // cmp x5, x17 - WORD $0x54005c01 // b.ne LBB0_410 $2944(%rip) + WORD $0xf9000fff // str xzr, [sp, #24] + WORD $0xd2800013 // mov x19, #0 + WORD $0xd2800000 // mov x0, #0 + WORD $0xd280001e // mov lr, #0 + WORD $0xf94004ce // ldr x14, [x6, #8] + WORD $0xcb1c01ce // sub x14, x14, x28 + WORD $0x8b1c037b // add x27, x27, x28 + WORD $0x1400000a // b LBB0_221 $40(%rip) +LBB0_220: + WORD $0x937ffdce // asr x14, x14, #63 + WORD $0xf9000fee // str x14, [sp, #24] + WORD $0x9e6700ba // fmov d26, x5 + WORD $0x0e205b5a // cnt.8b v26, v26 + WORD $0x2e303b5a // uaddlv.8b h26, v26 + WORD $0x1e26034e // fmov w14, s26 + WORD $0x8b0001c0 // add x0, x14, x0 + WORD $0x9101037b // add x27, x27, #64 + WORD $0xaa1c03ee // mov x14, x28 +LBB0_221: + WORD $0xf10101dc // subs x28, x14, #64 + WORD $0xf9000bee // str x14, [sp, #16] + WORD $0x5400174b // b.lt LBB0_229 $744(%rip) +LBB0_222: + WORD $0xad40737d // ldp q29, q28, [x27] + WORD $0xad416b7b // ldp q27, q26, [x27, #32] + WORD $0x6e218fbe // cmeq.16b v30, v29, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603ce // fmov w14, s30 + WORD $0x6e218f9e // cmeq.16b v30, v28, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603cf // fmov w15, s30 + WORD $0x6e218f7e // cmeq.16b v30, v27, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d1 // fmov w17, s30 + WORD $0x6e218f5e // cmeq.16b v30, v26, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603c5 // fmov w5, s30 + WORD $0xd3607e31 // lsl x17, x17, #32 + WORD $0xaa05c231 // orr x17, x17, x5, lsl #48 + WORD $0x53103def // lsl w15, w15, #16 + WORD $0xaa0f022f // orr x15, x17, x15 + WORD $0xaa0e01ee // orr x14, x15, x14 + WORD $0xaa1301cf // orr x15, x14, x19 + WORD $0xb500008f // cbnz x15, LBB0_224 $16(%rip) + WORD $0xd2800013 // mov x19, #0 + WORD $0xd280000e // mov x14, #0 + WORD $0x1400000a // b LBB0_225 $40(%rip) +LBB0_224: + WORD $0x8a3301cf // bic x15, x14, x19 + WORD $0xaa0f0671 // orr x17, x19, x15, lsl #1 + WORD $0x8a3101ce // bic x14, x14, x17 + WORD $0x9201f1ce // and x14, x14, #0xaaaaaaaaaaaaaaaa + WORD $0xab0f01ce // adds x14, x14, x15 + WORD $0x1a9f37f3 // cset w19, hs + WORD $0xd37ff9ce // lsl x14, x14, #1 + WORD $0xd200f1ce // eor x14, x14, #0x5555555555555555 + WORD $0x8a1101ce // and x14, x14, x17 +LBB0_225: + WORD $0x6e208fbe // cmeq.16b v30, v29, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603cf // fmov w15, s30 + WORD $0x6e208f9e // cmeq.16b v30, v28, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d1 // fmov w17, s30 + WORD $0x6e208f7e // cmeq.16b v30, v27, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603c5 // fmov w5, s30 + WORD $0x6e208f5e // cmeq.16b v30, v26, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603c7 // fmov w7, s30 + WORD $0xd3607ca5 // lsl x5, x5, #32 + WORD $0xaa07c0a5 // orr x5, x5, x7, lsl #48 + WORD $0x53103e31 // lsl w17, w17, #16 + WORD $0xaa1100b1 // orr x17, x5, x17 + WORD $0xaa0f022f // orr x15, x17, x15 + WORD $0x8a2e01ee // bic x14, x15, x14 + WORD $0x9200e1cf // and x15, x14, #0x1111111111111111 + WORD $0x9203e1d1 // and x17, x14, #0x2222222222222222 + WORD $0x9202e1c5 // and x5, x14, #0x4444444444444444 + WORD $0x9201e1ce // and x14, x14, #0x8888888888888888 + WORD $0xb200e3f8 // mov x24, #1229782938247303441 + WORD $0x9b187de7 // mul x7, x15, x24 + WORD $0xb201e3f7 // mov x23, #-8608480567731124088 + WORD $0xf2e11117 // movk x23, #2184, lsl #48 + WORD $0x9b177e34 // mul x20, x17, x23 + WORD $0xca1400e7 // eor x7, x7, x20 + WORD $0xb202e3f6 // mov x22, #4919131752989213764 + WORD $0xf2e08896 // movk x22, #1092, lsl #48 + WORD $0x9b167cb4 // mul x20, x5, x22 + WORD $0xb203e3f5 // mov x21, #2459565876494606882 + WORD $0xf2e04455 // movk x21, #546, lsl #48 + WORD $0x9b157dd5 // mul x21, x14, x21 + WORD $0xca150294 // eor x20, x20, x21 + WORD $0xca1400e7 // eor x7, x7, x20 + WORD $0xb203e3f9 // mov x25, #2459565876494606882 + WORD $0x9b197df4 // mul x20, x15, x25 + WORD $0x9b187e35 // mul x21, x17, x24 + WORD $0xca150294 // eor x20, x20, x21 + WORD $0x9b177cb5 // mul x21, x5, x23 + WORD $0x9b167dd6 // mul x22, x14, x22 + WORD $0xca1602b5 // eor x21, x21, x22 + WORD $0xca150294 // eor x20, x20, x21 + WORD $0xb202e3fa // mov x26, #4919131752989213764 + WORD $0x9b1a7df5 // mul x21, x15, x26 + WORD $0x9b197e36 // mul x22, x17, x25 + WORD $0xca1602b5 // eor x21, x21, x22 + WORD $0x9b187cb6 // mul x22, x5, x24 + WORD $0x9b177dd7 // mul x23, x14, x23 + WORD $0xca1702d6 // eor x22, x22, x23 + WORD $0xca1602b5 // eor x21, x21, x22 + WORD $0xb201e3f6 // mov x22, #-8608480567731124088 + WORD $0x9b167def // mul x15, x15, x22 + WORD $0x9b1a7e31 // mul x17, x17, x26 + WORD $0xca1101ef // eor x15, x15, x17 + WORD $0x9b197cb1 // mul x17, x5, x25 + WORD $0x9b187dce // mul x14, x14, x24 + WORD $0xca0e022e // eor x14, x17, x14 + WORD $0xca0e01ee // eor x14, x15, x14 + WORD $0x9200e0ef // and x15, x7, #0x1111111111111111 + WORD $0x9203e291 // and x17, x20, #0x2222222222222222 + WORD $0x9202e2a5 // and x5, x21, #0x4444444444444444 + WORD $0x9201e1ce // and x14, x14, #0x8888888888888888 + WORD $0xaa1101ef // orr x15, x15, x17 + WORD $0xaa0e00ae // orr x14, x5, x14 + WORD $0xaa0e01ee // orr x14, x15, x14 + WORD $0xf9400fef // ldr x15, [sp, #24] + WORD $0xca0f01ce // eor x14, x14, x15 + WORD $0x6e388fbe // cmeq.16b v30, v29, v24 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603cf // fmov w15, s30 + WORD $0x6e388f9e // cmeq.16b v30, v28, v24 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d1 // fmov w17, s30 + WORD $0x6e388f7e // cmeq.16b v30, v27, v24 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603c5 // fmov w5, s30 + WORD $0x6e388f5e // cmeq.16b v30, v26, v24 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603c7 // fmov w7, s30 + WORD $0xd3607ca5 // lsl x5, x5, #32 + WORD $0xaa07c0a5 // orr x5, x5, x7, lsl #48 + WORD $0x53103e31 // lsl w17, w17, #16 + WORD $0xaa1100b1 // orr x17, x5, x17 + WORD $0xaa0f022f // orr x15, x17, x15 + WORD $0x8a2e01e5 // bic x5, x15, x14 + WORD $0x6e398fbd // cmeq.16b v29, v29, v25 + WORD $0x4e221fbd // and.16b v29, v29, v2 + WORD $0x4e0303bd // tbl.16b v29, { v29 }, v3 + WORD $0x4e71bbbd // addv.8h h29, v29 + WORD $0x1e2603af // fmov w15, s29 + WORD $0x6e398f9c // cmeq.16b v28, v28, v25 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260391 // fmov w17, s28 + WORD $0x6e398f7b // cmeq.16b v27, v27, v25 + WORD $0x4e221f7b // and.16b v27, v27, v2 + WORD $0x4e03037b // tbl.16b v27, { v27 }, v3 + WORD $0x4e71bb7b // addv.8h h27, v27 + WORD $0x1e260367 // fmov w7, s27 + WORD $0x6e398f5a // cmeq.16b v26, v26, v25 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260354 // fmov w20, s26 + WORD $0xd3607ce7 // lsl x7, x7, #32 + WORD $0xaa14c0e7 // orr x7, x7, x20, lsl #48 + WORD $0x53103e31 // lsl w17, w17, #16 + WORD $0xaa1100f1 // orr x17, x7, x17 + WORD $0xaa0f022f // orr x15, x17, x15 + WORD $0xea2e01f4 // bics x20, x15, x14 + WORD $0x54ffe940 // b.eq LBB0_220 $-728(%rip) + WORD $0x52800067 // mov w7, #3 +LBB0_227: + WORD $0xd1000695 // sub x21, x20, #1 + WORD $0x8a0502af // and x15, x21, x5 + WORD $0x9e6701fa // fmov d26, x15 + WORD $0x0e205b5a // cnt.8b v26, v26 + WORD $0x2e303b5a // uaddlv.8b h26, v26 + WORD $0x1e26034f // fmov w15, s26 + WORD $0x8b0001ef // add x15, x15, x0 + WORD $0xeb1e01ff // cmp x15, lr + WORD $0x540026c9 // b.ls LBB0_271 $1240(%rip) + WORD $0x910007de // add lr, lr, #1 + WORD $0xea1402b4 // ands x20, x21, x20 + WORD $0x54fffea1 // b.ne LBB0_227 $-44(%rip) + WORD $0x17ffff3c // b LBB0_220 $-784(%rip) +LBB0_229: + WORD $0xf10001df // cmp x14, #0 + WORD $0x5400d34d // b.le LBB0_573 $6760(%rip) + WORD $0xad025ff7 // stp q23, q23, [sp, #64] + WORD $0xad015ff7 // stp q23, q23, [sp, #32] + WORD $0x92402f6e // and x14, x27, #0xfff + WORD $0xf13f05df // cmp x14, #4033 + WORD $0x54ffe823 // b.lo LBB0_222 $-764(%rip) + WORD $0xf9400bee // ldr x14, [sp, #16] + WORD $0xf10081c5 // subs x5, x14, #32 + WORD $0x540000a3 // b.lo LBB0_233 $20(%rip) + WORD $0xacc16f7a // ldp q26, q27, [x27], #32 + WORD $0xad016ffa // stp q26, q27, [sp, #32] + WORD $0xaa0a03ee // mov x14, x10 + WORD $0x14000003 // b LBB0_234 $12(%rip) +LBB0_233: + WORD $0x910083ee // add x14, sp, #32 + WORD $0xf9400be5 // ldr x5, [sp, #16] +LBB0_234: + WORD $0xf10040b4 // subs x20, x5, #16 + WORD $0x54000243 // b.lo LBB0_240 $72(%rip) + WORD $0x3cc1077a // ldr q26, [x27], #16 + WORD $0x3c8105da // str q26, [x14], #16 + WORD $0xaa1403e5 // mov x5, x20 + WORD $0xf1002294 // subs x20, x20, #8 + WORD $0x540001e2 // b.hs LBB0_241 $60(%rip) +LBB0_236: + WORD $0xf10010b4 // subs x20, x5, #4 + WORD $0x54000243 // b.lo LBB0_242 $72(%rip) +LBB0_237: + WORD $0xb840476f // ldr w15, [x27], #4 + WORD $0xb80045cf // str w15, [x14], #4 + WORD $0xaa1403e5 // mov x5, x20 + WORD $0xf1000a94 // subs x20, x20, #2 + WORD $0x540001e2 // b.hs LBB0_243 $60(%rip) +LBB0_238: + WORD $0xb4000245 // cbz x5, LBB0_244 $72(%rip) LBB0_239: - WORD $0xaa050291 // orr x17, x20, x5 - WORD $0xb7f80071 // tbnz x17, #63, LBB0_241 $12(%rip) - WORD $0xeb05029f // cmp x20, x5 - WORD $0x540063ca // b.ge LBB0_426 $3192(%rip) + WORD $0x3940036f // ldrb w15, [x27] + WORD $0x390001cf // strb w15, [x14] + WORD $0x910083fb // add x27, sp, #32 + WORD $0x17ffff25 // b LBB0_222 $-876(%rip) +LBB0_240: + WORD $0xf10020b4 // subs x20, x5, #8 + WORD $0x54fffe63 // b.lo LBB0_236 $-52(%rip) LBB0_241: - WORD $0xd37ffe31 // lsr x17, x17, #63 - WORD $0x52000231 // eor w17, w17, #0x1 - WORD $0xd10004a4 // sub x4, x5, #1 - WORD $0xeb04029f // cmp x20, x4 - WORD $0x1a9f17e4 // cset w4, eq - WORD $0x6a04023f // tst w17, w4 - WORD $0xda850107 // csinv x7, x8, x5, eq - WORD $0x14000002 // b LBB0_243 $8(%rip) + WORD $0xf840876f // ldr x15, [x27], #8 + WORD $0xf80085cf // str x15, [x14], #8 + WORD $0xaa1403e5 // mov x5, x20 + WORD $0xf1001294 // subs x20, x20, #4 + WORD $0x54fffe02 // b.hs LBB0_237 $-64(%rip) LBB0_242: - WORD $0xcb0803e7 // neg x7, x8 + WORD $0xf10008b4 // subs x20, x5, #2 + WORD $0x54fffe63 // b.lo LBB0_238 $-52(%rip) LBB0_243: - WORD $0xb7f85a27 // tbnz x7, #63, LBB0_409 $2884(%rip) + WORD $0x7840276f // ldrh w15, [x27], #2 + WORD $0x780025cf // strh w15, [x14], #2 + WORD $0xaa1403e5 // mov x5, x20 + WORD $0xb5fffe14 // cbnz x20, LBB0_239 $-64(%rip) LBB0_244: - WORD $0x8b1c00fc // add x28, x7, x28 - WORD $0xf900003c // str x28, [x1] - WORD $0xaa1b03e8 // mov x8, x27 - WORD $0x92f00006 // mov x6, #9223372036854775807 - WORD $0xeb06037f // cmp x27, x6 - WORD $0x52800084 // mov w4, #4 - WORD $0xb20903e7 // mov x7, #36028797027352576 - WORD $0xf2800027 // movk x7, #1 - WORD $0x54ffce83 // b.lo LBB0_171 $-1584(%rip) - WORD $0x140002a2 // b LBB0_394 $2696(%rip) + WORD $0x910083fb // add x27, sp, #32 + WORD $0x17ffff16 // b LBB0_222 $-936(%rip) LBB0_245: - WORD $0x5ac00328 // rbit w8, w25 - WORD $0x5ac01108 // clz w8, w8 - WORD $0xaa3c03f1 // mvn x17, x28 - WORD $0xcb080235 // sub x21, x17, x8 - WORD $0x17fffda7 // b LBB0_136 $-2404(%rip) + WORD $0xf9000fff // str xzr, [sp, #24] + WORD $0xd2800013 // mov x19, #0 + WORD $0xd2800000 // mov x0, #0 + WORD $0xd280001e // mov lr, #0 + WORD $0xf94004ce // ldr x14, [x6, #8] + WORD $0xcb1c01ce // sub x14, x14, x28 + WORD $0x8b1c037b // add x27, x27, x28 + WORD $0x1400000a // b LBB0_247 $40(%rip) LBB0_246: - WORD $0xaa3c03e8 // mvn x8, x28 - WORD $0xcb314115 // sub x21, x8, w17, uxtw - WORD $0x17fffda4 // b LBB0_136 $-2416(%rip) + WORD $0x937ffdce // asr x14, x14, #63 + WORD $0xf9000fee // str x14, [sp, #24] + WORD $0x9e6700ba // fmov d26, x5 + WORD $0x0e205b5a // cnt.8b v26, v26 + WORD $0x2e303b5a // uaddlv.8b h26, v26 + WORD $0x1e26034e // fmov w14, s26 + WORD $0x8b0001c0 // add x0, x14, x0 + WORD $0x9101037b // add x27, x27, #64 + WORD $0xaa1c03ee // mov x14, x28 LBB0_247: - WORD $0x8b1c013c // add x28, x9, x28 - WORD $0x1400000a // b LBB0_251 $40(%rip) + WORD $0xf10101dc // subs x28, x14, #64 + WORD $0xf9000bee // str x14, [sp, #16] + WORD $0x5400174b // b.lt LBB0_255 $744(%rip) LBB0_248: - WORD $0x8b1c013c // add x28, x9, x28 - WORD $0x1400002c // b LBB0_257 $176(%rip) -LBB0_249: - WORD $0xaa0603f6 // mov x22, x6 - WORD $0x92800007 // mov x7, #-1 - WORD $0xb5fff994 // cbnz x20, LBB0_232 $-208(%rip) - WORD $0x140002b7 // b LBB0_409 $2780(%rip) + WORD $0xad40737d // ldp q29, q28, [x27] + WORD $0xad416b7b // ldp q27, q26, [x27, #32] + WORD $0x6e218fbe // cmeq.16b v30, v29, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603ce // fmov w14, s30 + WORD $0x6e218f9e // cmeq.16b v30, v28, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603cf // fmov w15, s30 + WORD $0x6e218f7e // cmeq.16b v30, v27, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d1 // fmov w17, s30 + WORD $0x6e218f5e // cmeq.16b v30, v26, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603c5 // fmov w5, s30 + WORD $0xd3607e31 // lsl x17, x17, #32 + WORD $0xaa05c231 // orr x17, x17, x5, lsl #48 + WORD $0x53103def // lsl w15, w15, #16 + WORD $0xaa0f022f // orr x15, x17, x15 + WORD $0xaa0e01ee // orr x14, x15, x14 + WORD $0xaa1301cf // orr x15, x14, x19 + WORD $0xb500008f // cbnz x15, LBB0_250 $16(%rip) + WORD $0xd2800013 // mov x19, #0 + WORD $0xd280000e // mov x14, #0 + WORD $0x1400000a // b LBB0_251 $40(%rip) LBB0_250: - WORD $0xd2800005 // mov x5, #0 - WORD $0x8b1c013c // add x28, x9, x28 - WORD $0x92800008 // mov x8, #-1 + WORD $0x8a3301cf // bic x15, x14, x19 + WORD $0xaa0f0671 // orr x17, x19, x15, lsl #1 + WORD $0x8a3101ce // bic x14, x14, x17 + WORD $0x9201f1ce // and x14, x14, #0xaaaaaaaaaaaaaaaa + WORD $0xab0f01ce // adds x14, x14, x15 + WORD $0x1a9f37f3 // cset w19, hs + WORD $0xd37ff9ce // lsl x14, x14, #1 + WORD $0xd200f1ce // eor x14, x14, #0x5555555555555555 + WORD $0x8a1101ce // and x14, x14, x17 LBB0_251: - WORD $0xf1008287 // subs x7, x20, #32 - WORD $0x54003463 // b.lo LBB0_339 $1676(%rip) - WORD $0xad405794 // ldp q20, q21, [x28] - WORD $0x6e208e96 // cmeq.16b v22, v20, v0 - WORD $0x6e208eb7 // cmeq.16b v23, v21, v0 - WORD $0x6e218e94 // cmeq.16b v20, v20, v1 - WORD $0x6e218eb5 // cmeq.16b v21, v21, v1 - WORD $0x4e221ed6 // and.16b v22, v22, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602d4 // fmov w20, s22 - WORD $0x4e221ef6 // and.16b v22, v23, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602d1 // fmov w17, s22 - WORD $0x4e221e94 // and.16b v20, v20, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260295 // fmov w21, s20 - WORD $0x4e221eb4 // and.16b v20, v21, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260296 // fmov w22, s20 - WORD $0x33103e34 // bfi w20, w17, #16, #16 - WORD $0x33103ed5 // bfi w21, w22, #16, #16 - WORD $0x35002ed5 // cbnz w21, LBB0_336 $1496(%rip) - WORD $0xb5002f65 // cbnz x5, LBB0_337 $1516(%rip) - WORD $0xb40030f4 // cbz x20, LBB0_338 $1564(%rip) + WORD $0x6e208fbe // cmeq.16b v30, v29, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603cf // fmov w15, s30 + WORD $0x6e208f9e // cmeq.16b v30, v28, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d1 // fmov w17, s30 + WORD $0x6e208f7e // cmeq.16b v30, v27, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603c5 // fmov w5, s30 + WORD $0x6e208f5e // cmeq.16b v30, v26, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603c7 // fmov w7, s30 + WORD $0xd3607ca5 // lsl x5, x5, #32 + WORD $0xaa07c0a5 // orr x5, x5, x7, lsl #48 + WORD $0x53103e31 // lsl w17, w17, #16 + WORD $0xaa1100b1 // orr x17, x5, x17 + WORD $0xaa0f022f // orr x15, x17, x15 + WORD $0x8a2e01ee // bic x14, x15, x14 + WORD $0x9200e1cf // and x15, x14, #0x1111111111111111 + WORD $0x9203e1d1 // and x17, x14, #0x2222222222222222 + WORD $0x9202e1c5 // and x5, x14, #0x4444444444444444 + WORD $0x9201e1ce // and x14, x14, #0x8888888888888888 + WORD $0xb200e3f8 // mov x24, #1229782938247303441 + WORD $0x9b187de7 // mul x7, x15, x24 + WORD $0xb201e3f7 // mov x23, #-8608480567731124088 + WORD $0xf2e11117 // movk x23, #2184, lsl #48 + WORD $0x9b177e34 // mul x20, x17, x23 + WORD $0xca1400e7 // eor x7, x7, x20 + WORD $0xb202e3f6 // mov x22, #4919131752989213764 + WORD $0xf2e08896 // movk x22, #1092, lsl #48 + WORD $0x9b167cb4 // mul x20, x5, x22 + WORD $0xb203e3f5 // mov x21, #2459565876494606882 + WORD $0xf2e04455 // movk x21, #546, lsl #48 + WORD $0x9b157dd5 // mul x21, x14, x21 + WORD $0xca150294 // eor x20, x20, x21 + WORD $0xca1400e7 // eor x7, x7, x20 + WORD $0xb203e3f9 // mov x25, #2459565876494606882 + WORD $0x9b197df4 // mul x20, x15, x25 + WORD $0x9b187e35 // mul x21, x17, x24 + WORD $0xca150294 // eor x20, x20, x21 + WORD $0x9b177cb5 // mul x21, x5, x23 + WORD $0x9b167dd6 // mul x22, x14, x22 + WORD $0xca1602b5 // eor x21, x21, x22 + WORD $0xca150294 // eor x20, x20, x21 + WORD $0xb202e3fa // mov x26, #4919131752989213764 + WORD $0x9b1a7df5 // mul x21, x15, x26 + WORD $0x9b197e36 // mul x22, x17, x25 + WORD $0xca1602b5 // eor x21, x21, x22 + WORD $0x9b187cb6 // mul x22, x5, x24 + WORD $0x9b177dd7 // mul x23, x14, x23 + WORD $0xca1702d6 // eor x22, x22, x23 + WORD $0xca1602b5 // eor x21, x21, x22 + WORD $0xb201e3f6 // mov x22, #-8608480567731124088 + WORD $0x9b167def // mul x15, x15, x22 + WORD $0x9b1a7e31 // mul x17, x17, x26 + WORD $0xca1101ef // eor x15, x15, x17 + WORD $0x9b197cb1 // mul x17, x5, x25 + WORD $0x9b187dce // mul x14, x14, x24 + WORD $0xca0e022e // eor x14, x17, x14 + WORD $0xca0e01ee // eor x14, x15, x14 + WORD $0x9200e0ef // and x15, x7, #0x1111111111111111 + WORD $0x9203e291 // and x17, x20, #0x2222222222222222 + WORD $0x9202e2a5 // and x5, x21, #0x4444444444444444 + WORD $0x9201e1ce // and x14, x14, #0x8888888888888888 + WORD $0xaa1101ef // orr x15, x15, x17 + WORD $0xaa0e00ae // orr x14, x5, x14 + WORD $0xaa0e01ee // orr x14, x15, x14 + WORD $0xf9400fef // ldr x15, [sp, #24] + WORD $0xca0f01ce // eor x14, x14, x15 + WORD $0x6e368fbe // cmeq.16b v30, v29, v22 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603cf // fmov w15, s30 + WORD $0x6e368f9e // cmeq.16b v30, v28, v22 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d1 // fmov w17, s30 + WORD $0x6e368f7e // cmeq.16b v30, v27, v22 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603c5 // fmov w5, s30 + WORD $0x6e368f5e // cmeq.16b v30, v26, v22 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603c7 // fmov w7, s30 + WORD $0xd3607ca5 // lsl x5, x5, #32 + WORD $0xaa07c0a5 // orr x5, x5, x7, lsl #48 + WORD $0x53103e31 // lsl w17, w17, #16 + WORD $0xaa1100b1 // orr x17, x5, x17 + WORD $0xaa0f022f // orr x15, x17, x15 + WORD $0x8a2e01e5 // bic x5, x15, x14 + WORD $0x6e358fbd // cmeq.16b v29, v29, v21 + WORD $0x4e221fbd // and.16b v29, v29, v2 + WORD $0x4e0303bd // tbl.16b v29, { v29 }, v3 + WORD $0x4e71bbbd // addv.8h h29, v29 + WORD $0x1e2603af // fmov w15, s29 + WORD $0x6e358f9c // cmeq.16b v28, v28, v21 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260391 // fmov w17, s28 + WORD $0x6e358f7b // cmeq.16b v27, v27, v21 + WORD $0x4e221f7b // and.16b v27, v27, v2 + WORD $0x4e03037b // tbl.16b v27, { v27 }, v3 + WORD $0x4e71bb7b // addv.8h h27, v27 + WORD $0x1e260367 // fmov w7, s27 + WORD $0x6e358f5a // cmeq.16b v26, v26, v21 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260354 // fmov w20, s26 + WORD $0xd3607ce7 // lsl x7, x7, #32 + WORD $0xaa14c0e7 // orr x7, x7, x20, lsl #48 + WORD $0x53103e31 // lsl w17, w17, #16 + WORD $0xaa1100f1 // orr x17, x7, x17 + WORD $0xaa0f022f // orr x15, x17, x15 + WORD $0xea2e01f4 // bics x20, x15, x14 + WORD $0x54ffe940 // b.eq LBB0_246 $-728(%rip) + WORD $0x52800067 // mov w7, #3 +LBB0_253: + WORD $0xd1000695 // sub x21, x20, #1 + WORD $0x8a0502af // and x15, x21, x5 + WORD $0x9e6701fa // fmov d26, x15 + WORD $0x0e205b5a // cnt.8b v26, v26 + WORD $0x2e303b5a // uaddlv.8b h26, v26 + WORD $0x1e26034f // fmov w15, s26 + WORD $0x8b0001ef // add x15, x15, x0 + WORD $0xeb1e01ff // cmp x15, lr + WORD $0x540006e9 // b.ls LBB0_271 $220(%rip) + WORD $0x910007de // add lr, lr, #1 + WORD $0xea1402b4 // ands x20, x21, x20 + WORD $0x54fffea1 // b.ne LBB0_253 $-44(%rip) + WORD $0x17ffff3c // b LBB0_246 $-784(%rip) LBB0_255: - WORD $0xdac00291 // rbit x17, x20 - WORD $0xdac01231 // clz x17, x17 - WORD $0xcb090385 // sub x5, x28, x9 - WORD $0x8b1100b1 // add x17, x5, x17 - WORD $0x17fffd52 // b LBB0_121 $-2744(%rip) -LBB0_256: - WORD $0xd2800005 // mov x5, #0 - WORD $0x8b1c013c // add x28, x9, x28 - WORD $0x92800008 // mov x8, #-1 -LBB0_257: - WORD $0xf1008295 // subs x21, x20, #32 - WORD $0x54000643 // b.lo LBB0_265 $200(%rip) - WORD $0xad405395 // ldp q21, q20, [x28] - WORD $0x6e208eb6 // cmeq.16b v22, v21, v0 - WORD $0x4e221ed6 // and.16b v22, v22, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602d4 // fmov w20, s22 - WORD $0x6e208e96 // cmeq.16b v22, v20, v0 - WORD $0x4e221ed6 // and.16b v22, v22, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602d1 // fmov w17, s22 - WORD $0x6e218eb6 // cmeq.16b v22, v21, v1 - WORD $0x4e221ed6 // and.16b v22, v22, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602c7 // fmov w7, s22 - WORD $0x6e218e96 // cmeq.16b v22, v20, v1 - WORD $0x4e221ed6 // and.16b v22, v22, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602d6 // fmov w22, s22 - WORD $0x33103e34 // bfi w20, w17, #16, #16 - WORD $0x33103ec7 // bfi w7, w22, #16, #16 - WORD $0x35003047 // cbnz w7, LBB0_349 $1544(%rip) - WORD $0xb50030e5 // cbnz x5, LBB0_350 $1564(%rip) + WORD $0xf10001df // cmp x14, #0 + WORD $0x5400b36d // b.le LBB0_573 $5740(%rip) + WORD $0xad025ff7 // stp q23, q23, [sp, #64] + WORD $0xad015ff7 // stp q23, q23, [sp, #32] + WORD $0x92402f6e // and x14, x27, #0xfff + WORD $0xf13f05df // cmp x14, #4033 + WORD $0x54ffe823 // b.lo LBB0_248 $-764(%rip) + WORD $0xf9400bee // ldr x14, [sp, #16] + WORD $0xf10081c5 // subs x5, x14, #32 + WORD $0x540000a3 // b.lo LBB0_259 $20(%rip) + WORD $0xacc16f7a // ldp q26, q27, [x27], #32 + WORD $0xad016ffa // stp q26, q27, [sp, #32] + WORD $0xaa0a03ee // mov x14, x10 + WORD $0x14000003 // b LBB0_260 $12(%rip) +LBB0_259: + WORD $0x910083ee // add x14, sp, #32 + WORD $0xf9400be5 // ldr x5, [sp, #16] LBB0_260: - WORD $0x6e353495 // cmhi.16b v21, v4, v21 - WORD $0x4e221eb5 // and.16b v21, v21, v2 - WORD $0x4e0302b5 // tbl.16b v21, { v21 }, v3 - WORD $0x4e71bab5 // addv.8h h21, v21 - WORD $0x1e2602a7 // fmov w7, s21 - WORD $0x6e343494 // cmhi.16b v20, v4, v20 - WORD $0x4e221e94 // and.16b v20, v20, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260291 // fmov w17, s20 - WORD $0x33103e27 // bfi w7, w17, #16, #16 - WORD $0xdac000f1 // rbit x17, x7 - WORD $0xdac01231 // clz x17, x17 - WORD $0xb4000114 // cbz x20, LBB0_263 $32(%rip) - WORD $0xdac00285 // rbit x5, x20 - WORD $0xdac010a7 // clz x7, x5 - WORD $0xcb090385 // sub x5, x28, x9 - WORD $0xeb07023f // cmp x17, x7 - WORD $0x54005543 // b.lo LBB0_428 $2728(%rip) - WORD $0x8b0700b1 // add x17, x5, x7 - WORD $0x17fffd1f // b LBB0_121 $-2948(%rip) + WORD $0xf10040b4 // subs x20, x5, #16 + WORD $0x54000243 // b.lo LBB0_266 $72(%rip) + WORD $0x3cc1077a // ldr q26, [x27], #16 + WORD $0x3c8105da // str q26, [x14], #16 + WORD $0xaa1403e5 // mov x5, x20 + WORD $0xf1002294 // subs x20, x20, #8 + WORD $0x540001e2 // b.hs LBB0_267 $60(%rip) +LBB0_262: + WORD $0xf10010b4 // subs x20, x5, #4 + WORD $0x54000243 // b.lo LBB0_268 $72(%rip) LBB0_263: - WORD $0x35005527 // cbnz w7, LBB0_429 $2724(%rip) - WORD $0x9100839c // add x28, x28, #32 - WORD $0xaa1503f4 // mov x20, x21 + WORD $0xb840476f // ldr w15, [x27], #4 + WORD $0xb80045cf // str w15, [x14], #4 + WORD $0xaa1403e5 // mov x5, x20 + WORD $0xf1000a94 // subs x20, x20, #2 + WORD $0x540001e2 // b.hs LBB0_269 $60(%rip) +LBB0_264: + WORD $0xb4000245 // cbz x5, LBB0_270 $72(%rip) LBB0_265: - WORD $0xb5003965 // cbnz x5, LBB0_368 $1836(%rip) - WORD $0xb40048b4 // cbz x20, LBB0_398 $2324(%rip) + WORD $0x3940036f // ldrb w15, [x27] + WORD $0x390001cf // strb w15, [x14] + WORD $0x910083fb // add x27, sp, #32 + WORD $0x17ffff25 // b LBB0_248 $-876(%rip) +LBB0_266: + WORD $0xf10020b4 // subs x20, x5, #8 + WORD $0x54fffe63 // b.lo LBB0_262 $-52(%rip) LBB0_267: - WORD $0xd2800005 // mov x5, #0 + WORD $0xf840876f // ldr x15, [x27], #8 + WORD $0xf80085cf // str x15, [x14], #8 + WORD $0xaa1403e5 // mov x5, x20 + WORD $0xf1001294 // subs x20, x20, #4 + WORD $0x54fffe02 // b.hs LBB0_263 $-64(%rip) LBB0_268: - WORD $0x38656b91 // ldrb w17, [x28, x5] - WORD $0x71008a3f // cmp w17, #34 - WORD $0x540002e0 // b.eq LBB0_274 $92(%rip) - WORD $0x7101723f // cmp w17, #92 - WORD $0x540000e0 // b.eq LBB0_272 $28(%rip) - WORD $0x71007e3f // cmp w17, #31 - WORD $0x54005409 // b.ls LBB0_430 $2688(%rip) - WORD $0x910004a5 // add x5, x5, #1 - WORD $0xeb05029f // cmp x20, x5 - WORD $0x54fffee1 // b.ne LBB0_268 $-36(%rip) - WORD $0x14000239 // b LBB0_398 $2276(%rip) + WORD $0xf10008b4 // subs x20, x5, #2 + WORD $0x54fffe63 // b.lo LBB0_264 $-52(%rip) +LBB0_269: + WORD $0x7840276f // ldrh w15, [x27], #2 + WORD $0x780025cf // strh w15, [x14], #2 + WORD $0xaa1403e5 // mov x5, x20 + WORD $0xb5fffe14 // cbnz x20, LBB0_265 $-64(%rip) +LBB0_270: + WORD $0x910083fb // add x27, sp, #32 + WORD $0x17ffff16 // b LBB0_248 $-936(%rip) +LBB0_271: + WORD $0xf94004ce // ldr x14, [x6, #8] + WORD $0xdac0028f // rbit x15, x20 + WORD $0xdac011ef // clz x15, x15 + WORD $0xf9400bf1 // ldr x17, [sp, #16] + WORD $0xcb1101ef // sub x15, x15, x17 + WORD $0x8b0e01ee // add x14, x15, x14 + WORD $0x910005cf // add x15, x14, #1 + WORD $0xf900002f // str x15, [x1] + WORD $0xf94004d1 // ldr x17, [x6, #8] + WORD $0xeb1101ff // cmp x15, x17 + WORD $0x9a8e263c // csinc x28, x17, x14, hs + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0xf900003c // str x28, [x1] + WORD $0xda9f9100 // csinv x0, x8, xzr, ls + WORD $0x5280008f // mov w15, #4 + WORD $0xb6f80560 // tbz x0, #63, LBB0_284 $172(%rip) + WORD $0x1400055d // b LBB0_576 $5492(%rip) LBB0_272: - WORD $0xd1000691 // sub x17, x20, #1 - WORD $0xeb05023f // cmp x17, x5 - WORD $0x540046c0 // b.eq LBB0_398 $2264(%rip) - WORD $0x8b050391 // add x17, x28, x5 - WORD $0x8b0c0227 // add x7, x17, x12 - WORD $0xb100051f // cmn x8, #1 - WORD $0x9a8800e8 // csel x8, x7, x8, eq - WORD $0x91000a3c // add x28, x17, #2 - WORD $0xcb050291 // sub x17, x20, x5 - WORD $0xd1000a87 // sub x7, x20, #2 - WORD $0xd1000a34 // sub x20, x17, #2 - WORD $0xeb0500ff // cmp x7, x5 - WORD $0x54fffd01 // b.ne LBB0_267 $-96(%rip) - WORD $0x1400022b // b LBB0_398 $2220(%rip) -LBB0_274: - WORD $0x8b1c0191 // add x17, x12, x28 - WORD $0x8b050231 // add x17, x17, x5 - WORD $0x17fffcfd // b LBB0_121 $-3084(%rip) + WORD $0xf94004ce // ldr x14, [x6, #8] + WORD $0xcb1c01ce // sub x14, x14, x28 + WORD $0xf10041df // cmp x14, #16 + WORD $0x540001e3 // b.lo LBB0_275 $60(%rip) +LBB0_273: + WORD $0x3cfc6b7a // ldr q26, [x27, x28] + WORD $0x6e348f5b // cmeq.16b v27, v26, v20 + WORD $0x4e321f5a // and.16b v26, v26, v18 + WORD $0x6e358f5a // cmeq.16b v26, v26, v21 + WORD $0x4ebb1f5a // orr.16b v26, v26, v27 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260340 // fmov w0, s26 + WORD $0x350002a0 // cbnz w0, LBB0_281 $84(%rip) + WORD $0xd10041ce // sub x14, x14, #16 + WORD $0x9100439c // add x28, x28, #16 + WORD $0xf1003ddf // cmp x14, #15 + WORD $0x54fffe68 // b.hi LBB0_273 $-52(%rip) LBB0_275: - WORD $0x8b1c013c // add x28, x9, x28 - WORD $0x14000006 // b LBB0_278 $24(%rip) -LBB0_276: - WORD $0x8b1c013c // add x28, x9, x28 - WORD $0x14000028 // b LBB0_284 $160(%rip) + WORD $0x8b1c0360 // add x0, x27, x28 + WORD $0xb4ff79ce // cbz x14, LBB0_130 $-4296(%rip) + WORD $0x8b0e0005 // add x5, x0, x14 + WORD $0xcb1b001c // sub x28, x0, x27 LBB0_277: - WORD $0xd2800005 // mov x5, #0 - WORD $0x8b1c013c // add x28, x9, x28 - WORD $0x92800008 // mov x8, #-1 -LBB0_278: - WORD $0xf1008287 // subs x7, x20, #32 - WORD $0x54002d23 // b.lo LBB0_354 $1444(%rip) - WORD $0xad405794 // ldp q20, q21, [x28] - WORD $0x6e208e96 // cmeq.16b v22, v20, v0 - WORD $0x6e208eb7 // cmeq.16b v23, v21, v0 - WORD $0x6e218e94 // cmeq.16b v20, v20, v1 - WORD $0x6e218eb5 // cmeq.16b v21, v21, v1 - WORD $0x4e221ed6 // and.16b v22, v22, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602d4 // fmov w20, s22 - WORD $0x4e221ef6 // and.16b v22, v23, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602d1 // fmov w17, s22 - WORD $0x4e221e94 // and.16b v20, v20, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260295 // fmov w21, s20 - WORD $0x4e221eb4 // and.16b v20, v21, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260296 // fmov w22, s20 - WORD $0x33103e34 // bfi w20, w17, #16, #16 - WORD $0x33103ed5 // bfi w21, w22, #16, #16 - WORD $0x35002795 // cbnz w21, LBB0_351 $1264(%rip) - WORD $0xb5002825 // cbnz x5, LBB0_352 $1284(%rip) - WORD $0xb40029b4 // cbz x20, LBB0_353 $1332(%rip) + WORD $0x39400013 // ldrb w19, [x0] + WORD $0x7100b27f // cmp w19, #44 + WORD $0x54ff7940 // b.eq LBB0_131 $-4312(%rip) + WORD $0x7101f67f // cmp w19, #125 + WORD $0x54ff7900 // b.eq LBB0_131 $-4320(%rip) + WORD $0x7101767f // cmp w19, #93 + WORD $0x54ff78c0 // b.eq LBB0_131 $-4328(%rip) + WORD $0x91000400 // add x0, x0, #1 + WORD $0x9100079c // add x28, x28, #1 + WORD $0xf10005ce // subs x14, x14, #1 + WORD $0x54fffec1 // b.ne LBB0_277 $-40(%rip) + WORD $0x17fffbbf // b LBB0_129 $-4356(%rip) +LBB0_281: + WORD $0x5ac0000e // rbit w14, w0 + WORD $0x5ac011ce // clz w14, w14 LBB0_282: - WORD $0xdac00291 // rbit x17, x20 - WORD $0xdac01231 // clz x17, x17 - WORD $0xcb090385 // sub x5, x28, x9 - WORD $0x8b1100b1 // add x17, x5, x17 - WORD $0x17fffd75 // b LBB0_150 $-2604(%rip) + WORD $0x8b1c01dc // add x28, x14, x28 LBB0_283: - WORD $0xd2800005 // mov x5, #0 - WORD $0x8b1c013c // add x28, x9, x28 - WORD $0x92800008 // mov x8, #-1 + WORD $0xf900003c // str x28, [x1] + WORD $0xaa0803e0 // mov x0, x8 + WORD $0xeb11011f // cmp x8, x17 + WORD $0x5400a682 // b.hs LBB0_576 $5328(%rip) LBB0_284: - WORD $0xf1008295 // subs x21, x20, #32 - WORD $0x54000643 // b.lo LBB0_292 $200(%rip) - WORD $0xad405395 // ldp q21, q20, [x28] - WORD $0x6e208eb6 // cmeq.16b v22, v21, v0 - WORD $0x4e221ed6 // and.16b v22, v22, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602d4 // fmov w20, s22 - WORD $0x6e208e96 // cmeq.16b v22, v20, v0 - WORD $0x4e221ed6 // and.16b v22, v22, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602d1 // fmov w17, s22 - WORD $0x6e218eb6 // cmeq.16b v22, v21, v1 - WORD $0x4e221ed6 // and.16b v22, v22, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602c7 // fmov w7, s22 - WORD $0x6e218e96 // cmeq.16b v22, v20, v1 - WORD $0x4e221ed6 // and.16b v22, v22, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602d6 // fmov w22, s22 - WORD $0x33103e34 // bfi w20, w17, #16, #16 - WORD $0x33103ec7 // bfi w7, w22, #16, #16 - WORD $0x350029a7 // cbnz w7, LBB0_364 $1332(%rip) - WORD $0xb5002a45 // cbnz x5, LBB0_365 $1352(%rip) + WORD $0xf9400053 // ldr x19, [x2] + WORD $0xaa0b03e0 // mov x0, x11 + WORD $0xb5ff2f53 // cbnz x19, LBB0_1 $-6680(%rip) + WORD $0x14000530 // b LBB0_576 $5312(%rip) +LBB0_285: + WORD $0xf94004c0 // ldr x0, [x6, #8] + WORD $0xcb1c000e // sub x14, x0, x28 + WORD $0xf10081df // cmp x14, #32 + WORD $0x540053eb // b.lt LBB0_421 $2684(%rip) + WORD $0xd280000e // mov x14, #0 + WORD $0xd2800005 // mov x5, #0 + WORD $0xcb080000 // sub x0, x0, x8 + WORD $0x528003f3 // mov w19, #31 LBB0_287: - WORD $0x6e353495 // cmhi.16b v21, v4, v21 - WORD $0x4e221eb5 // and.16b v21, v21, v2 - WORD $0x4e0302b5 // tbl.16b v21, { v21 }, v3 - WORD $0x4e71bab5 // addv.8h h21, v21 - WORD $0x1e2602a7 // fmov w7, s21 - WORD $0x6e343494 // cmhi.16b v20, v4, v20 - WORD $0x4e221e94 // and.16b v20, v20, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260291 // fmov w17, s20 - WORD $0x33103e27 // bfi w7, w17, #16, #16 - WORD $0xdac000f1 // rbit x17, x7 - WORD $0xdac01231 // clz x17, x17 - WORD $0xb4000114 // cbz x20, LBB0_290 $32(%rip) - WORD $0xdac00285 // rbit x5, x20 - WORD $0xdac010a7 // clz x7, x5 - WORD $0xcb090385 // sub x5, x28, x9 - WORD $0xeb07023f // cmp x17, x7 - WORD $0x540045a3 // b.lo LBB0_428 $2228(%rip) - WORD $0x8b0700b1 // add x17, x5, x7 - WORD $0x17fffd42 // b LBB0_150 $-2808(%rip) + WORD $0x8b0e03cf // add x15, lr, x14 + WORD $0x3cc011fa // ldur q26, [x15, #1] + WORD $0x3cc111fb // ldur q27, [x15, #17] + WORD $0x6e208f5c // cmeq.16b v28, v26, v0 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260395 // fmov w21, s28 + WORD $0x6e208f7c // cmeq.16b v28, v27, v0 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e26038f // fmov w15, s28 + WORD $0x33103df5 // bfi w21, w15, #16, #16 + WORD $0x6e218f5a // cmeq.16b v26, v26, v1 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260354 // fmov w20, s26 + WORD $0x6e218f7a // cmeq.16b v26, v27, v1 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e26034f // fmov w15, s26 + WORD $0x33103df4 // bfi w20, w15, #16, #16 + WORD $0x7100029f // cmp w20, #0 + WORD $0xfa4008a0 // ccmp x5, #0, #0, eq + WORD $0x540001a0 // b.eq LBB0_289 $52(%rip) + WORD $0x0a25028f // bic w15, w20, w5 + WORD $0x2a0f04b1 // orr w17, w5, w15, lsl #1 + WORD $0x0a040285 // and w5, w20, w4 + WORD $0x0a3100a5 // bic w5, w5, w17 + WORD $0x2b0f00af // adds w15, w5, w15 + WORD $0x1a9f37e5 // cset w5, hs + WORD $0x4a0f060f // eor w15, w16, w15, lsl #1 + WORD $0x0a1101ef // and w15, w15, w17 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0x2a2f03ef // mvn w15, w15 + WORD $0x8a1501f5 // and x21, x15, x21 + WORD $0x14000002 // b LBB0_290 $8(%rip) +LBB0_289: + WORD $0xd2800005 // mov x5, #0 LBB0_290: - WORD $0x35004587 // cbnz w7, LBB0_429 $2224(%rip) - WORD $0x9100839c // add x28, x28, #32 - WORD $0xaa1503f4 // mov x20, x21 -LBB0_292: - WORD $0xb5002bc5 // cbnz x5, LBB0_372 $1400(%rip) - WORD $0xb4003914 // cbz x20, LBB0_398 $1824(%rip) + WORD $0xb50001d5 // cbnz x21, LBB0_294 $56(%rip) + WORD $0x910081ce // add x14, x14, #32 + WORD $0xd1008273 // sub x19, x19, #32 + WORD $0x8b13000f // add x15, x0, x19 + WORD $0xf100fdff // cmp x15, #63 + WORD $0x54fffa4c // b.gt LBB0_287 $-184(%rip) + WORD $0xb5008585 // cbnz x5, LBB0_516 $4272(%rip) + WORD $0x8b0e03cf // add x15, lr, x14 + WORD $0x910005e5 // add x5, x15, #1 + WORD $0xaa2e03ee // mvn x14, x14 + WORD $0x8b0001ce // add x14, x14, x0 + WORD $0xf10005df // cmp x14, #1 + WORD $0x54004d0a // b.ge LBB0_422 $2464(%rip) + WORD $0x140004f0 // b LBB0_575 $5056(%rip) LBB0_294: - WORD $0xd2800005 // mov x5, #0 + WORD $0xdac002af // rbit x15, x21 + WORD $0xdac011ef // clz x15, x15 + WORD $0x8b0e010e // add x14, x8, x14 + WORD $0x8b0e01ee // add x14, x15, x14 + WORD $0x910009dc // add x28, x14, #2 + WORD $0x5280008f // mov w15, #4 + WORD $0x17ffffb3 // b LBB0_283 $-308(%rip) LBB0_295: - WORD $0x38656b91 // ldrb w17, [x28, x5] - WORD $0x71008a3f // cmp w17, #34 - WORD $0x540002e0 // b.eq LBB0_301 $92(%rip) - WORD $0x7101723f // cmp w17, #92 - WORD $0x540000e0 // b.eq LBB0_299 $28(%rip) - WORD $0x71007e3f // cmp w17, #31 - WORD $0x54004469 // b.ls LBB0_430 $2188(%rip) - WORD $0x910004a5 // add x5, x5, #1 - WORD $0xeb05029f // cmp x20, x5 - WORD $0x54fffee1 // b.ne LBB0_295 $-36(%rip) - WORD $0x140001bc // b LBB0_398 $1776(%rip) + WORD $0xaa1a03f5 // mov x21, x26 + WORD $0x9280000e // mov x14, #-1 + WORD $0xb5ff8a40 // cbnz x0, LBB0_168 $-3768(%rip) + WORD $0x14000485 // b LBB0_545 $4628(%rip) +LBB0_296: + WORD $0x54009000 // b.eq LBB0_543 $4608(%rip) + WORD $0xf10102df // cmp x22, #64 + WORD $0x54005383 // b.lo LBB0_436 $2672(%rip) + WORD $0xd2800013 // mov x19, #0 + WORD $0x92800000 // mov x0, #-1 LBB0_299: - WORD $0xd1000691 // sub x17, x20, #1 - WORD $0xeb05023f // cmp x17, x5 - WORD $0x54003720 // b.eq LBB0_398 $1764(%rip) - WORD $0x8b050391 // add x17, x28, x5 - WORD $0x8b0c0227 // add x7, x17, x12 - WORD $0xb100051f // cmn x8, #1 - WORD $0x9a8800e8 // csel x8, x7, x8, eq - WORD $0x91000a3c // add x28, x17, #2 - WORD $0xcb050291 // sub x17, x20, x5 - WORD $0xd1000a87 // sub x7, x20, #2 - WORD $0xd1000a34 // sub x20, x17, #2 - WORD $0xeb0500ff // cmp x7, x5 - WORD $0x54fffd01 // b.ne LBB0_294 $-96(%rip) - WORD $0x140001ae // b LBB0_398 $1720(%rip) + WORD $0x8b1c036e // add x14, x27, x28 + WORD $0xad4071dd // ldp q29, q28, [x14] + WORD $0xad4169db // ldp q27, q26, [x14, #32] + WORD $0x6e208fbe // cmeq.16b v30, v29, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603ce // fmov w14, s30 + WORD $0x6e208f9e // cmeq.16b v30, v28, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603cf // fmov w15, s30 + WORD $0x6e208f7e // cmeq.16b v30, v27, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d1 // fmov w17, s30 + WORD $0x6e208f5e // cmeq.16b v30, v26, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603c5 // fmov w5, s30 + WORD $0x6e218fbe // cmeq.16b v30, v29, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603c7 // fmov w7, s30 + WORD $0x6e218f9e // cmeq.16b v30, v28, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d4 // fmov w20, s30 + WORD $0x6e218f7e // cmeq.16b v30, v27, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d5 // fmov w21, s30 + WORD $0x6e218f5e // cmeq.16b v30, v26, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d7 // fmov w23, s30 + WORD $0xd3607e31 // lsl x17, x17, #32 + WORD $0xaa05c231 // orr x17, x17, x5, lsl #48 + WORD $0x53103def // lsl w15, w15, #16 + WORD $0xaa0f022f // orr x15, x17, x15 + WORD $0xaa0e01ee // orr x14, x15, x14 + WORD $0xd3607eaf // lsl x15, x21, #32 + WORD $0xaa17c1ef // orr x15, x15, x23, lsl #48 + WORD $0x53103e91 // lsl w17, w20, #16 + WORD $0xaa1101ef // orr x15, x15, x17 + WORD $0xaa0701e5 // orr x5, x15, x7 + WORD $0xb5000445 // cbnz x5, LBB0_304 $136(%rip) + WORD $0xb50004d3 // cbnz x19, LBB0_305 $152(%rip) LBB0_301: - WORD $0x8b1c0191 // add x17, x12, x28 - WORD $0x8b050231 // add x17, x17, x5 - WORD $0x17fffd20 // b LBB0_150 $-2944(%rip) -LBB0_302: - WORD $0xcb1803e7 // neg x7, x24 - WORD $0x17fffeee // b LBB0_243 $-1096(%rip) -LBB0_303: - WORD $0x5ac00328 // rbit w8, w25 - WORD $0x5ac01108 // clz w8, w8 - WORD $0xaa2703f1 // mvn x17, x7 - WORD $0xcb080227 // sub x7, x17, x8 - WORD $0x52800073 // mov w19, #3 - WORD $0x17fffee8 // b LBB0_243 $-1120(%rip) + WORD $0x6e3d349d // cmhi.16b v29, v4, v29 + WORD $0x4e221fbd // and.16b v29, v29, v2 + WORD $0x4e0303bd // tbl.16b v29, { v29 }, v3 + WORD $0x4e71bbbd // addv.8h h29, v29 + WORD $0x1e2603af // fmov w15, s29 + WORD $0x6e3c349c // cmhi.16b v28, v4, v28 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260391 // fmov w17, s28 + WORD $0x6e3b349b // cmhi.16b v27, v4, v27 + WORD $0x4e221f7b // and.16b v27, v27, v2 + WORD $0x4e03037b // tbl.16b v27, { v27 }, v3 + WORD $0x4e71bb7b // addv.8h h27, v27 + WORD $0x1e260365 // fmov w5, s27 + WORD $0x6e3a349a // cmhi.16b v26, v4, v26 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260347 // fmov w7, s26 + WORD $0xd3607ca5 // lsl x5, x5, #32 + WORD $0xaa07c0a5 // orr x5, x5, x7, lsl #48 + WORD $0x53103e31 // lsl w17, w17, #16 + WORD $0xaa1100b1 // orr x17, x5, x17 + WORD $0xaa0f0225 // orr x5, x17, x15 + WORD $0xb50002ee // cbnz x14, LBB0_306 $92(%rip) + WORD $0xb50086a5 // cbnz x5, LBB0_549 $4308(%rip) + WORD $0xd10102d6 // sub x22, x22, #64 + WORD $0x9101039c // add x28, x28, #64 + WORD $0xf100fedf // cmp x22, #63 + WORD $0x54fff568 // b.hi LBB0_299 $-340(%rip) + WORD $0x14000218 // b LBB0_428 $2144(%rip) LBB0_304: - WORD $0x8b1c013c // add x28, x9, x28 - WORD $0x1400000a // b LBB0_308 $40(%rip) + WORD $0xb100041f // cmn x0, #1 + WORD $0xdac000af // rbit x15, x5 + WORD $0xdac011ef // clz x15, x15 + WORD $0x8b1c01ef // add x15, x15, x28 + WORD $0x9a8f1000 // csel x0, x0, x15, ne LBB0_305: - WORD $0x8b1c013c // add x28, x9, x28 - WORD $0x1400002c // b LBB0_314 $176(%rip) + WORD $0x8a3300af // bic x15, x5, x19 + WORD $0xaa0f0671 // orr x17, x19, x15, lsl #1 + WORD $0x8a3100a5 // bic x5, x5, x17 + WORD $0x9201f0a5 // and x5, x5, #0xaaaaaaaaaaaaaaaa + WORD $0xab0f00af // adds x15, x5, x15 + WORD $0x1a9f37f3 // cset w19, hs + WORD $0xd37ff9ef // lsl x15, x15, #1 + WORD $0xd200f1ef // eor x15, x15, #0x5555555555555555 + WORD $0x8a1101ef // and x15, x15, x17 + WORD $0x8a2f01ce // bic x14, x14, x15 + WORD $0x17ffffd1 // b LBB0_301 $-188(%rip) LBB0_306: - WORD $0xaa2703e8 // mvn x8, x7 - WORD $0xcb314107 // sub x7, x8, w17, uxtw - WORD $0x52800073 // mov w19, #3 - WORD $0x17fffee0 // b LBB0_243 $-1152(%rip) -LBB0_307: - WORD $0xd2800005 // mov x5, #0 - WORD $0x8b1c013c // add x28, x9, x28 - WORD $0x92800008 // mov x8, #-1 + WORD $0xdac001ce // rbit x14, x14 + WORD $0xdac011ce // clz x14, x14 + WORD $0xdac000af // rbit x15, x5 + WORD $0xdac011e5 // clz x5, x15 + WORD $0xeb0e00bf // cmp x5, x14 + WORD $0x52800067 // mov w7, #3 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0x54008d83 // b.lo LBB0_572 $4528(%rip) + WORD $0x8b1c01ce // add x14, x14, x28 + WORD $0x910005dc // add x28, x14, #1 + WORD $0x5280008f // mov w15, #4 + WORD $0xb6ffe6fc // tbz x28, #63, LBB0_283 $-804(%rip) + WORD $0x14000406 // b LBB0_542 $4120(%rip) LBB0_308: - WORD $0xf1008287 // subs x7, x20, #32 - WORD $0x540028e3 // b.lo LBB0_377 $1308(%rip) - WORD $0xad405794 // ldp q20, q21, [x28] - WORD $0x6e208e96 // cmeq.16b v22, v20, v0 - WORD $0x6e208eb7 // cmeq.16b v23, v21, v0 - WORD $0x6e218e94 // cmeq.16b v20, v20, v1 - WORD $0x6e218eb5 // cmeq.16b v21, v21, v1 - WORD $0x4e221ed6 // and.16b v22, v22, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602d4 // fmov w20, s22 - WORD $0x4e221ef6 // and.16b v22, v23, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602d1 // fmov w17, s22 - WORD $0x4e221e94 // and.16b v20, v20, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260295 // fmov w21, s20 - WORD $0x4e221eb4 // and.16b v20, v21, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260284 // fmov w4, s20 - WORD $0x33103e34 // bfi w20, w17, #16, #16 - WORD $0x33103c95 // bfi w21, w4, #16, #16 - WORD $0x35002375 // cbnz w21, LBB0_374 $1132(%rip) - WORD $0xb5002405 // cbnz x5, LBB0_375 $1152(%rip) - WORD $0xb4002574 // cbz x20, LBB0_376 $1196(%rip) -LBB0_312: - WORD $0xdac00291 // rbit x17, x20 - WORD $0xdac01231 // clz x17, x17 - WORD $0xcb090384 // sub x4, x28, x9 - WORD $0x8b110091 // add x17, x4, x17 - WORD $0x14000055 // b LBB0_332 $340(%rip) -LBB0_313: + WORD $0x3940040e // ldrb w14, [x0, #1] + WORD $0x5100b9ce // sub w14, w14, #46 + WORD $0x7100dddf // cmp w14, #55 + WORD $0x54ff77e8 // b.hi LBB0_160 $-4356(%rip) + WORD $0x9ace218f // lsl x15, x12, x14 + WORD $0x5280002e // mov w14, #1 + WORD $0xb20903e5 // mov x5, #36028797027352576 + WORD $0xf2800025 // movk x5, #1 + WORD $0xea0501ff // tst x15, x5 + WORD $0x5280008f // mov w15, #4 + WORD $0x54ffe540 // b.eq LBB0_282 $-856(%rip) +LBB0_310: + WORD $0xf10042bf // cmp x21, #16 + WORD $0x54004f23 // b.lo LBB0_458 $2532(%rip) WORD $0xd2800005 // mov x5, #0 - WORD $0x8b1c013c // add x28, x9, x28 - WORD $0x92800008 // mov x8, #-1 -LBB0_314: - WORD $0xf1008295 // subs x21, x20, #32 - WORD $0x54000643 // b.lo LBB0_322 $200(%rip) - WORD $0xad405395 // ldp q21, q20, [x28] - WORD $0x6e208eb6 // cmeq.16b v22, v21, v0 - WORD $0x4e221ed6 // and.16b v22, v22, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602d4 // fmov w20, s22 - WORD $0x6e208e96 // cmeq.16b v22, v20, v0 - WORD $0x4e221ed6 // and.16b v22, v22, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602d1 // fmov w17, s22 - WORD $0x6e218eb6 // cmeq.16b v22, v21, v1 - WORD $0x4e221ed6 // and.16b v22, v22, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602c7 // fmov w7, s22 - WORD $0x6e218e96 // cmeq.16b v22, v20, v1 - WORD $0x4e221ed6 // and.16b v22, v22, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602c4 // fmov w4, s22 - WORD $0x33103e34 // bfi w20, w17, #16, #16 - WORD $0x33103c87 // bfi w7, w4, #16, #16 - WORD $0x350024e7 // cbnz w7, LBB0_386 $1180(%rip) - WORD $0xb5002585 // cbnz x5, LBB0_387 $1200(%rip) -LBB0_317: - WORD $0x6e353495 // cmhi.16b v21, v4, v21 - WORD $0x4e221eb5 // and.16b v21, v21, v2 - WORD $0x4e0302b5 // tbl.16b v21, { v21 }, v3 - WORD $0x4e71bab5 // addv.8h h21, v21 - WORD $0x1e2602a7 // fmov w7, s21 - WORD $0x6e343494 // cmhi.16b v20, v4, v20 - WORD $0x4e221e94 // and.16b v20, v20, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260291 // fmov w17, s20 - WORD $0x33103e27 // bfi w7, w17, #16, #16 - WORD $0xdac000f1 // rbit x17, x7 - WORD $0xdac01231 // clz x17, x17 - WORD $0xb4000114 // cbz x20, LBB0_320 $32(%rip) - WORD $0xdac00284 // rbit x4, x20 - WORD $0xdac01087 // clz x7, x4 - WORD $0xcb090385 // sub x5, x28, x9 - WORD $0xeb07023f // cmp x17, x7 - WORD $0x54003483 // b.lo LBB0_428 $1680(%rip) - WORD $0x8b0700b1 // add x17, x5, x7 - WORD $0x14000022 // b LBB0_332 $136(%rip) -LBB0_320: - WORD $0x35003467 // cbnz w7, LBB0_429 $1676(%rip) - WORD $0x9100839c // add x28, x28, #32 - WORD $0xaa1503f4 // mov x20, x21 -LBB0_322: - WORD $0xb5002505 // cbnz x5, LBB0_391 $1184(%rip) - WORD $0xb40027f4 // cbz x20, LBB0_398 $1276(%rip) + WORD $0xd280000e // mov x14, #0 + WORD $0x92800013 // mov x19, #-1 + WORD $0x9280001e // mov lr, #-1 + WORD $0x92800016 // mov x22, #-1 +LBB0_312: + WORD $0x3cee681a // ldr q26, [x0, x14] + WORD $0x6e258f5b // cmeq.16b v27, v26, v5 + WORD $0x6e268f5c // cmeq.16b v28, v26, v6 + WORD $0x6e278f5d // cmeq.16b v29, v26, v7 + WORD $0x4e30875e // add.16b v30, v26, v16 + WORD $0x6e3e363e // cmhi.16b v30, v17, v30 + WORD $0x4e321f5a // and.16b v26, v26, v18 + WORD $0x6e338f5a // cmeq.16b v26, v26, v19 + WORD $0x4ebd1f9c // orr.16b v28, v28, v29 + WORD $0x4ebb1fdd // orr.16b v29, v30, v27 + WORD $0x4ebc1f5e // orr.16b v30, v26, v28 + WORD $0x4ebe1fbd // orr.16b v29, v29, v30 + WORD $0x4e221f7b // and.16b v27, v27, v2 + WORD $0x4e03037b // tbl.16b v27, { v27 }, v3 + WORD $0x4e71bb7b // addv.8h h27, v27 + WORD $0x1e26036f // fmov w15, s27 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260354 // fmov w20, s26 + WORD $0x4e221f9a // and.16b v26, v28, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260357 // fmov w23, s26 + WORD $0x4e221fba // and.16b v26, v29, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260358 // fmov w24, s26 + WORD $0x2a3803f8 // mvn w24, w24 + WORD $0x32103f18 // orr w24, w24, #0xffff0000 + WORD $0x5ac00318 // rbit w24, w24 + WORD $0x5ac0131a // clz w26, w24 + WORD $0x12800011 // mov w17, #-1 + WORD $0x1ada2238 // lsl w24, w17, w26 + WORD $0x0a3801f9 // bic w25, w15, w24 + WORD $0x0a380291 // bic w17, w20, w24 + WORD $0x0a3802e7 // bic w7, w23, w24 + WORD $0x7100435f // cmp w26, #16 + WORD $0x1a9901f8 // csel w24, w15, w25, eq + WORD $0x1a910294 // csel w20, w20, w17, eq + WORD $0x1a8702f9 // csel w25, w23, w7, eq + WORD $0x5100070f // sub w15, w24, #1 + WORD $0x6a1801f7 // ands w23, w15, w24 + WORD $0x54003381 // b.ne LBB0_420 $1648(%rip) + WORD $0x5100068f // sub w15, w20, #1 + WORD $0x6a1401f7 // ands w23, w15, w20 + WORD $0x54003321 // b.ne LBB0_420 $1636(%rip) + WORD $0x5100072f // sub w15, w25, #1 + WORD $0x6a1901f7 // ands w23, w15, w25 + WORD $0x540032c1 // b.ne LBB0_420 $1624(%rip) + WORD $0x340000d8 // cbz w24, LBB0_318 $24(%rip) + WORD $0x5ac0030f // rbit w15, w24 + WORD $0x5ac011f8 // clz w24, w15 + WORD $0xb10006df // cmn x22, #1 + WORD $0x54004721 // b.ne LBB0_457 $2276(%rip) + WORD $0x8b1801d6 // add x22, x14, x24 +LBB0_318: + WORD $0x340000d4 // cbz w20, LBB0_321 $24(%rip) + WORD $0x5ac0028f // rbit w15, w20 + WORD $0x5ac011f4 // clz w20, w15 + WORD $0xb10007df // cmn lr, #1 + WORD $0x540035c1 // b.ne LBB0_429 $1720(%rip) + WORD $0x8b1401de // add lr, x14, x20 +LBB0_321: + WORD $0x340000d9 // cbz w25, LBB0_324 $24(%rip) + WORD $0x5ac0032f // rbit w15, w25 + WORD $0x5ac011f4 // clz w20, w15 + WORD $0xb100067f // cmn x19, #1 + WORD $0x54003501 // b.ne LBB0_429 $1696(%rip) + WORD $0x8b1401d3 // add x19, x14, x20 LBB0_324: - WORD $0xd2800005 // mov x5, #0 -LBB0_325: - WORD $0x38656b91 // ldrb w17, [x28, x5] - WORD $0x71008a3f // cmp w17, #34 - WORD $0x540002e0 // b.eq LBB0_331 $92(%rip) - WORD $0x7101723f // cmp w17, #92 - WORD $0x540000e0 // b.eq LBB0_329 $28(%rip) - WORD $0x71007e3f // cmp w17, #31 - WORD $0x54003349 // b.ls LBB0_430 $1640(%rip) - WORD $0x910004a5 // add x5, x5, #1 - WORD $0xeb05029f // cmp x20, x5 - WORD $0x54fffee1 // b.ne LBB0_325 $-36(%rip) - WORD $0x14000133 // b LBB0_398 $1228(%rip) -LBB0_329: - WORD $0xd1000691 // sub x17, x20, #1 - WORD $0xeb05023f // cmp x17, x5 - WORD $0x54002600 // b.eq LBB0_398 $1216(%rip) - WORD $0x8b050391 // add x17, x28, x5 - WORD $0x8b0c0224 // add x4, x17, x12 - WORD $0xb100051f // cmn x8, #1 - WORD $0x9a880088 // csel x8, x4, x8, eq - WORD $0x91000a3c // add x28, x17, #2 - WORD $0xcb050291 // sub x17, x20, x5 - WORD $0xd1000a84 // sub x4, x20, #2 - WORD $0xd1000a34 // sub x20, x17, #2 - WORD $0xeb05009f // cmp x4, x5 - WORD $0x54fffd01 // b.ne LBB0_324 $-96(%rip) - WORD $0x14000125 // b LBB0_398 $1172(%rip) + WORD $0x7100435f // cmp w26, #16 + WORD $0x54000601 // b.ne LBB0_342 $192(%rip) + WORD $0x910041ce // add x14, x14, #16 + WORD $0xd10040a5 // sub x5, x5, #16 + WORD $0x8b0502ba // add x26, x21, x5 + WORD $0xf1003f5f // cmp x26, #15 + WORD $0x54fff6c8 // b.hi LBB0_312 $-296(%rip) + WORD $0x8b0e0005 // add x5, x0, x14 + WORD $0xeb0e02bf // cmp x21, x14 + WORD $0x52800067 // mov w7, #3 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0x54000540 // b.eq LBB0_343 $168(%rip) +LBB0_327: + WORD $0x8b1a00ae // add x14, x5, x26 + WORD $0xcb0800af // sub x15, x5, x8 + WORD $0xcb1b01f5 // sub x21, x15, x27 + WORD $0xaa0503fb // mov x27, x5 + WORD $0x14000008 // b LBB0_331 $32(%rip) +LBB0_328: + WORD $0xb100067f // cmn x19, #1 + WORD $0x54002da1 // b.ne LBB0_419 $1460(%rip) + WORD $0xd10006b3 // sub x19, x21, #1 +LBB0_330: + WORD $0x910006b5 // add x21, x21, #1 + WORD $0xaa1b03e5 // mov x5, x27 + WORD $0xd100075a // sub x26, x26, #1 + WORD $0xb4000b3a // cbz x26, LBB0_363 $356(%rip) LBB0_331: - WORD $0x8b1c0191 // add x17, x12, x28 - WORD $0x8b050231 // add x17, x17, x5 -LBB0_332: - WORD $0x9100063c // add x28, x17, #1 - WORD $0x52800073 // mov w19, #3 - WORD $0x17fffbf6 // b LBB0_122 $-4136(%rip) -LBB0_333: - WORD $0x92800008 // mov x8, #-1 - WORD $0xaa1e03f6 // mov x22, lr - WORD $0xaa1503f7 // mov x23, x21 - WORD $0x92800005 // mov x5, #-1 - WORD $0x92800014 // mov x20, #-1 - WORD $0x17fffb21 // b LBB0_82 $-4988(%rip) -LBB0_334: - WORD $0xaa2703e8 // mvn x8, x7 - WORD $0xcb3a4107 // sub x7, x8, w26, uxtw - WORD $0x52800073 // mov w19, #3 - WORD $0x17fffe5b // b LBB0_243 $-1684(%rip) -LBB0_335: - WORD $0x92800014 // mov x20, #-1 - WORD $0xaa0803f6 // mov x22, x8 - WORD $0xaa1803f5 // mov x21, x24 - WORD $0x92800005 // mov x5, #-1 - WORD $0x9280001e // mov lr, #-1 - WORD $0x52800073 // mov w19, #3 - WORD $0x17fffe0f // b LBB0_215 $-1988(%rip) -LBB0_336: - WORD $0xdac002b1 // rbit x17, x21 - WORD $0xdac01231 // clz x17, x17 - WORD $0xcb090396 // sub x22, x28, x9 - WORD $0x8b1102d1 // add x17, x22, x17 - WORD $0xb100051f // cmn x8, #1 - WORD $0x9a911108 // csel x8, x8, x17, ne -LBB0_337: - WORD $0x0a2502b1 // bic w17, w21, w5 - WORD $0x531f7a36 // lsl w22, w17, #1 - WORD $0x331f7a25 // bfi w5, w17, #1, #31 - WORD $0x0a3602b5 // bic w21, w21, w22 - WORD $0x1201f2b5 // and w21, w21, #0xaaaaaaaa - WORD $0x2b1102b1 // adds w17, w21, w17 - WORD $0x4a1104d1 // eor w17, w6, w17, lsl #1 - WORD $0x0a050231 // and w17, w17, w5 - WORD $0x1a9f37e5 // cset w5, hs - WORD $0x2a3103f1 // mvn w17, w17 - WORD $0x8a140234 // and x20, x17, x20 - WORD $0x52800073 // mov w19, #3 - WORD $0xb5ffcf74 // cbnz x20, LBB0_255 $-1556(%rip) + WORD $0x38401774 // ldrb w20, [x27], #1 + WORD $0x5100c28f // sub w15, w20, #48 + WORD $0x710029ff // cmp w15, #10 + WORD $0x54ffff23 // b.lo LBB0_330 $-28(%rip) + WORD $0x7100b69f // cmp w20, #45 + WORD $0x5400016d // b.le LBB0_338 $44(%rip) + WORD $0x7101969f // cmp w20, #101 + WORD $0x540001c0 // b.eq LBB0_340 $56(%rip) + WORD $0x7101169f // cmp w20, #69 + WORD $0x54000180 // b.eq LBB0_340 $48(%rip) + WORD $0x7100ba9f // cmp w20, #46 + WORD $0x54000241 // b.ne LBB0_343 $72(%rip) + WORD $0xb10006df // cmn x22, #1 + WORD $0x54002b41 // b.ne LBB0_419 $1384(%rip) + WORD $0xd10006b6 // sub x22, x21, #1 + WORD $0x17ffffed // b LBB0_330 $-76(%rip) LBB0_338: - WORD $0x9100839c // add x28, x28, #32 - WORD $0xaa0703f4 // mov x20, x7 -LBB0_339: - WORD $0xb5000ec5 // cbnz x5, LBB0_366 $472(%rip) - WORD $0xb4000314 // cbz x20, LBB0_348 $96(%rip) -LBB0_341: - WORD $0xaa1c03e7 // mov x7, x28 - WORD $0x384014e5 // ldrb w5, [x7], #1 - WORD $0x710088bf // cmp w5, #34 - WORD $0x54000260 // b.eq LBB0_347 $76(%rip) - WORD $0xd1000691 // sub x17, x20, #1 - WORD $0x710170bf // cmp w5, #92 - WORD $0x540000a0 // b.eq LBB0_344 $20(%rip) - WORD $0xaa0703fc // mov x28, x7 - WORD $0xaa1103f4 // mov x20, x17 - WORD $0xb5fffef1 // cbnz x17, LBB0_341 $-36(%rip) - WORD $0x14000009 // b LBB0_346 $36(%rip) + WORD $0x7100ae9f // cmp w20, #43 + WORD $0x54fffd00 // b.eq LBB0_328 $-96(%rip) + WORD $0x7100b69f // cmp w20, #45 + WORD $0x54fffcc0 // b.eq LBB0_328 $-104(%rip) + WORD $0x14000009 // b LBB0_343 $36(%rip) +LBB0_340: + WORD $0xb10007df // cmn lr, #1 + WORD $0x54002a21 // b.ne LBB0_419 $1348(%rip) + WORD $0xd10006be // sub lr, x21, #1 + WORD $0x17ffffe4 // b LBB0_330 $-112(%rip) +LBB0_342: + WORD $0x8b3a400f // add x15, x0, w26, uxtw + WORD $0x8b0e01e5 // add x5, x15, x14 + WORD $0x52800067 // mov w7, #3 + WORD $0x92f00011 // mov x17, #9223372036854775807 +LBB0_343: + WORD $0x9280000e // mov x14, #-1 + WORD $0xb4007a96 // cbz x22, LBB0_569 $3920(%rip) LBB0_344: - WORD $0xb4001d91 // cbz x17, LBB0_398 $944(%rip) - WORD $0x8b0b00f1 // add x17, x7, x11 - WORD $0xb100051f // cmn x8, #1 - WORD $0x9a880228 // csel x8, x17, x8, eq - WORD $0x91000b9c // add x28, x28, #2 - WORD $0xd1000a91 // sub x17, x20, #2 - WORD $0xaa1103f4 // mov x20, x17 - WORD $0xb5fffdd1 // cbnz x17, LBB0_341 $-72(%rip) -LBB0_346: - WORD $0x710088bf // cmp w5, #34 - WORD $0x54000060 // b.eq LBB0_348 $12(%rip) - WORD $0x140000e2 // b LBB0_398 $904(%rip) -LBB0_347: - WORD $0xaa0703fc // mov x28, x7 -LBB0_348: - WORD $0xcb09039c // sub x28, x28, x9 - WORD $0x17fffbb5 // b LBB0_122 $-4396(%rip) -LBB0_349: - WORD $0xdac000f1 // rbit x17, x7 - WORD $0xdac01231 // clz x17, x17 - WORD $0xcb090396 // sub x22, x28, x9 - WORD $0x8b1102d1 // add x17, x22, x17 - WORD $0xb100051f // cmn x8, #1 - WORD $0x9a911108 // csel x8, x8, x17, ne -LBB0_350: - WORD $0x0a2500f1 // bic w17, w7, w5 - WORD $0x531f7a36 // lsl w22, w17, #1 - WORD $0x331f7a25 // bfi w5, w17, #1, #31 - WORD $0x0a3600e7 // bic w7, w7, w22 - WORD $0x1201f0e7 // and w7, w7, #0xaaaaaaaa - WORD $0x2b1100f1 // adds w17, w7, w17 - WORD $0x4a1104d1 // eor w17, w6, w17, lsl #1 - WORD $0x0a050231 // and w17, w17, w5 - WORD $0x1a9f37e5 // cset w5, hs - WORD $0x2a3103f1 // mvn w17, w17 - WORD $0x8a140234 // and x20, x17, x20 - WORD $0x52800073 // mov w19, #3 - WORD $0x17fffe6e // b LBB0_260 $-1608(%rip) + WORD $0x5280008f // mov w15, #4 + WORD $0xb4007a53 // cbz x19, LBB0_569 $3912(%rip) + WORD $0xb4007a3e // cbz lr, LBB0_569 $3908(%rip) + WORD $0xcb0000ae // sub x14, x5, x0 + WORD $0xd10005c0 // sub x0, x14, #1 + WORD $0xeb0002df // cmp x22, x0 + WORD $0x54000300 // b.eq LBB0_355 $96(%rip) + WORD $0xeb00027f // cmp x19, x0 + WORD $0x540002c0 // b.eq LBB0_355 $88(%rip) + WORD $0xeb0003df // cmp lr, x0 + WORD $0x54000280 // b.eq LBB0_355 $80(%rip) + WORD $0xf1000660 // subs x0, x19, #1 + WORD $0x5400006b // b.lt LBB0_351 $12(%rip) + WORD $0xeb0003df // cmp lr, x0 + WORD $0x540078c1 // b.ne LBB0_570 $3864(%rip) LBB0_351: - WORD $0xdac002b1 // rbit x17, x21 - WORD $0xdac01231 // clz x17, x17 - WORD $0xcb090396 // sub x22, x28, x9 - WORD $0x8b1102d1 // add x17, x22, x17 - WORD $0xb100051f // cmn x8, #1 - WORD $0x9a911108 // csel x8, x8, x17, ne -LBB0_352: - WORD $0x0a2502b1 // bic w17, w21, w5 - WORD $0x531f7a36 // lsl w22, w17, #1 - WORD $0x331f7a25 // bfi w5, w17, #1, #31 - WORD $0x0a3602b5 // bic w21, w21, w22 - WORD $0x1201f2b5 // and w21, w21, #0xaaaaaaaa - WORD $0x2b1102b1 // adds w17, w21, w17 - WORD $0x4a110491 // eor w17, w4, w17, lsl #1 - WORD $0x0a050231 // and w17, w17, w5 - WORD $0x1a9f37e5 // cset w5, hs - WORD $0x2a3103f1 // mvn w17, w17 - WORD $0x8a140234 // and x20, x17, x20 - WORD $0x52800073 // mov w19, #3 - WORD $0xb5ffd6b4 // cbnz x20, LBB0_282 $-1324(%rip) + WORD $0xaa1e02c0 // orr x0, x22, lr + WORD $0xb7f80060 // tbnz x0, #63, LBB0_353 $12(%rip) + WORD $0xeb1e02df // cmp x22, lr + WORD $0x5400788a // b.ge LBB0_571 $3856(%rip) LBB0_353: - WORD $0x9100839c // add x28, x28, #32 - WORD $0xaa0703f4 // mov x20, x7 + WORD $0xd37ffc0f // lsr x15, x0, #63 + WORD $0x520001ef // eor w15, w15, #0x1 + WORD $0xd10007d1 // sub x17, lr, #1 + WORD $0xeb1102df // cmp x22, x17 + WORD $0x1a9f17f1 // cset w17, eq + WORD $0x6a1101ff // tst w15, w17 + WORD $0xda9e01ce // csinv x14, x14, lr, eq LBB0_354: - WORD $0xb5000865 // cbnz x5, LBB0_370 $268(%rip) - WORD $0xb4000314 // cbz x20, LBB0_363 $96(%rip) + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0xb6ffd16e // tbz x14, #63, LBB0_282 $-1492(%rip) + WORD $0x140003b6 // b LBB0_569 $3800(%rip) +LBB0_355: + WORD $0xcb0e03ee // neg x14, x14 + WORD $0xb6ffd10e // tbz x14, #63, LBB0_282 $-1504(%rip) + WORD $0x140003b3 // b LBB0_569 $3788(%rip) LBB0_356: - WORD $0xaa1c03e7 // mov x7, x28 - WORD $0x384014e5 // ldrb w5, [x7], #1 - WORD $0x710088bf // cmp w5, #34 - WORD $0x54000260 // b.eq LBB0_362 $76(%rip) - WORD $0xd1000691 // sub x17, x20, #1 - WORD $0x710170bf // cmp w5, #92 - WORD $0x540000a0 // b.eq LBB0_359 $20(%rip) - WORD $0xaa0703fc // mov x28, x7 - WORD $0xaa1103f4 // mov x20, x17 - WORD $0xb5fffef1 // cbnz x17, LBB0_356 $-36(%rip) - WORD $0x14000009 // b LBB0_361 $36(%rip) + WORD $0xb5003be5 // cbnz x5, LBB0_459 $1916(%rip) + WORD $0x8b0e03c5 // add x5, lr, x14 + WORD $0x910004a5 // add x5, x5, #1 + WORD $0xaa2e03ee // mvn x14, x14 + WORD $0x8b0001ce // add x14, x14, x0 + WORD $0xf10005df // cmp x14, #1 + WORD $0x54003d8a // b.ge LBB0_462 $1968(%rip) + WORD $0x140003b6 // b LBB0_575 $3800(%rip) +LBB0_358: + WORD $0x5ac002ee // rbit w14, w23 + WORD $0x5ac011ce // clz w14, w14 + WORD $0xaa3c03ef // mvn x15, x28 + WORD $0xcb0e01ee // sub x14, x15, x14 + WORD $0x17fffb39 // b LBB0_179 $-4892(%rip) LBB0_359: - WORD $0xb4001531 // cbz x17, LBB0_398 $676(%rip) - WORD $0x8b0b00f1 // add x17, x7, x11 - WORD $0xb100051f // cmn x8, #1 - WORD $0x9a880228 // csel x8, x17, x8, eq - WORD $0x91000b9c // add x28, x28, #2 - WORD $0xd1000a91 // sub x17, x20, #2 - WORD $0xaa1103f4 // mov x20, x17 - WORD $0xb5fffdd1 // cbnz x17, LBB0_356 $-72(%rip) + WORD $0xaa3c03ee // mvn x14, x28 + WORD $0xcb3441ce // sub x14, x14, w20, uxtw + WORD $0x17fffb36 // b LBB0_179 $-4904(%rip) +LBB0_360: + WORD $0x8b1c0365 // add x5, x27, x28 + WORD $0xf10005df // cmp x14, #1 + WORD $0x54003c0a // b.ge LBB0_462 $1920(%rip) + WORD $0x140003aa // b LBB0_575 $3752(%rip) LBB0_361: - WORD $0x710088bf // cmp w5, #34 - WORD $0x54000060 // b.eq LBB0_363 $12(%rip) - WORD $0x1400009f // b LBB0_398 $636(%rip) + WORD $0x8b1c037c // add x28, x27, x28 + WORD $0x1400000e // b LBB0_366 $56(%rip) LBB0_362: - WORD $0xaa0703fc // mov x28, x7 + WORD $0x8b1c037c // add x28, x27, x28 + WORD $0x14000032 // b LBB0_372 $200(%rip) LBB0_363: - WORD $0xcb09039c // sub x28, x28, x9 - WORD $0x52800084 // mov w4, #4 - WORD $0x92f00006 // mov x6, #9223372036854775807 - WORD $0xb20903e7 // mov x7, #36028797027352576 - WORD $0xf2800027 // movk x7, #1 - WORD $0xb6ff827c // tbz x28, #63, LBB0_151 $-4020(%rip) - WORD $0x14000095 // b LBB0_397 $596(%rip) + WORD $0xaa0e03e5 // mov x5, x14 + WORD $0x9280000e // mov x14, #-1 + WORD $0xb5fff8b6 // cbnz x22, LBB0_344 $-236(%rip) + WORD $0x14000397 // b LBB0_569 $3676(%rip) LBB0_364: - WORD $0xdac000f1 // rbit x17, x7 - WORD $0xdac01231 // clz x17, x17 - WORD $0xcb090396 // sub x22, x28, x9 - WORD $0x8b1102d1 // add x17, x22, x17 - WORD $0xb100051f // cmn x8, #1 - WORD $0x9a911108 // csel x8, x8, x17, ne + WORD $0x8b1c0365 // add x5, x27, x28 + WORD $0xf10005df // cmp x14, #1 + WORD $0x54003eca // b.ge LBB0_469 $2008(%rip) + WORD $0x1400039e // b LBB0_575 $3704(%rip) LBB0_365: - WORD $0x0a2500f1 // bic w17, w7, w5 - WORD $0x531f7a36 // lsl w22, w17, #1 - WORD $0x331f7a25 // bfi w5, w17, #1, #31 - WORD $0x0a3600e7 // bic w7, w7, w22 - WORD $0x1201f0e7 // and w7, w7, #0xaaaaaaaa - WORD $0x2b1100f1 // adds w17, w7, w17 - WORD $0x4a110491 // eor w17, w4, w17, lsl #1 - WORD $0x0a050231 // and w17, w17, w5 - WORD $0x1a9f37e5 // cset w5, hs - WORD $0x2a3103f1 // mvn w17, w17 - WORD $0x8a140234 // and x20, x17, x20 - WORD $0x52800073 // mov w19, #3 - WORD $0x17fffea3 // b LBB0_287 $-1396(%rip) + WORD $0xd2800013 // mov x19, #0 + WORD $0x8b1c037c // add x28, x27, x28 + WORD $0x92800000 // mov x0, #-1 LBB0_366: - WORD $0xb4001074 // cbz x20, LBB0_398 $524(%rip) - WORD $0x8b0b0391 // add x17, x28, x11 - WORD $0xb100051f // cmn x8, #1 - WORD $0x9a880228 // csel x8, x17, x8, eq - WORD $0x9100079c // add x28, x28, #1 - WORD $0xd1000694 // sub x20, x20, #1 - WORD $0xb5fff0d4 // cbnz x20, LBB0_341 $-488(%rip) - WORD $0x17ffff9c // b LBB0_348 $-400(%rip) -LBB0_368: - WORD $0xb4000f74 // cbz x20, LBB0_398 $492(%rip) - WORD $0x8b0b0391 // add x17, x28, x11 - WORD $0xb100051f // cmn x8, #1 - WORD $0x9a880228 // csel x8, x17, x8, eq - WORD $0x9100079c // add x28, x28, #1 - WORD $0xd1000694 // sub x20, x20, #1 - WORD $0xb5ffc634 // cbnz x20, LBB0_267 $-1852(%rip) - WORD $0x14000074 // b LBB0_398 $464(%rip) + WORD $0xf10082ce // subs x14, x22, #32 + WORD $0x54004363 // b.lo LBB0_476 $2156(%rip) + WORD $0xad406f9a // ldp q26, q27, [x28] + WORD $0x6e208f5c // cmeq.16b v28, v26, v0 + WORD $0x6e208f7d // cmeq.16b v29, v27, v0 + WORD $0x6e218f5a // cmeq.16b v26, v26, v1 + WORD $0x6e218f7b // cmeq.16b v27, v27, v1 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260385 // fmov w5, s28 + WORD $0x4e221fbc // and.16b v28, v29, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260394 // fmov w20, s28 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260355 // fmov w21, s26 + WORD $0x4e221f7a // and.16b v26, v27, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260356 // fmov w22, s26 + WORD $0x33103e85 // bfi w5, w20, #16, #16 + WORD $0x33103ed5 // bfi w21, w22, #16, #16 + WORD $0x35003d75 // cbnz w21, LBB0_473 $1964(%rip) + WORD $0xb5003e13 // cbnz x19, LBB0_474 $1984(%rip) + WORD $0xb4003fe5 // cbz x5, LBB0_475 $2044(%rip) LBB0_370: - WORD $0xb4000e74 // cbz x20, LBB0_398 $460(%rip) - WORD $0x8b0b0391 // add x17, x28, x11 - WORD $0xb100051f // cmn x8, #1 - WORD $0x9a880228 // csel x8, x17, x8, eq - WORD $0x9100079c // add x28, x28, #1 - WORD $0xd1000694 // sub x20, x20, #1 - WORD $0xb5fff734 // cbnz x20, LBB0_356 $-284(%rip) - WORD $0x17ffffcf // b LBB0_363 $-196(%rip) + WORD $0xdac000ae // rbit x14, x5 + WORD $0xdac011ce // clz x14, x14 + WORD $0xcb1b0385 // sub x5, x28, x27 + WORD $0x8b0e00ae // add x14, x5, x14 + WORD $0x910005dc // add x28, x14, #1 + WORD $0xb6ffc87c // tbz x28, #63, LBB0_283 $-1780(%rip) + WORD $0x14000312 // b LBB0_542 $3144(%rip) +LBB0_371: + WORD $0xd2800013 // mov x19, #0 + WORD $0x8b1c037c // add x28, x27, x28 + WORD $0x92800000 // mov x0, #-1 LBB0_372: - WORD $0xb4000d74 // cbz x20, LBB0_398 $428(%rip) - WORD $0x8b0b0391 // add x17, x28, x11 - WORD $0xb100051f // cmn x8, #1 - WORD $0x9a880228 // csel x8, x17, x8, eq - WORD $0x9100079c // add x28, x28, #1 - WORD $0xd1000694 // sub x20, x20, #1 - WORD $0xb5ffd3d4 // cbnz x20, LBB0_294 $-1416(%rip) - WORD $0x14000064 // b LBB0_398 $400(%rip) -LBB0_374: - WORD $0xdac002b1 // rbit x17, x21 - WORD $0xdac01231 // clz x17, x17 - WORD $0xcb090384 // sub x4, x28, x9 - WORD $0x8b110091 // add x17, x4, x17 - WORD $0xb100051f // cmn x8, #1 - WORD $0x9a911108 // csel x8, x8, x17, ne + WORD $0xf10082ce // subs x14, x22, #32 + WORD $0x54000623 // b.lo LBB0_379 $196(%rip) + WORD $0xad406b9b // ldp q27, q26, [x28] + WORD $0x6e208f7c // cmeq.16b v28, v27, v0 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260385 // fmov w5, s28 + WORD $0x6e208f5c // cmeq.16b v28, v26, v0 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260394 // fmov w20, s28 + WORD $0x6e218f7c // cmeq.16b v28, v27, v1 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260395 // fmov w21, s28 + WORD $0x6e218f5c // cmeq.16b v28, v26, v1 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260396 // fmov w22, s28 + WORD $0x33103e85 // bfi w5, w20, #16, #16 + WORD $0x33103ed5 // bfi w21, w22, #16, #16 + WORD $0x35003ff5 // cbnz w21, LBB0_487 $2044(%rip) + WORD $0xb5004093 // cbnz x19, LBB0_488 $2064(%rip) LBB0_375: - WORD $0x0a2502b1 // bic w17, w21, w5 - WORD $0x531f7a24 // lsl w4, w17, #1 - WORD $0x331f7a25 // bfi w5, w17, #1, #31 - WORD $0x0a2402a4 // bic w4, w21, w4 - WORD $0x1201f084 // and w4, w4, #0xaaaaaaaa - WORD $0x2b110091 // adds w17, w4, w17 - WORD $0x4a110711 // eor w17, w24, w17, lsl #1 - WORD $0x0a050231 // and w17, w17, w5 - WORD $0x1a9f37e5 // cset w5, hs - WORD $0x2a3103f1 // mvn w17, w17 - WORD $0x8a140234 // and x20, x17, x20 - WORD $0xb5ffdaf4 // cbnz x20, LBB0_312 $-1188(%rip) -LBB0_376: - WORD $0x9100839c // add x28, x28, #32 - WORD $0xaa0703f4 // mov x20, x7 + WORD $0x6e3b349b // cmhi.16b v27, v4, v27 + WORD $0x4e221f7b // and.16b v27, v27, v2 + WORD $0x4e03037b // tbl.16b v27, { v27 }, v3 + WORD $0x4e71bb7b // addv.8h h27, v27 + WORD $0x1e260375 // fmov w21, s27 + WORD $0x6e3a349a // cmhi.16b v26, v4, v26 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260354 // fmov w20, s26 + WORD $0x33103e95 // bfi w21, w20, #16, #16 + WORD $0xdac002b4 // rbit x20, x21 + WORD $0xdac01294 // clz x20, x20 + WORD $0xb40000e5 // cbz x5, LBB0_377 $28(%rip) + WORD $0xdac000ae // rbit x14, x5 + WORD $0xdac011c5 // clz x5, x14 + WORD $0xcb1b038e // sub x14, x28, x27 + WORD $0xeb05029f // cmp x20, x5 + WORD $0x54000462 // b.hs LBB0_390 $140(%rip) + WORD $0x14000350 // b LBB0_577 $3392(%rip) LBB0_377: - WORD $0xb50005c5 // cbnz x5, LBB0_388 $184(%rip) - WORD $0xb4000694 // cbz x20, LBB0_390 $208(%rip) + WORD $0x35006a55 // cbnz w21, LBB0_578 $3400(%rip) + WORD $0x9100839c // add x28, x28, #32 + WORD $0xaa0e03f6 // mov x22, x14 LBB0_379: - WORD $0xaa1c03e7 // mov x7, x28 - WORD $0x384014e5 // ldrb w5, [x7], #1 - WORD $0x710088bf // cmp w5, #34 - WORD $0x54000280 // b.eq LBB0_385 $80(%rip) - WORD $0xd1000691 // sub x17, x20, #1 - WORD $0x710170bf // cmp w5, #92 - WORD $0x540000a0 // b.eq LBB0_382 $20(%rip) - WORD $0xaa0703fc // mov x28, x7 - WORD $0xaa1103f4 // mov x20, x17 - WORD $0xb5fffef1 // cbnz x17, LBB0_379 $-36(%rip) - WORD $0x14000009 // b LBB0_384 $36(%rip) + WORD $0xb5004a73 // cbnz x19, LBB0_507 $2380(%rip) + WORD $0xb4005bb6 // cbz x22, LBB0_543 $2932(%rip) +LBB0_381: + WORD $0xcb1b03ee // neg x14, x27 LBB0_382: - WORD $0xb4000851 // cbz x17, LBB0_398 $264(%rip) - WORD $0x8b0b00f1 // add x17, x7, x11 - WORD $0xb100051f // cmn x8, #1 - WORD $0x9a880228 // csel x8, x17, x8, eq - WORD $0x91000b9c // add x28, x28, #2 - WORD $0xd1000a91 // sub x17, x20, #2 - WORD $0xaa1103f4 // mov x20, x17 - WORD $0xb5fffdd1 // cbnz x17, LBB0_379 $-72(%rip) -LBB0_384: - WORD $0x710088bf // cmp w5, #34 - WORD $0x52800073 // mov w19, #3 - WORD $0x54ffeb00 // b.eq LBB0_348 $-672(%rip) - WORD $0x14000037 // b LBB0_398 $220(%rip) -LBB0_385: - WORD $0xaa0703fc // mov x28, x7 - WORD $0x52800073 // mov w19, #3 - WORD $0x17ffff54 // b LBB0_348 $-688(%rip) -LBB0_386: - WORD $0xdac000f1 // rbit x17, x7 - WORD $0xdac01231 // clz x17, x17 - WORD $0xcb090384 // sub x4, x28, x9 - WORD $0x8b110091 // add x17, x4, x17 - WORD $0xb100051f // cmn x8, #1 - WORD $0x9a911108 // csel x8, x8, x17, ne + WORD $0xd2800005 // mov x5, #0 +LBB0_383: + WORD $0x38656b93 // ldrb w19, [x28, x5] + WORD $0x71008a7f // cmp w19, #34 + WORD $0x540002e0 // b.eq LBB0_389 $92(%rip) + WORD $0x7101727f // cmp w19, #92 + WORD $0x540000e0 // b.eq LBB0_387 $28(%rip) + WORD $0x71007e7f // cmp w19, #31 + WORD $0x54006929 // b.ls LBB0_579 $3364(%rip) + WORD $0x910004a5 // add x5, x5, #1 + WORD $0xeb0502df // cmp x22, x5 + WORD $0x54fffee1 // b.ne LBB0_383 $-36(%rip) + WORD $0x140002d0 // b LBB0_543 $2880(%rip) LBB0_387: - WORD $0x0a2500f1 // bic w17, w7, w5 - WORD $0x531f7a24 // lsl w4, w17, #1 - WORD $0x331f7a25 // bfi w5, w17, #1, #31 - WORD $0x0a2400e4 // bic w4, w7, w4 - WORD $0x1201f084 // and w4, w4, #0xaaaaaaaa - WORD $0x2b110091 // adds w17, w4, w17 - WORD $0x4a110711 // eor w17, w24, w17, lsl #1 - WORD $0x0a050231 // and w17, w17, w5 - WORD $0x1a9f37e5 // cset w5, hs - WORD $0x2a3103f1 // mvn w17, w17 - WORD $0x8a140234 // and x20, x17, x20 - WORD $0x17fffeca // b LBB0_317 $-1240(%rip) -LBB0_388: - WORD $0xb4000434 // cbz x20, LBB0_398 $132(%rip) - WORD $0x8b0b0391 // add x17, x28, x11 - WORD $0xb100051f // cmn x8, #1 - WORD $0x9a880228 // csel x8, x17, x8, eq - WORD $0x9100079c // add x28, x28, #1 - WORD $0xd1000694 // sub x20, x20, #1 - WORD $0xb5fff9d4 // cbnz x20, LBB0_379 $-200(%rip) + WORD $0xd10006d3 // sub x19, x22, #1 + WORD $0xeb05027f // cmp x19, x5 + WORD $0x540059a0 // b.eq LBB0_543 $2868(%rip) + WORD $0x8b050393 // add x19, x28, x5 + WORD $0x8b0e0274 // add x20, x19, x14 + WORD $0xb100041f // cmn x0, #1 + WORD $0x9a800280 // csel x0, x20, x0, eq + WORD $0x91000a7c // add x28, x19, #2 + WORD $0xd1000ad3 // sub x19, x22, #2 + WORD $0xcb0502d4 // sub x20, x22, x5 + WORD $0xd1000a96 // sub x22, x20, #2 + WORD $0xeb05027f // cmp x19, x5 + WORD $0x54fffd01 // b.ne LBB0_382 $-96(%rip) + WORD $0x140002c2 // b LBB0_543 $2824(%rip) +LBB0_389: + WORD $0xcb1b038e // sub x14, x28, x27 LBB0_390: - WORD $0x52800073 // mov w19, #3 - WORD $0x17ffff39 // b LBB0_348 $-796(%rip) + WORD $0x8b0501ce // add x14, x14, x5 + WORD $0x910005dc // add x28, x14, #1 + WORD $0xb6ffbd9c // tbz x28, #63, LBB0_283 $-2128(%rip) + WORD $0x140002bb // b LBB0_542 $2796(%rip) LBB0_391: - WORD $0xb4000314 // cbz x20, LBB0_398 $96(%rip) - WORD $0x8b0b0391 // add x17, x28, x11 - WORD $0xb100051f // cmn x8, #1 - WORD $0x9a880228 // csel x8, x17, x8, eq - WORD $0x9100079c // add x28, x28, #1 - WORD $0xd1000694 // sub x20, x20, #1 - WORD $0xb5ffda94 // cbnz x20, LBB0_324 $-1200(%rip) - WORD $0x14000011 // b LBB0_398 $68(%rip) + WORD $0x8b1c037c // add x28, x27, x28 + WORD $0x14000006 // b LBB0_394 $24(%rip) +LBB0_392: + WORD $0x8b1c037c // add x28, x27, x28 + WORD $0x1400002a // b LBB0_400 $168(%rip) LBB0_393: - WORD $0x92800008 // mov x8, #-1 + WORD $0xd2800013 // mov x19, #0 + WORD $0x8b1c037c // add x28, x27, x28 + WORD $0x92800000 // mov x0, #-1 LBB0_394: - WORD $0xaa0803e0 // mov x0, x8 - WORD $0xa9457bfd // ldp fp, lr, [sp, #80] - WORD $0xa9444ff4 // ldp x20, x19, [sp, #64] - WORD $0xa94357f6 // ldp x22, x21, [sp, #48] - WORD $0xa9425ff8 // ldp x24, x23, [sp, #32] - WORD $0xa94167fa // ldp x26, x25, [sp, #16] - WORD $0xa8c76ffc // ldp x28, x27, [sp], #112 - WORD $0xd65f03c0 // ret -LBB0_395: - WORD $0x9280001c // mov x28, #-1 - WORD $0xaa1b03e8 // mov x8, x27 - WORD $0x1400000c // b LBB0_403 $48(%rip) -LBB0_396: - WORD $0x928000c8 // mov x8, #-7 - WORD $0x17fffff4 // b LBB0_394 $-48(%rip) -LBB0_397: - WORD $0xb100079f // cmn x28, #1 - WORD $0x54000101 // b.ne LBB0_403 $32(%rip) + WORD $0xf10082ce // subs x14, x22, #32 + WORD $0x54003d43 // b.lo LBB0_492 $1960(%rip) + WORD $0xad406f9a // ldp q26, q27, [x28] + WORD $0x6e208f5c // cmeq.16b v28, v26, v0 + WORD $0x6e208f7d // cmeq.16b v29, v27, v0 + WORD $0x6e218f5a // cmeq.16b v26, v26, v1 + WORD $0x6e218f7b // cmeq.16b v27, v27, v1 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260385 // fmov w5, s28 + WORD $0x4e221fbc // and.16b v28, v29, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260394 // fmov w20, s28 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260355 // fmov w21, s26 + WORD $0x4e221f7a // and.16b v26, v27, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260356 // fmov w22, s26 + WORD $0x33103e85 // bfi w5, w20, #16, #16 + WORD $0x33103ed5 // bfi w21, w22, #16, #16 + WORD $0x35003755 // cbnz w21, LBB0_489 $1768(%rip) + WORD $0xb50037f3 // cbnz x19, LBB0_490 $1788(%rip) + WORD $0xb40039c5 // cbz x5, LBB0_491 $1848(%rip) LBB0_398: - WORD $0xf9400408 // ldr x8, [x0, #8] - WORD $0x9280001c // mov x28, #-1 - WORD $0x14000005 // b LBB0_403 $20(%rip) + WORD $0xdac000ae // rbit x14, x5 + WORD $0xdac011ce // clz x14, x14 + WORD $0xcb1b0385 // sub x5, x28, x27 + WORD $0x8b0e00ae // add x14, x5, x14 + WORD $0x910005dc // add x28, x14, #1 + WORD $0xb6ff5f3c // tbz x28, #63, LBB0_194 $-5148(%rip) + WORD $0x14000291 // b LBB0_542 $2628(%rip) LBB0_399: - WORD $0x92800015 // mov x21, #-1 + WORD $0xd2800013 // mov x19, #0 + WORD $0x8b1c037c // add x28, x27, x28 + WORD $0x92800000 // mov x0, #-1 LBB0_400: - WORD $0xaa3503f4 // mvn x20, x21 -LBB0_401: - WORD $0x8b1b0288 // add x8, x20, x27 -LBB0_402: - WORD $0x9280003c // mov x28, #-2 + WORD $0xf10082ce // subs x14, x22, #32 + WORD $0x54000623 // b.lo LBB0_407 $196(%rip) + WORD $0xad406b9b // ldp q27, q26, [x28] + WORD $0x6e208f7c // cmeq.16b v28, v27, v0 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260385 // fmov w5, s28 + WORD $0x6e208f5c // cmeq.16b v28, v26, v0 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260394 // fmov w20, s28 + WORD $0x6e218f7c // cmeq.16b v28, v27, v1 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260395 // fmov w21, s28 + WORD $0x6e218f5c // cmeq.16b v28, v26, v1 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260396 // fmov w22, s28 + WORD $0x33103e85 // bfi w5, w20, #16, #16 + WORD $0x33103ed5 // bfi w21, w22, #16, #16 + WORD $0x35003995 // cbnz w21, LBB0_502 $1840(%rip) + WORD $0xb5003a33 // cbnz x19, LBB0_504 $1860(%rip) LBB0_403: - WORD $0xf9000028 // str x8, [x1] - WORD $0xaa1c03e8 // mov x8, x28 - WORD $0x17ffffe8 // b LBB0_394 $-96(%rip) -LBB0_404: - WORD $0xb100051f // cmn x8, #1 - WORD $0x54ffff61 // b.ne LBB0_402 $-20(%rip) - WORD $0xdac00228 // rbit x8, x17 - WORD $0xdac01108 // clz x8, x8 - WORD $0x8b1c0108 // add x8, x8, x28 - WORD $0x17fffff7 // b LBB0_402 $-36(%rip) -LBB0_406: - WORD $0x9280001c // mov x28, #-1 - WORD $0x17fffff6 // b LBB0_403 $-40(%rip) + WORD $0x6e3b349b // cmhi.16b v27, v4, v27 + WORD $0x4e221f7b // and.16b v27, v27, v2 + WORD $0x4e03037b // tbl.16b v27, { v27 }, v3 + WORD $0x4e71bb7b // addv.8h h27, v27 + WORD $0x1e260375 // fmov w21, s27 + WORD $0x6e3a349a // cmhi.16b v26, v4, v26 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260354 // fmov w20, s26 + WORD $0x33103e95 // bfi w21, w20, #16, #16 + WORD $0xdac002b4 // rbit x20, x21 + WORD $0xdac01294 // clz x20, x20 + WORD $0xb40000e5 // cbz x5, LBB0_405 $28(%rip) + WORD $0xdac000ae // rbit x14, x5 + WORD $0xdac011c5 // clz x5, x14 + WORD $0xcb1b038e // sub x14, x28, x27 + WORD $0xeb05029f // cmp x20, x5 + WORD $0x54000582 // b.hs LBB0_418 $176(%rip) + WORD $0x140002cf // b LBB0_577 $2876(%rip) +LBB0_405: + WORD $0x35005a35 // cbnz w21, LBB0_578 $2884(%rip) + WORD $0x9100839c // add x28, x28, #32 + WORD $0xaa0e03f6 // mov x22, x14 LBB0_407: - WORD $0xaa0803f4 // mov x20, x8 - WORD $0x8b1b0108 // add x8, x8, x27 - WORD $0x17fffff2 // b LBB0_402 $-56(%rip) -LBB0_408: - WORD $0x92800007 // mov x7, #-1 + WORD $0xb5003d53 // cbnz x19, LBB0_514 $1960(%rip) + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0xb4004b36 // cbz x22, LBB0_543 $2404(%rip) LBB0_409: - WORD $0xaa2703fe // mvn lr, x7 + WORD $0xcb1b03ee // neg x14, x27 LBB0_410: - WORD $0x8b1e0388 // add x8, x28, lr - WORD $0x17ffffee // b LBB0_402 $-72(%rip) + WORD $0xd2800005 // mov x5, #0 LBB0_411: - WORD $0xf900003b // str x27, [x1] - WORD $0x394003c8 // ldrb w8, [lr] - WORD $0x7101b91f // cmp w8, #110 - WORD $0x54000761 // b.ne LBB0_425 $236(%rip) - WORD $0x91000768 // add x8, x27, #1 - WORD $0xf9000028 // str x8, [x1] - WORD $0x38686928 // ldrb w8, [x9, x8] - WORD $0x7101d51f // cmp w8, #117 - WORD $0x540006c1 // b.ne LBB0_425 $216(%rip) - WORD $0x91000b68 // add x8, x27, #2 - WORD $0xf9000028 // str x8, [x1] - WORD $0x38686928 // ldrb w8, [x9, x8] - WORD $0x7101b11f // cmp w8, #108 - WORD $0x54000621 // b.ne LBB0_425 $196(%rip) - WORD $0x91000f68 // add x8, x27, #3 - WORD $0xf9000028 // str x8, [x1] - WORD $0x38686928 // ldrb w8, [x9, x8] - WORD $0x7101b11f // cmp w8, #108 - WORD $0x54000581 // b.ne LBB0_425 $176(%rip) - WORD $0x14000014 // b LBB0_419 $80(%rip) + WORD $0x38656b93 // ldrb w19, [x28, x5] + WORD $0x71008a7f // cmp w19, #34 + WORD $0x540003a0 // b.eq LBB0_417 $116(%rip) + WORD $0x7101727f // cmp w19, #92 + WORD $0x54000140 // b.eq LBB0_415 $40(%rip) + WORD $0x71007e7f // cmp w19, #31 + WORD $0x540058a9 // b.ls LBB0_579 $2836(%rip) + WORD $0x910004a5 // add x5, x5, #1 + WORD $0xeb0502df // cmp x22, x5 + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0x54fffe81 // b.ne LBB0_411 $-48(%rip) + WORD $0x14000249 // b LBB0_543 $2340(%rip) LBB0_415: - WORD $0xf900003b // str x27, [x1] - WORD $0x394003c8 // ldrb w8, [lr] - WORD $0x7101d11f // cmp w8, #116 - WORD $0x540004e1 // b.ne LBB0_425 $156(%rip) - WORD $0x91000768 // add x8, x27, #1 - WORD $0xf9000028 // str x8, [x1] - WORD $0x38686928 // ldrb w8, [x9, x8] - WORD $0x7101c91f // cmp w8, #114 - WORD $0x54000441 // b.ne LBB0_425 $136(%rip) - WORD $0x91000b68 // add x8, x27, #2 - WORD $0xf9000028 // str x8, [x1] - WORD $0x38686928 // ldrb w8, [x9, x8] - WORD $0x7101d51f // cmp w8, #117 - WORD $0x540003a1 // b.ne LBB0_425 $116(%rip) - WORD $0x91000f68 // add x8, x27, #3 - WORD $0xf9000028 // str x8, [x1] - WORD $0x38686928 // ldrb w8, [x9, x8] - WORD $0x7101951f // cmp w8, #101 - WORD $0x54000301 // b.ne LBB0_425 $96(%rip) + WORD $0xd10006d3 // sub x19, x22, #1 + WORD $0xeb05027f // cmp x19, x5 + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0x54004860 // b.eq LBB0_543 $2316(%rip) + WORD $0x8b050393 // add x19, x28, x5 + WORD $0x8b0e0274 // add x20, x19, x14 + WORD $0xb100041f // cmn x0, #1 + WORD $0x9a800280 // csel x0, x20, x0, eq + WORD $0x91000a7c // add x28, x19, #2 + WORD $0xd1000ad3 // sub x19, x22, #2 + WORD $0xcb0502d4 // sub x20, x22, x5 + WORD $0xd1000a96 // sub x22, x20, #2 + WORD $0xeb05027f // cmp x19, x5 + WORD $0x54fffc41 // b.ne LBB0_410 $-120(%rip) + WORD $0x14000238 // b LBB0_543 $2272(%rip) +LBB0_417: + WORD $0xcb1b038e // sub x14, x28, x27 +LBB0_418: + WORD $0x8b0501ce // add x14, x14, x5 + WORD $0x910005dc // add x28, x14, #1 + WORD $0xb6ff533c // tbz x28, #63, LBB0_194 $-5532(%rip) + WORD $0x14000231 // b LBB0_542 $2244(%rip) LBB0_419: - WORD $0x91001368 // add x8, x27, #4 - WORD $0x17ffffc5 // b LBB0_402 $-236(%rip) + WORD $0xcb1503ee // neg x14, x21 + WORD $0x5280008f // mov w15, #4 + WORD $0xb6ffabae // tbz x14, #63, LBB0_282 $-2700(%rip) + WORD $0x14000288 // b LBB0_569 $2592(%rip) LBB0_420: - WORD $0xf900003c // str x28, [x1] - WORD $0x387c6928 // ldrb w8, [x9, x28] - WORD $0x7101851f // cmp w8, #97 - WORD $0x54000241 // b.ne LBB0_425 $72(%rip) - WORD $0x91000b68 // add x8, x27, #2 - WORD $0xf9000028 // str x8, [x1] - WORD $0x38686928 // ldrb w8, [x9, x8] - WORD $0x7101b11f // cmp w8, #108 - WORD $0x540001a1 // b.ne LBB0_425 $52(%rip) - WORD $0x91000f68 // add x8, x27, #3 - WORD $0xf9000028 // str x8, [x1] - WORD $0x38686928 // ldrb w8, [x9, x8] - WORD $0x7101cd1f // cmp w8, #115 - WORD $0x54000101 // b.ne LBB0_425 $32(%rip) - WORD $0x91001368 // add x8, x27, #4 - WORD $0xf9000028 // str x8, [x1] - WORD $0x38686928 // ldrb w8, [x9, x8] - WORD $0x7101951f // cmp w8, #101 - WORD $0x54000061 // b.ne LBB0_425 $12(%rip) - WORD $0x91001768 // add x8, x27, #5 - WORD $0x17ffffb0 // b LBB0_402 $-320(%rip) -LBB0_425: - WORD $0x92800028 // mov x8, #-2 - WORD $0x17ffff99 // b LBB0_394 $-412(%rip) -LBB0_426: - WORD $0xaa1403fe // mov lr, x20 - WORD $0x8b140388 // add x8, x28, x20 - WORD $0x17ffffab // b LBB0_402 $-340(%rip) + WORD $0x5ac002ef // rbit w15, w23 + WORD $0x5ac011ef // clz w15, w15 + WORD $0xaa2e03ee // mvn x14, x14 + WORD $0xcb0f01ce // sub x14, x14, x15 + WORD $0x52800067 // mov w7, #3 + WORD $0x17fffec9 // b LBB0_354 $-1244(%rip) +LBB0_421: + WORD $0x8b1c0365 // add x5, x27, x28 + WORD $0xf10005df // cmp x14, #1 + WORD $0x5400514b // b.lt LBB0_575 $2600(%rip) +LBB0_422: + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0x14000007 // b LBB0_424 $28(%rip) +LBB0_423: + WORD $0x92800033 // mov x19, #-2 + WORD $0x52800040 // mov w0, #2 + WORD $0x8b0000a5 // add x5, x5, x0 + WORD $0x92800000 // mov x0, #-1 + WORD $0xab1301ce // adds x14, x14, x19 + WORD $0x5400502d // b.le LBB0_576 $2564(%rip) +LBB0_424: + WORD $0x394000a0 // ldrb w0, [x5] + WORD $0x7101701f // cmp w0, #92 + WORD $0x54ffff00 // b.eq LBB0_423 $-32(%rip) + WORD $0x7100881f // cmp w0, #34 + WORD $0x54001780 // b.eq LBB0_465 $752(%rip) + WORD $0x92800013 // mov x19, #-1 + WORD $0x52800020 // mov w0, #1 + WORD $0x8b0000a5 // add x5, x5, x0 + WORD $0x92800000 // mov x0, #-1 + WORD $0xab1301ce // adds x14, x14, x19 + WORD $0x54fffecc // b.gt LBB0_424 $-40(%rip) + WORD $0x14000275 // b LBB0_576 $2516(%rip) LBB0_427: - WORD $0x8b1c0228 // add x8, x17, x28 - WORD $0x17ffffa9 // b LBB0_402 $-348(%rip) + WORD $0x8b1c037c // add x28, x27, x28 + WORD $0x1400000a // b LBB0_431 $40(%rip) LBB0_428: - WORD $0x8b1100a8 // add x8, x5, x17 - WORD $0x17ffffa7 // b LBB0_402 $-356(%rip) + WORD $0x8b1c037c // add x28, x27, x28 + WORD $0x1400002d // b LBB0_437 $180(%rip) LBB0_429: - WORD $0xcb090388 // sub x8, x28, x9 - WORD $0x8b110108 // add x8, x8, x17 - WORD $0x17ffffa4 // b LBB0_402 $-368(%rip) + WORD $0xaa2e03ee // mvn x14, x14 + WORD $0xcb3441ce // sub x14, x14, w20, uxtw + WORD $0x52800067 // mov w7, #3 + WORD $0x17fffea8 // b LBB0_354 $-1376(%rip) LBB0_430: - WORD $0xcb090388 // sub x8, x28, x9 - WORD $0x8b050108 // add x8, x8, x5 - WORD $0x17ffffa1 // b LBB0_402 $-380(%rip) + WORD $0xd2800013 // mov x19, #0 + WORD $0x8b1c037c // add x28, x27, x28 + WORD $0x92800000 // mov x0, #-1 +LBB0_431: + WORD $0xf10082ce // subs x14, x22, #32 + WORD $0x54003743 // b.lo LBB0_521 $1768(%rip) + WORD $0xad406f9a // ldp q26, q27, [x28] + WORD $0x6e208f5c // cmeq.16b v28, v26, v0 + WORD $0x6e208f7d // cmeq.16b v29, v27, v0 + WORD $0x6e218f5a // cmeq.16b v26, v26, v1 + WORD $0x6e218f7b // cmeq.16b v27, v27, v1 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260385 // fmov w5, s28 + WORD $0x4e221fbc // and.16b v28, v29, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e26038f // fmov w15, s28 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260355 // fmov w21, s26 + WORD $0x4e221f7a // and.16b v26, v27, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260351 // fmov w17, s26 + WORD $0x33103de5 // bfi w5, w15, #16, #16 + WORD $0x33103e35 // bfi w21, w17, #16, #16 + WORD $0x350031d5 // cbnz w21, LBB0_518 $1592(%rip) + WORD $0xb5003273 // cbnz x19, LBB0_519 $1612(%rip) + WORD $0xb40033c5 // cbz x5, LBB0_520 $1656(%rip) +LBB0_435: + WORD $0xdac000ae // rbit x14, x5 + WORD $0xdac011ce // clz x14, x14 + WORD $0xcb1b038f // sub x15, x28, x27 + WORD $0x8b0e01ee // add x14, x15, x14 + WORD $0x910005dc // add x28, x14, #1 + WORD $0x140001b4 // b LBB0_532 $1744(%rip) +LBB0_436: + WORD $0xd2800013 // mov x19, #0 + WORD $0x8b1c037c // add x28, x27, x28 + WORD $0x92800000 // mov x0, #-1 +LBB0_437: + WORD $0xf10082ce // subs x14, x22, #32 + WORD $0x54000623 // b.lo LBB0_444 $196(%rip) + WORD $0xad406b9b // ldp q27, q26, [x28] + WORD $0x6e208f7c // cmeq.16b v28, v27, v0 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260385 // fmov w5, s28 + WORD $0x6e208f5c // cmeq.16b v28, v26, v0 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e26038f // fmov w15, s28 + WORD $0x6e218f7c // cmeq.16b v28, v27, v1 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260395 // fmov w21, s28 + WORD $0x6e218f5c // cmeq.16b v28, v26, v1 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260391 // fmov w17, s28 + WORD $0x33103de5 // bfi w5, w15, #16, #16 + WORD $0x33103e35 // bfi w21, w17, #16, #16 + WORD $0x35003395 // cbnz w21, LBB0_533 $1648(%rip) + WORD $0xb5003433 // cbnz x19, LBB0_535 $1668(%rip) +LBB0_440: + WORD $0x6e3b349b // cmhi.16b v27, v4, v27 + WORD $0x4e221f7b // and.16b v27, v27, v2 + WORD $0x4e03037b // tbl.16b v27, { v27 }, v3 + WORD $0x4e71bb7b // addv.8h h27, v27 + WORD $0x1e260375 // fmov w21, s27 + WORD $0x6e3a349a // cmhi.16b v26, v4, v26 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e26034f // fmov w15, s26 + WORD $0x33103df5 // bfi w21, w15, #16, #16 + WORD $0xdac002af // rbit x15, x21 + WORD $0xdac011f4 // clz x20, x15 + WORD $0xb40000e5 // cbz x5, LBB0_442 $28(%rip) + WORD $0xdac000ae // rbit x14, x5 + WORD $0xdac011c5 // clz x5, x14 + WORD $0xcb1b038e // sub x14, x28, x27 + WORD $0xeb05029f // cmp x20, x5 + WORD $0x54000462 // b.hs LBB0_455 $140(%rip) + WORD $0x1400021f // b LBB0_577 $2172(%rip) +LBB0_442: + WORD $0x35004435 // cbnz w21, LBB0_578 $2180(%rip) + WORD $0x9100839c // add x28, x28, #32 + WORD $0xaa0e03f6 // mov x22, x14 +LBB0_444: + WORD $0xb50033d3 // cbnz x19, LBB0_538 $1656(%rip) + WORD $0xb4003596 // cbz x22, LBB0_543 $1712(%rip) +LBB0_446: + WORD $0xcb1b03ee // neg x14, x27 +LBB0_447: + WORD $0xd2800005 // mov x5, #0 +LBB0_448: + WORD $0x38656b93 // ldrb w19, [x28, x5] + WORD $0x71008a7f // cmp w19, #34 + WORD $0x540002e0 // b.eq LBB0_454 $92(%rip) + WORD $0x7101727f // cmp w19, #92 + WORD $0x540000e0 // b.eq LBB0_452 $28(%rip) + WORD $0x71007e7f // cmp w19, #31 + WORD $0x54004309 // b.ls LBB0_579 $2144(%rip) + WORD $0x910004a5 // add x5, x5, #1 + WORD $0xeb0502df // cmp x22, x5 + WORD $0x54fffee1 // b.ne LBB0_448 $-36(%rip) + WORD $0x1400019f // b LBB0_543 $1660(%rip) +LBB0_452: + WORD $0xd10006cf // sub x15, x22, #1 + WORD $0xeb0501ff // cmp x15, x5 + WORD $0x54003380 // b.eq LBB0_543 $1648(%rip) + WORD $0x8b05038f // add x15, x28, x5 + WORD $0x8b0e01f1 // add x17, x15, x14 + WORD $0xb100041f // cmn x0, #1 + WORD $0x9a800220 // csel x0, x17, x0, eq + WORD $0x910009fc // add x28, x15, #2 + WORD $0xd1000acf // sub x15, x22, #2 + WORD $0xcb0502d1 // sub x17, x22, x5 + WORD $0xd1000a36 // sub x22, x17, #2 + WORD $0xeb0501ff // cmp x15, x5 + WORD $0x54fffd01 // b.ne LBB0_447 $-96(%rip) + WORD $0x14000191 // b LBB0_543 $1604(%rip) +LBB0_454: + WORD $0xcb1b038e // sub x14, x28, x27 +LBB0_455: + WORD $0x8b0501ce // add x14, x14, x5 + WORD $0x910005dc // add x28, x14, #1 + WORD $0x1400015e // b LBB0_532 $1400(%rip) +LBB0_456: + WORD $0x92800000 // mov x0, #-1 + WORD $0xaa1e03f5 // mov x21, lr + WORD $0xaa1a03e5 // mov x5, x26 + WORD $0x92800013 // mov x19, #-1 + WORD $0x92800016 // mov x22, #-1 + WORD $0x17fff7bf // b LBB0_85 $-8452(%rip) +LBB0_457: + WORD $0xaa2e03ee // mvn x14, x14 + WORD $0xcb3841ce // sub x14, x14, w24, uxtw + WORD $0x52800067 // mov w7, #3 + WORD $0x17fffe23 // b LBB0_354 $-1908(%rip) +LBB0_458: + WORD $0x92800016 // mov x22, #-1 + WORD $0xaa0003e5 // mov x5, x0 + WORD $0xaa1503fa // mov x26, x21 + WORD $0x9280001e // mov lr, #-1 + WORD $0x92800013 // mov x19, #-1 + WORD $0x52800067 // mov w7, #3 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0x17fffdd6 // b LBB0_327 $-2216(%rip) +LBB0_459: + WORD $0xd1000405 // sub x5, x0, #1 + WORD $0xeb0e00bf // cmp x5, x14 + WORD $0x54003b80 // b.eq LBB0_575 $1904(%rip) + WORD $0x8b0e03c5 // add x5, lr, x14 + WORD $0x910008a5 // add x5, x5, #2 + WORD $0xcb0e000e // sub x14, x0, x14 + WORD $0xd10009ce // sub x14, x14, #2 + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0xf10005df // cmp x14, #1 + WORD $0x5400010a // b.ge LBB0_462 $32(%rip) + WORD $0x140001d2 // b LBB0_575 $1864(%rip) +LBB0_461: + WORD $0x92800033 // mov x19, #-2 + WORD $0x52800040 // mov w0, #2 + WORD $0x8b0000a5 // add x5, x5, x0 + WORD $0x92800000 // mov x0, #-1 + WORD $0xab1301ce // adds x14, x14, x19 + WORD $0x540039ad // b.le LBB0_576 $1844(%rip) +LBB0_462: + WORD $0x394000a0 // ldrb w0, [x5] + WORD $0x7101701f // cmp w0, #92 + WORD $0x54ffff00 // b.eq LBB0_461 $-32(%rip) + WORD $0x7100881f // cmp w0, #34 + WORD $0x54000100 // b.eq LBB0_465 $32(%rip) + WORD $0x92800013 // mov x19, #-1 + WORD $0x52800020 // mov w0, #1 + WORD $0x8b0000a5 // add x5, x5, x0 + WORD $0x92800000 // mov x0, #-1 + WORD $0xab1301ce // adds x14, x14, x19 + WORD $0x54fffecc // b.gt LBB0_462 $-40(%rip) + WORD $0x140001c1 // b LBB0_576 $1796(%rip) +LBB0_465: + WORD $0xcb1b00ae // sub x14, x5, x27 + WORD $0x910005dc // add x28, x14, #1 + WORD $0x17fffc87 // b LBB0_283 $-3556(%rip) +LBB0_466: + WORD $0xd1000405 // sub x5, x0, #1 + WORD $0xeb0e00bf // cmp x5, x14 + WORD $0x54003740 // b.eq LBB0_575 $1768(%rip) + WORD $0x8b0e03c5 // add x5, lr, x14 + WORD $0x910008a5 // add x5, x5, #2 + WORD $0xcb0e000e // sub x14, x0, x14 + WORD $0xd10009ce // sub x14, x14, #2 + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0xf10005df // cmp x14, #1 + WORD $0x5400010a // b.ge LBB0_469 $32(%rip) + WORD $0x140001b0 // b LBB0_575 $1728(%rip) +LBB0_468: + WORD $0x92800033 // mov x19, #-2 + WORD $0x52800040 // mov w0, #2 + WORD $0x8b0000a5 // add x5, x5, x0 + WORD $0x92800000 // mov x0, #-1 + WORD $0xab1301ce // adds x14, x14, x19 + WORD $0x5400356d // b.le LBB0_576 $1708(%rip) +LBB0_469: + WORD $0x394000a0 // ldrb w0, [x5] + WORD $0x7101701f // cmp w0, #92 + WORD $0x54ffff00 // b.eq LBB0_468 $-32(%rip) + WORD $0x7100881f // cmp w0, #34 + WORD $0x54000100 // b.eq LBB0_472 $32(%rip) + WORD $0x92800013 // mov x19, #-1 + WORD $0x52800020 // mov w0, #1 + WORD $0x8b0000a5 // add x5, x5, x0 + WORD $0x92800000 // mov x0, #-1 + WORD $0xab1301ce // adds x14, x14, x19 + WORD $0x54fffecc // b.gt LBB0_469 $-40(%rip) + WORD $0x1400019f // b LBB0_576 $1660(%rip) +LBB0_472: + WORD $0xcb1b00ae // sub x14, x5, x27 + WORD $0x910005dc // add x28, x14, #1 + WORD $0xf900003c // str x28, [x1] + WORD $0xaa0803e0 // mov x0, x8 + WORD $0xeb11011f // cmp x8, x17 + WORD $0x54ff33c3 // b.lo LBB0_195 $-6536(%rip) + WORD $0x14000198 // b LBB0_576 $1632(%rip) +LBB0_473: + WORD $0xdac002b4 // rbit x20, x21 + WORD $0xdac01294 // clz x20, x20 + WORD $0xcb1b0396 // sub x22, x28, x27 + WORD $0x8b1402d4 // add x20, x22, x20 + WORD $0xb100041f // cmn x0, #1 + WORD $0x9a941000 // csel x0, x0, x20, ne +LBB0_474: + WORD $0x0a3302b4 // bic w20, w21, w19 + WORD $0x531f7a96 // lsl w22, w20, #1 + WORD $0x331f7a93 // bfi w19, w20, #1, #31 + WORD $0x0a3602b5 // bic w21, w21, w22 + WORD $0x1201f2b5 // and w21, w21, #0xaaaaaaaa + WORD $0x2b1402b4 // adds w20, w21, w20 + WORD $0x4a140614 // eor w20, w16, w20, lsl #1 + WORD $0x0a130293 // and w19, w20, w19 + WORD $0x1a9f37f4 // cset w20, hs + WORD $0x2a3303f3 // mvn w19, w19 + WORD $0x8a050265 // and x5, x19, x5 + WORD $0xaa1403f3 // mov x19, x20 + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0xb5ffc065 // cbnz x5, LBB0_370 $-2036(%rip) +LBB0_475: + WORD $0x9100839c // add x28, x28, #32 + WORD $0xaa0e03f6 // mov x22, x14 +LBB0_476: + WORD $0xb50010d3 // cbnz x19, LBB0_505 $536(%rip) + WORD $0xb40003b6 // cbz x22, LBB0_485 $116(%rip) +LBB0_478: + WORD $0xaa3b03ee // mvn x14, x27 +LBB0_479: + WORD $0xaa1c03f3 // mov x19, x28 + WORD $0x38401665 // ldrb w5, [x19], #1 + WORD $0x710088bf // cmp w5, #34 + WORD $0x54000320 // b.eq LBB0_486 $100(%rip) + WORD $0xd10006d4 // sub x20, x22, #1 + WORD $0x710170bf // cmp w5, #92 + WORD $0x54000100 // b.eq LBB0_482 $32(%rip) + WORD $0xaa1303fc // mov x28, x19 + WORD $0xaa1403f6 // mov x22, x20 + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0xb5fffe94 // cbnz x20, LBB0_479 $-48(%rip) + WORD $0x1400000c // b LBB0_484 $48(%rip) +LBB0_482: + WORD $0xb4002134 // cbz x20, LBB0_543 $1060(%rip) + WORD $0x8b0e0273 // add x19, x19, x14 + WORD $0xb100041f // cmn x0, #1 + WORD $0x9a800260 // csel x0, x19, x0, eq + WORD $0x91000b9c // add x28, x28, #2 + WORD $0xd1000ad4 // sub x20, x22, #2 + WORD $0xaa1403f6 // mov x22, x20 + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0xb5fffd14 // cbnz x20, LBB0_479 $-96(%rip) +LBB0_484: + WORD $0x710088bf // cmp w5, #34 + WORD $0x54001fa1 // b.ne LBB0_543 $1012(%rip) +LBB0_485: + WORD $0xaa1c03f3 // mov x19, x28 +LBB0_486: + WORD $0xcb1b027c // sub x28, x19, x27 + WORD $0xb6ff851c // tbz x28, #63, LBB0_283 $-3936(%rip) + WORD $0x140000f7 // b LBB0_542 $988(%rip) +LBB0_487: + WORD $0xdac002b4 // rbit x20, x21 + WORD $0xdac01294 // clz x20, x20 + WORD $0xcb1b0396 // sub x22, x28, x27 + WORD $0x8b1402d4 // add x20, x22, x20 + WORD $0xb100041f // cmn x0, #1 + WORD $0x9a941000 // csel x0, x0, x20, ne +LBB0_488: + WORD $0x0a3302b4 // bic w20, w21, w19 + WORD $0x531f7a96 // lsl w22, w20, #1 + WORD $0x331f7a93 // bfi w19, w20, #1, #31 + WORD $0x0a3602b5 // bic w21, w21, w22 + WORD $0x1201f2b5 // and w21, w21, #0xaaaaaaaa + WORD $0x2b1402b4 // adds w20, w21, w20 + WORD $0x4a140614 // eor w20, w16, w20, lsl #1 + WORD $0x0a130293 // and w19, w20, w19 + WORD $0x1a9f37f4 // cset w20, hs + WORD $0x2a3303f3 // mvn w19, w19 + WORD $0x8a050265 // and x5, x19, x5 + WORD $0xaa1403f3 // mov x19, x20 + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0x17fffdee // b LBB0_375 $-2120(%rip) +LBB0_489: + WORD $0xdac002b4 // rbit x20, x21 + WORD $0xdac01294 // clz x20, x20 + WORD $0xcb1b0396 // sub x22, x28, x27 + WORD $0x8b1402d4 // add x20, x22, x20 + WORD $0xb100041f // cmn x0, #1 + WORD $0x9a941000 // csel x0, x0, x20, ne +LBB0_490: + WORD $0x0a3302b4 // bic w20, w21, w19 + WORD $0x531f7a96 // lsl w22, w20, #1 + WORD $0x331f7a93 // bfi w19, w20, #1, #31 + WORD $0x0a3602b5 // bic w21, w21, w22 + WORD $0x1201f2b5 // and w21, w21, #0xaaaaaaaa + WORD $0x2b1402b4 // adds w20, w21, w20 + WORD $0x4a140614 // eor w20, w16, w20, lsl #1 + WORD $0x0a130293 // and w19, w20, w19 + WORD $0x1a9f37f4 // cset w20, hs + WORD $0x2a3303f3 // mvn w19, w19 + WORD $0x8a050265 // and x5, x19, x5 + WORD $0xaa1403f3 // mov x19, x20 + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0xb5ffc685 // cbnz x5, LBB0_398 $-1840(%rip) +LBB0_491: + WORD $0x9100839c // add x28, x28, #32 + WORD $0xaa0e03f6 // mov x22, x14 +LBB0_492: + WORD $0xb5000913 // cbnz x19, LBB0_509 $288(%rip) + WORD $0xb40009f6 // cbz x22, LBB0_511 $316(%rip) +LBB0_494: + WORD $0xaa3b03ee // mvn x14, x27 +LBB0_495: + WORD $0xaa1c03f3 // mov x19, x28 + WORD $0x38401665 // ldrb w5, [x19], #1 + WORD $0x710088bf // cmp w5, #34 + WORD $0x540002c0 // b.eq LBB0_501 $88(%rip) + WORD $0xd10006d4 // sub x20, x22, #1 + WORD $0x710170bf // cmp w5, #92 + WORD $0x540000a0 // b.eq LBB0_498 $20(%rip) + WORD $0xaa1303fc // mov x28, x19 + WORD $0xaa1403f6 // mov x22, x20 + WORD $0xb5fffef4 // cbnz x20, LBB0_495 $-36(%rip) + WORD $0x14000009 // b LBB0_500 $36(%rip) +LBB0_498: + WORD $0xb4001794 // cbz x20, LBB0_543 $752(%rip) + WORD $0x8b0e0273 // add x19, x19, x14 + WORD $0xb100041f // cmn x0, #1 + WORD $0x9a800260 // csel x0, x19, x0, eq + WORD $0x91000b9c // add x28, x28, #2 + WORD $0xd1000ad4 // sub x20, x22, #2 + WORD $0xaa1403f6 // mov x22, x20 + WORD $0xb5fffdd4 // cbnz x20, LBB0_495 $-72(%rip) +LBB0_500: + WORD $0x710088bf // cmp w5, #34 + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0x54000720 // b.eq LBB0_512 $228(%rip) + WORD $0x140000af // b LBB0_543 $700(%rip) +LBB0_501: + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0x14000035 // b LBB0_513 $212(%rip) +LBB0_502: + WORD $0xb100041f // cmn x0, #1 + WORD $0x540000a1 // b.ne LBB0_504 $20(%rip) + WORD $0xdac002a0 // rbit x0, x21 + WORD $0xdac01000 // clz x0, x0 + WORD $0xcb1b0394 // sub x20, x28, x27 + WORD $0x8b000280 // add x0, x20, x0 +LBB0_504: + WORD $0x0a3302b4 // bic w20, w21, w19 + WORD $0x531f7a96 // lsl w22, w20, #1 + WORD $0x331f7a93 // bfi w19, w20, #1, #31 + WORD $0x0a3602b5 // bic w21, w21, w22 + WORD $0x1201f2b5 // and w21, w21, #0xaaaaaaaa + WORD $0x2b1402b4 // adds w20, w21, w20 + WORD $0x4a140614 // eor w20, w16, w20, lsl #1 + WORD $0x0a130293 // and w19, w20, w19 + WORD $0x1a9f37f4 // cset w20, hs + WORD $0x2a3303f3 // mvn w19, w19 + WORD $0x8a050265 // and x5, x19, x5 + WORD $0xaa1403f3 // mov x19, x20 + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0x17fffe21 // b LBB0_403 $-1916(%rip) +LBB0_505: + WORD $0xb4001296 // cbz x22, LBB0_543 $592(%rip) + WORD $0xaa3b03ee // mvn x14, x27 + WORD $0x8b0e038e // add x14, x28, x14 + WORD $0xb100041f // cmn x0, #1 + WORD $0x9a8001c0 // csel x0, x14, x0, eq + WORD $0x9100079c // add x28, x28, #1 + WORD $0xd10006d6 // sub x22, x22, #1 + WORD $0xb5ffeeb6 // cbnz x22, LBB0_478 $-556(%rip) + WORD $0x17ffff90 // b LBB0_485 $-448(%rip) +LBB0_507: + WORD $0xb4001176 // cbz x22, LBB0_543 $556(%rip) + WORD $0xaa3b03ee // mvn x14, x27 + WORD $0x8b0e038e // add x14, x28, x14 + WORD $0xb100041f // cmn x0, #1 + WORD $0x9a8001c0 // csel x0, x14, x0, eq + WORD $0x9100079c // add x28, x28, #1 + WORD $0xd10006d6 // sub x22, x22, #1 + WORD $0xb5ffb516 // cbnz x22, LBB0_381 $-2400(%rip) + WORD $0x14000083 // b LBB0_543 $524(%rip) +LBB0_509: + WORD $0xb4001056 // cbz x22, LBB0_543 $520(%rip) + WORD $0xaa3b03ee // mvn x14, x27 + WORD $0x8b0e038e // add x14, x28, x14 + WORD $0xb100041f // cmn x0, #1 + WORD $0x9a8001c0 // csel x0, x14, x0, eq + WORD $0x9100079c // add x28, x28, #1 + WORD $0xd10006d6 // sub x22, x22, #1 + WORD $0xb5fff676 // cbnz x22, LBB0_494 $-308(%rip) +LBB0_511: + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 +LBB0_512: + WORD $0xaa1c03f3 // mov x19, x28 +LBB0_513: + WORD $0xcb1b027c // sub x28, x19, x27 + WORD $0xb6ff1b5c // tbz x28, #63, LBB0_194 $-7320(%rip) + WORD $0x14000072 // b LBB0_542 $456(%rip) +LBB0_514: + WORD $0xb4000e76 // cbz x22, LBB0_543 $460(%rip) + WORD $0xaa3b03ee // mvn x14, x27 + WORD $0x8b0e038e // add x14, x28, x14 + WORD $0xb100041f // cmn x0, #1 + WORD $0x9a8001c0 // csel x0, x14, x0, eq + WORD $0x9100079c // add x28, x28, #1 + WORD $0xd10006d6 // sub x22, x22, #1 + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0xb5ffc236 // cbnz x22, LBB0_409 $-1980(%rip) + WORD $0x14000068 // b LBB0_543 $416(%rip) +LBB0_516: + WORD $0xd100040f // sub x15, x0, #1 + WORD $0xeb0e01ff // cmp x15, x14 + WORD $0x54001920 // b.eq LBB0_575 $804(%rip) + WORD $0x8b0e03cf // add x15, lr, x14 + WORD $0x910009e5 // add x5, x15, #2 + WORD $0xcb0e000e // sub x14, x0, x14 + WORD $0xd10009ce // sub x14, x14, #2 + WORD $0xf10005df // cmp x14, #1 + WORD $0x54ffc74a // b.ge LBB0_422 $-1816(%rip) + WORD $0x140000c2 // b LBB0_575 $776(%rip) +LBB0_518: + WORD $0xdac002af // rbit x15, x21 + WORD $0xdac011ef // clz x15, x15 + WORD $0xcb1b0391 // sub x17, x28, x27 + WORD $0x8b0f022f // add x15, x17, x15 + WORD $0xb100041f // cmn x0, #1 + WORD $0x9a8f1000 // csel x0, x0, x15, ne +LBB0_519: + WORD $0x0a3302af // bic w15, w21, w19 + WORD $0x531f79f1 // lsl w17, w15, #1 + WORD $0x331f79f3 // bfi w19, w15, #1, #31 + WORD $0x0a3102b1 // bic w17, w21, w17 + WORD $0x1201f231 // and w17, w17, #0xaaaaaaaa + WORD $0x2b0f022f // adds w15, w17, w15 + WORD $0x4a0f060f // eor w15, w16, w15, lsl #1 + WORD $0x0a1301ef // and w15, w15, w19 + WORD $0x1a9f37f3 // cset w19, hs + WORD $0x2a2f03ef // mvn w15, w15 + WORD $0x8a0501e5 // and x5, x15, x5 + WORD $0xb5ffcc85 // cbnz x5, LBB0_435 $-1648(%rip) +LBB0_520: + WORD $0x9100839c // add x28, x28, #32 + WORD $0xaa0e03f6 // mov x22, x14 +LBB0_521: + WORD $0xb5000633 // cbnz x19, LBB0_536 $196(%rip) + WORD $0xb40002f6 // cbz x22, LBB0_530 $92(%rip) +LBB0_523: + WORD $0xaa3b03ee // mvn x14, x27 +LBB0_524: + WORD $0xaa1c03f3 // mov x19, x28 + WORD $0x38401665 // ldrb w5, [x19], #1 + WORD $0x710088bf // cmp w5, #34 + WORD $0x54000260 // b.eq LBB0_531 $76(%rip) + WORD $0xd10006d4 // sub x20, x22, #1 + WORD $0x710170bf // cmp w5, #92 + WORD $0x540000a0 // b.eq LBB0_527 $20(%rip) + WORD $0xaa1303fc // mov x28, x19 + WORD $0xaa1403f6 // mov x22, x20 + WORD $0xb5fffef4 // cbnz x20, LBB0_524 $-36(%rip) + WORD $0x14000009 // b LBB0_529 $36(%rip) +LBB0_527: + WORD $0xb4000774 // cbz x20, LBB0_543 $236(%rip) + WORD $0x8b0e026f // add x15, x19, x14 + WORD $0xb100041f // cmn x0, #1 + WORD $0x9a8001e0 // csel x0, x15, x0, eq + WORD $0x91000b9c // add x28, x28, #2 + WORD $0xd1000ad4 // sub x20, x22, #2 + WORD $0xaa1403f6 // mov x22, x20 + WORD $0xb5fffdd4 // cbnz x20, LBB0_524 $-72(%rip) +LBB0_529: + WORD $0x710088bf // cmp w5, #34 + WORD $0x54000641 // b.ne LBB0_543 $200(%rip) +LBB0_530: + WORD $0xaa1c03f3 // mov x19, x28 +LBB0_531: + WORD $0xcb1b027c // sub x28, x19, x27 +LBB0_532: + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0xb6ff6b5c // tbz x28, #63, LBB0_283 $-4760(%rip) + WORD $0x14000029 // b LBB0_542 $164(%rip) +LBB0_533: + WORD $0xb100041f // cmn x0, #1 + WORD $0x540000a1 // b.ne LBB0_535 $20(%rip) + WORD $0xdac002af // rbit x15, x21 + WORD $0xdac011ef // clz x15, x15 + WORD $0xcb1b0391 // sub x17, x28, x27 + WORD $0x8b0f0220 // add x0, x17, x15 +LBB0_535: + WORD $0x0a3302af // bic w15, w21, w19 + WORD $0x531f79f1 // lsl w17, w15, #1 + WORD $0x331f79f3 // bfi w19, w15, #1, #31 + WORD $0x0a3102b1 // bic w17, w21, w17 + WORD $0x1201f231 // and w17, w17, #0xaaaaaaaa + WORD $0x2b0f022f // adds w15, w17, w15 + WORD $0x4a0f060f // eor w15, w16, w15, lsl #1 + WORD $0x0a1301ef // and w15, w15, w19 + WORD $0x1a9f37f3 // cset w19, hs + WORD $0x2a2f03ef // mvn w15, w15 + WORD $0x8a0501e5 // and x5, x15, x5 + WORD $0x17fffe55 // b LBB0_440 $-1708(%rip) +LBB0_536: + WORD $0xb4000316 // cbz x22, LBB0_543 $96(%rip) + WORD $0xaa3b03ee // mvn x14, x27 + WORD $0x8b0e038e // add x14, x28, x14 + WORD $0xb100041f // cmn x0, #1 + WORD $0x9a8001c0 // csel x0, x14, x0, eq + WORD $0x9100079c // add x28, x28, #1 + WORD $0xd10006d6 // sub x22, x22, #1 + WORD $0xb5fff956 // cbnz x22, LBB0_523 $-216(%rip) + WORD $0x17ffffdf // b LBB0_530 $-132(%rip) +LBB0_538: + WORD $0xb40001f6 // cbz x22, LBB0_543 $60(%rip) + WORD $0xaa3b03ee // mvn x14, x27 + WORD $0x8b0e038e // add x14, x28, x14 + WORD $0xb100041f // cmn x0, #1 + WORD $0x9a8001c0 // csel x0, x14, x0, eq + WORD $0x9100079c // add x28, x28, #1 + WORD $0xd10006d6 // sub x22, x22, #1 + WORD $0xb5ffcbb6 // cbnz x22, LBB0_446 $-1676(%rip) + WORD $0x14000007 // b LBB0_543 $28(%rip) +LBB0_540: + WORD $0x92800020 // mov x0, #-2 + WORD $0x1400006a // b LBB0_576 $424(%rip) +LBB0_541: + WORD $0x928000c0 // mov x0, #-7 + WORD $0x14000068 // b LBB0_576 $416(%rip) +LBB0_542: + WORD $0xb100079f // cmn x28, #1 + WORD $0x54000ac1 // b.ne LBB0_567 $344(%rip) +LBB0_543: + WORD $0xf94004c0 // ldr x0, [x6, #8] + WORD $0x9280001c // mov x28, #-1 + WORD $0x14000053 // b LBB0_567 $332(%rip) +LBB0_544: + WORD $0x9280000e // mov x14, #-1 +LBB0_545: + WORD $0xaa2e03f6 // mvn x22, x14 +LBB0_546: + WORD $0x8b0802c8 // add x8, x22, x8 +LBB0_547: + WORD $0xf9000028 // str x8, [x1] + WORD $0x92800020 // mov x0, #-2 + WORD $0x1400005d // b LBB0_576 $372(%rip) +LBB0_548: + WORD $0xf900002e // str x14, [x1] + WORD $0x1400005a // b LBB0_575 $360(%rip) +LBB0_549: + WORD $0xb100041f // cmn x0, #1 + WORD $0x540008a0 // b.eq LBB0_566 $276(%rip) + WORD $0x9280003c // mov x28, #-2 + WORD $0x14000047 // b LBB0_567 $284(%rip) +LBB0_551: + WORD $0xaa0003f6 // mov x22, x0 + WORD $0x17fffff5 // b LBB0_546 $-44(%rip) +LBB0_552: + WORD $0xf9000028 // str x8, [x1] + WORD $0x394003c9 // ldrb w9, [lr] + WORD $0x7101d13f // cmp w9, #116 + WORD $0x54000a21 // b.ne LBB0_576 $324(%rip) + WORD $0x91000509 // add x9, x8, #1 + WORD $0xf9000029 // str x9, [x1] + WORD $0x38696b69 // ldrb w9, [x27, x9] + WORD $0x7101c93f // cmp w9, #114 + WORD $0x54000981 // b.ne LBB0_576 $304(%rip) + WORD $0x91000909 // add x9, x8, #2 + WORD $0xf9000029 // str x9, [x1] + WORD $0x38696b69 // ldrb w9, [x27, x9] + WORD $0x7101d53f // cmp w9, #117 + WORD $0x540008e1 // b.ne LBB0_576 $284(%rip) + WORD $0x91000d09 // add x9, x8, #3 + WORD $0xf9000029 // str x9, [x1] + WORD $0x38696b69 // ldrb w9, [x27, x9] + WORD $0x7101953f // cmp w9, #101 + WORD $0x54000841 // b.ne LBB0_576 $264(%rip) + WORD $0x14000014 // b LBB0_560 $80(%rip) +LBB0_556: + WORD $0xf9000028 // str x8, [x1] + WORD $0x394003c9 // ldrb w9, [lr] + WORD $0x7101b93f // cmp w9, #110 + WORD $0x540007a1 // b.ne LBB0_576 $244(%rip) + WORD $0x91000509 // add x9, x8, #1 + WORD $0xf9000029 // str x9, [x1] + WORD $0x38696b69 // ldrb w9, [x27, x9] + WORD $0x7101d53f // cmp w9, #117 + WORD $0x54000701 // b.ne LBB0_576 $224(%rip) + WORD $0x91000909 // add x9, x8, #2 + WORD $0xf9000029 // str x9, [x1] + WORD $0x38696b69 // ldrb w9, [x27, x9] + WORD $0x7101b13f // cmp w9, #108 + WORD $0x54000661 // b.ne LBB0_576 $204(%rip) + WORD $0x91000d09 // add x9, x8, #3 + WORD $0xf9000029 // str x9, [x1] + WORD $0x38696b69 // ldrb w9, [x27, x9] + WORD $0x7101b13f // cmp w9, #108 + WORD $0x540005c1 // b.ne LBB0_576 $184(%rip) +LBB0_560: + WORD $0x91001108 // add x8, x8, #4 + WORD $0xf9000028 // str x8, [x1] + WORD $0x1400002b // b LBB0_576 $172(%rip) +LBB0_561: + WORD $0xf900003c // str x28, [x1] + WORD $0x387c6b69 // ldrb w9, [x27, x28] + WORD $0x7101853f // cmp w9, #97 + WORD $0x540004e1 // b.ne LBB0_576 $156(%rip) + WORD $0x91000909 // add x9, x8, #2 + WORD $0xf9000029 // str x9, [x1] + WORD $0x38696b69 // ldrb w9, [x27, x9] + WORD $0x7101b13f // cmp w9, #108 + WORD $0x54000441 // b.ne LBB0_576 $136(%rip) + WORD $0x91000d09 // add x9, x8, #3 + WORD $0xf9000029 // str x9, [x1] + WORD $0x38696b69 // ldrb w9, [x27, x9] + WORD $0x7101cd3f // cmp w9, #115 + WORD $0x540003a1 // b.ne LBB0_576 $116(%rip) + WORD $0x91001109 // add x9, x8, #4 + WORD $0xf9000029 // str x9, [x1] + WORD $0x38696b69 // ldrb w9, [x27, x9] + WORD $0x7101953f // cmp w9, #101 + WORD $0x54000301 // b.ne LBB0_576 $96(%rip) + WORD $0x91001508 // add x8, x8, #5 + WORD $0xf9000028 // str x8, [x1] + WORD $0x14000015 // b LBB0_576 $84(%rip) +LBB0_566: + WORD $0xdac000a8 // rbit x8, x5 + WORD $0xdac01108 // clz x8, x8 + WORD $0x8b1c0100 // add x0, x8, x28 + WORD $0x9280003c // mov x28, #-2 +LBB0_567: + WORD $0xf9000020 // str x0, [x1] + WORD $0xaa1c03e0 // mov x0, x28 + WORD $0x1400000e // b LBB0_576 $56(%rip) +LBB0_568: + WORD $0x9280000e // mov x14, #-1 +LBB0_569: + WORD $0xaa2e03f3 // mvn x19, x14 +LBB0_570: + WORD $0x8b130388 // add x8, x28, x19 + WORD $0x17ffffab // b LBB0_547 $-340(%rip) +LBB0_571: + WORD $0xaa1603f3 // mov x19, x22 + WORD $0x8b160388 // add x8, x28, x22 + WORD $0x17ffffa8 // b LBB0_547 $-352(%rip) +LBB0_572: + WORD $0x8b1c00a0 // add x0, x5, x28 + WORD $0x9280003c // mov x28, #-2 + WORD $0x17fffff4 // b LBB0_567 $-48(%rip) +LBB0_573: + WORD $0xf94004c8 // ldr x8, [x6, #8] +LBB0_574: + WORD $0xf9000028 // str x8, [x1] +LBB0_575: + WORD $0x92800000 // mov x0, #-1 +LBB0_576: + WORD $0xa94cfbfd // ldp fp, lr, [sp, #200] + WORD $0xa94bcff4 // ldp x20, x19, [sp, #184] + WORD $0xa94ad7f6 // ldp x22, x21, [sp, #168] + WORD $0xa949dff8 // ldp x24, x23, [sp, #152] + WORD $0xa948e7fa // ldp x26, x25, [sp, #136] + WORD $0xa947effc // ldp x28, x27, [sp, #120] + WORD $0x6d46a3e9 // ldp d9, d8, [sp, #104] + WORD $0x910383ff // add sp, sp, #224 + WORD $0xd65f03c0 // ret +LBB0_577: + WORD $0x8b1401c0 // add x0, x14, x20 + WORD $0x9280003c // mov x28, #-2 + WORD $0x17ffffe5 // b LBB0_567 $-108(%rip) +LBB0_578: + WORD $0xcb1b0388 // sub x8, x28, x27 + WORD $0x8b140100 // add x0, x8, x20 + WORD $0x9280003c // mov x28, #-2 + WORD $0x17ffffe1 // b LBB0_567 $-124(%rip) +LBB0_579: + WORD $0xcb1b0388 // sub x8, x28, x27 + WORD $0x8b050100 // add x0, x8, x5 + WORD $0x9280003c // mov x28, #-2 + WORD $0x17ffffdd // b LBB0_567 $-140(%rip) // .p2align 2, 0x00 _MASK_USE_NUMBER: WORD $0x00000002 // .long 2 @@ -2361,7 +3460,7 @@ TEXT ·__skip_one(SB), NOSPLIT, $0-40 _entry: MOVD 16(g), R16 - SUB $176, RSP, R17 + SUB $288, RSP, R17 CMP R16, R17 BLS _stack_grow diff --git a/internal/native/neon/skip_one_fast_arm64.s b/internal/native/neon/skip_one_fast_arm64.s index cf570e909..0caf27875 100644 --- a/internal/native/neon/skip_one_fast_arm64.s +++ b/internal/native/neon/skip_one_fast_arm64.s @@ -57,12 +57,12 @@ lCPI0_1: _skip_one_fast: WORD $0xd10303ff // sub sp, sp, #192 - WORD $0xa9056ffc // stp x28, x27, [sp, #80] - WORD $0xa90667fa // stp x26, x25, [sp, #96] - WORD $0xa9075ff8 // stp x24, x23, [sp, #112] - WORD $0xa90857f6 // stp x22, x21, [sp, #128] - WORD $0xa9094ff4 // stp x20, x19, [sp, #144] - WORD $0xa90a7bfd // stp fp, lr, [sp, #160] + WORD $0xa905effc // stp x28, x27, [sp, #88] + WORD $0xa906e7fa // stp x26, x25, [sp, #104] + WORD $0xa907dff8 // stp x24, x23, [sp, #120] + WORD $0xa908d7f6 // stp x22, x21, [sp, #136] + WORD $0xa909cff4 // stp x20, x19, [sp, #152] + WORD $0xa90afbfd // stp fp, lr, [sp, #168] WORD $0xa93ffbfd // stp fp, lr, [sp, #-8] WORD $0xd10023fd // sub fp, sp, #8 WORD $0xf940002b // ldr x11, [x1] @@ -927,12 +927,12 @@ LBB0_115: LBB0_116: WORD $0x92800000 // mov x0, #-1 LBB0_117: - WORD $0xa94a7bfd // ldp fp, lr, [sp, #160] - WORD $0xa9494ff4 // ldp x20, x19, [sp, #144] - WORD $0xa94857f6 // ldp x22, x21, [sp, #128] - WORD $0xa9475ff8 // ldp x24, x23, [sp, #112] - WORD $0xa94667fa // ldp x26, x25, [sp, #96] - WORD $0xa9456ffc // ldp x28, x27, [sp, #80] + WORD $0xa94afbfd // ldp fp, lr, [sp, #168] + WORD $0xa949cff4 // ldp x20, x19, [sp, #152] + WORD $0xa948d7f6 // ldp x22, x21, [sp, #136] + WORD $0xa947dff8 // ldp x24, x23, [sp, #120] + WORD $0xa946e7fa // ldp x26, x25, [sp, #104] + WORD $0xa945effc // ldp x28, x27, [sp, #88] WORD $0x910303ff // add sp, sp, #192 WORD $0xd65f03c0 // ret LBB0_118: diff --git a/internal/native/neon/skip_one_subr_arm64.go b/internal/native/neon/skip_one_subr_arm64.go index 01b275681..f680620da 100644 --- a/internal/native/neon/skip_one_subr_arm64.go +++ b/internal/native/neon/skip_one_subr_arm64.go @@ -13,7 +13,7 @@ var ( ) const ( - _stack__skip_one = 112 + _stack__skip_one = 224 ) var ( diff --git a/internal/native/neon/u64toa_arm64.s b/internal/native/neon/u64toa_arm64.s index dfece7878..9acf4497d 100644 --- a/internal/native/neon/u64toa_arm64.s +++ b/internal/native/neon/u64toa_arm64.s @@ -72,12 +72,13 @@ lCPI0_3: // .byte 15 _u64toa: - WORD $0xa9be7bfd // stp fp, lr, [sp, #-32]! + WORD $0xd10083ff // sub sp, sp, #32 + WORD $0xa900fbfd // stp fp, lr, [sp, #8] WORD $0xa93ffbfd // stp fp, lr, [sp, #-8] WORD $0xd10023fd // sub fp, sp, #8 WORD $0xd344fc28 // lsr x8, x1, #4 WORD $0xf109c11f // cmp x8, #624 - WORD $0x540005c8 // b.hi LBB0_9 $184(%rip) + WORD $0x540005e8 // b.hi LBB0_9 $188(%rip) WORD $0x53023c28 // ubfx w8, w1, #2, #14 WORD $0x52828f69 // mov w9, #5243 WORD $0x1b097d08 // mul w8, w8, w9 @@ -90,7 +91,7 @@ _u64toa: WORD $0x710fa03f // cmp w1, #1000 WORD $0x540000e3 // b.lo LBB0_3 $28(%rip) Lloh0: - WORD $0x10002a2a // adr x10, _Digits $1348(%rip) + WORD $0x10002aaa // adr x10, _Digits $1364(%rip) Lloh1: WORD $0x9100014a // add x10, x10, _Digits@PAGEOFF $0(%rip) WORD $0x3869694a // ldrb w10, [x10, x9] @@ -99,11 +100,11 @@ Lloh1: WORD $0x14000004 // b LBB0_5 $16(%rip) LBB0_3: WORD $0x7101903f // cmp w1, #100 - WORD $0x540002c3 // b.lo LBB0_8 $88(%rip) + WORD $0x540002e3 // b.lo LBB0_8 $92(%rip) WORD $0x5280000a // mov w10, #0 LBB0_5: Lloh2: - WORD $0x1000290b // adr x11, _Digits $1312(%rip) + WORD $0x1000298b // adr x11, _Digits $1328(%rip) Lloh3: WORD $0x9100016b // add x11, x11, _Digits@PAGEOFF $0(%rip) WORD $0x8b294169 // add x9, x11, w9, uxtw @@ -112,7 +113,7 @@ Lloh3: WORD $0x382a480b // strb w11, [x0, w10, uxtw] LBB0_6: Lloh4: - WORD $0x1000284a // adr x10, _Digits $1288(%rip) + WORD $0x100028ca // adr x10, _Digits $1304(%rip) Lloh5: WORD $0x9100014a // add x10, x10, _Digits@PAGEOFF $0(%rip) WORD $0x3868694b // ldrb w11, [x10, x8] @@ -120,7 +121,7 @@ Lloh5: WORD $0x3829480b // strb w11, [x0, w9, uxtw] LBB0_7: Lloh6: - WORD $0x100027a9 // adr x9, _Digits $1268(%rip) + WORD $0x10002829 // adr x9, _Digits $1284(%rip) Lloh7: WORD $0x91000129 // add x9, x9, _Digits@PAGEOFF $0(%rip) WORD $0x8b282128 // add x8, x9, w8, uxth @@ -128,19 +129,20 @@ Lloh7: WORD $0x11000548 // add w8, w10, #1 WORD $0x382a4809 // strb w9, [x0, w10, uxtw] WORD $0xaa0803e0 // mov x0, x8 - WORD $0xa8c27bfd // ldp fp, lr, [sp], #32 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 WORD $0xd65f03c0 // ret LBB0_8: WORD $0x52800009 // mov w9, #0 WORD $0x5280000a // mov w10, #0 WORD $0x7100283f // cmp w1, #10 - WORD $0x54fffde2 // b.hs LBB0_6 $-68(%rip) - WORD $0x17fffff3 // b LBB0_7 $-52(%rip) + WORD $0x54fffdc2 // b.hs LBB0_6 $-72(%rip) + WORD $0x17fffff2 // b LBB0_7 $-56(%rip) LBB0_9: WORD $0x529c2008 // mov w8, #57600 WORD $0x72a0bea8 // movk w8, #1525, lsl #16 WORD $0xeb08003f // cmp x1, x8 - WORD $0x540009e2 // b.hs LBB0_18 $316(%rip) + WORD $0x54000a02 // b.hs LBB0_18 $320(%rip) WORD $0x5282eb28 // mov w8, #5977 WORD $0x72ba36e8 // movk w8, #53687, lsl #16 WORD $0x92407c29 // and x9, x1, #0xffffffff @@ -164,7 +166,7 @@ LBB0_9: WORD $0x6b0b003f // cmp w1, w11 WORD $0x540000e3 // b.lo LBB0_12 $28(%rip) Lloh8: - WORD $0x100022ab // adr x11, _Digits $1108(%rip) + WORD $0x1000230b // adr x11, _Digits $1120(%rip) Lloh9: WORD $0x9100016b // add x11, x11, _Digits@PAGEOFF $0(%rip) WORD $0x386a696b // ldrb w11, [x11, x10] @@ -175,11 +177,11 @@ LBB0_12: WORD $0x5288480b // mov w11, #16960 WORD $0x72a001eb // movk w11, #15, lsl #16 WORD $0x6b0b003f // cmp w1, w11 - WORD $0x54000523 // b.lo LBB0_17 $164(%rip) + WORD $0x54000543 // b.lo LBB0_17 $168(%rip) WORD $0x5280000c // mov w12, #0 LBB0_14: Lloh10: - WORD $0x1000214b // adr x11, _Digits $1064(%rip) + WORD $0x100021ab // adr x11, _Digits $1076(%rip) Lloh11: WORD $0x9100016b // add x11, x11, _Digits@PAGEOFF $0(%rip) WORD $0x8b2a416a // add x10, x11, w10, uxtw @@ -188,7 +190,7 @@ Lloh11: WORD $0x382c480a // strb w10, [x0, w12, uxtw] LBB0_15: Lloh12: - WORD $0x1000208a // adr x10, _Digits $1040(%rip) + WORD $0x100020ea // adr x10, _Digits $1052(%rip) Lloh13: WORD $0x9100014a // add x10, x10, _Digits@PAGEOFF $0(%rip) WORD $0x3869694c // ldrb w12, [x10, x9] @@ -206,7 +208,7 @@ LBB0_16: WORD $0x92403d08 // and x8, x8, #0xffff WORD $0xd37ff908 // lsl x8, x8, #1 Lloh14: - WORD $0x10001eac // adr x12, _Digits $980(%rip) + WORD $0x10001f0c // adr x12, _Digits $992(%rip) Lloh15: WORD $0x9100018c // add x12, x12, _Digits@PAGEOFF $0(%rip) WORD $0x8b292189 // add x9, x12, w9, uxth @@ -223,21 +225,22 @@ Lloh15: WORD $0x11001548 // add w8, w10, #5 WORD $0x390011a9 // strb w9, [x13, #4] WORD $0xaa0803e0 // mov x0, x8 - WORD $0xa8c27bfd // ldp fp, lr, [sp], #32 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 WORD $0xd65f03c0 // ret LBB0_17: WORD $0x5280000b // mov w11, #0 WORD $0x5280000a // mov w10, #0 WORD $0x53057c2c // lsr w12, w1, #5 WORD $0x7130d59f // cmp w12, #3125 - WORD $0x54fffb62 // b.hs LBB0_15 $-148(%rip) - WORD $0x17ffffdf // b LBB0_16 $-132(%rip) + WORD $0x54fffb42 // b.hs LBB0_15 $-152(%rip) + WORD $0x17ffffde // b LBB0_16 $-136(%rip) LBB0_18: WORD $0xd2adf82a // mov x10, #1874919424 WORD $0xf2d0de4a // movk x10, #34546, lsl #32 WORD $0xf2e0046a // movk x10, #35, lsl #48 WORD $0xeb0a003f // cmp x1, x10 - WORD $0x54000ba2 // b.hs LBB0_20 $372(%rip) + WORD $0x54000bc2 // b.hs LBB0_20 $376(%rip) WORD $0xd299dfa9 // mov x9, #52989 WORD $0xf2b08c29 // movk x9, #33889, lsl #16 WORD $0xf2cee229 // movk x9, #30481, lsl #32 @@ -264,7 +267,7 @@ LBB0_18: WORD $0x4e413821 // zip1.8h v1, v1, v1 WORD $0x4e813821 // zip1.4s v1, v1, v1 Lloh16: - WORD $0x10ffea29 // adr x9, lCPI0_0 $-700(%rip) + WORD $0x10ffe9c9 // adr x9, lCPI0_0 $-712(%rip) Lloh17: WORD $0xfd400122 // ldr d2, [x9, lCPI0_0@PAGEOFF] $0(%rip) WORD $0x2e62c024 // umull.4s v4, v1, v2 @@ -272,7 +275,7 @@ Lloh17: WORD $0x2e62c021 // umull.4s v1, v1, v2 WORD $0x4e415881 // uzp2.8h v1, v4, v1 Lloh18: - WORD $0x10ffe9a9 // adr x9, lCPI0_1 $-716(%rip) + WORD $0x10ffe949 // adr x9, lCPI0_1 $-728(%rip) Lloh19: WORD $0xfd400124 // ldr d4, [x9, lCPI0_1@PAGEOFF] $0(%rip) WORD $0x2e64c026 // umull.4s v6, v1, v4 @@ -311,12 +314,12 @@ Lloh19: WORD $0x4e208420 // add.16b v0, v1, v0 WORD $0x4e209821 // cmeq.16b v1, v1, #0 Lloh20: - WORD $0x10ffe548 // adr x8, lCPI0_2 $-856(%rip) + WORD $0x10ffe4e8 // adr x8, lCPI0_2 $-868(%rip) Lloh21: WORD $0x3dc00102 // ldr q2, [x8, lCPI0_2@PAGEOFF] $0(%rip) WORD $0x4e221c21 // and.16b v1, v1, v2 Lloh22: - WORD $0x10ffe568 // adr x8, lCPI0_3 $-852(%rip) + WORD $0x10ffe508 // adr x8, lCPI0_3 $-864(%rip) Lloh23: WORD $0x3dc00102 // ldr q2, [x8, lCPI0_3@PAGEOFF] $0(%rip) WORD $0x4e020021 // tbl.16b v1, { v1 }, v2 @@ -327,7 +330,7 @@ Lloh23: WORD $0x5ac00108 // rbit w8, w8 WORD $0x5ac01108 // clz w8, w8 Lloh24: - WORD $0x10001749 // adr x9, _VecShiftShuffles $744(%rip) + WORD $0x100017e9 // adr x9, _VecShiftShuffles $764(%rip) Lloh25: WORD $0x91000129 // add x9, x9, _VecShiftShuffles@PAGEOFF $0(%rip) WORD $0x3ce85921 // ldr q1, [x9, w8, uxtw #4] @@ -338,7 +341,8 @@ Lloh25: WORD $0x52800209 // mov w9, #16 WORD $0x4b080128 // sub w8, w9, w8 WORD $0xaa0803e0 // mov x0, x8 - WORD $0xa8c27bfd // ldp fp, lr, [sp], #32 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 WORD $0xd65f03c0 // ret LBB0_20: WORD $0xd28f0ae9 // mov x9, #30807 @@ -357,7 +361,7 @@ LBB0_22: WORD $0x71018d7f // cmp w11, #99 WORD $0x540000e8 // b.hi LBB0_24 $28(%rip) Lloh26: - WORD $0x10000dc9 // adr x9, _Digits $440(%rip) + WORD $0x10000de9 // adr x9, _Digits $444(%rip) Lloh27: WORD $0x91000129 // add x9, x9, _Digits@PAGEOFF $0(%rip) WORD $0x786b5929 // ldrh w9, [x9, w11, uxtw #1] @@ -376,7 +380,7 @@ LBB0_24: WORD $0x1b0cad29 // msub w9, w9, w12, w11 WORD $0x92403d29 // and x9, x9, #0xffff Lloh28: - WORD $0x10000bcc // adr x12, _Digits $376(%rip) + WORD $0x10000bec // adr x12, _Digits $380(%rip) Lloh29: WORD $0x9100018c // add x12, x12, _Digits@PAGEOFF $0(%rip) WORD $0x78697989 // ldrh w9, [x12, x9, lsl #1] @@ -385,7 +389,7 @@ Lloh29: WORD $0x14000010 // b LBB0_27 $64(%rip) LBB0_26: Lloh30: - WORD $0x10000b0c // adr x12, _Digits $352(%rip) + WORD $0x10000b2c // adr x12, _Digits $356(%rip) Lloh31: WORD $0x9100018c // add x12, x12, _Digits@PAGEOFF $0(%rip) WORD $0x7869598d // ldrh w13, [x12, w9, uxtw #1] @@ -428,7 +432,7 @@ LBB0_27: WORD $0x4e413821 // zip1.8h v1, v1, v1 WORD $0x4e813821 // zip1.4s v1, v1, v1 Lloh32: - WORD $0x10ffd84c // adr x12, lCPI0_0 $-1272(%rip) + WORD $0x10ffd7cc // adr x12, lCPI0_0 $-1288(%rip) Lloh33: WORD $0xfd400183 // ldr d3, [x12, lCPI0_0@PAGEOFF] $0(%rip) WORD $0x2e63c025 // umull.4s v5, v1, v3 @@ -436,7 +440,7 @@ Lloh33: WORD $0x2e63c021 // umull.4s v1, v1, v3 WORD $0x4e4158a1 // uzp2.8h v1, v5, v1 Lloh34: - WORD $0x10ffd7cc // adr x12, lCPI0_1 $-1288(%rip) + WORD $0x10ffd74c // adr x12, lCPI0_1 $-1304(%rip) Lloh35: WORD $0xfd400185 // ldr d5, [x12, lCPI0_1@PAGEOFF] $0(%rip) WORD $0x2e65c026 // umull.4s v6, v1, v5 @@ -477,7 +481,8 @@ Lloh35: WORD $0x3ca94800 // str q0, [x0, w9, uxtw] WORD $0x321c0128 // orr w8, w9, #0x10 WORD $0xaa0803e0 // mov x0, x8 - WORD $0xa8c27bfd // ldp fp, lr, [sp], #32 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 WORD $0xd65f03c0 // ret _Digits: WORD $0x31303030 // .ascii 4, '0001020304050607' @@ -530,7 +535,7 @@ _Digits: WORD $0x35393439 // .ascii 4, '949596979899' WORD $0x37393639 // .ascii 4, '96979899' WORD $0x39393839 // .ascii 4, '9899' - // .p2align 4, 0x00 + WORD $0x00000000; WORD $0x00000000; WORD $0x00000000 // .p2align 4, 0x00 _VecShiftShuffles: WORD $0x03020100 // .ascii 4, '\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f' WORD $0x07060504 // .ascii 4, '\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x01\x02\x03\x04' diff --git a/internal/native/neon/unquote_arm64.s b/internal/native/neon/unquote_arm64.s index 79b7ab758..3fc5b73ad 100644 --- a/internal/native/neon/unquote_arm64.s +++ b/internal/native/neon/unquote_arm64.s @@ -56,12 +56,13 @@ lCPI0_1: // .byte 15 _unquote: - WORD $0xa9b96ffc // stp x28, x27, [sp, #-112]! - WORD $0xa90167fa // stp x26, x25, [sp, #16] - WORD $0xa9025ff8 // stp x24, x23, [sp, #32] - WORD $0xa90357f6 // stp x22, x21, [sp, #48] - WORD $0xa9044ff4 // stp x20, x19, [sp, #64] - WORD $0xa9057bfd // stp fp, lr, [sp, #80] + WORD $0xd101c3ff // sub sp, sp, #112 + WORD $0xa900effc // stp x28, x27, [sp, #8] + WORD $0xa901e7fa // stp x26, x25, [sp, #24] + WORD $0xa902dff8 // stp x24, x23, [sp, #40] + WORD $0xa903d7f6 // stp x22, x21, [sp, #56] + WORD $0xa904cff4 // stp x20, x19, [sp, #72] + WORD $0xa905fbfd // stp fp, lr, [sp, #88] WORD $0xa93ffbfd // stp fp, lr, [sp, #-8] WORD $0xd10023fd // sub fp, sp, #8 WORD $0xb4002201 // cbz x1, LBB0_62 $1088(%rip) @@ -85,18 +86,18 @@ _unquote: WORD $0x72bf9414 // movk w20, #64672, lsl #16 WORD $0x4f02e780 // movi.16b v0, #92 Lloh0: - WORD $0x10fffb88 // adr x8, lCPI0_0 $-144(%rip) + WORD $0x10fffb68 // adr x8, lCPI0_0 $-148(%rip) Lloh1: WORD $0x3dc00101 // ldr q1, [x8, lCPI0_0@PAGEOFF] $0(%rip) Lloh2: - WORD $0x10fffbc8 // adr x8, lCPI0_1 $-136(%rip) + WORD $0x10fffba8 // adr x8, lCPI0_1 $-140(%rip) Lloh3: WORD $0x3dc00102 // ldr q2, [x8, lCPI0_1@PAGEOFF] $0(%rip) WORD $0xaa0003e8 // mov x8, x0 WORD $0xaa0103f5 // mov x21, x1 WORD $0xaa0203f6 // mov x22, x2 Lloh4: - WORD $0x10002ed7 // adr x23, __UnquoteTab $1496(%rip) + WORD $0x10002ef7 // adr x23, __UnquoteTab $1500(%rip) Lloh5: WORD $0x910002f7 // add x23, x23, __UnquoteTab@PAGEOFF $0(%rip) LBB0_2: @@ -156,7 +157,7 @@ LBB0_14: LBB0_15: WORD $0x91000b19 // add x25, x24, #2 WORD $0xeb1902b5 // subs x21, x21, x25 - WORD $0x54002804 // b.mi LBB0_93 $1280(%rip) + WORD $0x54002824 // b.mi LBB0_93 $1284(%rip) WORD $0x8b190108 // add x8, x8, x25 WORD $0xb5000145 // cbnz x5, LBB0_20 $40(%rip) WORD $0x8b1802da // add x26, x22, x24 @@ -165,26 +166,26 @@ LBB0_15: WORD $0x7103ff3f // cmp w25, #255 WORD $0x540003a0 // b.eq LBB0_28 $116(%rip) LBB0_18: - WORD $0x34001df9 // cbz w25, LBB0_74 $956(%rip) + WORD $0x34001e19 // cbz w25, LBB0_74 $960(%rip) WORD $0x38001759 // strb w25, [x26], #1 WORD $0xaa1a03f6 // mov x22, x26 WORD $0x14000093 // b LBB0_54 $588(%rip) LBB0_20: - WORD $0x34002695 // cbz w21, LBB0_93 $1232(%rip) + WORD $0x340026b5 // cbz w21, LBB0_93 $1236(%rip) WORD $0x385ff119 // ldurb w25, [x8, #-1] WORD $0x7101733f // cmp w25, #92 - WORD $0x54002381 // b.ne LBB0_86 $1136(%rip) + WORD $0x540023a1 // b.ne LBB0_86 $1140(%rip) WORD $0x39400119 // ldrb w25, [x8] WORD $0x7101733f // cmp w25, #92 WORD $0x54000161 // b.ne LBB0_27 $44(%rip) WORD $0x710006bf // cmp w21, #1 - WORD $0x5400258d // b.le LBB0_93 $1200(%rip) + WORD $0x540025ad // b.le LBB0_93 $1204(%rip) WORD $0xaa0803f9 // mov x25, x8 WORD $0x38401f3a // ldrb w26, [x25, #1]! WORD $0x71008b5f // cmp w26, #34 WORD $0x54000060 // b.eq LBB0_26 $12(%rip) WORD $0x7101735f // cmp w26, #92 - WORD $0x54002281 // b.ne LBB0_87 $1104(%rip) + WORD $0x540022a1 // b.ne LBB0_87 $1108(%rip) LBB0_26: WORD $0xd10006b5 // sub x21, x21, #1 WORD $0xaa1903e8 // mov x8, x25 @@ -198,7 +199,7 @@ LBB0_27: WORD $0x54fffca1 // b.ne LBB0_18 $-108(%rip) LBB0_28: WORD $0xf1000ebf // cmp x21, #3 - WORD $0x54002369 // b.ls LBB0_93 $1132(%rip) + WORD $0x54002389 // b.ls LBB0_93 $1136(%rip) WORD $0xb9400119 // ldr w25, [x8] WORD $0x0a39019b // bic w27, w12, w25 WORD $0x0b0a033c // add w28, w25, w10 @@ -208,18 +209,18 @@ LBB0_28: WORD $0x2a19039c // orr w28, w28, w25 WORD $0x0a0c039c // and w28, w28, w12 WORD $0x7a400b80 // ccmp w28, #0, #0, eq - WORD $0x540013c1 // b.ne LBB0_65 $632(%rip) + WORD $0x540013e1 // b.ne LBB0_65 $636(%rip) WORD $0x0a0d033c // and w28, w25, w13 WORD $0x4b1c017e // sub w30, w11, w28 WORD $0x0b0e0387 // add w7, w28, w14 WORD $0x0a1e00e7 // and w7, w7, w30 WORD $0x6a1b00ff // tst w7, w27 - WORD $0x54001301 // b.ne LBB0_65 $608(%rip) + WORD $0x54001321 // b.ne LBB0_65 $612(%rip) WORD $0x4b1c0127 // sub w7, w9, w28 WORD $0x0b0f039c // add w28, w28, w15 WORD $0x0a070387 // and w7, w28, w7 WORD $0x6a1b00ff // tst w7, w27 - WORD $0x54001261 // b.ne LBB0_65 $588(%rip) + WORD $0x54001281 // b.ne LBB0_65 $592(%rip) WORD $0x5ac00b27 // rev w7, w25 WORD $0x0a6710d9 // bic w25, w6, w7, lsr #4 WORD $0x0b190f39 // add w25, w25, w25, lsl #3 @@ -259,22 +260,22 @@ LBB0_38: WORD $0x0b0a0307 // add w7, w24, w10 WORD $0x0a38019a // bic w26, w12, w24 WORD $0x6a07035f // tst w26, w7 - WORD $0x54001401 // b.ne LBB0_77 $640(%rip) + WORD $0x54001421 // b.ne LBB0_77 $644(%rip) WORD $0x0b100307 // add w7, w24, w16 WORD $0x2a1800e7 // orr w7, w7, w24 WORD $0x6a0c00ff // tst w7, w12 - WORD $0x54001381 // b.ne LBB0_77 $624(%rip) + WORD $0x540013a1 // b.ne LBB0_77 $628(%rip) WORD $0x0a0d031b // and w27, w24, w13 WORD $0x4b1b0167 // sub w7, w11, w27 WORD $0x0b0e037c // add w28, w27, w14 WORD $0x0a070387 // and w7, w28, w7 WORD $0x6a1a00ff // tst w7, w26 - WORD $0x540012c1 // b.ne LBB0_77 $600(%rip) + WORD $0x540012e1 // b.ne LBB0_77 $604(%rip) WORD $0x4b1b0127 // sub w7, w9, w27 WORD $0x0b0f037b // add w27, w27, w15 WORD $0x0a070367 // and w7, w27, w7 WORD $0x6a1a00ff // tst w7, w26 - WORD $0x54001221 // b.ne LBB0_77 $580(%rip) + WORD $0x54001241 // b.ne LBB0_77 $584(%rip) WORD $0x5ac00b07 // rev w7, w24 WORD $0x0a6710d8 // bic w24, w6, w7, lsr #4 WORD $0x0b180f18 // add w24, w24, w24, lsl #3 @@ -288,7 +289,7 @@ LBB0_38: WORD $0x33001f58 // bfxil w24, w26, #0, #8 WORD $0x311004ff // cmn w7, #1025 WORD $0x540005e8 // b.hi LBB0_58 $188(%rip) - WORD $0x36081684 // tbz w4, #1, LBB0_88 $720(%rip) + WORD $0x360816a4 // tbz w4, #1, LBB0_88 $724(%rip) WORD $0x5297fde7 // mov w7, #49135 WORD $0x781fe2c7 // sturh w7, [x22, #-2] WORD $0x380036d3 // strb w19, [x22], #3 @@ -298,7 +299,7 @@ LBB0_38: WORD $0x14000037 // b LBB0_59 $220(%rip) LBB0_48: WORD $0xf10002bf // cmp x21, #0 - WORD $0x5400166d // b.le LBB0_91 $716(%rip) + WORD $0x5400168d // b.le LBB0_91 $720(%rip) WORD $0x39400107 // ldrb w7, [x8] WORD $0x710170ff // cmp w7, #92 WORD $0x54000681 // b.ne LBB0_60 $208(%rip) @@ -308,7 +309,7 @@ LBB0_48: WORD $0x7100d8ff // cmp w7, #54 WORD $0x54fff8c9 // b.ls LBB0_38 $-232(%rip) LBB0_51: - WORD $0x360814e4 // tbz w4, #1, LBB0_90 $668(%rip) + WORD $0x36081504 // tbz w4, #1, LBB0_90 $672(%rip) WORD $0x5297fde7 // mov w7, #49135 WORD $0x781fe2c7 // sturh w7, [x22, #-2] WORD $0x380016d3 // strb w19, [x22], #1 @@ -362,7 +363,7 @@ LBB0_59: WORD $0xd1000ada // sub x26, x22, #2 WORD $0x17ffffe5 // b LBB0_56 $-108(%rip) LBB0_60: - WORD $0x36080e84 // tbz w4, #1, LBB0_88 $464(%rip) + WORD $0x36080ea4 // tbz w4, #1, LBB0_88 $468(%rip) WORD $0x5297fde7 // mov w7, #49135 WORD $0x781fe2c7 // sturh w7, [x22, #-2] WORD $0x380016d3 // strb w19, [x22], #1 @@ -374,12 +375,13 @@ LBB0_63: WORD $0x8b1502c8 // add x8, x22, x21 WORD $0xcb020100 // sub x0, x8, x2 LBB0_64: - WORD $0xa9457bfd // ldp fp, lr, [sp, #80] - WORD $0xa9444ff4 // ldp x20, x19, [sp, #64] - WORD $0xa94357f6 // ldp x22, x21, [sp, #48] - WORD $0xa9425ff8 // ldp x24, x23, [sp, #32] - WORD $0xa94167fa // ldp x26, x25, [sp, #16] - WORD $0xa8c76ffc // ldp x28, x27, [sp], #112 + WORD $0xa945fbfd // ldp fp, lr, [sp, #88] + WORD $0xa944cff4 // ldp x20, x19, [sp, #72] + WORD $0xa943d7f6 // ldp x22, x21, [sp, #56] + WORD $0xa942dff8 // ldp x24, x23, [sp, #40] + WORD $0xa941e7fa // ldp x26, x25, [sp, #24] + WORD $0xa940effc // ldp x28, x27, [sp, #8] + WORD $0x9101c3ff // add sp, sp, #112 WORD $0xd65f03c0 // ret LBB0_65: WORD $0xcb000109 // sub x9, x8, x0 @@ -427,19 +429,19 @@ LBB0_71: WORD $0x54000102 // b.hs LBB0_75 $32(%rip) LBB0_73: WORD $0x92800020 // mov x0, #-2 - WORD $0x17ffffd0 // b LBB0_64 $-192(%rip) + WORD $0x17ffffcf // b LBB0_64 $-196(%rip) LBB0_74: WORD $0xaa2003e9 // mvn x9, x0 WORD $0x8b090108 // add x8, x8, x9 WORD $0xf9000068 // str x8, [x3] WORD $0x92800040 // mov x0, #-3 - WORD $0x17ffffcb // b LBB0_64 $-212(%rip) + WORD $0x17ffffca // b LBB0_64 $-216(%rip) LBB0_75: WORD $0x91001128 // add x8, x9, #4 LBB0_76: WORD $0xf9000068 // str x8, [x3] WORD $0x92800020 // mov x0, #-2 - WORD $0x17ffffc7 // b LBB0_64 $-228(%rip) + WORD $0x17ffffc6 // b LBB0_64 $-232(%rip) LBB0_77: WORD $0xcb000109 // sub x9, x8, x0 WORD $0x9100092a // add x10, x9, #2 @@ -502,7 +504,7 @@ LBB0_89: WORD $0xd1001108 // sub x8, x8, #4 WORD $0xf9000068 // str x8, [x3] WORD $0x92800060 // mov x0, #-4 - WORD $0x17ffff91 // b LBB0_64 $-444(%rip) + WORD $0x17ffff90 // b LBB0_64 $-448(%rip) LBB0_90: WORD $0x8b0000a9 // add x9, x5, x0 WORD $0xcb090108 // sub x8, x8, x9 @@ -514,11 +516,11 @@ LBB0_91: WORD $0x781fe2c8 // sturh w8, [x22, #-2] WORD $0x528017a8 // mov w8, #189 WORD $0x380016c8 // strb w8, [x22], #1 - WORD $0x17ffff85 // b LBB0_63 $-492(%rip) + WORD $0x17ffff84 // b LBB0_63 $-496(%rip) LBB0_93: WORD $0xf9000061 // str x1, [x3] WORD $0x92800000 // mov x0, #-1 - WORD $0x17ffff84 // b LBB0_64 $-496(%rip) + WORD $0x17ffff83 // b LBB0_64 $-500(%rip) __UnquoteTab: WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' WORD $0x00000000 // .ascii 4, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' diff --git a/internal/native/neon/validate_one_arm64.s b/internal/native/neon/validate_one_arm64.s index c4ab91f4d..3530e020c 100644 --- a/internal/native/neon/validate_one_arm64.s +++ b/internal/native/neon/validate_one_arm64.s @@ -5,7 +5,7 @@ #include "funcdata.h" #include "textflag.h" -TEXT ·__validate_one_entry__(SB), NOSPLIT, $96 +TEXT ·__validate_one_entry__(SB), NOSPLIT, $208 NO_LOCAL_POINTERS WORD $0x100000a0 // adr x0, .+20 MOVD R0, ret(FP) @@ -59,45 +59,46 @@ lCPI0_2: // .byte 15 _validate_one: - WORD $0xa9b96ffc // stp x28, x27, [sp, #-112]! - WORD $0xa90167fa // stp x26, x25, [sp, #16] - WORD $0xa9025ff8 // stp x24, x23, [sp, #32] - WORD $0xa90357f6 // stp x22, x21, [sp, #48] - WORD $0xa9044ff4 // stp x20, x19, [sp, #64] - WORD $0xa9057bfd // stp fp, lr, [sp, #80] + WORD $0xd10383ff // sub sp, sp, #224 + WORD $0x6d06a3e9 // stp d9, d8, [sp, #104] + WORD $0xa907effc // stp x28, x27, [sp, #120] + WORD $0xa908e7fa // stp x26, x25, [sp, #136] + WORD $0xa909dff8 // stp x24, x23, [sp, #152] + WORD $0xa90ad7f6 // stp x22, x21, [sp, #168] + WORD $0xa90bcff4 // stp x20, x19, [sp, #184] + WORD $0xa90cfbfd // stp fp, lr, [sp, #200] WORD $0xa93ffbfd // stp fp, lr, [sp, #-8] WORD $0xd10023fd // sub fp, sp, #8 + WORD $0xaa0003e6 // mov x6, x0 Lloh0: - WORD $0x10fffd88 // adr x8, lCPI0_0 $-80(%rip) + WORD $0x10fffd28 // adr x8, lCPI0_0 $-92(%rip) Lloh1: WORD $0x3dc00100 // ldr q0, [x8, lCPI0_0@PAGEOFF] $0(%rip) - WORD $0xaa0203ea // mov x10, x2 - WORD $0x3c808540 // str q0, [x10], #8 - WORD $0xf9400009 // ldr x9, [x0] - WORD $0xaa2903eb // mvn x11, x9 + WORD $0xaa0203e9 // mov x9, x2 + WORD $0x3c808520 // str q0, [x9], #8 + WORD $0x910083e8 // add x8, sp, #32 + WORD $0x9100810a // add x10, x8, #32 WORD $0xf940003c // ldr x28, [x1] - WORD $0xcb0903ec // neg x12, x9 - WORD $0xd100052d // sub x13, x9, #1 - WORD $0x9280000e // mov x14, #-1 - WORD $0x5280002f // mov w15, #1 - WORD $0xd284c010 // mov x16, #9728 - WORD $0xf2c00030 // movk x16, #1, lsl #32 - WORD $0x52800073 // mov w19, #3 - WORD $0x52800084 // mov w4, #4 + WORD $0x9280000b // mov x11, #-1 + WORD $0x5280002c // mov w12, #1 + WORD $0xd284c00d // mov x13, #9728 + WORD $0xf2c0002d // movk x13, #1, lsl #32 + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 WORD $0x4f01e440 // movi.16b v0, #34 WORD $0x4f02e781 // movi.16b v1, #92 Lloh2: - WORD $0x10fffbe8 // adr x8, lCPI0_1 $-132(%rip) + WORD $0x10fffbc8 // adr x8, lCPI0_1 $-136(%rip) Lloh3: WORD $0x3dc00102 // ldr q2, [x8, lCPI0_1@PAGEOFF] $0(%rip) Lloh4: - WORD $0x10fffc28 // adr x8, lCPI0_2 $-124(%rip) + WORD $0x10fffc08 // adr x8, lCPI0_2 $-128(%rip) Lloh5: WORD $0x3dc00103 // ldr q3, [x8, lCPI0_2@PAGEOFF] $0(%rip) - WORD $0x92f00006 // mov x6, #9223372036854775807 + WORD $0x3200f3f0 // mov w16, #1431655765 + WORD $0x92f00011 // mov x17, #9223372036854775807 WORD $0x4f01e404 // movi.16b v4, #32 - WORD $0xb20903e7 // mov x7, #36028797027352576 - WORD $0xf2800027 // movk x7, #1 + WORD $0x3201f3e4 // mov w4, #-1431655766 WORD $0x4f01e5c5 // movi.16b v5, #46 WORD $0x4f01e566 // movi.16b v6, #43 WORD $0x4f01e5a7 // movi.16b v7, #45 @@ -105,2253 +106,3351 @@ Lloh5: WORD $0x4f00e551 // movi.16b v17, #10 WORD $0x4f06e7f2 // movi.16b v18, #223 WORD $0x4f02e4b3 // movi.16b v19, #69 - WORD $0x52800025 // mov w5, #1 + WORD $0x4f01e594 // movi.16b v20, #44 + WORD $0x4f02e7b5 // movi.16b v21, #93 + WORD $0x4f02e776 // movi.16b v22, #91 + WORD $0x6f00e417 // movi.2d v23, #0000000000000000 + WORD $0x4f03e778 // movi.16b v24, #123 + WORD $0x4f03e7b9 // movi.16b v25, #125 + WORD $0x52800033 // mov w19, #1 LBB0_1: - WORD $0xf9400408 // ldr x8, [x0, #8] - WORD $0xeb08039f // cmp x28, x8 + WORD $0xa94038db // ldp x27, x14, [x6] + WORD $0xeb0e039f // cmp x28, x14 WORD $0x54000162 // b.hs LBB0_6 $44(%rip) - WORD $0x387c6931 // ldrb w17, [x9, x28] - WORD $0x7100363f // cmp w17, #13 + WORD $0x387c6b68 // ldrb w8, [x27, x28] + WORD $0x7100351f // cmp w8, #13 WORD $0x54000100 // b.eq LBB0_6 $32(%rip) - WORD $0x7100823f // cmp w17, #32 + WORD $0x7100811f // cmp w8, #32 WORD $0x540000c0 // b.eq LBB0_6 $24(%rip) - WORD $0x51002e31 // sub w17, w17, #11 - WORD $0x31000a3f // cmn w17, #2 + WORD $0x51002d08 // sub w8, w8, #11 + WORD $0x3100091f // cmn w8, #2 WORD $0x54000062 // b.hs LBB0_6 $12(%rip) - WORD $0xaa1c03fb // mov x27, x28 + WORD $0xaa1c03e8 // mov x8, x28 WORD $0x14000031 // b LBB0_22 $196(%rip) LBB0_6: - WORD $0x9100079b // add x27, x28, #1 - WORD $0xeb08037f // cmp x27, x8 + WORD $0x91000788 // add x8, x28, #1 + WORD $0xeb0e011f // cmp x8, x14 WORD $0x54000122 // b.hs LBB0_10 $36(%rip) - WORD $0x387b6931 // ldrb w17, [x9, x27] - WORD $0x7100363f // cmp w17, #13 + WORD $0x38686b60 // ldrb w0, [x27, x8] + WORD $0x7100341f // cmp w0, #13 WORD $0x540000c0 // b.eq LBB0_10 $24(%rip) - WORD $0x7100823f // cmp w17, #32 + WORD $0x7100801f // cmp w0, #32 WORD $0x54000080 // b.eq LBB0_10 $16(%rip) - WORD $0x51002e31 // sub w17, w17, #11 - WORD $0x31000a3f // cmn w17, #2 + WORD $0x51002c00 // sub w0, w0, #11 + WORD $0x3100081f // cmn w0, #2 WORD $0x540004c3 // b.lo LBB0_22 $152(%rip) LBB0_10: - WORD $0x91000b9b // add x27, x28, #2 - WORD $0xeb08037f // cmp x27, x8 + WORD $0x91000b88 // add x8, x28, #2 + WORD $0xeb0e011f // cmp x8, x14 WORD $0x54000122 // b.hs LBB0_14 $36(%rip) - WORD $0x387b6931 // ldrb w17, [x9, x27] - WORD $0x7100363f // cmp w17, #13 + WORD $0x38686b60 // ldrb w0, [x27, x8] + WORD $0x7100341f // cmp w0, #13 WORD $0x540000c0 // b.eq LBB0_14 $24(%rip) - WORD $0x7100823f // cmp w17, #32 + WORD $0x7100801f // cmp w0, #32 WORD $0x54000080 // b.eq LBB0_14 $16(%rip) - WORD $0x51002e31 // sub w17, w17, #11 - WORD $0x31000a3f // cmn w17, #2 + WORD $0x51002c00 // sub w0, w0, #11 + WORD $0x3100081f // cmn w0, #2 WORD $0x54000363 // b.lo LBB0_22 $108(%rip) LBB0_14: - WORD $0x91000f9b // add x27, x28, #3 - WORD $0xeb08037f // cmp x27, x8 + WORD $0x91000f88 // add x8, x28, #3 + WORD $0xeb0e011f // cmp x8, x14 WORD $0x54000122 // b.hs LBB0_18 $36(%rip) - WORD $0x387b6931 // ldrb w17, [x9, x27] - WORD $0x7100363f // cmp w17, #13 + WORD $0x38686b60 // ldrb w0, [x27, x8] + WORD $0x7100341f // cmp w0, #13 WORD $0x540000c0 // b.eq LBB0_18 $24(%rip) - WORD $0x7100823f // cmp w17, #32 + WORD $0x7100801f // cmp w0, #32 WORD $0x54000080 // b.eq LBB0_18 $16(%rip) - WORD $0x51002e31 // sub w17, w17, #11 - WORD $0x31000a3f // cmn w17, #2 + WORD $0x51002c00 // sub w0, w0, #11 + WORD $0x3100081f // cmn w0, #2 WORD $0x54000203 // b.lo LBB0_22 $64(%rip) LBB0_18: - WORD $0x9100139b // add x27, x28, #4 - WORD $0xeb08037f // cmp x27, x8 - WORD $0x5400e902 // b.hs LBB0_395 $7456(%rip) + WORD $0x91001388 // add x8, x28, #4 + WORD $0xeb0e011f // cmp x8, x14 + WORD $0x540170a2 // b.hs LBB0_574 $11796(%rip) LBB0_19: - WORD $0x387b6931 // ldrb w17, [x9, x27] - WORD $0x7100823f // cmp w17, #32 - WORD $0x9ad121f1 // lsl x17, x15, x17 - WORD $0x8a100231 // and x17, x17, x16 - WORD $0xfa409a24 // ccmp x17, #0, #4, ls + WORD $0x38686b60 // ldrb w0, [x27, x8] + WORD $0x7100801f // cmp w0, #32 + WORD $0x9ac02180 // lsl x0, x12, x0 + WORD $0x8a0d0000 // and x0, x0, x13 + WORD $0xfa409804 // ccmp x0, #0, #4, ls WORD $0x540000a0 // b.eq LBB0_21 $20(%rip) - WORD $0x9100077b // add x27, x27, #1 - WORD $0xeb1b011f // cmp x8, x27 + WORD $0x91000508 // add x8, x8, #1 + WORD $0xeb0801df // cmp x14, x8 WORD $0x54ffff01 // b.ne LBB0_19 $-32(%rip) - WORD $0x14000735 // b LBB0_393 $7380(%rip) + WORD $0x14000b7c // b LBB0_575 $11760(%rip) LBB0_21: - WORD $0xeb08037f // cmp x27, x8 - WORD $0x5400e662 // b.hs LBB0_393 $7372(%rip) + WORD $0xeb0e011f // cmp x8, x14 + WORD $0x54016f42 // b.hs LBB0_575 $11752(%rip) LBB0_22: - WORD $0x9100077c // add x28, x27, #1 + WORD $0x9100051c // add x28, x8, #1 WORD $0xf900003c // str x28, [x1] - WORD $0x8b1b013e // add lr, x9, x27 - WORD $0x394003d5 // ldrb w21, [lr] - WORD $0x3400e5d5 // cbz w21, LBB0_393 $7352(%rip) - WORD $0xd10004b4 // sub x20, x5, #1 - WORD $0xf8747948 // ldr x8, [x10, x20, lsl #3] - WORD $0xb10005df // cmn x14, #1 - WORD $0x9a8e036e // csel x14, x27, x14, eq - WORD $0x71000d1f // cmp w8, #3 - WORD $0x54000c8c // b.gt LBB0_39 $400(%rip) - WORD $0x7100051f // cmp w8, #1 - WORD $0x540018c0 // b.eq LBB0_54 $792(%rip) - WORD $0x7100091f // cmp w8, #2 - WORD $0x54002c20 // b.eq LBB0_94 $1412(%rip) - WORD $0x71000d1f // cmp w8, #3 - WORD $0x540019c1 // b.ne LBB0_58 $824(%rip) - WORD $0x71008abf // cmp w21, #34 - WORD $0x5400f0e1 // b.ne LBB0_425 $7708(%rip) - WORD $0x3200f3e6 // mov w6, #1431655765 - WORD $0xf8347944 // str x4, [x10, x20, lsl #3] - WORD $0xf9400408 // ldr x8, [x0, #8] - WORD $0xeb1c0114 // subs x20, x8, x28 - WORD $0x372831a3 // tbnz w3, #5, LBB0_109 $1588(%rip) - WORD $0x5400e540 // b.eq LBB0_398 $7336(%rip) - WORD $0xf101029f // cmp x20, #64 - WORD $0x54009103 // b.lo LBB0_250 $4640(%rip) - WORD $0xd2800005 // mov x5, #0 - WORD $0x92800008 // mov x8, #-1 -LBB0_32: - WORD $0x8b1c0131 // add x17, x9, x28 - WORD $0xad405634 // ldp q20, q21, [x17] - WORD $0xad415e36 // ldp q22, q23, [x17, #32] - WORD $0x6e208e98 // cmeq.16b v24, v20, v0 - WORD $0x6e208eb9 // cmeq.16b v25, v21, v0 - WORD $0x6e208eda // cmeq.16b v26, v22, v0 - WORD $0x6e208efb // cmeq.16b v27, v23, v0 - WORD $0x6e218e94 // cmeq.16b v20, v20, v1 - WORD $0x6e218eb5 // cmeq.16b v21, v21, v1 - WORD $0x6e218ed6 // cmeq.16b v22, v22, v1 - WORD $0x6e218ef7 // cmeq.16b v23, v23, v1 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260311 // fmov w17, s24 - WORD $0x4e221f38 // and.16b v24, v25, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260307 // fmov w7, s24 - WORD $0x4e221f58 // and.16b v24, v26, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260315 // fmov w21, s24 - WORD $0x4e221f78 // and.16b v24, v27, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260316 // fmov w22, s24 - WORD $0x4e221e94 // and.16b v20, v20, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260297 // fmov w23, s20 - WORD $0x4e221eb4 // and.16b v20, v21, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260298 // fmov w24, s20 - WORD $0x4e221ed4 // and.16b v20, v22, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260299 // fmov w25, s20 - WORD $0x4e221ef4 // and.16b v20, v23, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e26029a // fmov w26, s20 - WORD $0xd3607eb5 // lsl x21, x21, #32 - WORD $0xaa16c2b5 // orr x21, x21, x22, lsl #48 - WORD $0x53103ce7 // lsl w7, w7, #16 - WORD $0xaa0702a7 // orr x7, x21, x7 - WORD $0xaa1100e7 // orr x7, x7, x17 - WORD $0xd3607f31 // lsl x17, x25, #32 - WORD $0xaa1ac231 // orr x17, x17, x26, lsl #48 - WORD $0x53103f15 // lsl w21, w24, #16 - WORD $0xaa150231 // orr x17, x17, x21 - WORD $0xaa170231 // orr x17, x17, x23 - WORD $0xb5000111 // cbnz x17, LBB0_36 $32(%rip) - WORD $0xb5000185 // cbnz x5, LBB0_37 $48(%rip) - WORD $0xb50002c7 // cbnz x7, LBB0_38 $88(%rip) -LBB0_35: - WORD $0xd1010294 // sub x20, x20, #64 - WORD $0x9101039c // add x28, x28, #64 - WORD $0xf100fe9f // cmp x20, #63 - WORD $0x54fff8a8 // b.hi LBB0_32 $-236(%rip) - WORD $0x14000441 // b LBB0_247 $4356(%rip) + WORD $0x8b08037e // add lr, x27, x8 + WORD $0x394003c5 // ldrb w5, [lr] + WORD $0x34016ea5 // cbz w5, LBB0_575 $11732(%rip) + WORD $0xd100066e // sub x14, x19, #1 + WORD $0xf86e7920 // ldr x0, [x9, x14, lsl #3] + WORD $0xb100057f // cmn x11, #1 + WORD $0x9a8b010b // csel x11, x8, x11, eq + WORD $0x71000c1f // cmp w0, #3 + WORD $0x54000ccc // b.gt LBB0_40 $408(%rip) + WORD $0x7100041f // cmp w0, #1 + WORD $0x54001940 // b.eq LBB0_56 $808(%rip) + WORD $0x7100081f // cmp w0, #2 + WORD $0x54002cc0 // b.eq LBB0_97 $1432(%rip) + WORD $0x71000c1f // cmp w0, #3 + WORD $0x540019e1 // b.ne LBB0_60 $828(%rip) + WORD $0x710088bf // cmp w5, #34 + WORD $0x54015fa1 // b.ne LBB0_540 $11252(%rip) + WORD $0xf82e792f // str x15, [x9, x14, lsl #3] + WORD $0x373031a3 // tbnz w3, #6, LBB0_113 $1588(%rip) + WORD $0xf94004ce // ldr x14, [x6, #8] + WORD $0xeb1c01d6 // subs x22, x14, x28 + WORD $0x37284563 // tbnz w3, #5, LBB0_141 $2220(%rip) + WORD $0x54015fa0 // b.eq LBB0_543 $11252(%rip) + WORD $0xf10102df // cmp x22, #64 + WORD $0x5400f843 // b.lo LBB0_365 $7944(%rip) + WORD $0xd2800013 // mov x19, #0 + WORD $0x92800000 // mov x0, #-1 +LBB0_33: + WORD $0x8b1c036e // add x14, x27, x28 + WORD $0xad406dda // ldp q26, q27, [x14] + WORD $0xad4175dc // ldp q28, q29, [x14, #32] + WORD $0x6e208f5e // cmeq.16b v30, v26, v0 + WORD $0x6e208f7f // cmeq.16b v31, v27, v0 + WORD $0x6e208f88 // cmeq.16b v8, v28, v0 + WORD $0x6e208fa9 // cmeq.16b v9, v29, v0 + WORD $0x6e218f5a // cmeq.16b v26, v26, v1 + WORD $0x6e218f7b // cmeq.16b v27, v27, v1 + WORD $0x6e218f9c // cmeq.16b v28, v28, v1 + WORD $0x6e218fbd // cmeq.16b v29, v29, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603ce // fmov w14, s30 + WORD $0x4e221ffe // and.16b v30, v31, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603c5 // fmov w5, s30 + WORD $0x4e221d1e // and.16b v30, v8, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d4 // fmov w20, s30 + WORD $0x4e221d3e // and.16b v30, v9, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d5 // fmov w21, s30 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260357 // fmov w23, s26 + WORD $0x4e221f7a // and.16b v26, v27, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260358 // fmov w24, s26 + WORD $0x4e221f9a // and.16b v26, v28, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260359 // fmov w25, s26 + WORD $0x4e221fba // and.16b v26, v29, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e26035a // fmov w26, s26 + WORD $0xd3607e94 // lsl x20, x20, #32 + WORD $0xaa15c294 // orr x20, x20, x21, lsl #48 + WORD $0x53103ca5 // lsl w5, w5, #16 + WORD $0xaa050285 // orr x5, x20, x5 + WORD $0xaa0e00ae // orr x14, x5, x14 + WORD $0xd3607f25 // lsl x5, x25, #32 + WORD $0xaa1ac0a5 // orr x5, x5, x26, lsl #48 + WORD $0x53103f14 // lsl w20, w24, #16 + WORD $0xaa1400a5 // orr x5, x5, x20 + WORD $0xaa1700a5 // orr x5, x5, x23 + WORD $0xb5000105 // cbnz x5, LBB0_37 $32(%rip) + WORD $0xb5000193 // cbnz x19, LBB0_38 $48(%rip) + WORD $0xb50002ce // cbnz x14, LBB0_39 $88(%rip) LBB0_36: - WORD $0xb100051f // cmn x8, #1 - WORD $0xdac00235 // rbit x21, x17 - WORD $0xdac012b5 // clz x21, x21 - WORD $0x8b1c02b5 // add x21, x21, x28 - WORD $0x9a951108 // csel x8, x8, x21, ne + WORD $0xd10102d6 // sub x22, x22, #64 + WORD $0x9101039c // add x28, x28, #64 + WORD $0xf100fedf // cmp x22, #63 + WORD $0x54fff8a8 // b.hi LBB0_33 $-236(%rip) + WORD $0x14000777 // b LBB0_361 $7644(%rip) LBB0_37: - WORD $0x8a250235 // bic x21, x17, x5 - WORD $0xaa1504b6 // orr x22, x5, x21, lsl #1 - WORD $0x8a360231 // bic x17, x17, x22 - WORD $0x9201f231 // and x17, x17, #0xaaaaaaaaaaaaaaaa - WORD $0xab150231 // adds x17, x17, x21 - WORD $0x1a9f37e5 // cset w5, hs - WORD $0xd37ffa31 // lsl x17, x17, #1 - WORD $0xd200f231 // eor x17, x17, #0x5555555555555555 - WORD $0x8a160231 // and x17, x17, x22 - WORD $0x8a3100e7 // bic x7, x7, x17 - WORD $0xb4fffd87 // cbz x7, LBB0_35 $-80(%rip) + WORD $0xb100041f // cmn x0, #1 + WORD $0xdac000b4 // rbit x20, x5 + WORD $0xdac01294 // clz x20, x20 + WORD $0x8b1c0294 // add x20, x20, x28 + WORD $0x9a941000 // csel x0, x0, x20, ne LBB0_38: - WORD $0xdac000f1 // rbit x17, x7 - WORD $0xdac01231 // clz x17, x17 - WORD $0x8b1c0231 // add x17, x17, x28 - WORD $0x140001aa // b LBB0_121 $1704(%rip) + WORD $0x8a3300b4 // bic x20, x5, x19 + WORD $0xaa140675 // orr x21, x19, x20, lsl #1 + WORD $0x8a3500a5 // bic x5, x5, x21 + WORD $0x9201f0a5 // and x5, x5, #0xaaaaaaaaaaaaaaaa + WORD $0xab1400a5 // adds x5, x5, x20 + WORD $0x1a9f37f3 // cset w19, hs + WORD $0xd37ff8a5 // lsl x5, x5, #1 + WORD $0xd200f0a5 // eor x5, x5, #0x5555555555555555 + WORD $0x8a1500a5 // and x5, x5, x21 + WORD $0x8a2501ce // bic x14, x14, x5 + WORD $0xb4fffd8e // cbz x14, LBB0_36 $-80(%rip) LBB0_39: - WORD $0x7100111f // cmp w8, #4 - WORD $0x54000d00 // b.eq LBB0_56 $416(%rip) - WORD $0x7100151f // cmp w8, #5 - WORD $0x54002060 // b.eq LBB0_96 $1036(%rip) - WORD $0x7100191f // cmp w8, #6 - WORD $0x54000d61 // b.ne LBB0_58 $428(%rip) - WORD $0x71008abf // cmp w21, #34 - WORD $0x54001f81 // b.ne LBB0_95 $1008(%rip) - WORD $0x3200f3e4 // mov w4, #1431655765 - WORD $0x52800048 // mov w8, #2 - WORD $0xf8347948 // str x8, [x10, x20, lsl #3] - WORD $0xf9400408 // ldr x8, [x0, #8] - WORD $0xeb1c0114 // subs x20, x8, x28 - WORD $0x37283923 // tbnz w3, #5, LBB0_138 $1828(%rip) - WORD $0x5400d8c0 // b.eq LBB0_398 $6936(%rip) - WORD $0xf101029f // cmp x20, #64 - WORD $0x54009423 // b.lo LBB0_277 $4740(%rip) - WORD $0xd2800005 // mov x5, #0 - WORD $0x92800008 // mov x8, #-1 -LBB0_47: - WORD $0x8b1c0131 // add x17, x9, x28 - WORD $0xad405634 // ldp q20, q21, [x17] - WORD $0xad415e36 // ldp q22, q23, [x17, #32] - WORD $0x6e208e98 // cmeq.16b v24, v20, v0 - WORD $0x6e208eb9 // cmeq.16b v25, v21, v0 - WORD $0x6e208eda // cmeq.16b v26, v22, v0 - WORD $0x6e208efb // cmeq.16b v27, v23, v0 - WORD $0x6e218e94 // cmeq.16b v20, v20, v1 - WORD $0x6e218eb5 // cmeq.16b v21, v21, v1 - WORD $0x6e218ed6 // cmeq.16b v22, v22, v1 - WORD $0x6e218ef7 // cmeq.16b v23, v23, v1 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260311 // fmov w17, s24 - WORD $0x4e221f38 // and.16b v24, v25, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260307 // fmov w7, s24 - WORD $0x4e221f58 // and.16b v24, v26, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260315 // fmov w21, s24 - WORD $0x4e221f78 // and.16b v24, v27, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260316 // fmov w22, s24 - WORD $0x4e221e94 // and.16b v20, v20, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260297 // fmov w23, s20 - WORD $0x4e221eb4 // and.16b v20, v21, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260298 // fmov w24, s20 - WORD $0x4e221ed4 // and.16b v20, v22, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260299 // fmov w25, s20 - WORD $0x4e221ef4 // and.16b v20, v23, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e26029a // fmov w26, s20 - WORD $0xd3607eb5 // lsl x21, x21, #32 - WORD $0xaa16c2b5 // orr x21, x21, x22, lsl #48 - WORD $0x53103ce7 // lsl w7, w7, #16 - WORD $0xaa0702a7 // orr x7, x21, x7 - WORD $0xaa1100e7 // orr x7, x7, x17 - WORD $0xd3607f31 // lsl x17, x25, #32 - WORD $0xaa1ac231 // orr x17, x17, x26, lsl #48 - WORD $0x53103f15 // lsl w21, w24, #16 - WORD $0xaa150231 // orr x17, x17, x21 - WORD $0xaa170231 // orr x17, x17, x23 - WORD $0xb5000111 // cbnz x17, LBB0_51 $32(%rip) - WORD $0xb5000185 // cbnz x5, LBB0_52 $48(%rip) - WORD $0xb50002c7 // cbnz x7, LBB0_53 $88(%rip) -LBB0_50: - WORD $0xd1010294 // sub x20, x20, #64 - WORD $0x9101039c // add x28, x28, #64 - WORD $0xf100fe9f // cmp x20, #63 - WORD $0x54fff8a8 // b.hi LBB0_47 $-236(%rip) - WORD $0x1400045e // b LBB0_275 $4472(%rip) -LBB0_51: - WORD $0xb100051f // cmn x8, #1 - WORD $0xdac00235 // rbit x21, x17 - WORD $0xdac012b5 // clz x21, x21 - WORD $0x8b1c02b5 // add x21, x21, x28 - WORD $0x9a951108 // csel x8, x8, x21, ne + WORD $0xdac001ce // rbit x14, x14 + WORD $0xdac011ce // clz x14, x14 + WORD $0x8b1c01ce // add x14, x14, x28 + WORD $0x910005dc // add x28, x14, #1 + WORD $0xb6f8babc // tbz x28, #63, LBB0_283 $5972(%rip) + WORD $0x14000aa4 // b LBB0_542 $10896(%rip) +LBB0_40: + WORD $0x7100101f // cmp w0, #4 + WORD $0x54000d40 // b.eq LBB0_58 $424(%rip) + WORD $0x7100141f // cmp w0, #5 + WORD $0x540020c0 // b.eq LBB0_99 $1048(%rip) + WORD $0x7100181f // cmp w0, #6 + WORD $0x54000d41 // b.ne LBB0_60 $424(%rip) + WORD $0x710088bf // cmp w5, #34 + WORD $0x54001fe1 // b.ne LBB0_98 $1020(%rip) + WORD $0x52800040 // mov w0, #2 + WORD $0xf82e7920 // str x0, [x9, x14, lsl #3] + WORD $0x37303143 // tbnz w3, #6, LBB0_132 $1576(%rip) + WORD $0xf94004ce // ldr x14, [x6, #8] + WORD $0xeb1c01d6 // subs x22, x14, x28 + WORD $0x37285103 // tbnz w3, #5, LBB0_182 $2592(%rip) + WORD $0x540152e0 // b.eq LBB0_543 $10844(%rip) + WORD $0xf10102df // cmp x22, #64 + WORD $0x5400fba3 // b.lo LBB0_393 $8052(%rip) + WORD $0xd2800013 // mov x19, #0 + WORD $0x92800000 // mov x0, #-1 +LBB0_49: + WORD $0x8b1c036e // add x14, x27, x28 + WORD $0xad406dda // ldp q26, q27, [x14] + WORD $0xad4175dc // ldp q28, q29, [x14, #32] + WORD $0x6e208f5e // cmeq.16b v30, v26, v0 + WORD $0x6e208f7f // cmeq.16b v31, v27, v0 + WORD $0x6e208f88 // cmeq.16b v8, v28, v0 + WORD $0x6e208fa9 // cmeq.16b v9, v29, v0 + WORD $0x6e218f5a // cmeq.16b v26, v26, v1 + WORD $0x6e218f7b // cmeq.16b v27, v27, v1 + WORD $0x6e218f9c // cmeq.16b v28, v28, v1 + WORD $0x6e218fbd // cmeq.16b v29, v29, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603ce // fmov w14, s30 + WORD $0x4e221ffe // and.16b v30, v31, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603c5 // fmov w5, s30 + WORD $0x4e221d1e // and.16b v30, v8, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d4 // fmov w20, s30 + WORD $0x4e221d3e // and.16b v30, v9, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d5 // fmov w21, s30 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260357 // fmov w23, s26 + WORD $0x4e221f7a // and.16b v26, v27, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260358 // fmov w24, s26 + WORD $0x4e221f9a // and.16b v26, v28, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260359 // fmov w25, s26 + WORD $0x4e221fba // and.16b v26, v29, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e26035a // fmov w26, s26 + WORD $0xd3607e94 // lsl x20, x20, #32 + WORD $0xaa15c294 // orr x20, x20, x21, lsl #48 + WORD $0x53103ca5 // lsl w5, w5, #16 + WORD $0xaa050285 // orr x5, x20, x5 + WORD $0xaa0e00ae // orr x14, x5, x14 + WORD $0xd3607f25 // lsl x5, x25, #32 + WORD $0xaa1ac0a5 // orr x5, x5, x26, lsl #48 + WORD $0x53103f14 // lsl w20, w24, #16 + WORD $0xaa1400a5 // orr x5, x5, x20 + WORD $0xaa1700a5 // orr x5, x5, x23 + WORD $0xb5000105 // cbnz x5, LBB0_53 $32(%rip) + WORD $0xb5000193 // cbnz x19, LBB0_54 $48(%rip) + WORD $0xb50002ce // cbnz x14, LBB0_55 $88(%rip) LBB0_52: - WORD $0x8a250235 // bic x21, x17, x5 - WORD $0xaa1504b6 // orr x22, x5, x21, lsl #1 - WORD $0x8a360231 // bic x17, x17, x22 - WORD $0x9201f231 // and x17, x17, #0xaaaaaaaaaaaaaaaa - WORD $0xab150231 // adds x17, x17, x21 - WORD $0x1a9f37e5 // cset w5, hs - WORD $0xd37ffa31 // lsl x17, x17, #1 - WORD $0xd200f231 // eor x17, x17, #0x5555555555555555 - WORD $0x8a160231 // and x17, x17, x22 - WORD $0x8a3100e7 // bic x7, x7, x17 - WORD $0xb4fffd87 // cbz x7, LBB0_50 $-80(%rip) + WORD $0xd10102d6 // sub x22, x22, #64 + WORD $0x9101039c // add x28, x28, #64 + WORD $0xf100fedf // cmp x22, #63 + WORD $0x54fff8a8 // b.hi LBB0_49 $-236(%rip) + WORD $0x1400079a // b LBB0_391 $7784(%rip) LBB0_53: - WORD $0xdac000f1 // rbit x17, x7 - WORD $0xdac01231 // clz x17, x17 - WORD $0x8b1c0231 // add x17, x17, x28 - WORD $0x140001e6 // b LBB0_150 $1944(%rip) + WORD $0xb100041f // cmn x0, #1 + WORD $0xdac000b4 // rbit x20, x5 + WORD $0xdac01294 // clz x20, x20 + WORD $0x8b1c0294 // add x20, x20, x28 + WORD $0x9a941000 // csel x0, x0, x20, ne LBB0_54: - WORD $0x7100b2bf // cmp w21, #44 - WORD $0x540017e0 // b.eq LBB0_105 $764(%rip) - WORD $0x710176bf // cmp w21, #93 - WORD $0x54001420 // b.eq LBB0_97 $644(%rip) - WORD $0x140006c3 // b LBB0_425 $6924(%rip) + WORD $0x8a3300b4 // bic x20, x5, x19 + WORD $0xaa140675 // orr x21, x19, x20, lsl #1 + WORD $0x8a3500a5 // bic x5, x5, x21 + WORD $0x9201f0a5 // and x5, x5, #0xaaaaaaaaaaaaaaaa + WORD $0xab1400a5 // adds x5, x5, x20 + WORD $0x1a9f37f3 // cset w19, hs + WORD $0xd37ff8a5 // lsl x5, x5, #1 + WORD $0xd200f0a5 // eor x5, x5, #0x5555555555555555 + WORD $0x8a1500a5 // and x5, x5, x21 + WORD $0x8a2501ce // bic x14, x14, x5 + WORD $0xb4fffd8e // cbz x14, LBB0_52 $-80(%rip) +LBB0_55: + WORD $0xdac001ce // rbit x14, x14 + WORD $0xdac011ce // clz x14, x14 + WORD $0x8b1c01ce // add x14, x14, x28 + WORD $0x910005dc // add x28, x14, #1 + WORD $0xb6f854dc // tbz x28, #63, LBB0_194 $2712(%rip) + WORD $0x14000a3e // b LBB0_542 $10488(%rip) LBB0_56: - WORD $0x7100eabf // cmp w21, #58 - WORD $0x5400d821 // b.ne LBB0_425 $6916(%rip) - WORD $0xf834795f // str xzr, [x10, x20, lsl #3] - WORD $0xf9400045 // ldr x5, [x2] - WORD $0xaa0e03e8 // mov x8, x14 - WORD $0xb5ffdce5 // cbnz x5, LBB0_1 $-1124(%rip) - WORD $0x14000656 // b LBB0_394 $6488(%rip) + WORD $0x7100b0bf // cmp w5, #44 + WORD $0x540017c0 // b.eq LBB0_109 $760(%rip) + WORD $0x710174bf // cmp w5, #93 + WORD $0x54001440 // b.eq LBB0_100 $648(%rip) + WORD $0x14000a35 // b LBB0_540 $10452(%rip) LBB0_58: - WORD $0xf9000054 // str x20, [x2] - WORD $0x92800028 // mov x8, #-2 - WORD $0x71016abf // cmp w21, #90 - WORD $0x540013cc // b.gt LBB0_99 $632(%rip) -LBB0_59: - WORD $0x5100c2b1 // sub w17, w21, #48 - WORD $0x71002a3f // cmp w17, #10 - WORD $0x54003d02 // b.hs LBB0_154 $1952(%rip) - WORD $0xf9400408 // ldr x8, [x0, #8] - WORD $0xeb1b0115 // subs x21, x8, x27 - WORD $0x5400cbc0 // b.eq LBB0_399 $6520(%rip) - WORD $0x394003c8 // ldrb w8, [lr] - WORD $0x7100c11f // cmp w8, #48 - WORD $0x54000141 // b.ne LBB0_65 $40(%rip) - WORD $0xf10006bf // cmp x21, #1 - WORD $0x54004280 // b.eq LBB0_170 $2128(%rip) - WORD $0x387c6928 // ldrb w8, [x9, x28] - WORD $0x5100b908 // sub w8, w8, #46 - WORD $0x7100dd1f // cmp w8, #55 - WORD $0x54004208 // b.hi LBB0_170 $2112(%rip) - WORD $0x9ac821e8 // lsl x8, x15, x8 - WORD $0xea07011f // tst x8, x7 - WORD $0x540041a0 // b.eq LBB0_170 $2100(%rip) -LBB0_65: - WORD $0xf10042bf // cmp x21, #16 - WORD $0x5400a5c3 // b.lo LBB0_333 $5304(%rip) - WORD $0xd2800016 // mov x22, #0 + WORD $0x7100e8bf // cmp w5, #58 + WORD $0x54014661 // b.ne LBB0_540 $10444(%rip) + WORD $0xf82e793f // str xzr, [x9, x14, lsl #3] + WORD $0x14000569 // b LBB0_284 $5540(%rip) +LBB0_60: + WORD $0xf900004e // str x14, [x2] + WORD $0x92800020 // mov x0, #-2 + WORD $0x710168bf // cmp w5, #90 + WORD $0x5400144c // b.gt LBB0_102 $648(%rip) +LBB0_61: + WORD $0x5100c0ae // sub w14, w5, #48 + WORD $0x710029df // cmp w14, #10 + WORD $0x54003ba2 // b.hs LBB0_154 $1908(%rip) + WORD $0xf94004ce // ldr x14, [x6, #8] + WORD $0x37301ee3 // tbnz w3, #6, LBB0_120 $988(%rip) + WORD $0xeb0801da // subs x26, x14, x8 + WORD $0x540145e0 // b.eq LBB0_544 $10428(%rip) + WORD $0x394003ce // ldrb w14, [lr] + WORD $0x7100c1df // cmp w14, #48 + WORD $0x54000181 // b.ne LBB0_68 $48(%rip) + WORD $0xf100075f // cmp x26, #1 + WORD $0x5400aaa0 // b.eq LBB0_283 $5460(%rip) + WORD $0x387c6b6e // ldrb w14, [x27, x28] + WORD $0x5100b9ce // sub w14, w14, #46 + WORD $0x7100dddf // cmp w14, #55 + WORD $0x5400aa28 // b.hi LBB0_283 $5444(%rip) + WORD $0x9ace218e // lsl x14, x12, x14 + WORD $0xb20903e0 // mov x0, #36028797027352576 + WORD $0xf2800020 // movk x0, #1 + WORD $0xea0001df // tst x14, x0 + WORD $0x5400a980 // b.eq LBB0_283 $5424(%rip) +LBB0_68: + WORD $0xf100435f // cmp x26, #16 + WORD $0x54011203 // b.lo LBB0_456 $8768(%rip) + WORD $0xd280000e // mov x14, #0 WORD $0xd280001c // mov x28, #0 - WORD $0x92800014 // mov x20, #-1 - WORD $0x92800005 // mov x5, #-1 - WORD $0x92800008 // mov x8, #-1 -LBB0_67: - WORD $0x3cfc6bd4 // ldr q20, [lr, x28] - WORD $0x6e258e95 // cmeq.16b v21, v20, v5 - WORD $0x6e268e96 // cmeq.16b v22, v20, v6 - WORD $0x6e278e97 // cmeq.16b v23, v20, v7 - WORD $0x4e308698 // add.16b v24, v20, v16 - WORD $0x6e383638 // cmhi.16b v24, v17, v24 - WORD $0x4e321e94 // and.16b v20, v20, v18 - WORD $0x6e338e94 // cmeq.16b v20, v20, v19 - WORD $0x4eb71ed6 // orr.16b v22, v22, v23 - WORD $0x4eb51f17 // orr.16b v23, v24, v21 - WORD $0x4eb61e98 // orr.16b v24, v20, v22 - WORD $0x4eb81ef7 // orr.16b v23, v23, v24 - WORD $0x4e221eb5 // and.16b v21, v21, v2 - WORD $0x4e0302b5 // tbl.16b v21, { v21 }, v3 - WORD $0x4e71bab5 // addv.8h h21, v21 - WORD $0x1e2602b1 // fmov w17, s21 - WORD $0x4e221e94 // and.16b v20, v20, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260297 // fmov w23, s20 - WORD $0x4e221ed4 // and.16b v20, v22, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260299 // fmov w25, s20 - WORD $0x4e221ef4 // and.16b v20, v23, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260287 // fmov w7, s20 - WORD $0x2a2703e7 // mvn w7, w7 - WORD $0x32103ce7 // orr w7, w7, #0xffff0000 - WORD $0x5ac000e7 // rbit w7, w7 - WORD $0x5ac010e7 // clz w7, w7 - WORD $0x12800004 // mov w4, #-1 - WORD $0x1ac72098 // lsl w24, w4, w7 - WORD $0x0a38023a // bic w26, w17, w24 - WORD $0x0a3802e4 // bic w4, w23, w24 - WORD $0x0a380326 // bic w6, w25, w24 - WORD $0x710040ff // cmp w7, #16 - WORD $0x1a9a0231 // csel w17, w17, w26, eq - WORD $0x1a8402f8 // csel w24, w23, w4, eq - WORD $0x1a860337 // csel w23, w25, w6, eq - WORD $0x51000624 // sub w4, w17, #1 - WORD $0x6a110099 // ands w25, w4, w17 - WORD $0x54006d81 // b.ne LBB0_245 $3504(%rip) - WORD $0x51000704 // sub w4, w24, #1 - WORD $0x6a180099 // ands w25, w4, w24 - WORD $0x54006d21 // b.ne LBB0_245 $3492(%rip) - WORD $0x510006e4 // sub w4, w23, #1 - WORD $0x6a170099 // ands w25, w4, w23 - WORD $0x54006cc1 // b.ne LBB0_245 $3480(%rip) - WORD $0x340000d1 // cbz w17, LBB0_73 $24(%rip) - WORD $0x5ac00231 // rbit w17, w17 - WORD $0x5ac01231 // clz w17, w17 - WORD $0xb100051f // cmn x8, #1 - WORD $0x54006cc1 // b.ne LBB0_246 $3480(%rip) - WORD $0x8b110388 // add x8, x28, x17 -LBB0_73: - WORD $0x340000d8 // cbz w24, LBB0_76 $24(%rip) - WORD $0x5ac00311 // rbit w17, w24 - WORD $0x5ac01231 // clz w17, w17 - WORD $0xb10004bf // cmn x5, #1 - WORD $0x54006c01 // b.ne LBB0_246 $3456(%rip) - WORD $0x8b110385 // add x5, x28, x17 + WORD $0x92800016 // mov x22, #-1 + WORD $0x92800013 // mov x19, #-1 + WORD $0x92800000 // mov x0, #-1 +LBB0_70: + WORD $0x3cfc6bda // ldr q26, [lr, x28] + WORD $0x6e258f5b // cmeq.16b v27, v26, v5 + WORD $0x6e268f5c // cmeq.16b v28, v26, v6 + WORD $0x6e278f5d // cmeq.16b v29, v26, v7 + WORD $0x4e30875e // add.16b v30, v26, v16 + WORD $0x6e3e363e // cmhi.16b v30, v17, v30 + WORD $0x4e321f5a // and.16b v26, v26, v18 + WORD $0x6e338f5a // cmeq.16b v26, v26, v19 + WORD $0x4ebd1f9c // orr.16b v28, v28, v29 + WORD $0x4ebb1fdd // orr.16b v29, v30, v27 + WORD $0x4ebc1f5e // orr.16b v30, v26, v28 + WORD $0x4ebe1fbd // orr.16b v29, v29, v30 + WORD $0x4e221f7b // and.16b v27, v27, v2 + WORD $0x4e03037b // tbl.16b v27, { v27 }, v3 + WORD $0x4e71bb7b // addv.8h h27, v27 + WORD $0x1e260374 // fmov w20, s27 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260355 // fmov w21, s26 + WORD $0x4e221f9a // and.16b v26, v28, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260357 // fmov w23, s26 + WORD $0x4e221fba // and.16b v26, v29, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260345 // fmov w5, s26 + WORD $0x2a2503e5 // mvn w5, w5 + WORD $0x32103ca5 // orr w5, w5, #0xffff0000 + WORD $0x5ac000a5 // rbit w5, w5 + WORD $0x5ac010a5 // clz w5, w5 + WORD $0x1280000f // mov w15, #-1 + WORD $0x1ac521f8 // lsl w24, w15, w5 + WORD $0x0a380299 // bic w25, w20, w24 + WORD $0x0a3802af // bic w15, w21, w24 + WORD $0x0a3802f8 // bic w24, w23, w24 + WORD $0x710040bf // cmp w5, #16 + WORD $0x1a990294 // csel w20, w20, w25, eq + WORD $0x1a8f02b9 // csel w25, w21, w15, eq + WORD $0x1a9802f5 // csel w21, w23, w24, eq + WORD $0x5100068f // sub w15, w20, #1 + WORD $0x6a1401f7 // ands w23, w15, w20 + WORD $0x5400d341 // b.ne LBB0_358 $6760(%rip) + WORD $0x5100072f // sub w15, w25, #1 + WORD $0x6a1901f7 // ands w23, w15, w25 + WORD $0x5400d2e1 // b.ne LBB0_358 $6748(%rip) + WORD $0x510006af // sub w15, w21, #1 + WORD $0x6a1501f7 // ands w23, w15, w21 + WORD $0x5400d281 // b.ne LBB0_358 $6736(%rip) + WORD $0x340000d4 // cbz w20, LBB0_76 $24(%rip) + WORD $0x5ac0028f // rbit w15, w20 + WORD $0x5ac011f4 // clz w20, w15 + WORD $0xb100041f // cmn x0, #1 + WORD $0x5400d281 // b.ne LBB0_359 $6736(%rip) + WORD $0x8b140380 // add x0, x28, x20 LBB0_76: - WORD $0x340000d7 // cbz w23, LBB0_79 $24(%rip) - WORD $0x5ac002f1 // rbit w17, w23 - WORD $0x5ac01231 // clz w17, w17 - WORD $0xb100069f // cmn x20, #1 - WORD $0x54006b41 // b.ne LBB0_246 $3432(%rip) - WORD $0x8b110394 // add x20, x28, x17 + WORD $0x340000d9 // cbz w25, LBB0_79 $24(%rip) + WORD $0x5ac0032f // rbit w15, w25 + WORD $0x5ac011f4 // clz w20, w15 + WORD $0xb100067f // cmn x19, #1 + WORD $0x5400d1c1 // b.ne LBB0_359 $6712(%rip) + WORD $0x8b140393 // add x19, x28, x20 LBB0_79: - WORD $0x710040ff // cmp w7, #16 - WORD $0x54001bc1 // b.ne LBB0_123 $888(%rip) - WORD $0x9100439c // add x28, x28, #16 - WORD $0xd10042d6 // sub x22, x22, #16 - WORD $0x8b1602b7 // add x23, x21, x22 - WORD $0xf1003eff // cmp x23, #15 - WORD $0x54fff6c8 // b.hi LBB0_67 $-296(%rip) - WORD $0x8b1c03d6 // add x22, lr, x28 - WORD $0xeb1c02bf // cmp x21, x28 - WORD $0x54001b00 // b.eq LBB0_124 $864(%rip) + WORD $0x340000d5 // cbz w21, LBB0_82 $24(%rip) + WORD $0x5ac002af // rbit w15, w21 + WORD $0x5ac011f4 // clz w20, w15 + WORD $0xb10006df // cmn x22, #1 + WORD $0x5400d101 // b.ne LBB0_359 $6688(%rip) + WORD $0x8b140396 // add x22, x28, x20 LBB0_82: - WORD $0x8b1702d8 // add x24, x22, x23 - WORD $0x8b1b01b1 // add x17, x13, x27 - WORD $0xcb160235 // sub x21, x17, x22 - WORD $0xcb1e02c7 // sub x7, x22, lr - WORD $0xaa1603fc // mov x28, x22 - WORD $0x14000009 // b LBB0_85 $36(%rip) -LBB0_83: - WORD $0xb10004bf // cmn x5, #1 - WORD $0xaa0703e5 // mov x5, x7 - WORD $0x54001d81 // b.ne LBB0_136 $944(%rip) -LBB0_84: - WORD $0xd10006b5 // sub x21, x21, #1 - WORD $0x910004e7 // add x7, x7, #1 - WORD $0xaa1c03f6 // mov x22, x28 - WORD $0xd10006f7 // sub x23, x23, #1 - WORD $0xb40042d7 // cbz x23, LBB0_184 $2136(%rip) + WORD $0x710040bf // cmp w5, #16 + WORD $0x540033a1 // b.ne LBB0_166 $1652(%rip) + WORD $0x9100439c // add x28, x28, #16 + WORD $0xd10041ce // sub x14, x14, #16 + WORD $0x8b0e0345 // add x5, x26, x14 + WORD $0xf1003cbf // cmp x5, #15 + WORD $0x54fff6c8 // b.hi LBB0_70 $-296(%rip) + WORD $0x8b1c03d5 // add x21, lr, x28 + WORD $0xeb1c035f // cmp x26, x28 + WORD $0x540032e0 // b.eq LBB0_167 $1628(%rip) LBB0_85: - WORD $0x38401791 // ldrb w17, [x28], #1 - WORD $0x5100c224 // sub w4, w17, #48 - WORD $0x7100289f // cmp w4, #10 - WORD $0x54ffff03 // b.lo LBB0_84 $-32(%rip) - WORD $0x7100b63f // cmp w17, #45 - WORD $0x5400016d // b.le LBB0_91 $44(%rip) - WORD $0x7101963f // cmp w17, #101 - WORD $0x54fffe20 // b.eq LBB0_83 $-60(%rip) - WORD $0x7101163f // cmp w17, #69 - WORD $0x54fffde0 // b.eq LBB0_83 $-68(%rip) - WORD $0x7100ba3f // cmp w17, #46 - WORD $0x540017c1 // b.ne LBB0_124 $760(%rip) - WORD $0xb100051f // cmn x8, #1 - WORD $0xaa0703e8 // mov x8, x7 - WORD $0x54fffda0 // b.eq LBB0_84 $-76(%rip) - WORD $0x140000d7 // b LBB0_136 $860(%rip) -LBB0_91: - WORD $0x7100ae3f // cmp w17, #43 - WORD $0x54000060 // b.eq LBB0_93 $12(%rip) - WORD $0x7100b63f // cmp w17, #45 - WORD $0x540016c1 // b.ne LBB0_124 $728(%rip) -LBB0_93: - WORD $0xb100069f // cmn x20, #1 - WORD $0xaa0703f4 // mov x20, x7 - WORD $0x54fffca0 // b.eq LBB0_84 $-108(%rip) - WORD $0x140000cf // b LBB0_136 $828(%rip) + WORD $0x8b0502ba // add x26, x21, x5 + WORD $0xaa3503ee // mvn x14, x21 + WORD $0x8b1b010f // add x15, x8, x27 + WORD $0x8b0f01ce // add x14, x14, x15 + WORD $0xcb1e02bb // sub x27, x21, lr + WORD $0xaa1503fc // mov x28, x21 + WORD $0x14000009 // b LBB0_88 $36(%rip) +LBB0_86: + WORD $0xb100067f // cmn x19, #1 + WORD $0xaa1b03f3 // mov x19, x27 + WORD $0x54003561 // b.ne LBB0_179 $1708(%rip) +LBB0_87: + WORD $0xd10005ce // sub x14, x14, #1 + WORD $0x9100077b // add x27, x27, #1 + WORD $0xaa1c03f5 // mov x21, x28 + WORD $0xd10004a5 // sub x5, x5, #1 + WORD $0xb400a6c5 // cbz x5, LBB0_295 $5336(%rip) +LBB0_88: + WORD $0x38401794 // ldrb w20, [x28], #1 + WORD $0x5100c28f // sub w15, w20, #48 + WORD $0x710029ff // cmp w15, #10 + WORD $0x54ffff03 // b.lo LBB0_87 $-32(%rip) + WORD $0x7100b69f // cmp w20, #45 + WORD $0x5400016d // b.le LBB0_94 $44(%rip) + WORD $0x7101969f // cmp w20, #101 + WORD $0x54fffe20 // b.eq LBB0_86 $-60(%rip) + WORD $0x7101169f // cmp w20, #69 + WORD $0x54fffde0 // b.eq LBB0_86 $-68(%rip) + WORD $0x7100ba9f // cmp w20, #46 + WORD $0x54002f81 // b.ne LBB0_167 $1520(%rip) + WORD $0xb100041f // cmn x0, #1 + WORD $0xaa1b03e0 // mov x0, x27 + WORD $0x54fffda0 // b.eq LBB0_87 $-76(%rip) + WORD $0x14000196 // b LBB0_179 $1624(%rip) LBB0_94: - WORD $0x7100b2bf // cmp w21, #44 - WORD $0x54000560 // b.eq LBB0_107 $172(%rip) -LBB0_95: - WORD $0x7101f6bf // cmp w21, #125 - WORD $0x54000080 // b.eq LBB0_97 $16(%rip) - WORD $0x14000626 // b LBB0_425 $6296(%rip) + WORD $0x7100ae9f // cmp w20, #43 + WORD $0x54000060 // b.eq LBB0_96 $12(%rip) + WORD $0x7100b69f // cmp w20, #45 + WORD $0x54002e81 // b.ne LBB0_167 $1488(%rip) LBB0_96: - WORD $0x710176bf // cmp w21, #93 - WORD $0x540000c1 // b.ne LBB0_98 $24(%rip) + WORD $0xb10006df // cmn x22, #1 + WORD $0xaa1b03f6 // mov x22, x27 + WORD $0x54fffca0 // b.eq LBB0_87 $-108(%rip) + WORD $0x1400018e // b LBB0_179 $1592(%rip) LBB0_97: - WORD $0xf9000054 // str x20, [x2] - WORD $0xaa1403e5 // mov x5, x20 - WORD $0xaa0e03e8 // mov x8, x14 - WORD $0xb5ffc954 // cbnz x20, LBB0_1 $-1752(%rip) - WORD $0x140005b9 // b LBB0_394 $5860(%rip) + WORD $0x7100b0bf // cmp w5, #44 + WORD $0x540004c0 // b.eq LBB0_111 $152(%rip) LBB0_98: - WORD $0xf834794f // str x15, [x10, x20, lsl #3] - WORD $0x92800028 // mov x8, #-2 - WORD $0x71016abf // cmp w21, #90 - WORD $0x54ffec8d // b.le LBB0_59 $-624(%rip) + WORD $0x7101f4bf // cmp w5, #125 + WORD $0x54000080 // b.eq LBB0_100 $16(%rip) + WORD $0x14000997 // b LBB0_540 $9820(%rip) LBB0_99: - WORD $0x7101b6bf // cmp w21, #109 - WORD $0x54002bad // b.le LBB0_160 $1396(%rip) - WORD $0x7101babf // cmp w21, #110 - WORD $0x54002e80 // b.eq LBB0_167 $1488(%rip) - WORD $0x7101d2bf // cmp w21, #116 - WORD $0x54002d00 // b.eq LBB0_165 $1440(%rip) - WORD $0x7101eebf // cmp w21, #123 - WORD $0x5400b5a1 // b.ne LBB0_394 $5812(%rip) + WORD $0x710174bf // cmp w5, #93 + WORD $0x540000c1 // b.ne LBB0_101 $24(%rip) +LBB0_100: + WORD $0xf900004e // str x14, [x2] + WORD $0xaa0e03f3 // mov x19, x14 + WORD $0xaa0b03e0 // mov x0, x11 + WORD $0xb5ffc8ae // cbnz x14, LBB0_1 $-1772(%rip) + WORD $0x140009fb // b LBB0_576 $10220(%rip) +LBB0_101: + WORD $0xf82e792c // str x12, [x9, x14, lsl #3] + WORD $0x92800020 // mov x0, #-2 + WORD $0x710168bf // cmp w5, #90 + WORD $0x54ffec0d // b.le LBB0_61 $-640(%rip) +LBB0_102: + WORD $0x7101b4bf // cmp w5, #109 + WORD $0x540029ad // b.le LBB0_161 $1332(%rip) + WORD $0x7101b8bf // cmp w5, #110 + WORD $0x54004180 // b.eq LBB0_200 $2096(%rip) + WORD $0x7101d0bf // cmp w5, #116 + WORD $0x54003fa0 // b.eq LBB0_197 $2036(%rip) + WORD $0x7101ecbf // cmp w5, #123 + WORD $0x54013de1 // b.ne LBB0_576 $10172(%rip) + WORD $0x37305063 // tbnz w3, #6, LBB0_219 $2572(%rip) WORD $0xf9400048 // ldr x8, [x2] WORD $0xf13ffd1f // cmp x8, #4095 - WORD $0x5400b6ac // b.gt LBB0_396 $5844(%rip) - WORD $0x91000511 // add x17, x8, #1 - WORD $0xf9000051 // str x17, [x2] - WORD $0x528000d1 // mov w17, #6 - WORD $0xf8287951 // str x17, [x10, x8, lsl #3] - WORD $0xf9400045 // ldr x5, [x2] - WORD $0xaa0e03e8 // mov x8, x14 - WORD $0xb5ffc665 // cbnz x5, LBB0_1 $-1844(%rip) - WORD $0x140005a2 // b LBB0_394 $5768(%rip) -LBB0_105: - WORD $0xf13ffcbf // cmp x5, #4095 - WORD $0x5400b56c // b.gt LBB0_396 $5804(%rip) - WORD $0x910004a8 // add x8, x5, #1 + WORD $0x5401304c // b.gt LBB0_541 $9736(%rip) + WORD $0x9100050e // add x14, x8, #1 + WORD $0xf900004e // str x14, [x2] + WORD $0x528000ce // mov w14, #6 + WORD $0xf828792e // str x14, [x9, x8, lsl #3] + WORD $0x140004b3 // b LBB0_284 $4812(%rip) +LBB0_109: + WORD $0xf13ffe7f // cmp x19, #4095 + WORD $0x54012f6c // b.gt LBB0_541 $9708(%rip) + WORD $0x91000668 // add x8, x19, #1 WORD $0xf9000048 // str x8, [x2] - WORD $0xf825795f // str xzr, [x10, x5, lsl #3] - WORD $0xf9400045 // ldr x5, [x2] - WORD $0xaa0e03e8 // mov x8, x14 - WORD $0xb5ffc545 // cbnz x5, LBB0_1 $-1880(%rip) - WORD $0x14000599 // b LBB0_394 $5732(%rip) -LBB0_107: - WORD $0xf13ffcbf // cmp x5, #4095 - WORD $0x5400b44c // b.gt LBB0_396 $5768(%rip) - WORD $0x910004a8 // add x8, x5, #1 + WORD $0xf833793f // str xzr, [x9, x19, lsl #3] + WORD $0x140004ad // b LBB0_284 $4788(%rip) +LBB0_111: + WORD $0xf13ffe7f // cmp x19, #4095 + WORD $0x54012eac // b.gt LBB0_541 $9684(%rip) + WORD $0x91000668 // add x8, x19, #1 WORD $0xf9000048 // str x8, [x2] - WORD $0xf8257953 // str x19, [x10, x5, lsl #3] - WORD $0xf9400045 // ldr x5, [x2] - WORD $0xaa0e03e8 // mov x8, x14 - WORD $0xb5ffc425 // cbnz x5, LBB0_1 $-1916(%rip) - WORD $0x14000590 // b LBB0_394 $5696(%rip) -LBB0_109: - WORD $0x5400b3c0 // b.eq LBB0_398 $5752(%rip) - WORD $0xf101029f // cmp x20, #64 - WORD $0x54006403 // b.lo LBB0_256 $3200(%rip) + WORD $0xf8337927 // str x7, [x9, x19, lsl #3] + WORD $0x140004a7 // b LBB0_284 $4764(%rip) +LBB0_113: + WORD $0xf94004c0 // ldr x0, [x6, #8] + WORD $0xcb1c000e // sub x14, x0, x28 + WORD $0xf10081df // cmp x14, #32 + WORD $0x5400c50b // b.lt LBB0_360 $6304(%rip) + WORD $0xd280000e // mov x14, #0 WORD $0xd2800005 // mov x5, #0 - WORD $0x92800008 // mov x8, #-1 -LBB0_112: - WORD $0x8b1c0131 // add x17, x9, x28 - WORD $0xad405a37 // ldp q23, q22, [x17] - WORD $0xad415235 // ldp q21, q20, [x17, #32] - WORD $0x6e208ef8 // cmeq.16b v24, v23, v0 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260311 // fmov w17, s24 - WORD $0x6e208ed8 // cmeq.16b v24, v22, v0 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260307 // fmov w7, s24 - WORD $0x6e208eb8 // cmeq.16b v24, v21, v0 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260315 // fmov w21, s24 - WORD $0x6e208e98 // cmeq.16b v24, v20, v0 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260316 // fmov w22, s24 - WORD $0x6e218ef8 // cmeq.16b v24, v23, v1 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260317 // fmov w23, s24 - WORD $0x6e218ed8 // cmeq.16b v24, v22, v1 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260318 // fmov w24, s24 - WORD $0x6e218eb8 // cmeq.16b v24, v21, v1 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260319 // fmov w25, s24 - WORD $0x6e218e98 // cmeq.16b v24, v20, v1 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e26031a // fmov w26, s24 - WORD $0xd3607eb5 // lsl x21, x21, #32 - WORD $0xaa16c2b5 // orr x21, x21, x22, lsl #48 - WORD $0x53103ce7 // lsl w7, w7, #16 - WORD $0xaa0702a7 // orr x7, x21, x7 - WORD $0xaa1100e7 // orr x7, x7, x17 - WORD $0xd3607f31 // lsl x17, x25, #32 - WORD $0xaa1ac231 // orr x17, x17, x26, lsl #48 - WORD $0x53103f15 // lsl w21, w24, #16 - WORD $0xaa150231 // orr x17, x17, x21 - WORD $0xaa170231 // orr x17, x17, x23 - WORD $0xb5000451 // cbnz x17, LBB0_117 $136(%rip) - WORD $0xb50004c5 // cbnz x5, LBB0_118 $152(%rip) -LBB0_114: - WORD $0x6e373497 // cmhi.16b v23, v4, v23 - WORD $0x4e221ef7 // and.16b v23, v23, v2 - WORD $0x4e0302f7 // tbl.16b v23, { v23 }, v3 - WORD $0x4e71baf7 // addv.8h h23, v23 - WORD $0x1e2602f1 // fmov w17, s23 - WORD $0x6e363496 // cmhi.16b v22, v4, v22 - WORD $0x4e221ed6 // and.16b v22, v22, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602d5 // fmov w21, s22 - WORD $0x6e353495 // cmhi.16b v21, v4, v21 - WORD $0x4e221eb5 // and.16b v21, v21, v2 - WORD $0x4e0302b5 // tbl.16b v21, { v21 }, v3 - WORD $0x4e71bab5 // addv.8h h21, v21 - WORD $0x1e2602b6 // fmov w22, s21 - WORD $0x6e343494 // cmhi.16b v20, v4, v20 - WORD $0x4e221e94 // and.16b v20, v20, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260297 // fmov w23, s20 - WORD $0xd3607ed6 // lsl x22, x22, #32 - WORD $0xaa17c2d6 // orr x22, x22, x23, lsl #48 - WORD $0x53103eb5 // lsl w21, w21, #16 - WORD $0xaa1502d5 // orr x21, x22, x21 - WORD $0xaa1102b1 // orr x17, x21, x17 - WORD $0xb50002e7 // cbnz x7, LBB0_119 $92(%rip) - WORD $0xb500aa51 // cbnz x17, LBB0_404 $5448(%rip) - WORD $0xd1010294 // sub x20, x20, #64 - WORD $0x9101039c // add x28, x28, #64 + WORD $0xcb080000 // sub x0, x0, x8 + WORD $0x528003f3 // mov w19, #31 + WORD $0x14000008 // b LBB0_117 $32(%rip) +LBB0_115: + WORD $0xd2800005 // mov x5, #0 + WORD $0xb50005b5 // cbnz x21, LBB0_119 $180(%rip) +LBB0_116: + WORD $0x910081ce // add x14, x14, #32 + WORD $0xd1008273 // sub x19, x19, #32 + WORD $0x8b130014 // add x20, x0, x19 WORD $0xf100fe9f // cmp x20, #63 - WORD $0x54fff568 // b.hi LBB0_112 $-340(%rip) - WORD $0x1400029d // b LBB0_248 $2676(%rip) + WORD $0x5400c18d // b.le LBB0_356 $6192(%rip) LBB0_117: - WORD $0xb100051f // cmn x8, #1 - WORD $0xdac00235 // rbit x21, x17 - WORD $0xdac012b5 // clz x21, x21 - WORD $0x8b1c02b5 // add x21, x21, x28 - WORD $0x9a951108 // csel x8, x8, x21, ne -LBB0_118: - WORD $0x8a250235 // bic x21, x17, x5 - WORD $0xaa1504b6 // orr x22, x5, x21, lsl #1 - WORD $0x8a360231 // bic x17, x17, x22 - WORD $0x9201f231 // and x17, x17, #0xaaaaaaaaaaaaaaaa - WORD $0xab150231 // adds x17, x17, x21 + WORD $0x8b0e03d4 // add x20, lr, x14 + WORD $0x3cc0129a // ldur q26, [x20, #1] + WORD $0x3cc1129b // ldur q27, [x20, #17] + WORD $0x6e208f5c // cmeq.16b v28, v26, v0 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260395 // fmov w21, s28 + WORD $0x6e208f7c // cmeq.16b v28, v27, v0 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260394 // fmov w20, s28 + WORD $0x33103e95 // bfi w21, w20, #16, #16 + WORD $0x6e218f5a // cmeq.16b v26, v26, v1 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260354 // fmov w20, s26 + WORD $0x6e218f7a // cmeq.16b v26, v27, v1 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260356 // fmov w22, s26 + WORD $0x33103ed4 // bfi w20, w22, #16, #16 + WORD $0x7100029f // cmp w20, #0 + WORD $0xfa4008a0 // ccmp x5, #0, #0, eq + WORD $0x54fffbc0 // b.eq LBB0_115 $-136(%rip) + WORD $0x0a250296 // bic w22, w20, w5 + WORD $0x2a1604b7 // orr w23, w5, w22, lsl #1 + WORD $0x0a040285 // and w5, w20, w4 + WORD $0x0a3700a5 // bic w5, w5, w23 + WORD $0x2b1600b4 // adds w20, w5, w22 WORD $0x1a9f37e5 // cset w5, hs - WORD $0xd37ffa31 // lsl x17, x17, #1 - WORD $0xd200f231 // eor x17, x17, #0x5555555555555555 - WORD $0x8a160231 // and x17, x17, x22 - WORD $0x8a3100e7 // bic x7, x7, x17 - WORD $0x17ffffd1 // b LBB0_114 $-188(%rip) + WORD $0x4a140614 // eor w20, w16, w20, lsl #1 + WORD $0x0a170294 // and w20, w20, w23 + WORD $0x2a3403f4 // mvn w20, w20 + WORD $0x8a150295 // and x21, x20, x21 + WORD $0xb4fffab5 // cbz x21, LBB0_116 $-172(%rip) LBB0_119: - WORD $0xdac000e5 // rbit x5, x7 - WORD $0xdac010a5 // clz x5, x5 - WORD $0xdac00231 // rbit x17, x17 - WORD $0xdac01231 // clz x17, x17 - WORD $0xeb05023f // cmp x17, x5 - WORD $0x5400b123 // b.lo LBB0_427 $5668(%rip) + WORD $0xdac002a0 // rbit x0, x21 + WORD $0xdac01000 // clz x0, x0 + WORD $0x8b0e010e // add x14, x8, x14 + WORD $0x8b0e000e // add x14, x0, x14 + WORD $0x910009dc // add x28, x14, #2 + WORD $0x14000466 // b LBB0_283 $4504(%rip) LBB0_120: - WORD $0x8b1c00b1 // add x17, x5, x28 + WORD $0xcb1c01ce // sub x14, x14, x28 + WORD $0xf10041df // cmp x14, #16 + WORD $0x540001e3 // b.lo LBB0_123 $60(%rip) LBB0_121: - WORD $0x9100063c // add x28, x17, #1 -LBB0_122: - WORD $0x52800084 // mov w4, #4 - WORD $0x92f00006 // mov x6, #9223372036854775807 - WORD $0xb20903e7 // mov x7, #36028797027352576 - WORD $0xf2800027 // movk x7, #1 - WORD $0xb6f81c9c // tbz x28, #63, LBB0_170 $912(%rip) - WORD $0x14000523 // b LBB0_397 $5260(%rip) + WORD $0x3cfc6b7a // ldr q26, [x27, x28] + WORD $0x6e348f5b // cmeq.16b v27, v26, v20 + WORD $0x4e321f5a // and.16b v26, v26, v18 + WORD $0x6e358f5a // cmeq.16b v26, v26, v21 + WORD $0x4ebb1f5a // orr.16b v26, v26, v27 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260340 // fmov w0, s26 + WORD $0x35008ac0 // cbnz w0, LBB0_281 $4440(%rip) + WORD $0xd10041ce // sub x14, x14, #16 + WORD $0x9100439c // add x28, x28, #16 + WORD $0xf1003ddf // cmp x14, #15 + WORD $0x54fffe68 // b.hi LBB0_121 $-52(%rip) LBB0_123: - WORD $0x8b2743d1 // add x17, lr, w7, uxtw - WORD $0x8b1c0236 // add x22, x17, x28 -LBB0_124: - WORD $0x92800015 // mov x21, #-1 - WORD $0xb400a4a8 // cbz x8, LBB0_400 $5268(%rip) + WORD $0x8b1c0360 // add x0, x27, x28 + WORD $0xb40001ee // cbz x14, LBB0_130 $60(%rip) + WORD $0x8b0e0005 // add x5, x0, x14 + WORD $0xcb1b001c // sub x28, x0, x27 LBB0_125: - WORD $0xb400a494 // cbz x20, LBB0_400 $5264(%rip) - WORD $0xb400a465 // cbz x5, LBB0_400 $5260(%rip) - WORD $0xcb1e02c7 // sub x7, x22, lr - WORD $0xd10004f1 // sub x17, x7, #1 - WORD $0xeb11011f // cmp x8, x17 - WORD $0x540002a0 // b.eq LBB0_135 $84(%rip) - WORD $0xeb11029f // cmp x20, x17 - WORD $0x54000260 // b.eq LBB0_135 $76(%rip) - WORD $0xeb1100bf // cmp x5, x17 - WORD $0x54000220 // b.eq LBB0_135 $68(%rip) - WORD $0xf1000691 // subs x17, x20, #1 - WORD $0x5400006b // b.lt LBB0_132 $12(%rip) - WORD $0xeb1100bf // cmp x5, x17 - WORD $0x5400a301 // b.ne LBB0_401 $5216(%rip) + WORD $0x39400013 // ldrb w19, [x0] + WORD $0x7100b27f // cmp w19, #44 + WORD $0x540089c0 // b.eq LBB0_283 $4408(%rip) + WORD $0x7101f67f // cmp w19, #125 + WORD $0x54008980 // b.eq LBB0_283 $4400(%rip) + WORD $0x7101767f // cmp w19, #93 + WORD $0x54008940 // b.eq LBB0_283 $4392(%rip) + WORD $0x91000400 // add x0, x0, #1 + WORD $0x9100079c // add x28, x28, #1 + WORD $0xf10005ce // subs x14, x14, #1 + WORD $0x54fffec1 // b.ne LBB0_125 $-40(%rip) +LBB0_129: + WORD $0xaa0503e0 // mov x0, x5 +LBB0_130: + WORD $0xcb1b001c // sub x28, x0, x27 +LBB0_131: + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0x14000440 // b LBB0_283 $4352(%rip) LBB0_132: - WORD $0xaa050111 // orr x17, x8, x5 - WORD $0xb7f80071 // tbnz x17, #63, LBB0_134 $12(%rip) - WORD $0xeb05011f // cmp x8, x5 - WORD $0x5400a42a // b.ge LBB0_407 $5252(%rip) + WORD $0xf94004c0 // ldr x0, [x6, #8] + WORD $0xcb1c000e // sub x14, x0, x28 + WORD $0xf10081df // cmp x14, #32 + WORD $0x5400ba2b // b.lt LBB0_364 $5956(%rip) + WORD $0xd280000e // mov x14, #0 + WORD $0xd2800005 // mov x5, #0 + WORD $0xcb080000 // sub x0, x0, x8 + WORD $0x528003f3 // mov w19, #31 LBB0_134: - WORD $0xd37ffe31 // lsr x17, x17, #63 - WORD $0x52000231 // eor w17, w17, #0x1 - WORD $0xd10004a4 // sub x4, x5, #1 - WORD $0xeb04011f // cmp x8, x4 - WORD $0x1a9f17e8 // cset w8, eq - WORD $0x6a08023f // tst w17, w8 - WORD $0xda8500f5 // csinv x21, x7, x5, eq - WORD $0x14000002 // b LBB0_136 $8(%rip) -LBB0_135: - WORD $0xcb0703f5 // neg x21, x7 + WORD $0x8b0e03d4 // add x20, lr, x14 + WORD $0x3cc0129a // ldur q26, [x20, #1] + WORD $0x3cc1129b // ldur q27, [x20, #17] + WORD $0x6e208f5c // cmeq.16b v28, v26, v0 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260395 // fmov w21, s28 + WORD $0x6e208f7c // cmeq.16b v28, v27, v0 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260394 // fmov w20, s28 + WORD $0x33103e95 // bfi w21, w20, #16, #16 + WORD $0x6e218f5a // cmeq.16b v26, v26, v1 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260354 // fmov w20, s26 + WORD $0x6e218f7a // cmeq.16b v26, v27, v1 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260356 // fmov w22, s26 + WORD $0x33103ed4 // bfi w20, w22, #16, #16 + WORD $0x7100029f // cmp w20, #0 + WORD $0xfa4008a0 // ccmp x5, #0, #0, eq + WORD $0x54000180 // b.eq LBB0_136 $48(%rip) + WORD $0x0a250296 // bic w22, w20, w5 + WORD $0x2a1604b7 // orr w23, w5, w22, lsl #1 + WORD $0x0a040285 // and w5, w20, w4 + WORD $0x0a3700a5 // bic w5, w5, w23 + WORD $0x2b1600b4 // adds w20, w5, w22 + WORD $0x1a9f37e5 // cset w5, hs + WORD $0x4a140614 // eor w20, w16, w20, lsl #1 + WORD $0x0a170294 // and w20, w20, w23 + WORD $0x2a3403f4 // mvn w20, w20 + WORD $0x8a150295 // and x21, x20, x21 + WORD $0x14000002 // b LBB0_137 $8(%rip) LBB0_136: - WORD $0x52800084 // mov w4, #4 - WORD $0x92f00006 // mov x6, #9223372036854775807 - WORD $0xb20903e7 // mov x7, #36028797027352576 - WORD $0xf2800027 // movk x7, #1 - WORD $0xb7f8a0b5 // tbnz x21, #63, LBB0_400 $5140(%rip) - WORD $0x8b15037c // add x28, x27, x21 - WORD $0x140000bd // b LBB0_170 $756(%rip) -LBB0_138: - WORD $0x54009fc0 // b.eq LBB0_398 $5112(%rip) - WORD $0xf101029f // cmp x20, #64 - WORD $0x54005fa3 // b.lo LBB0_283 $3060(%rip) WORD $0xd2800005 // mov x5, #0 - WORD $0x92800008 // mov x8, #-1 +LBB0_137: + WORD $0xb5000f55 // cbnz x21, LBB0_151 $488(%rip) + WORD $0x910081ce // add x14, x14, #32 + WORD $0xd1008273 // sub x19, x19, #32 + WORD $0x8b130014 // add x20, x0, x19 + WORD $0xf100fe9f // cmp x20, #63 + WORD $0x54fffa6c // b.gt LBB0_134 $-180(%rip) + WORD $0xb500f065 // cbnz x5, LBB0_466 $7692(%rip) + WORD $0x8b0e03c5 // add x5, lr, x14 + WORD $0x910004a5 // add x5, x5, #1 + WORD $0xaa2e03ee // mvn x14, x14 + WORD $0x8b0001ce // add x14, x14, x0 + WORD $0xf10005df // cmp x14, #1 + WORD $0x5400f20a // b.ge LBB0_469 $7744(%rip) + WORD $0x14000938 // b LBB0_575 $9440(%rip) LBB0_141: - WORD $0x8b1c0131 // add x17, x9, x28 - WORD $0xad405a37 // ldp q23, q22, [x17] - WORD $0xad415235 // ldp q21, q20, [x17, #32] - WORD $0x6e208ef8 // cmeq.16b v24, v23, v0 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260311 // fmov w17, s24 - WORD $0x6e208ed8 // cmeq.16b v24, v22, v0 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260307 // fmov w7, s24 - WORD $0x6e208eb8 // cmeq.16b v24, v21, v0 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260315 // fmov w21, s24 - WORD $0x6e208e98 // cmeq.16b v24, v20, v0 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260316 // fmov w22, s24 - WORD $0x6e218ef8 // cmeq.16b v24, v23, v1 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260317 // fmov w23, s24 - WORD $0x6e218ed8 // cmeq.16b v24, v22, v1 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260318 // fmov w24, s24 - WORD $0x6e218eb8 // cmeq.16b v24, v21, v1 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260319 // fmov w25, s24 - WORD $0x6e218e98 // cmeq.16b v24, v20, v1 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e26031a // fmov w26, s24 + WORD $0x54011a60 // b.eq LBB0_543 $9036(%rip) + WORD $0xf10102df // cmp x22, #64 + WORD $0x5400b7c3 // b.lo LBB0_371 $5880(%rip) + WORD $0xd2800013 // mov x19, #0 + WORD $0x92800000 // mov x0, #-1 +LBB0_144: + WORD $0x8b1c036e // add x14, x27, x28 + WORD $0xad4071dd // ldp q29, q28, [x14] + WORD $0xad4169db // ldp q27, q26, [x14, #32] + WORD $0x6e208fbe // cmeq.16b v30, v29, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603ce // fmov w14, s30 + WORD $0x6e208f9e // cmeq.16b v30, v28, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603c5 // fmov w5, s30 + WORD $0x6e208f7e // cmeq.16b v30, v27, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d4 // fmov w20, s30 + WORD $0x6e208f5e // cmeq.16b v30, v26, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d5 // fmov w21, s30 + WORD $0x6e218fbe // cmeq.16b v30, v29, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d7 // fmov w23, s30 + WORD $0x6e218f9e // cmeq.16b v30, v28, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d8 // fmov w24, s30 + WORD $0x6e218f7e // cmeq.16b v30, v27, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d9 // fmov w25, s30 + WORD $0x6e218f5e // cmeq.16b v30, v26, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603da // fmov w26, s30 + WORD $0xd3607e94 // lsl x20, x20, #32 + WORD $0xaa15c294 // orr x20, x20, x21, lsl #48 + WORD $0x53103ca5 // lsl w5, w5, #16 + WORD $0xaa050285 // orr x5, x20, x5 + WORD $0xaa0e00ae // orr x14, x5, x14 + WORD $0xd3607f25 // lsl x5, x25, #32 + WORD $0xaa1ac0a5 // orr x5, x5, x26, lsl #48 + WORD $0x53103f14 // lsl w20, w24, #16 + WORD $0xaa1400a5 // orr x5, x5, x20 + WORD $0xaa1700a5 // orr x5, x5, x23 + WORD $0xb5000445 // cbnz x5, LBB0_149 $136(%rip) + WORD $0xb50004d3 // cbnz x19, LBB0_150 $152(%rip) +LBB0_146: + WORD $0x6e3d349d // cmhi.16b v29, v4, v29 + WORD $0x4e221fbd // and.16b v29, v29, v2 + WORD $0x4e0303bd // tbl.16b v29, { v29 }, v3 + WORD $0x4e71bbbd // addv.8h h29, v29 + WORD $0x1e2603a5 // fmov w5, s29 + WORD $0x6e3c349c // cmhi.16b v28, v4, v28 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260394 // fmov w20, s28 + WORD $0x6e3b349b // cmhi.16b v27, v4, v27 + WORD $0x4e221f7b // and.16b v27, v27, v2 + WORD $0x4e03037b // tbl.16b v27, { v27 }, v3 + WORD $0x4e71bb7b // addv.8h h27, v27 + WORD $0x1e260375 // fmov w21, s27 + WORD $0x6e3a349a // cmhi.16b v26, v4, v26 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260357 // fmov w23, s26 WORD $0xd3607eb5 // lsl x21, x21, #32 - WORD $0xaa16c2b5 // orr x21, x21, x22, lsl #48 - WORD $0x53103ce7 // lsl w7, w7, #16 - WORD $0xaa0702a7 // orr x7, x21, x7 - WORD $0xaa1100e7 // orr x7, x7, x17 - WORD $0xd3607f31 // lsl x17, x25, #32 - WORD $0xaa1ac231 // orr x17, x17, x26, lsl #48 - WORD $0x53103f15 // lsl w21, w24, #16 - WORD $0xaa150231 // orr x17, x17, x21 - WORD $0xaa170231 // orr x17, x17, x23 - WORD $0xb5000451 // cbnz x17, LBB0_146 $136(%rip) - WORD $0xb50004c5 // cbnz x5, LBB0_147 $152(%rip) -LBB0_143: - WORD $0x6e373497 // cmhi.16b v23, v4, v23 - WORD $0x4e221ef7 // and.16b v23, v23, v2 - WORD $0x4e0302f7 // tbl.16b v23, { v23 }, v3 - WORD $0x4e71baf7 // addv.8h h23, v23 - WORD $0x1e2602f1 // fmov w17, s23 - WORD $0x6e363496 // cmhi.16b v22, v4, v22 - WORD $0x4e221ed6 // and.16b v22, v22, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602d5 // fmov w21, s22 - WORD $0x6e353495 // cmhi.16b v21, v4, v21 - WORD $0x4e221eb5 // and.16b v21, v21, v2 - WORD $0x4e0302b5 // tbl.16b v21, { v21 }, v3 - WORD $0x4e71bab5 // addv.8h h21, v21 - WORD $0x1e2602b6 // fmov w22, s21 - WORD $0x6e343494 // cmhi.16b v20, v4, v20 - WORD $0x4e221e94 // and.16b v20, v20, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260297 // fmov w23, s20 - WORD $0xd3607ed6 // lsl x22, x22, #32 - WORD $0xaa17c2d6 // orr x22, x22, x23, lsl #48 - WORD $0x53103eb5 // lsl w21, w21, #16 - WORD $0xaa1502d5 // orr x21, x22, x21 - WORD $0xaa1102b1 // orr x17, x21, x17 - WORD $0xb50002e7 // cbnz x7, LBB0_148 $92(%rip) - WORD $0xb5009651 // cbnz x17, LBB0_404 $4808(%rip) - WORD $0xd1010294 // sub x20, x20, #64 + WORD $0xaa17c2b5 // orr x21, x21, x23, lsl #48 + WORD $0x53103e94 // lsl w20, w20, #16 + WORD $0xaa1402b4 // orr x20, x21, x20 + WORD $0xaa050285 // orr x5, x20, x5 + WORD $0xb500042e // cbnz x14, LBB0_152 $132(%rip) + WORD $0xb5011105 // cbnz x5, LBB0_549 $8736(%rip) + WORD $0xd10102d6 // sub x22, x22, #64 WORD $0x9101039c // add x28, x28, #64 - WORD $0xf100fe9f // cmp x20, #63 - WORD $0x54fff568 // b.hi LBB0_141 $-340(%rip) - WORD $0x1400027e // b LBB0_276 $2552(%rip) -LBB0_146: - WORD $0xb100051f // cmn x8, #1 - WORD $0xdac00235 // rbit x21, x17 - WORD $0xdac012b5 // clz x21, x21 - WORD $0x8b1c02b5 // add x21, x21, x28 - WORD $0x9a951108 // csel x8, x8, x21, ne -LBB0_147: - WORD $0x8a250235 // bic x21, x17, x5 - WORD $0xaa1504b6 // orr x22, x5, x21, lsl #1 - WORD $0x8a360231 // bic x17, x17, x22 - WORD $0x9201f231 // and x17, x17, #0xaaaaaaaaaaaaaaaa - WORD $0xab150231 // adds x17, x17, x21 - WORD $0x1a9f37e5 // cset w5, hs - WORD $0xd37ffa31 // lsl x17, x17, #1 - WORD $0xd200f231 // eor x17, x17, #0x5555555555555555 - WORD $0x8a160231 // and x17, x17, x22 - WORD $0x8a3100e7 // bic x7, x7, x17 - WORD $0x17ffffd1 // b LBB0_143 $-188(%rip) -LBB0_148: - WORD $0xdac000e5 // rbit x5, x7 - WORD $0xdac010a5 // clz x5, x5 - WORD $0xdac00231 // rbit x17, x17 - WORD $0xdac01231 // clz x17, x17 - WORD $0xeb05023f // cmp x17, x5 - WORD $0x54009d23 // b.lo LBB0_427 $5028(%rip) - WORD $0x8b1c00b1 // add x17, x5, x28 + WORD $0xf100fedf // cmp x22, #63 + WORD $0x54fff568 // b.hi LBB0_144 $-340(%rip) + WORD $0x14000535 // b LBB0_362 $5332(%rip) +LBB0_149: + WORD $0xb100041f // cmn x0, #1 + WORD $0xdac000b4 // rbit x20, x5 + WORD $0xdac01294 // clz x20, x20 + WORD $0x8b1c0294 // add x20, x20, x28 + WORD $0x9a941000 // csel x0, x0, x20, ne LBB0_150: - WORD $0x9100063c // add x28, x17, #1 - WORD $0x52800084 // mov w4, #4 - WORD $0x92f00006 // mov x6, #9223372036854775807 - WORD $0xb20903e7 // mov x7, #36028797027352576 - WORD $0xf2800027 // movk x7, #1 - WORD $0xb7f8909c // tbnz x28, #63, LBB0_397 $4624(%rip) + WORD $0x8a3300b4 // bic x20, x5, x19 + WORD $0xaa140675 // orr x21, x19, x20, lsl #1 + WORD $0x8a3500a5 // bic x5, x5, x21 + WORD $0x9201f0a5 // and x5, x5, #0xaaaaaaaaaaaaaaaa + WORD $0xab1400a5 // adds x5, x5, x20 + WORD $0x1a9f37f3 // cset w19, hs + WORD $0xd37ff8a5 // lsl x5, x5, #1 + WORD $0xd200f0a5 // eor x5, x5, #0x5555555555555555 + WORD $0x8a1500a5 // and x5, x5, x21 + WORD $0x8a2501ce // bic x14, x14, x5 + WORD $0x17ffffd1 // b LBB0_146 $-188(%rip) LBB0_151: + WORD $0xdac002a0 // rbit x0, x21 + WORD $0xdac01000 // clz x0, x0 + WORD $0x8b0e010e // add x14, x8, x14 + WORD $0x8b0e000e // add x14, x0, x14 + WORD $0x910009dc // add x28, x14, #2 WORD $0xf900003c // str x28, [x1] - WORD $0xaa1b03e8 // mov x8, x27 - WORD $0xb27ff7f1 // mov x17, #9223372036854775806 - WORD $0xeb11037f // cmp x27, x17 - WORD $0x54008e48 // b.hi LBB0_394 $4552(%rip) - WORD $0xf9400048 // ldr x8, [x2] - WORD $0xf13ffd1f // cmp x8, #4095 - WORD $0x54008f4c // b.gt LBB0_396 $4584(%rip) - WORD $0x91000511 // add x17, x8, #1 - WORD $0xf9000051 // str x17, [x2] - WORD $0xf8287944 // str x4, [x10, x8, lsl #3] - WORD $0xf9400045 // ldr x5, [x2] - WORD $0xaa0e03e8 // mov x8, x14 - WORD $0xb5ff9f25 // cbnz x5, LBB0_1 $-3100(%rip) - WORD $0x14000468 // b LBB0_394 $4512(%rip) + WORD $0xaa0803e0 // mov x0, x8 + WORD $0xeb11011f // cmp x8, x17 + WORD $0x54001923 // b.lo LBB0_195 $804(%rip) + WORD $0x140008c3 // b LBB0_576 $8972(%rip) +LBB0_152: + WORD $0xdac001ce // rbit x14, x14 + WORD $0xdac011ce // clz x14, x14 + WORD $0xdac000a5 // rbit x5, x5 + WORD $0xdac010a5 // clz x5, x5 + WORD $0xeb0e00bf // cmp x5, x14 + WORD $0x540116e3 // b.lo LBB0_572 $8924(%rip) + WORD $0x8b1c01ce // add x14, x14, x28 + WORD $0x910005dc // add x28, x14, #1 + WORD $0xb6f8707c // tbz x28, #63, LBB0_283 $3596(%rip) + WORD $0x14000852 // b LBB0_542 $8520(%rip) LBB0_154: - WORD $0x71008abf // cmp w21, #34 - WORD $0x540008c0 // b.eq LBB0_174 $280(%rip) - WORD $0x7100b6bf // cmp w21, #45 - WORD $0x54008c81 // b.ne LBB0_394 $4496(%rip) - WORD $0xf9400408 // ldr x8, [x0, #8] - WORD $0xeb1c0118 // subs x24, x8, x28 - WORD $0x540090a0 // b.eq LBB0_408 $4628(%rip) - WORD $0xb20903e4 // mov x4, #36028797027352576 - WORD $0xf2800024 // movk x4, #1 - WORD $0x8b1c0128 // add x8, x9, x28 - WORD $0x39400111 // ldrb w17, [x8] - WORD $0x7100c23f // cmp w17, #48 - WORD $0x54002281 // b.ne LBB0_198 $1104(%rip) - WORD $0xf100071f // cmp x24, #1 - WORD $0x54002141 // b.ne LBB0_196 $1064(%rip) -LBB0_159: - WORD $0x52800027 // mov w7, #1 - WORD $0x140001ac // b LBB0_244 $1712(%rip) + WORD $0x710088bf // cmp w5, #34 + WORD $0x54001d40 // b.eq LBB0_207 $936(%rip) + WORD $0x7100b4bf // cmp w5, #45 + WORD $0x540116a1 // b.ne LBB0_576 $8916(%rip) + WORD $0x37306b03 // tbnz w3, #6, LBB0_272 $3424(%rip) + WORD $0xf94004ce // ldr x14, [x6, #8] + WORD $0xeb1c01d5 // subs x21, x14, x28 + WORD $0x54011480 // b.eq LBB0_568 $8848(%rip) + WORD $0x8b1c0360 // add x0, x27, x28 + WORD $0x3940000e // ldrb w14, [x0] + WORD $0x7100c1df // cmp w14, #48 + WORD $0x54008981 // b.ne LBB0_310 $4400(%rip) + WORD $0xf10006bf // cmp x21, #1 + WORD $0x540087e1 // b.ne LBB0_308 $4348(%rip) LBB0_160: - WORD $0x71016ebf // cmp w21, #91 - WORD $0x54000540 // b.eq LBB0_172 $168(%rip) - WORD $0x71019abf // cmp w21, #102 - WORD $0x54008a61 // b.ne LBB0_394 $4428(%rip) - WORD $0xf9400408 // ldr x8, [x0, #8] - WORD $0xd1001111 // sub x17, x8, #4 - WORD $0xeb11037f // cmp x27, x17 - WORD $0x54008dc2 // b.hs LBB0_406 $4536(%rip) - WORD $0xb87c6928 // ldr w8, [x9, x28] - WORD $0x528d8c31 // mov w17, #27745 - WORD $0x72acae71 // movk w17, #25971, lsl #16 - WORD $0x6b11011f // cmp w8, w17 - WORD $0x54009361 // b.ne LBB0_420 $4716(%rip) - WORD $0x9100177c // add x28, x27, #5 - WORD $0x14000015 // b LBB0_170 $84(%rip) -LBB0_165: - WORD $0xf9400408 // ldr x8, [x0, #8] - WORD $0xd1000d11 // sub x17, x8, #3 - WORD $0xeb11037f // cmp x27, x17 - WORD $0x54008c62 // b.hs LBB0_406 $4492(%rip) - WORD $0xb87b6928 // ldr w8, [x9, x27] - WORD $0x528e4e91 // mov w17, #29300 - WORD $0x72acaeb1 // movk w17, #25973, lsl #16 - WORD $0x6b11011f // cmp w8, w17 - WORD $0x54000160 // b.eq LBB0_169 $44(%rip) - WORD $0x1400047a // b LBB0_415 $4584(%rip) + WORD $0x5280002e // mov w14, #1 + WORD $0x14000371 // b LBB0_282 $3524(%rip) +LBB0_161: + WORD $0x71016cbf // cmp w5, #91 + WORD $0x54001a20 // b.eq LBB0_204 $836(%rip) + WORD $0x710198bf // cmp w5, #102 + WORD $0x540114a1 // b.ne LBB0_576 $8852(%rip) + WORD $0xf94004ce // ldr x14, [x6, #8] + WORD $0xd10011cf // sub x15, x14, #4 + WORD $0xeb0f011f // cmp x8, x15 + WORD $0x540108a2 // b.hs LBB0_548 $8468(%rip) + WORD $0xb87c6b6e // ldr w14, [x27, x28] + WORD $0x528d8c2f // mov w15, #27745 + WORD $0x72acae6f // movk w15, #25971, lsl #16 + WORD $0x6b0f01df // cmp w14, w15 + WORD $0x54010e41 // b.ne LBB0_561 $8648(%rip) + WORD $0x9100151c // add x28, x8, #5 + WORD $0x140000be // b LBB0_203 $760(%rip) +LBB0_166: + WORD $0x8b2543ce // add x14, lr, w5, uxtw + WORD $0x8b1c01d5 // add x21, x14, x28 LBB0_167: - WORD $0xf9400408 // ldr x8, [x0, #8] - WORD $0xd1000d11 // sub x17, x8, #3 - WORD $0xeb11037f // cmp x27, x17 - WORD $0x54008b22 // b.hs LBB0_406 $4452(%rip) - WORD $0xb87b6928 // ldr w8, [x9, x27] - WORD $0x528eadd1 // mov w17, #30062 - WORD $0x72ad8d91 // movk w17, #27756, lsl #16 - WORD $0x6b11011f // cmp w8, w17 - WORD $0x54008ba1 // b.ne LBB0_411 $4468(%rip) -LBB0_169: - WORD $0x9100137c // add x28, x27, #4 -LBB0_170: - WORD $0xf900003c // str x28, [x1] - WORD $0xaa1b03e8 // mov x8, x27 - WORD $0xeb06037f // cmp x27, x6 - WORD $0x54008602 // b.hs LBB0_394 $4288(%rip) -LBB0_171: - WORD $0xf9400045 // ldr x5, [x2] - WORD $0xaa0e03e8 // mov x8, x14 - WORD $0xb5ff97a5 // cbnz x5, LBB0_1 $-3340(%rip) - WORD $0x1400042c // b LBB0_394 $4272(%rip) -LBB0_172: - WORD $0xf9400048 // ldr x8, [x2] - WORD $0xf13ffd1f // cmp x8, #4095 - WORD $0x5400868c // b.gt LBB0_396 $4304(%rip) - WORD $0x91000511 // add x17, x8, #1 - WORD $0xf9000051 // str x17, [x2] - WORD $0x528000b1 // mov w17, #5 - WORD $0xf8287951 // str x17, [x10, x8, lsl #3] - WORD $0xf9400045 // ldr x5, [x2] - WORD $0xaa0e03e8 // mov x8, x14 - WORD $0xb5ff9645 // cbnz x5, LBB0_1 $-3384(%rip) - WORD $0x14000421 // b LBB0_394 $4228(%rip) -LBB0_174: - WORD $0x3200f3f8 // mov w24, #1431655765 - WORD $0xf9400408 // ldr x8, [x0, #8] - WORD $0xeb1c0114 // subs x20, x8, x28 - WORD $0x37280b43 // tbnz w3, #5, LBB0_185 $360(%rip) - WORD $0x54008560 // b.eq LBB0_398 $4268(%rip) - WORD $0xf101029f // cmp x20, #64 - WORD $0x540051e3 // b.lo LBB0_307 $2620(%rip) - WORD $0xd2800005 // mov x5, #0 - WORD $0x92800008 // mov x8, #-1 + WORD $0x9280000e // mov x14, #-1 + WORD $0xb40106a0 // cbz x0, LBB0_545 $8404(%rip) +LBB0_168: + WORD $0xb4010696 // cbz x22, LBB0_545 $8400(%rip) + WORD $0xb4010673 // cbz x19, LBB0_545 $8396(%rip) + WORD $0xcb1e02ae // sub x14, x21, lr + WORD $0xd10005c5 // sub x5, x14, #1 + WORD $0xeb05001f // cmp x0, x5 + WORD $0x540002c0 // b.eq LBB0_178 $88(%rip) + WORD $0xeb0502df // cmp x22, x5 + WORD $0x54000280 // b.eq LBB0_178 $80(%rip) + WORD $0xeb05027f // cmp x19, x5 + WORD $0x54000240 // b.eq LBB0_178 $72(%rip) + WORD $0xf10006c5 // subs x5, x22, #1 + WORD $0x5400006b // b.lt LBB0_175 $12(%rip) + WORD $0xeb05027f // cmp x19, x5 + WORD $0x54010501 // b.ne LBB0_546 $8352(%rip) +LBB0_175: + WORD $0xaa130005 // orr x5, x0, x19 + WORD $0xb7f80065 // tbnz x5, #63, LBB0_177 $12(%rip) + WORD $0xeb13001f // cmp x0, x19 + WORD $0x540105ca // b.ge LBB0_551 $8376(%rip) +LBB0_177: + WORD $0xd37ffcaf // lsr x15, x5, #63 + WORD $0x520001ef // eor w15, w15, #0x1 + WORD $0xd1000665 // sub x5, x19, #1 + WORD $0xeb05001f // cmp x0, x5 + WORD $0x1a9f17e0 // cset w0, eq + WORD $0x6a0001ff // tst w15, w0 + WORD $0x5280008f // mov w15, #4 + WORD $0xda9301ce // csinv x14, x14, x19, eq + WORD $0x14000003 // b LBB0_180 $12(%rip) LBB0_178: - WORD $0x8b1c0131 // add x17, x9, x28 - WORD $0xad405634 // ldp q20, q21, [x17] - WORD $0xad415e36 // ldp q22, q23, [x17, #32] - WORD $0x6e208e98 // cmeq.16b v24, v20, v0 - WORD $0x6e208eb9 // cmeq.16b v25, v21, v0 - WORD $0x6e208eda // cmeq.16b v26, v22, v0 - WORD $0x6e208efb // cmeq.16b v27, v23, v0 - WORD $0x6e218e94 // cmeq.16b v20, v20, v1 - WORD $0x6e218eb5 // cmeq.16b v21, v21, v1 - WORD $0x6e218ed6 // cmeq.16b v22, v22, v1 - WORD $0x6e218ef7 // cmeq.16b v23, v23, v1 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260311 // fmov w17, s24 - WORD $0x4e221f38 // and.16b v24, v25, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260304 // fmov w4, s24 - WORD $0x4e221f58 // and.16b v24, v26, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260306 // fmov w6, s24 - WORD $0x4e221f78 // and.16b v24, v27, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260307 // fmov w7, s24 - WORD $0x4e221e94 // and.16b v20, v20, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260293 // fmov w19, s20 - WORD $0x4e221eb4 // and.16b v20, v21, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260295 // fmov w21, s20 - WORD $0x4e221ed4 // and.16b v20, v22, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260296 // fmov w22, s20 - WORD $0x4e221ef4 // and.16b v20, v23, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260297 // fmov w23, s20 - WORD $0xd3607cc6 // lsl x6, x6, #32 - WORD $0xaa07c0c6 // orr x6, x6, x7, lsl #48 - WORD $0x53103c84 // lsl w4, w4, #16 - WORD $0xaa0400c4 // orr x4, x6, x4 - WORD $0xaa110087 // orr x7, x4, x17 - WORD $0xd3607ed1 // lsl x17, x22, #32 - WORD $0xaa17c231 // orr x17, x17, x23, lsl #48 - WORD $0x53103ea4 // lsl w4, w21, #16 - WORD $0xaa040231 // orr x17, x17, x4 - WORD $0xaa130231 // orr x17, x17, x19 - WORD $0xb5000131 // cbnz x17, LBB0_182 $36(%rip) - WORD $0xb50001a5 // cbnz x5, LBB0_183 $52(%rip) - WORD $0x52800073 // mov w19, #3 - WORD $0xb5ffa2c7 // cbnz x7, LBB0_38 $-2984(%rip) -LBB0_181: - WORD $0xd1010294 // sub x20, x20, #64 - WORD $0x9101039c // add x28, x28, #64 - WORD $0xf100fe9f // cmp x20, #63 - WORD $0x54fff888 // b.hi LBB0_178 $-240(%rip) - WORD $0x14000247 // b LBB0_304 $2332(%rip) + WORD $0xcb0e03ee // neg x14, x14 +LBB0_179: + WORD $0x5280008f // mov w15, #4 +LBB0_180: + WORD $0xb7f902ee // tbnz x14, #63, LBB0_545 $8284(%rip) + WORD $0x8b0e011c // add x28, x8, x14 + WORD $0x1400033f // b LBB0_283 $3324(%rip) LBB0_182: - WORD $0xb100051f // cmn x8, #1 - WORD $0xdac00224 // rbit x4, x17 - WORD $0xdac01084 // clz x4, x4 - WORD $0x8b1c0084 // add x4, x4, x28 - WORD $0x9a841108 // csel x8, x8, x4, ne -LBB0_183: - WORD $0x8a250224 // bic x4, x17, x5 - WORD $0xaa0404a6 // orr x6, x5, x4, lsl #1 - WORD $0x8a260231 // bic x17, x17, x6 - WORD $0x9201f231 // and x17, x17, #0xaaaaaaaaaaaaaaaa - WORD $0xab040231 // adds x17, x17, x4 - WORD $0x1a9f37e5 // cset w5, hs - WORD $0xd37ffa31 // lsl x17, x17, #1 - WORD $0xd200f231 // eor x17, x17, #0x5555555555555555 - WORD $0x8a060231 // and x17, x17, x6 - WORD $0x8a3100e7 // bic x7, x7, x17 - WORD $0x52800073 // mov w19, #3 - WORD $0xb4fffd67 // cbz x7, LBB0_181 $-84(%rip) - WORD $0x17fffcff // b LBB0_38 $-3076(%rip) -LBB0_184: - WORD $0xaa1803f6 // mov x22, x24 - WORD $0x92800015 // mov x21, #-1 - WORD $0xb5ffd688 // cbnz x8, LBB0_125 $-1328(%rip) - WORD $0x140003d7 // b LBB0_400 $3932(%rip) + WORD $0x54010200 // b.eq LBB0_543 $8256(%rip) + WORD $0xf10102df // cmp x22, #64 + WORD $0x5400af83 // b.lo LBB0_399 $5616(%rip) + WORD $0xd2800013 // mov x19, #0 + WORD $0x92800000 // mov x0, #-1 LBB0_185: - WORD $0x54007a40 // b.eq LBB0_398 $3912(%rip) - WORD $0xf101029f // cmp x20, #64 - WORD $0x54004b43 // b.lo LBB0_313 $2408(%rip) - WORD $0xd2800005 // mov x5, #0 - WORD $0x92800008 // mov x8, #-1 -LBB0_188: - WORD $0x8b1c0131 // add x17, x9, x28 - WORD $0xad405a37 // ldp q23, q22, [x17] - WORD $0xad415235 // ldp q21, q20, [x17, #32] - WORD $0x6e208ef8 // cmeq.16b v24, v23, v0 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260311 // fmov w17, s24 - WORD $0x6e208ed8 // cmeq.16b v24, v22, v0 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260304 // fmov w4, s24 - WORD $0x6e208eb8 // cmeq.16b v24, v21, v0 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260306 // fmov w6, s24 - WORD $0x6e208e98 // cmeq.16b v24, v20, v0 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260307 // fmov w7, s24 - WORD $0x6e218ef8 // cmeq.16b v24, v23, v1 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260313 // fmov w19, s24 - WORD $0x6e218ed8 // cmeq.16b v24, v22, v1 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260315 // fmov w21, s24 - WORD $0x6e218eb8 // cmeq.16b v24, v21, v1 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260316 // fmov w22, s24 - WORD $0x6e218e98 // cmeq.16b v24, v20, v1 - WORD $0x4e221f18 // and.16b v24, v24, v2 - WORD $0x4e030318 // tbl.16b v24, { v24 }, v3 - WORD $0x4e71bb18 // addv.8h h24, v24 - WORD $0x1e260317 // fmov w23, s24 - WORD $0xd3607cc6 // lsl x6, x6, #32 - WORD $0xaa07c0c6 // orr x6, x6, x7, lsl #48 - WORD $0x53103c84 // lsl w4, w4, #16 - WORD $0xaa0400c4 // orr x4, x6, x4 - WORD $0xaa110087 // orr x7, x4, x17 - WORD $0xd3607ed1 // lsl x17, x22, #32 - WORD $0xaa17c231 // orr x17, x17, x23, lsl #48 - WORD $0x53103ea4 // lsl w4, w21, #16 - WORD $0xaa040231 // orr x17, x17, x4 - WORD $0xaa130231 // orr x17, x17, x19 - WORD $0xb5000451 // cbnz x17, LBB0_193 $136(%rip) - WORD $0xb50004c5 // cbnz x5, LBB0_194 $152(%rip) -LBB0_190: - WORD $0x6e373497 // cmhi.16b v23, v4, v23 - WORD $0x4e221ef7 // and.16b v23, v23, v2 - WORD $0x4e0302f7 // tbl.16b v23, { v23 }, v3 - WORD $0x4e71baf7 // addv.8h h23, v23 - WORD $0x1e2602f1 // fmov w17, s23 - WORD $0x6e363496 // cmhi.16b v22, v4, v22 - WORD $0x4e221ed6 // and.16b v22, v22, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602c4 // fmov w4, s22 - WORD $0x6e353495 // cmhi.16b v21, v4, v21 - WORD $0x4e221eb5 // and.16b v21, v21, v2 - WORD $0x4e0302b5 // tbl.16b v21, { v21 }, v3 - WORD $0x4e71bab5 // addv.8h h21, v21 - WORD $0x1e2602a6 // fmov w6, s21 - WORD $0x6e343494 // cmhi.16b v20, v4, v20 - WORD $0x4e221e94 // and.16b v20, v20, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260293 // fmov w19, s20 - WORD $0xd3607cc6 // lsl x6, x6, #32 - WORD $0xaa13c0c6 // orr x6, x6, x19, lsl #48 - WORD $0x53103c84 // lsl w4, w4, #16 - WORD $0xaa0400c4 // orr x4, x6, x4 - WORD $0xaa110091 // orr x17, x4, x17 - WORD $0xb50002e7 // cbnz x7, LBB0_195 $92(%rip) - WORD $0xb50070d1 // cbnz x17, LBB0_404 $3608(%rip) - WORD $0xd1010294 // sub x20, x20, #64 + WORD $0x8b1c036e // add x14, x27, x28 + WORD $0xad4071dd // ldp q29, q28, [x14] + WORD $0xad4169db // ldp q27, q26, [x14, #32] + WORD $0x6e208fbe // cmeq.16b v30, v29, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603ce // fmov w14, s30 + WORD $0x6e208f9e // cmeq.16b v30, v28, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603c5 // fmov w5, s30 + WORD $0x6e208f7e // cmeq.16b v30, v27, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d4 // fmov w20, s30 + WORD $0x6e208f5e // cmeq.16b v30, v26, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d5 // fmov w21, s30 + WORD $0x6e218fbe // cmeq.16b v30, v29, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d7 // fmov w23, s30 + WORD $0x6e218f9e // cmeq.16b v30, v28, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d8 // fmov w24, s30 + WORD $0x6e218f7e // cmeq.16b v30, v27, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d9 // fmov w25, s30 + WORD $0x6e218f5e // cmeq.16b v30, v26, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603da // fmov w26, s30 + WORD $0xd3607e94 // lsl x20, x20, #32 + WORD $0xaa15c294 // orr x20, x20, x21, lsl #48 + WORD $0x53103ca5 // lsl w5, w5, #16 + WORD $0xaa050285 // orr x5, x20, x5 + WORD $0xaa0e00ae // orr x14, x5, x14 + WORD $0xd3607f25 // lsl x5, x25, #32 + WORD $0xaa1ac0a5 // orr x5, x5, x26, lsl #48 + WORD $0x53103f14 // lsl w20, w24, #16 + WORD $0xaa1400a5 // orr x5, x5, x20 + WORD $0xaa1700a5 // orr x5, x5, x23 + WORD $0xb5000445 // cbnz x5, LBB0_190 $136(%rip) + WORD $0xb50004d3 // cbnz x19, LBB0_191 $152(%rip) +LBB0_187: + WORD $0x6e3d349d // cmhi.16b v29, v4, v29 + WORD $0x4e221fbd // and.16b v29, v29, v2 + WORD $0x4e0303bd // tbl.16b v29, { v29 }, v3 + WORD $0x4e71bbbd // addv.8h h29, v29 + WORD $0x1e2603a5 // fmov w5, s29 + WORD $0x6e3c349c // cmhi.16b v28, v4, v28 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260394 // fmov w20, s28 + WORD $0x6e3b349b // cmhi.16b v27, v4, v27 + WORD $0x4e221f7b // and.16b v27, v27, v2 + WORD $0x4e03037b // tbl.16b v27, { v27 }, v3 + WORD $0x4e71bb7b // addv.8h h27, v27 + WORD $0x1e260375 // fmov w21, s27 + WORD $0x6e3a349a // cmhi.16b v26, v4, v26 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260357 // fmov w23, s26 + WORD $0xd3607eb5 // lsl x21, x21, #32 + WORD $0xaa17c2b5 // orr x21, x21, x23, lsl #48 + WORD $0x53103e94 // lsl w20, w20, #16 + WORD $0xaa1402b4 // orr x20, x21, x20 + WORD $0xaa050285 // orr x5, x20, x5 + WORD $0xb50002ee // cbnz x14, LBB0_192 $92(%rip) + WORD $0xb500f8a5 // cbnz x5, LBB0_549 $7956(%rip) + WORD $0xd10102d6 // sub x22, x22, #64 WORD $0x9101039c // add x28, x28, #64 - WORD $0xf100fe9f // cmp x20, #63 - WORD $0x54fff568 // b.hi LBB0_188 $-340(%rip) - WORD $0x140001d7 // b LBB0_305 $1884(%rip) -LBB0_193: - WORD $0xb100051f // cmn x8, #1 - WORD $0xdac00224 // rbit x4, x17 - WORD $0xdac01084 // clz x4, x4 - WORD $0x8b1c0084 // add x4, x4, x28 - WORD $0x9a841108 // csel x8, x8, x4, ne + WORD $0xf100fedf // cmp x22, #63 + WORD $0x54fff568 // b.hi LBB0_185 $-340(%rip) + WORD $0x140004fb // b LBB0_392 $5100(%rip) +LBB0_190: + WORD $0xb100041f // cmn x0, #1 + WORD $0xdac000b4 // rbit x20, x5 + WORD $0xdac01294 // clz x20, x20 + WORD $0x8b1c0294 // add x20, x20, x28 + WORD $0x9a941000 // csel x0, x0, x20, ne +LBB0_191: + WORD $0x8a3300b4 // bic x20, x5, x19 + WORD $0xaa140675 // orr x21, x19, x20, lsl #1 + WORD $0x8a3500a5 // bic x5, x5, x21 + WORD $0x9201f0a5 // and x5, x5, #0xaaaaaaaaaaaaaaaa + WORD $0xab1400a5 // adds x5, x5, x20 + WORD $0x1a9f37f3 // cset w19, hs + WORD $0xd37ff8a5 // lsl x5, x5, #1 + WORD $0xd200f0a5 // eor x5, x5, #0x5555555555555555 + WORD $0x8a1500a5 // and x5, x5, x21 + WORD $0x8a2501ce // bic x14, x14, x5 + WORD $0x17ffffd1 // b LBB0_187 $-188(%rip) +LBB0_192: + WORD $0xdac001ce // rbit x14, x14 + WORD $0xdac011ce // clz x14, x14 + WORD $0xdac000a5 // rbit x5, x5 + WORD $0xdac010a5 // clz x5, x5 + WORD $0xeb0e00bf // cmp x5, x14 + WORD $0x5400ffc3 // b.lo LBB0_572 $8184(%rip) + WORD $0x8b1c01ce // add x14, x14, x28 + WORD $0x910005dc // add x28, x14, #1 + WORD $0xb7f8f35c // tbnz x28, #63, LBB0_542 $7784(%rip) LBB0_194: - WORD $0x8a250224 // bic x4, x17, x5 - WORD $0xaa0404a6 // orr x6, x5, x4, lsl #1 - WORD $0x8a260231 // bic x17, x17, x6 - WORD $0x9201f231 // and x17, x17, #0xaaaaaaaaaaaaaaaa - WORD $0xab040231 // adds x17, x17, x4 - WORD $0x1a9f37e5 // cset w5, hs - WORD $0xd37ffa31 // lsl x17, x17, #1 - WORD $0xd200f231 // eor x17, x17, #0x5555555555555555 - WORD $0x8a060231 // and x17, x17, x6 - WORD $0x8a3100e7 // bic x7, x7, x17 - WORD $0x17ffffd1 // b LBB0_190 $-188(%rip) + WORD $0xf900003c // str x28, [x1] + WORD $0xaa0803e0 // mov x0, x8 + WORD $0xb27ff7ee // mov x14, #9223372036854775806 + WORD $0xeb0e011f // cmp x8, x14 + WORD $0x5400ff88 // b.hi LBB0_576 $8176(%rip) LBB0_195: - WORD $0xdac000e4 // rbit x4, x7 - WORD $0xdac01085 // clz x5, x4 - WORD $0xdac00231 // rbit x17, x17 - WORD $0xdac01231 // clz x17, x17 - WORD $0xeb05023f // cmp x17, x5 - WORD $0x52800073 // mov w19, #3 - WORD $0x54ffc682 // b.hs LBB0_120 $-1840(%rip) - WORD $0x140003bb // b LBB0_427 $3820(%rip) -LBB0_196: - WORD $0x39400511 // ldrb w17, [x8, #1] - WORD $0x5100ba31 // sub w17, w17, #46 - WORD $0x7100de3f // cmp w17, #55 - WORD $0x54ffde88 // b.hi LBB0_159 $-1072(%rip) - WORD $0x9ad121f1 // lsl x17, x15, x17 - WORD $0x52800027 // mov w7, #1 - WORD $0xea04023f // tst x17, x4 - WORD $0x540013a0 // b.eq LBB0_244 $628(%rip) -LBB0_198: - WORD $0xf100431f // cmp x24, #16 - WORD $0x54004803 // b.lo LBB0_335 $2304(%rip) - WORD $0xd2800017 // mov x23, #0 - WORD $0xd2800007 // mov x7, #0 - WORD $0x9280001e // mov lr, #-1 - WORD $0x92800005 // mov x5, #-1 - WORD $0x92800014 // mov x20, #-1 + WORD $0xf9400048 // ldr x8, [x2] + WORD $0xf13ffd1f // cmp x8, #4095 + WORD $0x5400f20c // b.gt LBB0_541 $7744(%rip) + WORD $0x9100050e // add x14, x8, #1 + WORD $0xf900004e // str x14, [x2] + WORD $0xf828792f // str x15, [x9, x8, lsl #3] + WORD $0x140002c2 // b LBB0_284 $2824(%rip) +LBB0_197: + WORD $0xf94004ce // ldr x14, [x6, #8] + WORD $0xd1000dcf // sub x15, x14, #3 + WORD $0xeb0f011f // cmp x8, x15 + WORD $0x5400f2a2 // b.hs LBB0_548 $7764(%rip) + WORD $0x8b1c036e // add x14, x27, x28 + WORD $0xb85ff1ce // ldur w14, [x14, #-1] + WORD $0x528e4e8f // mov w15, #29300 + WORD $0x72acaeaf // movk w15, #25973, lsl #16 + WORD $0x6b0f01df // cmp w14, w15 + WORD $0x5280008f // mov w15, #4 + WORD $0x5400f2c1 // b.ne LBB0_552 $7768(%rip) + WORD $0x9100111c // add x28, x8, #4 + WORD $0x140002b1 // b LBB0_283 $2756(%rip) LBB0_200: - WORD $0x3ce76914 // ldr q20, [x8, x7] - WORD $0x6e258e95 // cmeq.16b v21, v20, v5 - WORD $0x6e268e96 // cmeq.16b v22, v20, v6 - WORD $0x6e278e97 // cmeq.16b v23, v20, v7 - WORD $0x4e308698 // add.16b v24, v20, v16 - WORD $0x6e383638 // cmhi.16b v24, v17, v24 - WORD $0x4e321e94 // and.16b v20, v20, v18 - WORD $0x6e338e94 // cmeq.16b v20, v20, v19 - WORD $0x4eb71ed6 // orr.16b v22, v22, v23 - WORD $0x4eb51f17 // orr.16b v23, v24, v21 - WORD $0x4eb61e98 // orr.16b v24, v20, v22 - WORD $0x4eb81ef7 // orr.16b v23, v23, v24 - WORD $0x4e221eb5 // and.16b v21, v21, v2 - WORD $0x4e0302b5 // tbl.16b v21, { v21 }, v3 - WORD $0x4e71bab5 // addv.8h h21, v21 - WORD $0x1e2602b1 // fmov w17, s21 - WORD $0x4e221e94 // and.16b v20, v20, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260284 // fmov w4, s20 - WORD $0x4e221ed4 // and.16b v20, v22, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260286 // fmov w6, s20 - WORD $0x4e221ef4 // and.16b v20, v23, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260295 // fmov w21, s20 - WORD $0x2a3503f5 // mvn w21, w21 - WORD $0x32103eb5 // orr w21, w21, #0xffff0000 - WORD $0x5ac002b5 // rbit w21, w21 - WORD $0x5ac012b5 // clz w21, w21 - WORD $0x12800013 // mov w19, #-1 - WORD $0x1ad52276 // lsl w22, w19, w21 - WORD $0x0a360239 // bic w25, w17, w22 - WORD $0x0a360093 // bic w19, w4, w22 - WORD $0x0a3600d6 // bic w22, w6, w22 - WORD $0x710042bf // cmp w21, #16 - WORD $0x1a99023a // csel w26, w17, w25, eq - WORD $0x1a930091 // csel w17, w4, w19, eq - WORD $0x1a9600d6 // csel w22, w6, w22, eq - WORD $0x51000744 // sub w4, w26, #1 - WORD $0x6a1a0099 // ands w25, w4, w26 - WORD $0x54002f81 // b.ne LBB0_303 $1520(%rip) - WORD $0x51000624 // sub w4, w17, #1 - WORD $0x6a110099 // ands w25, w4, w17 - WORD $0x54002f21 // b.ne LBB0_303 $1508(%rip) - WORD $0x510006c4 // sub w4, w22, #1 - WORD $0x6a160099 // ands w25, w4, w22 - WORD $0x54002ec1 // b.ne LBB0_303 $1496(%rip) - WORD $0x340000da // cbz w26, LBB0_206 $24(%rip) - WORD $0x5ac00344 // rbit w4, w26 - WORD $0x5ac0109a // clz w26, w4 - WORD $0xb100069f // cmn x20, #1 - WORD $0x54004001 // b.ne LBB0_334 $2048(%rip) - WORD $0x8b1a00f4 // add x20, x7, x26 -LBB0_206: - WORD $0x340000d1 // cbz w17, LBB0_209 $24(%rip) - WORD $0x5ac00231 // rbit w17, w17 - WORD $0x5ac01231 // clz w17, w17 - WORD $0xb10004bf // cmn x5, #1 - WORD $0x54002ea1 // b.ne LBB0_306 $1492(%rip) - WORD $0x8b1100e5 // add x5, x7, x17 -LBB0_209: - WORD $0x340000d6 // cbz w22, LBB0_212 $24(%rip) - WORD $0x5ac002d1 // rbit w17, w22 - WORD $0x5ac01231 // clz w17, w17 - WORD $0xb10007df // cmn lr, #1 - WORD $0x54002de1 // b.ne LBB0_306 $1468(%rip) - WORD $0x8b1100fe // add lr, x7, x17 + WORD $0xf94004ce // ldr x14, [x6, #8] + WORD $0xd1000dcf // sub x15, x14, #3 + WORD $0xeb0f011f // cmp x8, x15 + WORD $0x5400f102 // b.hs LBB0_548 $7712(%rip) + WORD $0x8b1c036e // add x14, x27, x28 + WORD $0xb85ff1ce // ldur w14, [x14, #-1] + WORD $0x528eadcf // mov w15, #30062 + WORD $0x72ad8d8f // movk w15, #27756, lsl #16 + WORD $0x6b0f01df // cmp w14, w15 + WORD $0x5400f3c1 // b.ne LBB0_556 $7800(%rip) + WORD $0x9100111c // add x28, x8, #4 +LBB0_203: + WORD $0xf900003c // str x28, [x1] + WORD $0xaa0803e0 // mov x0, x8 + WORD $0xeb11011f // cmp x8, x17 + WORD $0x5280008f // mov w15, #4 + WORD $0x540054a3 // b.lo LBB0_284 $2708(%rip) + WORD $0x140007d7 // b LBB0_576 $8028(%rip) +LBB0_204: + WORD $0x37302d43 // tbnz w3, #6, LBB0_245 $1448(%rip) + WORD $0xf9400048 // ldr x8, [x2] + WORD $0xf13ffd1f // cmp x8, #4095 + WORD $0x5400ed4c // b.gt LBB0_541 $7592(%rip) + WORD $0x9100050e // add x14, x8, #1 + WORD $0xf900004e // str x14, [x2] + WORD $0x528000ae // mov w14, #5 + WORD $0xf828792e // str x14, [x9, x8, lsl #3] + WORD $0x1400029b // b LBB0_284 $2668(%rip) +LBB0_207: + WORD $0x373053c3 // tbnz w3, #6, LBB0_285 $2680(%rip) + WORD $0xf94004ce // ldr x14, [x6, #8] + WORD $0xeb1c01d6 // subs x22, x14, x28 + WORD $0x37285ca3 // tbnz w3, #5, LBB0_296 $2964(%rip) + WORD $0x5400ec80 // b.eq LBB0_543 $7568(%rip) + WORD $0xf10102df // cmp x22, #64 + WORD $0x5400ab63 // b.lo LBB0_430 $5484(%rip) + WORD $0xd2800013 // mov x19, #0 + WORD $0x92800000 // mov x0, #-1 LBB0_212: - WORD $0x710042bf // cmp w21, #16 - WORD $0x540005e1 // b.ne LBB0_230 $188(%rip) - WORD $0x910040e7 // add x7, x7, #16 - WORD $0xd10042f7 // sub x23, x23, #16 - WORD $0x8b170315 // add x21, x24, x23 - WORD $0xf1003ebf // cmp x21, #15 - WORD $0x54fff6c8 // b.hi LBB0_200 $-296(%rip) - WORD $0x8b070116 // add x22, x8, x7 - WORD $0xeb07031f // cmp x24, x7 - WORD $0x52800073 // mov w19, #3 - WORD $0x54000520 // b.eq LBB0_231 $164(%rip) + WORD $0x8b1c036e // add x14, x27, x28 + WORD $0xad406dda // ldp q26, q27, [x14] + WORD $0xad4175dc // ldp q28, q29, [x14, #32] + WORD $0x6e208f5e // cmeq.16b v30, v26, v0 + WORD $0x6e208f7f // cmeq.16b v31, v27, v0 + WORD $0x6e208f88 // cmeq.16b v8, v28, v0 + WORD $0x6e208fa9 // cmeq.16b v9, v29, v0 + WORD $0x6e218f5a // cmeq.16b v26, v26, v1 + WORD $0x6e218f7b // cmeq.16b v27, v27, v1 + WORD $0x6e218f9c // cmeq.16b v28, v28, v1 + WORD $0x6e218fbd // cmeq.16b v29, v29, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603ce // fmov w14, s30 + WORD $0x4e221ffe // and.16b v30, v31, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603cf // fmov w15, s30 + WORD $0x4e221d1e // and.16b v30, v8, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d1 // fmov w17, s30 + WORD $0x4e221d3e // and.16b v30, v9, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603c5 // fmov w5, s30 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260347 // fmov w7, s26 + WORD $0x4e221f7a // and.16b v26, v27, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260354 // fmov w20, s26 + WORD $0x4e221f9a // and.16b v26, v28, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260355 // fmov w21, s26 + WORD $0x4e221fba // and.16b v26, v29, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260357 // fmov w23, s26 + WORD $0xd3607e31 // lsl x17, x17, #32 + WORD $0xaa05c231 // orr x17, x17, x5, lsl #48 + WORD $0x53103def // lsl w15, w15, #16 + WORD $0xaa0f022f // orr x15, x17, x15 + WORD $0xaa0e01ee // orr x14, x15, x14 + WORD $0xd3607eaf // lsl x15, x21, #32 + WORD $0xaa17c1ef // orr x15, x15, x23, lsl #48 + WORD $0x53103e91 // lsl w17, w20, #16 + WORD $0xaa1101ef // orr x15, x15, x17 + WORD $0xaa0701e5 // orr x5, x15, x7 + WORD $0xb5000165 // cbnz x5, LBB0_216 $44(%rip) + WORD $0xb50001f3 // cbnz x19, LBB0_217 $60(%rip) + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0xb500032e // cbnz x14, LBB0_218 $100(%rip) LBB0_215: - WORD $0x8b1502c6 // add x6, x22, x21 - WORD $0x8b160191 // add x17, x12, x22 - WORD $0xcb1b0238 // sub x24, x17, x27 - WORD $0xaa1603f7 // mov x23, x22 - WORD $0x14000008 // b LBB0_219 $32(%rip) + WORD $0xd10102d6 // sub x22, x22, #64 + WORD $0x9101039c // add x28, x28, #64 + WORD $0xf100fedf // cmp x22, #63 + WORD $0x54fff848 // b.hi LBB0_212 $-248(%rip) + WORD $0x14000511 // b LBB0_427 $5188(%rip) LBB0_216: - WORD $0xb10007df // cmn lr, #1 - WORD $0x54002a01 // b.ne LBB0_302 $1344(%rip) - WORD $0xd100071e // sub lr, x24, #1 + WORD $0xb100041f // cmn x0, #1 + WORD $0xdac000af // rbit x15, x5 + WORD $0xdac011ef // clz x15, x15 + WORD $0x8b1c01ef // add x15, x15, x28 + WORD $0x9a8f1000 // csel x0, x0, x15, ne +LBB0_217: + WORD $0x8a3300af // bic x15, x5, x19 + WORD $0xaa0f0671 // orr x17, x19, x15, lsl #1 + WORD $0x8a3100a5 // bic x5, x5, x17 + WORD $0x9201f0a5 // and x5, x5, #0xaaaaaaaaaaaaaaaa + WORD $0xab0f00af // adds x15, x5, x15 + WORD $0x1a9f37f3 // cset w19, hs + WORD $0xd37ff9ef // lsl x15, x15, #1 + WORD $0xd200f1ef // eor x15, x15, #0x5555555555555555 + WORD $0x8a1101ef // and x15, x15, x17 + WORD $0x8a2f01ce // bic x14, x14, x15 + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0xb4fffd2e // cbz x14, LBB0_215 $-92(%rip) LBB0_218: - WORD $0x91000718 // add x24, x24, #1 - WORD $0xaa1703f6 // mov x22, x23 - WORD $0xd10006b5 // sub x21, x21, #1 - WORD $0xb4000a35 // cbz x21, LBB0_249 $324(%rip) + WORD $0xdac001ce // rbit x14, x14 + WORD $0xdac011ce // clz x14, x14 + WORD $0x8b1c01ce // add x14, x14, x28 + WORD $0x910005dc // add x28, x14, #1 + WORD $0xb6f846dc // tbz x28, #63, LBB0_283 $2264(%rip) + WORD $0x14000705 // b LBB0_542 $7188(%rip) LBB0_219: - WORD $0x384016f1 // ldrb w17, [x23], #1 - WORD $0x5100c224 // sub w4, w17, #48 - WORD $0x7100289f // cmp w4, #10 - WORD $0x54ffff23 // b.lo LBB0_218 $-28(%rip) - WORD $0x7100b63f // cmp w17, #45 - WORD $0x5400016d // b.le LBB0_226 $44(%rip) - WORD $0x7101963f // cmp w17, #101 - WORD $0x540001c0 // b.eq LBB0_228 $56(%rip) - WORD $0x7101163f // cmp w17, #69 - WORD $0x54000180 // b.eq LBB0_228 $48(%rip) - WORD $0x7100ba3f // cmp w17, #46 - WORD $0x54000221 // b.ne LBB0_231 $68(%rip) - WORD $0xb100069f // cmn x20, #1 - WORD $0x540027a1 // b.ne LBB0_302 $1268(%rip) - WORD $0xd1000714 // sub x20, x24, #1 - WORD $0x17ffffed // b LBB0_218 $-76(%rip) -LBB0_226: - WORD $0x7100ae3f // cmp w17, #43 - WORD $0x54fffd00 // b.eq LBB0_216 $-96(%rip) - WORD $0x7100b63f // cmp w17, #45 - WORD $0x54fffcc0 // b.eq LBB0_216 $-104(%rip) - WORD $0x14000008 // b LBB0_231 $32(%rip) -LBB0_228: - WORD $0xb10004bf // cmn x5, #1 - WORD $0x54002681 // b.ne LBB0_302 $1232(%rip) - WORD $0xd1000705 // sub x5, x24, #1 - WORD $0x17ffffe4 // b LBB0_218 $-112(%rip) -LBB0_230: - WORD $0x8b354111 // add x17, x8, w21, uxtw - WORD $0x8b070236 // add x22, x17, x7 - WORD $0x52800073 // mov w19, #3 -LBB0_231: - WORD $0x92800007 // mov x7, #-1 - WORD $0xb4005db4 // cbz x20, LBB0_409 $2996(%rip) -LBB0_232: - WORD $0xb4005d9e // cbz lr, LBB0_409 $2992(%rip) - WORD $0xb4005d65 // cbz x5, LBB0_409 $2988(%rip) - WORD $0xcb0802c8 // sub x8, x22, x8 - WORD $0xd1000511 // sub x17, x8, #1 - WORD $0xeb11029f // cmp x20, x17 - WORD $0x540002a0 // b.eq LBB0_242 $84(%rip) - WORD $0xeb1103df // cmp lr, x17 - WORD $0x54000260 // b.eq LBB0_242 $76(%rip) - WORD $0xeb1100bf // cmp x5, x17 - WORD $0x54000220 // b.eq LBB0_242 $68(%rip) - WORD $0xf10007d1 // subs x17, lr, #1 - WORD $0x5400006b // b.lt LBB0_239 $12(%rip) - WORD $0xeb1100bf // cmp x5, x17 - WORD $0x54005c01 // b.ne LBB0_410 $2944(%rip) + WORD $0xf9000fff // str xzr, [sp, #24] + WORD $0xd2800013 // mov x19, #0 + WORD $0xd2800000 // mov x0, #0 + WORD $0xd280001e // mov lr, #0 + WORD $0xf94004ce // ldr x14, [x6, #8] + WORD $0xcb1c01ce // sub x14, x14, x28 + WORD $0x8b1c037b // add x27, x27, x28 + WORD $0x1400000a // b LBB0_221 $40(%rip) +LBB0_220: + WORD $0x937ffdce // asr x14, x14, #63 + WORD $0xf9000fee // str x14, [sp, #24] + WORD $0x9e6700ba // fmov d26, x5 + WORD $0x0e205b5a // cnt.8b v26, v26 + WORD $0x2e303b5a // uaddlv.8b h26, v26 + WORD $0x1e26034e // fmov w14, s26 + WORD $0x8b0001c0 // add x0, x14, x0 + WORD $0x9101037b // add x27, x27, #64 + WORD $0xaa1c03ee // mov x14, x28 +LBB0_221: + WORD $0xf10101dc // subs x28, x14, #64 + WORD $0xf9000bee // str x14, [sp, #16] + WORD $0x5400174b // b.lt LBB0_229 $744(%rip) +LBB0_222: + WORD $0xad40737d // ldp q29, q28, [x27] + WORD $0xad416b7b // ldp q27, q26, [x27, #32] + WORD $0x6e218fbe // cmeq.16b v30, v29, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603ce // fmov w14, s30 + WORD $0x6e218f9e // cmeq.16b v30, v28, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603cf // fmov w15, s30 + WORD $0x6e218f7e // cmeq.16b v30, v27, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d1 // fmov w17, s30 + WORD $0x6e218f5e // cmeq.16b v30, v26, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603c5 // fmov w5, s30 + WORD $0xd3607e31 // lsl x17, x17, #32 + WORD $0xaa05c231 // orr x17, x17, x5, lsl #48 + WORD $0x53103def // lsl w15, w15, #16 + WORD $0xaa0f022f // orr x15, x17, x15 + WORD $0xaa0e01ee // orr x14, x15, x14 + WORD $0xaa1301cf // orr x15, x14, x19 + WORD $0xb500008f // cbnz x15, LBB0_224 $16(%rip) + WORD $0xd2800013 // mov x19, #0 + WORD $0xd280000e // mov x14, #0 + WORD $0x1400000a // b LBB0_225 $40(%rip) +LBB0_224: + WORD $0x8a3301cf // bic x15, x14, x19 + WORD $0xaa0f0671 // orr x17, x19, x15, lsl #1 + WORD $0x8a3101ce // bic x14, x14, x17 + WORD $0x9201f1ce // and x14, x14, #0xaaaaaaaaaaaaaaaa + WORD $0xab0f01ce // adds x14, x14, x15 + WORD $0x1a9f37f3 // cset w19, hs + WORD $0xd37ff9ce // lsl x14, x14, #1 + WORD $0xd200f1ce // eor x14, x14, #0x5555555555555555 + WORD $0x8a1101ce // and x14, x14, x17 +LBB0_225: + WORD $0x6e208fbe // cmeq.16b v30, v29, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603cf // fmov w15, s30 + WORD $0x6e208f9e // cmeq.16b v30, v28, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d1 // fmov w17, s30 + WORD $0x6e208f7e // cmeq.16b v30, v27, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603c5 // fmov w5, s30 + WORD $0x6e208f5e // cmeq.16b v30, v26, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603c7 // fmov w7, s30 + WORD $0xd3607ca5 // lsl x5, x5, #32 + WORD $0xaa07c0a5 // orr x5, x5, x7, lsl #48 + WORD $0x53103e31 // lsl w17, w17, #16 + WORD $0xaa1100b1 // orr x17, x5, x17 + WORD $0xaa0f022f // orr x15, x17, x15 + WORD $0x8a2e01ee // bic x14, x15, x14 + WORD $0x9200e1cf // and x15, x14, #0x1111111111111111 + WORD $0x9203e1d1 // and x17, x14, #0x2222222222222222 + WORD $0x9202e1c5 // and x5, x14, #0x4444444444444444 + WORD $0x9201e1ce // and x14, x14, #0x8888888888888888 + WORD $0xb200e3f8 // mov x24, #1229782938247303441 + WORD $0x9b187de7 // mul x7, x15, x24 + WORD $0xb201e3f7 // mov x23, #-8608480567731124088 + WORD $0xf2e11117 // movk x23, #2184, lsl #48 + WORD $0x9b177e34 // mul x20, x17, x23 + WORD $0xca1400e7 // eor x7, x7, x20 + WORD $0xb202e3f6 // mov x22, #4919131752989213764 + WORD $0xf2e08896 // movk x22, #1092, lsl #48 + WORD $0x9b167cb4 // mul x20, x5, x22 + WORD $0xb203e3f5 // mov x21, #2459565876494606882 + WORD $0xf2e04455 // movk x21, #546, lsl #48 + WORD $0x9b157dd5 // mul x21, x14, x21 + WORD $0xca150294 // eor x20, x20, x21 + WORD $0xca1400e7 // eor x7, x7, x20 + WORD $0xb203e3f9 // mov x25, #2459565876494606882 + WORD $0x9b197df4 // mul x20, x15, x25 + WORD $0x9b187e35 // mul x21, x17, x24 + WORD $0xca150294 // eor x20, x20, x21 + WORD $0x9b177cb5 // mul x21, x5, x23 + WORD $0x9b167dd6 // mul x22, x14, x22 + WORD $0xca1602b5 // eor x21, x21, x22 + WORD $0xca150294 // eor x20, x20, x21 + WORD $0xb202e3fa // mov x26, #4919131752989213764 + WORD $0x9b1a7df5 // mul x21, x15, x26 + WORD $0x9b197e36 // mul x22, x17, x25 + WORD $0xca1602b5 // eor x21, x21, x22 + WORD $0x9b187cb6 // mul x22, x5, x24 + WORD $0x9b177dd7 // mul x23, x14, x23 + WORD $0xca1702d6 // eor x22, x22, x23 + WORD $0xca1602b5 // eor x21, x21, x22 + WORD $0xb201e3f6 // mov x22, #-8608480567731124088 + WORD $0x9b167def // mul x15, x15, x22 + WORD $0x9b1a7e31 // mul x17, x17, x26 + WORD $0xca1101ef // eor x15, x15, x17 + WORD $0x9b197cb1 // mul x17, x5, x25 + WORD $0x9b187dce // mul x14, x14, x24 + WORD $0xca0e022e // eor x14, x17, x14 + WORD $0xca0e01ee // eor x14, x15, x14 + WORD $0x9200e0ef // and x15, x7, #0x1111111111111111 + WORD $0x9203e291 // and x17, x20, #0x2222222222222222 + WORD $0x9202e2a5 // and x5, x21, #0x4444444444444444 + WORD $0x9201e1ce // and x14, x14, #0x8888888888888888 + WORD $0xaa1101ef // orr x15, x15, x17 + WORD $0xaa0e00ae // orr x14, x5, x14 + WORD $0xaa0e01ee // orr x14, x15, x14 + WORD $0xf9400fef // ldr x15, [sp, #24] + WORD $0xca0f01ce // eor x14, x14, x15 + WORD $0x6e388fbe // cmeq.16b v30, v29, v24 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603cf // fmov w15, s30 + WORD $0x6e388f9e // cmeq.16b v30, v28, v24 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d1 // fmov w17, s30 + WORD $0x6e388f7e // cmeq.16b v30, v27, v24 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603c5 // fmov w5, s30 + WORD $0x6e388f5e // cmeq.16b v30, v26, v24 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603c7 // fmov w7, s30 + WORD $0xd3607ca5 // lsl x5, x5, #32 + WORD $0xaa07c0a5 // orr x5, x5, x7, lsl #48 + WORD $0x53103e31 // lsl w17, w17, #16 + WORD $0xaa1100b1 // orr x17, x5, x17 + WORD $0xaa0f022f // orr x15, x17, x15 + WORD $0x8a2e01e5 // bic x5, x15, x14 + WORD $0x6e398fbd // cmeq.16b v29, v29, v25 + WORD $0x4e221fbd // and.16b v29, v29, v2 + WORD $0x4e0303bd // tbl.16b v29, { v29 }, v3 + WORD $0x4e71bbbd // addv.8h h29, v29 + WORD $0x1e2603af // fmov w15, s29 + WORD $0x6e398f9c // cmeq.16b v28, v28, v25 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260391 // fmov w17, s28 + WORD $0x6e398f7b // cmeq.16b v27, v27, v25 + WORD $0x4e221f7b // and.16b v27, v27, v2 + WORD $0x4e03037b // tbl.16b v27, { v27 }, v3 + WORD $0x4e71bb7b // addv.8h h27, v27 + WORD $0x1e260367 // fmov w7, s27 + WORD $0x6e398f5a // cmeq.16b v26, v26, v25 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260354 // fmov w20, s26 + WORD $0xd3607ce7 // lsl x7, x7, #32 + WORD $0xaa14c0e7 // orr x7, x7, x20, lsl #48 + WORD $0x53103e31 // lsl w17, w17, #16 + WORD $0xaa1100f1 // orr x17, x7, x17 + WORD $0xaa0f022f // orr x15, x17, x15 + WORD $0xea2e01f4 // bics x20, x15, x14 + WORD $0x54ffe940 // b.eq LBB0_220 $-728(%rip) + WORD $0x52800067 // mov w7, #3 +LBB0_227: + WORD $0xd1000695 // sub x21, x20, #1 + WORD $0x8a0502af // and x15, x21, x5 + WORD $0x9e6701fa // fmov d26, x15 + WORD $0x0e205b5a // cnt.8b v26, v26 + WORD $0x2e303b5a // uaddlv.8b h26, v26 + WORD $0x1e26034f // fmov w15, s26 + WORD $0x8b0001ef // add x15, x15, x0 + WORD $0xeb1e01ff // cmp x15, lr + WORD $0x540026c9 // b.ls LBB0_271 $1240(%rip) + WORD $0x910007de // add lr, lr, #1 + WORD $0xea1402b4 // ands x20, x21, x20 + WORD $0x54fffea1 // b.ne LBB0_227 $-44(%rip) + WORD $0x17ffff3c // b LBB0_220 $-784(%rip) +LBB0_229: + WORD $0xf10001df // cmp x14, #0 + WORD $0x5400d34d // b.le LBB0_573 $6760(%rip) + WORD $0xad025ff7 // stp q23, q23, [sp, #64] + WORD $0xad015ff7 // stp q23, q23, [sp, #32] + WORD $0x92402f6e // and x14, x27, #0xfff + WORD $0xf13f05df // cmp x14, #4033 + WORD $0x54ffe823 // b.lo LBB0_222 $-764(%rip) + WORD $0xf9400bee // ldr x14, [sp, #16] + WORD $0xf10081c5 // subs x5, x14, #32 + WORD $0x540000a3 // b.lo LBB0_233 $20(%rip) + WORD $0xacc16f7a // ldp q26, q27, [x27], #32 + WORD $0xad016ffa // stp q26, q27, [sp, #32] + WORD $0xaa0a03ee // mov x14, x10 + WORD $0x14000003 // b LBB0_234 $12(%rip) +LBB0_233: + WORD $0x910083ee // add x14, sp, #32 + WORD $0xf9400be5 // ldr x5, [sp, #16] +LBB0_234: + WORD $0xf10040b4 // subs x20, x5, #16 + WORD $0x54000243 // b.lo LBB0_240 $72(%rip) + WORD $0x3cc1077a // ldr q26, [x27], #16 + WORD $0x3c8105da // str q26, [x14], #16 + WORD $0xaa1403e5 // mov x5, x20 + WORD $0xf1002294 // subs x20, x20, #8 + WORD $0x540001e2 // b.hs LBB0_241 $60(%rip) +LBB0_236: + WORD $0xf10010b4 // subs x20, x5, #4 + WORD $0x54000243 // b.lo LBB0_242 $72(%rip) +LBB0_237: + WORD $0xb840476f // ldr w15, [x27], #4 + WORD $0xb80045cf // str w15, [x14], #4 + WORD $0xaa1403e5 // mov x5, x20 + WORD $0xf1000a94 // subs x20, x20, #2 + WORD $0x540001e2 // b.hs LBB0_243 $60(%rip) +LBB0_238: + WORD $0xb4000245 // cbz x5, LBB0_244 $72(%rip) LBB0_239: - WORD $0xaa050291 // orr x17, x20, x5 - WORD $0xb7f80071 // tbnz x17, #63, LBB0_241 $12(%rip) - WORD $0xeb05029f // cmp x20, x5 - WORD $0x540063ca // b.ge LBB0_426 $3192(%rip) + WORD $0x3940036f // ldrb w15, [x27] + WORD $0x390001cf // strb w15, [x14] + WORD $0x910083fb // add x27, sp, #32 + WORD $0x17ffff25 // b LBB0_222 $-876(%rip) +LBB0_240: + WORD $0xf10020b4 // subs x20, x5, #8 + WORD $0x54fffe63 // b.lo LBB0_236 $-52(%rip) LBB0_241: - WORD $0xd37ffe31 // lsr x17, x17, #63 - WORD $0x52000231 // eor w17, w17, #0x1 - WORD $0xd10004a4 // sub x4, x5, #1 - WORD $0xeb04029f // cmp x20, x4 - WORD $0x1a9f17e4 // cset w4, eq - WORD $0x6a04023f // tst w17, w4 - WORD $0xda850107 // csinv x7, x8, x5, eq - WORD $0x14000002 // b LBB0_243 $8(%rip) + WORD $0xf840876f // ldr x15, [x27], #8 + WORD $0xf80085cf // str x15, [x14], #8 + WORD $0xaa1403e5 // mov x5, x20 + WORD $0xf1001294 // subs x20, x20, #4 + WORD $0x54fffe02 // b.hs LBB0_237 $-64(%rip) LBB0_242: - WORD $0xcb0803e7 // neg x7, x8 + WORD $0xf10008b4 // subs x20, x5, #2 + WORD $0x54fffe63 // b.lo LBB0_238 $-52(%rip) LBB0_243: - WORD $0xb7f85a27 // tbnz x7, #63, LBB0_409 $2884(%rip) + WORD $0x7840276f // ldrh w15, [x27], #2 + WORD $0x780025cf // strh w15, [x14], #2 + WORD $0xaa1403e5 // mov x5, x20 + WORD $0xb5fffe14 // cbnz x20, LBB0_239 $-64(%rip) LBB0_244: - WORD $0x8b1c00fc // add x28, x7, x28 - WORD $0xf900003c // str x28, [x1] - WORD $0xaa1b03e8 // mov x8, x27 - WORD $0x92f00006 // mov x6, #9223372036854775807 - WORD $0xeb06037f // cmp x27, x6 - WORD $0x52800084 // mov w4, #4 - WORD $0xb20903e7 // mov x7, #36028797027352576 - WORD $0xf2800027 // movk x7, #1 - WORD $0x54ffce83 // b.lo LBB0_171 $-1584(%rip) - WORD $0x140002a2 // b LBB0_394 $2696(%rip) + WORD $0x910083fb // add x27, sp, #32 + WORD $0x17ffff16 // b LBB0_222 $-936(%rip) LBB0_245: - WORD $0x5ac00328 // rbit w8, w25 - WORD $0x5ac01108 // clz w8, w8 - WORD $0xaa3c03f1 // mvn x17, x28 - WORD $0xcb080235 // sub x21, x17, x8 - WORD $0x17fffda7 // b LBB0_136 $-2404(%rip) + WORD $0xf9000fff // str xzr, [sp, #24] + WORD $0xd2800013 // mov x19, #0 + WORD $0xd2800000 // mov x0, #0 + WORD $0xd280001e // mov lr, #0 + WORD $0xf94004ce // ldr x14, [x6, #8] + WORD $0xcb1c01ce // sub x14, x14, x28 + WORD $0x8b1c037b // add x27, x27, x28 + WORD $0x1400000a // b LBB0_247 $40(%rip) LBB0_246: - WORD $0xaa3c03e8 // mvn x8, x28 - WORD $0xcb314115 // sub x21, x8, w17, uxtw - WORD $0x17fffda4 // b LBB0_136 $-2416(%rip) + WORD $0x937ffdce // asr x14, x14, #63 + WORD $0xf9000fee // str x14, [sp, #24] + WORD $0x9e6700ba // fmov d26, x5 + WORD $0x0e205b5a // cnt.8b v26, v26 + WORD $0x2e303b5a // uaddlv.8b h26, v26 + WORD $0x1e26034e // fmov w14, s26 + WORD $0x8b0001c0 // add x0, x14, x0 + WORD $0x9101037b // add x27, x27, #64 + WORD $0xaa1c03ee // mov x14, x28 LBB0_247: - WORD $0x8b1c013c // add x28, x9, x28 - WORD $0x1400000a // b LBB0_251 $40(%rip) + WORD $0xf10101dc // subs x28, x14, #64 + WORD $0xf9000bee // str x14, [sp, #16] + WORD $0x5400174b // b.lt LBB0_255 $744(%rip) LBB0_248: - WORD $0x8b1c013c // add x28, x9, x28 - WORD $0x1400002c // b LBB0_257 $176(%rip) -LBB0_249: - WORD $0xaa0603f6 // mov x22, x6 - WORD $0x92800007 // mov x7, #-1 - WORD $0xb5fff994 // cbnz x20, LBB0_232 $-208(%rip) - WORD $0x140002b7 // b LBB0_409 $2780(%rip) + WORD $0xad40737d // ldp q29, q28, [x27] + WORD $0xad416b7b // ldp q27, q26, [x27, #32] + WORD $0x6e218fbe // cmeq.16b v30, v29, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603ce // fmov w14, s30 + WORD $0x6e218f9e // cmeq.16b v30, v28, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603cf // fmov w15, s30 + WORD $0x6e218f7e // cmeq.16b v30, v27, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d1 // fmov w17, s30 + WORD $0x6e218f5e // cmeq.16b v30, v26, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603c5 // fmov w5, s30 + WORD $0xd3607e31 // lsl x17, x17, #32 + WORD $0xaa05c231 // orr x17, x17, x5, lsl #48 + WORD $0x53103def // lsl w15, w15, #16 + WORD $0xaa0f022f // orr x15, x17, x15 + WORD $0xaa0e01ee // orr x14, x15, x14 + WORD $0xaa1301cf // orr x15, x14, x19 + WORD $0xb500008f // cbnz x15, LBB0_250 $16(%rip) + WORD $0xd2800013 // mov x19, #0 + WORD $0xd280000e // mov x14, #0 + WORD $0x1400000a // b LBB0_251 $40(%rip) LBB0_250: - WORD $0xd2800005 // mov x5, #0 - WORD $0x8b1c013c // add x28, x9, x28 - WORD $0x92800008 // mov x8, #-1 + WORD $0x8a3301cf // bic x15, x14, x19 + WORD $0xaa0f0671 // orr x17, x19, x15, lsl #1 + WORD $0x8a3101ce // bic x14, x14, x17 + WORD $0x9201f1ce // and x14, x14, #0xaaaaaaaaaaaaaaaa + WORD $0xab0f01ce // adds x14, x14, x15 + WORD $0x1a9f37f3 // cset w19, hs + WORD $0xd37ff9ce // lsl x14, x14, #1 + WORD $0xd200f1ce // eor x14, x14, #0x5555555555555555 + WORD $0x8a1101ce // and x14, x14, x17 LBB0_251: - WORD $0xf1008287 // subs x7, x20, #32 - WORD $0x54003463 // b.lo LBB0_339 $1676(%rip) - WORD $0xad405794 // ldp q20, q21, [x28] - WORD $0x6e208e96 // cmeq.16b v22, v20, v0 - WORD $0x6e208eb7 // cmeq.16b v23, v21, v0 - WORD $0x6e218e94 // cmeq.16b v20, v20, v1 - WORD $0x6e218eb5 // cmeq.16b v21, v21, v1 - WORD $0x4e221ed6 // and.16b v22, v22, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602d4 // fmov w20, s22 - WORD $0x4e221ef6 // and.16b v22, v23, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602d1 // fmov w17, s22 - WORD $0x4e221e94 // and.16b v20, v20, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260295 // fmov w21, s20 - WORD $0x4e221eb4 // and.16b v20, v21, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260296 // fmov w22, s20 - WORD $0x33103e34 // bfi w20, w17, #16, #16 - WORD $0x33103ed5 // bfi w21, w22, #16, #16 - WORD $0x35002ed5 // cbnz w21, LBB0_336 $1496(%rip) - WORD $0xb5002f65 // cbnz x5, LBB0_337 $1516(%rip) - WORD $0xb40030f4 // cbz x20, LBB0_338 $1564(%rip) + WORD $0x6e208fbe // cmeq.16b v30, v29, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603cf // fmov w15, s30 + WORD $0x6e208f9e // cmeq.16b v30, v28, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d1 // fmov w17, s30 + WORD $0x6e208f7e // cmeq.16b v30, v27, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603c5 // fmov w5, s30 + WORD $0x6e208f5e // cmeq.16b v30, v26, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603c7 // fmov w7, s30 + WORD $0xd3607ca5 // lsl x5, x5, #32 + WORD $0xaa07c0a5 // orr x5, x5, x7, lsl #48 + WORD $0x53103e31 // lsl w17, w17, #16 + WORD $0xaa1100b1 // orr x17, x5, x17 + WORD $0xaa0f022f // orr x15, x17, x15 + WORD $0x8a2e01ee // bic x14, x15, x14 + WORD $0x9200e1cf // and x15, x14, #0x1111111111111111 + WORD $0x9203e1d1 // and x17, x14, #0x2222222222222222 + WORD $0x9202e1c5 // and x5, x14, #0x4444444444444444 + WORD $0x9201e1ce // and x14, x14, #0x8888888888888888 + WORD $0xb200e3f8 // mov x24, #1229782938247303441 + WORD $0x9b187de7 // mul x7, x15, x24 + WORD $0xb201e3f7 // mov x23, #-8608480567731124088 + WORD $0xf2e11117 // movk x23, #2184, lsl #48 + WORD $0x9b177e34 // mul x20, x17, x23 + WORD $0xca1400e7 // eor x7, x7, x20 + WORD $0xb202e3f6 // mov x22, #4919131752989213764 + WORD $0xf2e08896 // movk x22, #1092, lsl #48 + WORD $0x9b167cb4 // mul x20, x5, x22 + WORD $0xb203e3f5 // mov x21, #2459565876494606882 + WORD $0xf2e04455 // movk x21, #546, lsl #48 + WORD $0x9b157dd5 // mul x21, x14, x21 + WORD $0xca150294 // eor x20, x20, x21 + WORD $0xca1400e7 // eor x7, x7, x20 + WORD $0xb203e3f9 // mov x25, #2459565876494606882 + WORD $0x9b197df4 // mul x20, x15, x25 + WORD $0x9b187e35 // mul x21, x17, x24 + WORD $0xca150294 // eor x20, x20, x21 + WORD $0x9b177cb5 // mul x21, x5, x23 + WORD $0x9b167dd6 // mul x22, x14, x22 + WORD $0xca1602b5 // eor x21, x21, x22 + WORD $0xca150294 // eor x20, x20, x21 + WORD $0xb202e3fa // mov x26, #4919131752989213764 + WORD $0x9b1a7df5 // mul x21, x15, x26 + WORD $0x9b197e36 // mul x22, x17, x25 + WORD $0xca1602b5 // eor x21, x21, x22 + WORD $0x9b187cb6 // mul x22, x5, x24 + WORD $0x9b177dd7 // mul x23, x14, x23 + WORD $0xca1702d6 // eor x22, x22, x23 + WORD $0xca1602b5 // eor x21, x21, x22 + WORD $0xb201e3f6 // mov x22, #-8608480567731124088 + WORD $0x9b167def // mul x15, x15, x22 + WORD $0x9b1a7e31 // mul x17, x17, x26 + WORD $0xca1101ef // eor x15, x15, x17 + WORD $0x9b197cb1 // mul x17, x5, x25 + WORD $0x9b187dce // mul x14, x14, x24 + WORD $0xca0e022e // eor x14, x17, x14 + WORD $0xca0e01ee // eor x14, x15, x14 + WORD $0x9200e0ef // and x15, x7, #0x1111111111111111 + WORD $0x9203e291 // and x17, x20, #0x2222222222222222 + WORD $0x9202e2a5 // and x5, x21, #0x4444444444444444 + WORD $0x9201e1ce // and x14, x14, #0x8888888888888888 + WORD $0xaa1101ef // orr x15, x15, x17 + WORD $0xaa0e00ae // orr x14, x5, x14 + WORD $0xaa0e01ee // orr x14, x15, x14 + WORD $0xf9400fef // ldr x15, [sp, #24] + WORD $0xca0f01ce // eor x14, x14, x15 + WORD $0x6e368fbe // cmeq.16b v30, v29, v22 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603cf // fmov w15, s30 + WORD $0x6e368f9e // cmeq.16b v30, v28, v22 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d1 // fmov w17, s30 + WORD $0x6e368f7e // cmeq.16b v30, v27, v22 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603c5 // fmov w5, s30 + WORD $0x6e368f5e // cmeq.16b v30, v26, v22 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603c7 // fmov w7, s30 + WORD $0xd3607ca5 // lsl x5, x5, #32 + WORD $0xaa07c0a5 // orr x5, x5, x7, lsl #48 + WORD $0x53103e31 // lsl w17, w17, #16 + WORD $0xaa1100b1 // orr x17, x5, x17 + WORD $0xaa0f022f // orr x15, x17, x15 + WORD $0x8a2e01e5 // bic x5, x15, x14 + WORD $0x6e358fbd // cmeq.16b v29, v29, v21 + WORD $0x4e221fbd // and.16b v29, v29, v2 + WORD $0x4e0303bd // tbl.16b v29, { v29 }, v3 + WORD $0x4e71bbbd // addv.8h h29, v29 + WORD $0x1e2603af // fmov w15, s29 + WORD $0x6e358f9c // cmeq.16b v28, v28, v21 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260391 // fmov w17, s28 + WORD $0x6e358f7b // cmeq.16b v27, v27, v21 + WORD $0x4e221f7b // and.16b v27, v27, v2 + WORD $0x4e03037b // tbl.16b v27, { v27 }, v3 + WORD $0x4e71bb7b // addv.8h h27, v27 + WORD $0x1e260367 // fmov w7, s27 + WORD $0x6e358f5a // cmeq.16b v26, v26, v21 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260354 // fmov w20, s26 + WORD $0xd3607ce7 // lsl x7, x7, #32 + WORD $0xaa14c0e7 // orr x7, x7, x20, lsl #48 + WORD $0x53103e31 // lsl w17, w17, #16 + WORD $0xaa1100f1 // orr x17, x7, x17 + WORD $0xaa0f022f // orr x15, x17, x15 + WORD $0xea2e01f4 // bics x20, x15, x14 + WORD $0x54ffe940 // b.eq LBB0_246 $-728(%rip) + WORD $0x52800067 // mov w7, #3 +LBB0_253: + WORD $0xd1000695 // sub x21, x20, #1 + WORD $0x8a0502af // and x15, x21, x5 + WORD $0x9e6701fa // fmov d26, x15 + WORD $0x0e205b5a // cnt.8b v26, v26 + WORD $0x2e303b5a // uaddlv.8b h26, v26 + WORD $0x1e26034f // fmov w15, s26 + WORD $0x8b0001ef // add x15, x15, x0 + WORD $0xeb1e01ff // cmp x15, lr + WORD $0x540006e9 // b.ls LBB0_271 $220(%rip) + WORD $0x910007de // add lr, lr, #1 + WORD $0xea1402b4 // ands x20, x21, x20 + WORD $0x54fffea1 // b.ne LBB0_253 $-44(%rip) + WORD $0x17ffff3c // b LBB0_246 $-784(%rip) LBB0_255: - WORD $0xdac00291 // rbit x17, x20 - WORD $0xdac01231 // clz x17, x17 - WORD $0xcb090385 // sub x5, x28, x9 - WORD $0x8b1100b1 // add x17, x5, x17 - WORD $0x17fffd52 // b LBB0_121 $-2744(%rip) -LBB0_256: - WORD $0xd2800005 // mov x5, #0 - WORD $0x8b1c013c // add x28, x9, x28 - WORD $0x92800008 // mov x8, #-1 -LBB0_257: - WORD $0xf1008295 // subs x21, x20, #32 - WORD $0x54000643 // b.lo LBB0_265 $200(%rip) - WORD $0xad405395 // ldp q21, q20, [x28] - WORD $0x6e208eb6 // cmeq.16b v22, v21, v0 - WORD $0x4e221ed6 // and.16b v22, v22, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602d4 // fmov w20, s22 - WORD $0x6e208e96 // cmeq.16b v22, v20, v0 - WORD $0x4e221ed6 // and.16b v22, v22, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602d1 // fmov w17, s22 - WORD $0x6e218eb6 // cmeq.16b v22, v21, v1 - WORD $0x4e221ed6 // and.16b v22, v22, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602c7 // fmov w7, s22 - WORD $0x6e218e96 // cmeq.16b v22, v20, v1 - WORD $0x4e221ed6 // and.16b v22, v22, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602d6 // fmov w22, s22 - WORD $0x33103e34 // bfi w20, w17, #16, #16 - WORD $0x33103ec7 // bfi w7, w22, #16, #16 - WORD $0x35003047 // cbnz w7, LBB0_349 $1544(%rip) - WORD $0xb50030e5 // cbnz x5, LBB0_350 $1564(%rip) + WORD $0xf10001df // cmp x14, #0 + WORD $0x5400b36d // b.le LBB0_573 $5740(%rip) + WORD $0xad025ff7 // stp q23, q23, [sp, #64] + WORD $0xad015ff7 // stp q23, q23, [sp, #32] + WORD $0x92402f6e // and x14, x27, #0xfff + WORD $0xf13f05df // cmp x14, #4033 + WORD $0x54ffe823 // b.lo LBB0_248 $-764(%rip) + WORD $0xf9400bee // ldr x14, [sp, #16] + WORD $0xf10081c5 // subs x5, x14, #32 + WORD $0x540000a3 // b.lo LBB0_259 $20(%rip) + WORD $0xacc16f7a // ldp q26, q27, [x27], #32 + WORD $0xad016ffa // stp q26, q27, [sp, #32] + WORD $0xaa0a03ee // mov x14, x10 + WORD $0x14000003 // b LBB0_260 $12(%rip) +LBB0_259: + WORD $0x910083ee // add x14, sp, #32 + WORD $0xf9400be5 // ldr x5, [sp, #16] LBB0_260: - WORD $0x6e353495 // cmhi.16b v21, v4, v21 - WORD $0x4e221eb5 // and.16b v21, v21, v2 - WORD $0x4e0302b5 // tbl.16b v21, { v21 }, v3 - WORD $0x4e71bab5 // addv.8h h21, v21 - WORD $0x1e2602a7 // fmov w7, s21 - WORD $0x6e343494 // cmhi.16b v20, v4, v20 - WORD $0x4e221e94 // and.16b v20, v20, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260291 // fmov w17, s20 - WORD $0x33103e27 // bfi w7, w17, #16, #16 - WORD $0xdac000f1 // rbit x17, x7 - WORD $0xdac01231 // clz x17, x17 - WORD $0xb4000114 // cbz x20, LBB0_263 $32(%rip) - WORD $0xdac00285 // rbit x5, x20 - WORD $0xdac010a7 // clz x7, x5 - WORD $0xcb090385 // sub x5, x28, x9 - WORD $0xeb07023f // cmp x17, x7 - WORD $0x54005543 // b.lo LBB0_428 $2728(%rip) - WORD $0x8b0700b1 // add x17, x5, x7 - WORD $0x17fffd1f // b LBB0_121 $-2948(%rip) + WORD $0xf10040b4 // subs x20, x5, #16 + WORD $0x54000243 // b.lo LBB0_266 $72(%rip) + WORD $0x3cc1077a // ldr q26, [x27], #16 + WORD $0x3c8105da // str q26, [x14], #16 + WORD $0xaa1403e5 // mov x5, x20 + WORD $0xf1002294 // subs x20, x20, #8 + WORD $0x540001e2 // b.hs LBB0_267 $60(%rip) +LBB0_262: + WORD $0xf10010b4 // subs x20, x5, #4 + WORD $0x54000243 // b.lo LBB0_268 $72(%rip) LBB0_263: - WORD $0x35005527 // cbnz w7, LBB0_429 $2724(%rip) - WORD $0x9100839c // add x28, x28, #32 - WORD $0xaa1503f4 // mov x20, x21 + WORD $0xb840476f // ldr w15, [x27], #4 + WORD $0xb80045cf // str w15, [x14], #4 + WORD $0xaa1403e5 // mov x5, x20 + WORD $0xf1000a94 // subs x20, x20, #2 + WORD $0x540001e2 // b.hs LBB0_269 $60(%rip) +LBB0_264: + WORD $0xb4000245 // cbz x5, LBB0_270 $72(%rip) LBB0_265: - WORD $0xb5003965 // cbnz x5, LBB0_368 $1836(%rip) - WORD $0xb40048b4 // cbz x20, LBB0_398 $2324(%rip) + WORD $0x3940036f // ldrb w15, [x27] + WORD $0x390001cf // strb w15, [x14] + WORD $0x910083fb // add x27, sp, #32 + WORD $0x17ffff25 // b LBB0_248 $-876(%rip) +LBB0_266: + WORD $0xf10020b4 // subs x20, x5, #8 + WORD $0x54fffe63 // b.lo LBB0_262 $-52(%rip) LBB0_267: - WORD $0xd2800005 // mov x5, #0 + WORD $0xf840876f // ldr x15, [x27], #8 + WORD $0xf80085cf // str x15, [x14], #8 + WORD $0xaa1403e5 // mov x5, x20 + WORD $0xf1001294 // subs x20, x20, #4 + WORD $0x54fffe02 // b.hs LBB0_263 $-64(%rip) LBB0_268: - WORD $0x38656b91 // ldrb w17, [x28, x5] - WORD $0x71008a3f // cmp w17, #34 - WORD $0x540002e0 // b.eq LBB0_274 $92(%rip) - WORD $0x7101723f // cmp w17, #92 - WORD $0x540000e0 // b.eq LBB0_272 $28(%rip) - WORD $0x71007e3f // cmp w17, #31 - WORD $0x54005409 // b.ls LBB0_430 $2688(%rip) - WORD $0x910004a5 // add x5, x5, #1 - WORD $0xeb05029f // cmp x20, x5 - WORD $0x54fffee1 // b.ne LBB0_268 $-36(%rip) - WORD $0x14000239 // b LBB0_398 $2276(%rip) + WORD $0xf10008b4 // subs x20, x5, #2 + WORD $0x54fffe63 // b.lo LBB0_264 $-52(%rip) +LBB0_269: + WORD $0x7840276f // ldrh w15, [x27], #2 + WORD $0x780025cf // strh w15, [x14], #2 + WORD $0xaa1403e5 // mov x5, x20 + WORD $0xb5fffe14 // cbnz x20, LBB0_265 $-64(%rip) +LBB0_270: + WORD $0x910083fb // add x27, sp, #32 + WORD $0x17ffff16 // b LBB0_248 $-936(%rip) +LBB0_271: + WORD $0xf94004ce // ldr x14, [x6, #8] + WORD $0xdac0028f // rbit x15, x20 + WORD $0xdac011ef // clz x15, x15 + WORD $0xf9400bf1 // ldr x17, [sp, #16] + WORD $0xcb1101ef // sub x15, x15, x17 + WORD $0x8b0e01ee // add x14, x15, x14 + WORD $0x910005cf // add x15, x14, #1 + WORD $0xf900002f // str x15, [x1] + WORD $0xf94004d1 // ldr x17, [x6, #8] + WORD $0xeb1101ff // cmp x15, x17 + WORD $0x9a8e263c // csinc x28, x17, x14, hs + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0xf900003c // str x28, [x1] + WORD $0xda9f9100 // csinv x0, x8, xzr, ls + WORD $0x5280008f // mov w15, #4 + WORD $0xb6f80560 // tbz x0, #63, LBB0_284 $172(%rip) + WORD $0x1400055d // b LBB0_576 $5492(%rip) LBB0_272: - WORD $0xd1000691 // sub x17, x20, #1 - WORD $0xeb05023f // cmp x17, x5 - WORD $0x540046c0 // b.eq LBB0_398 $2264(%rip) - WORD $0x8b050391 // add x17, x28, x5 - WORD $0x8b0c0227 // add x7, x17, x12 - WORD $0xb100051f // cmn x8, #1 - WORD $0x9a8800e8 // csel x8, x7, x8, eq - WORD $0x91000a3c // add x28, x17, #2 - WORD $0xcb050291 // sub x17, x20, x5 - WORD $0xd1000a87 // sub x7, x20, #2 - WORD $0xd1000a34 // sub x20, x17, #2 - WORD $0xeb0500ff // cmp x7, x5 - WORD $0x54fffd01 // b.ne LBB0_267 $-96(%rip) - WORD $0x1400022b // b LBB0_398 $2220(%rip) -LBB0_274: - WORD $0x8b1c0191 // add x17, x12, x28 - WORD $0x8b050231 // add x17, x17, x5 - WORD $0x17fffcfd // b LBB0_121 $-3084(%rip) + WORD $0xf94004ce // ldr x14, [x6, #8] + WORD $0xcb1c01ce // sub x14, x14, x28 + WORD $0xf10041df // cmp x14, #16 + WORD $0x540001e3 // b.lo LBB0_275 $60(%rip) +LBB0_273: + WORD $0x3cfc6b7a // ldr q26, [x27, x28] + WORD $0x6e348f5b // cmeq.16b v27, v26, v20 + WORD $0x4e321f5a // and.16b v26, v26, v18 + WORD $0x6e358f5a // cmeq.16b v26, v26, v21 + WORD $0x4ebb1f5a // orr.16b v26, v26, v27 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260340 // fmov w0, s26 + WORD $0x350002a0 // cbnz w0, LBB0_281 $84(%rip) + WORD $0xd10041ce // sub x14, x14, #16 + WORD $0x9100439c // add x28, x28, #16 + WORD $0xf1003ddf // cmp x14, #15 + WORD $0x54fffe68 // b.hi LBB0_273 $-52(%rip) LBB0_275: - WORD $0x8b1c013c // add x28, x9, x28 - WORD $0x14000006 // b LBB0_278 $24(%rip) -LBB0_276: - WORD $0x8b1c013c // add x28, x9, x28 - WORD $0x14000028 // b LBB0_284 $160(%rip) + WORD $0x8b1c0360 // add x0, x27, x28 + WORD $0xb4ff79ce // cbz x14, LBB0_130 $-4296(%rip) + WORD $0x8b0e0005 // add x5, x0, x14 + WORD $0xcb1b001c // sub x28, x0, x27 LBB0_277: - WORD $0xd2800005 // mov x5, #0 - WORD $0x8b1c013c // add x28, x9, x28 - WORD $0x92800008 // mov x8, #-1 -LBB0_278: - WORD $0xf1008287 // subs x7, x20, #32 - WORD $0x54002d23 // b.lo LBB0_354 $1444(%rip) - WORD $0xad405794 // ldp q20, q21, [x28] - WORD $0x6e208e96 // cmeq.16b v22, v20, v0 - WORD $0x6e208eb7 // cmeq.16b v23, v21, v0 - WORD $0x6e218e94 // cmeq.16b v20, v20, v1 - WORD $0x6e218eb5 // cmeq.16b v21, v21, v1 - WORD $0x4e221ed6 // and.16b v22, v22, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602d4 // fmov w20, s22 - WORD $0x4e221ef6 // and.16b v22, v23, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602d1 // fmov w17, s22 - WORD $0x4e221e94 // and.16b v20, v20, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260295 // fmov w21, s20 - WORD $0x4e221eb4 // and.16b v20, v21, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260296 // fmov w22, s20 - WORD $0x33103e34 // bfi w20, w17, #16, #16 - WORD $0x33103ed5 // bfi w21, w22, #16, #16 - WORD $0x35002795 // cbnz w21, LBB0_351 $1264(%rip) - WORD $0xb5002825 // cbnz x5, LBB0_352 $1284(%rip) - WORD $0xb40029b4 // cbz x20, LBB0_353 $1332(%rip) + WORD $0x39400013 // ldrb w19, [x0] + WORD $0x7100b27f // cmp w19, #44 + WORD $0x54ff7940 // b.eq LBB0_131 $-4312(%rip) + WORD $0x7101f67f // cmp w19, #125 + WORD $0x54ff7900 // b.eq LBB0_131 $-4320(%rip) + WORD $0x7101767f // cmp w19, #93 + WORD $0x54ff78c0 // b.eq LBB0_131 $-4328(%rip) + WORD $0x91000400 // add x0, x0, #1 + WORD $0x9100079c // add x28, x28, #1 + WORD $0xf10005ce // subs x14, x14, #1 + WORD $0x54fffec1 // b.ne LBB0_277 $-40(%rip) + WORD $0x17fffbbf // b LBB0_129 $-4356(%rip) +LBB0_281: + WORD $0x5ac0000e // rbit w14, w0 + WORD $0x5ac011ce // clz w14, w14 LBB0_282: - WORD $0xdac00291 // rbit x17, x20 - WORD $0xdac01231 // clz x17, x17 - WORD $0xcb090385 // sub x5, x28, x9 - WORD $0x8b1100b1 // add x17, x5, x17 - WORD $0x17fffd75 // b LBB0_150 $-2604(%rip) + WORD $0x8b1c01dc // add x28, x14, x28 LBB0_283: - WORD $0xd2800005 // mov x5, #0 - WORD $0x8b1c013c // add x28, x9, x28 - WORD $0x92800008 // mov x8, #-1 + WORD $0xf900003c // str x28, [x1] + WORD $0xaa0803e0 // mov x0, x8 + WORD $0xeb11011f // cmp x8, x17 + WORD $0x5400a682 // b.hs LBB0_576 $5328(%rip) LBB0_284: - WORD $0xf1008295 // subs x21, x20, #32 - WORD $0x54000643 // b.lo LBB0_292 $200(%rip) - WORD $0xad405395 // ldp q21, q20, [x28] - WORD $0x6e208eb6 // cmeq.16b v22, v21, v0 - WORD $0x4e221ed6 // and.16b v22, v22, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602d4 // fmov w20, s22 - WORD $0x6e208e96 // cmeq.16b v22, v20, v0 - WORD $0x4e221ed6 // and.16b v22, v22, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602d1 // fmov w17, s22 - WORD $0x6e218eb6 // cmeq.16b v22, v21, v1 - WORD $0x4e221ed6 // and.16b v22, v22, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602c7 // fmov w7, s22 - WORD $0x6e218e96 // cmeq.16b v22, v20, v1 - WORD $0x4e221ed6 // and.16b v22, v22, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602d6 // fmov w22, s22 - WORD $0x33103e34 // bfi w20, w17, #16, #16 - WORD $0x33103ec7 // bfi w7, w22, #16, #16 - WORD $0x350029a7 // cbnz w7, LBB0_364 $1332(%rip) - WORD $0xb5002a45 // cbnz x5, LBB0_365 $1352(%rip) + WORD $0xf9400053 // ldr x19, [x2] + WORD $0xaa0b03e0 // mov x0, x11 + WORD $0xb5ff2f53 // cbnz x19, LBB0_1 $-6680(%rip) + WORD $0x14000530 // b LBB0_576 $5312(%rip) +LBB0_285: + WORD $0xf94004c0 // ldr x0, [x6, #8] + WORD $0xcb1c000e // sub x14, x0, x28 + WORD $0xf10081df // cmp x14, #32 + WORD $0x540053eb // b.lt LBB0_421 $2684(%rip) + WORD $0xd280000e // mov x14, #0 + WORD $0xd2800005 // mov x5, #0 + WORD $0xcb080000 // sub x0, x0, x8 + WORD $0x528003f3 // mov w19, #31 LBB0_287: - WORD $0x6e353495 // cmhi.16b v21, v4, v21 - WORD $0x4e221eb5 // and.16b v21, v21, v2 - WORD $0x4e0302b5 // tbl.16b v21, { v21 }, v3 - WORD $0x4e71bab5 // addv.8h h21, v21 - WORD $0x1e2602a7 // fmov w7, s21 - WORD $0x6e343494 // cmhi.16b v20, v4, v20 - WORD $0x4e221e94 // and.16b v20, v20, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260291 // fmov w17, s20 - WORD $0x33103e27 // bfi w7, w17, #16, #16 - WORD $0xdac000f1 // rbit x17, x7 - WORD $0xdac01231 // clz x17, x17 - WORD $0xb4000114 // cbz x20, LBB0_290 $32(%rip) - WORD $0xdac00285 // rbit x5, x20 - WORD $0xdac010a7 // clz x7, x5 - WORD $0xcb090385 // sub x5, x28, x9 - WORD $0xeb07023f // cmp x17, x7 - WORD $0x540045a3 // b.lo LBB0_428 $2228(%rip) - WORD $0x8b0700b1 // add x17, x5, x7 - WORD $0x17fffd42 // b LBB0_150 $-2808(%rip) + WORD $0x8b0e03cf // add x15, lr, x14 + WORD $0x3cc011fa // ldur q26, [x15, #1] + WORD $0x3cc111fb // ldur q27, [x15, #17] + WORD $0x6e208f5c // cmeq.16b v28, v26, v0 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260395 // fmov w21, s28 + WORD $0x6e208f7c // cmeq.16b v28, v27, v0 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e26038f // fmov w15, s28 + WORD $0x33103df5 // bfi w21, w15, #16, #16 + WORD $0x6e218f5a // cmeq.16b v26, v26, v1 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260354 // fmov w20, s26 + WORD $0x6e218f7a // cmeq.16b v26, v27, v1 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e26034f // fmov w15, s26 + WORD $0x33103df4 // bfi w20, w15, #16, #16 + WORD $0x7100029f // cmp w20, #0 + WORD $0xfa4008a0 // ccmp x5, #0, #0, eq + WORD $0x540001a0 // b.eq LBB0_289 $52(%rip) + WORD $0x0a25028f // bic w15, w20, w5 + WORD $0x2a0f04b1 // orr w17, w5, w15, lsl #1 + WORD $0x0a040285 // and w5, w20, w4 + WORD $0x0a3100a5 // bic w5, w5, w17 + WORD $0x2b0f00af // adds w15, w5, w15 + WORD $0x1a9f37e5 // cset w5, hs + WORD $0x4a0f060f // eor w15, w16, w15, lsl #1 + WORD $0x0a1101ef // and w15, w15, w17 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0x2a2f03ef // mvn w15, w15 + WORD $0x8a1501f5 // and x21, x15, x21 + WORD $0x14000002 // b LBB0_290 $8(%rip) +LBB0_289: + WORD $0xd2800005 // mov x5, #0 LBB0_290: - WORD $0x35004587 // cbnz w7, LBB0_429 $2224(%rip) - WORD $0x9100839c // add x28, x28, #32 - WORD $0xaa1503f4 // mov x20, x21 -LBB0_292: - WORD $0xb5002bc5 // cbnz x5, LBB0_372 $1400(%rip) - WORD $0xb4003914 // cbz x20, LBB0_398 $1824(%rip) + WORD $0xb50001d5 // cbnz x21, LBB0_294 $56(%rip) + WORD $0x910081ce // add x14, x14, #32 + WORD $0xd1008273 // sub x19, x19, #32 + WORD $0x8b13000f // add x15, x0, x19 + WORD $0xf100fdff // cmp x15, #63 + WORD $0x54fffa4c // b.gt LBB0_287 $-184(%rip) + WORD $0xb5008585 // cbnz x5, LBB0_516 $4272(%rip) + WORD $0x8b0e03cf // add x15, lr, x14 + WORD $0x910005e5 // add x5, x15, #1 + WORD $0xaa2e03ee // mvn x14, x14 + WORD $0x8b0001ce // add x14, x14, x0 + WORD $0xf10005df // cmp x14, #1 + WORD $0x54004d0a // b.ge LBB0_422 $2464(%rip) + WORD $0x140004f0 // b LBB0_575 $5056(%rip) LBB0_294: - WORD $0xd2800005 // mov x5, #0 + WORD $0xdac002af // rbit x15, x21 + WORD $0xdac011ef // clz x15, x15 + WORD $0x8b0e010e // add x14, x8, x14 + WORD $0x8b0e01ee // add x14, x15, x14 + WORD $0x910009dc // add x28, x14, #2 + WORD $0x5280008f // mov w15, #4 + WORD $0x17ffffb3 // b LBB0_283 $-308(%rip) LBB0_295: - WORD $0x38656b91 // ldrb w17, [x28, x5] - WORD $0x71008a3f // cmp w17, #34 - WORD $0x540002e0 // b.eq LBB0_301 $92(%rip) - WORD $0x7101723f // cmp w17, #92 - WORD $0x540000e0 // b.eq LBB0_299 $28(%rip) - WORD $0x71007e3f // cmp w17, #31 - WORD $0x54004469 // b.ls LBB0_430 $2188(%rip) - WORD $0x910004a5 // add x5, x5, #1 - WORD $0xeb05029f // cmp x20, x5 - WORD $0x54fffee1 // b.ne LBB0_295 $-36(%rip) - WORD $0x140001bc // b LBB0_398 $1776(%rip) + WORD $0xaa1a03f5 // mov x21, x26 + WORD $0x9280000e // mov x14, #-1 + WORD $0xb5ff8a40 // cbnz x0, LBB0_168 $-3768(%rip) + WORD $0x14000485 // b LBB0_545 $4628(%rip) +LBB0_296: + WORD $0x54009000 // b.eq LBB0_543 $4608(%rip) + WORD $0xf10102df // cmp x22, #64 + WORD $0x54005383 // b.lo LBB0_436 $2672(%rip) + WORD $0xd2800013 // mov x19, #0 + WORD $0x92800000 // mov x0, #-1 LBB0_299: - WORD $0xd1000691 // sub x17, x20, #1 - WORD $0xeb05023f // cmp x17, x5 - WORD $0x54003720 // b.eq LBB0_398 $1764(%rip) - WORD $0x8b050391 // add x17, x28, x5 - WORD $0x8b0c0227 // add x7, x17, x12 - WORD $0xb100051f // cmn x8, #1 - WORD $0x9a8800e8 // csel x8, x7, x8, eq - WORD $0x91000a3c // add x28, x17, #2 - WORD $0xcb050291 // sub x17, x20, x5 - WORD $0xd1000a87 // sub x7, x20, #2 - WORD $0xd1000a34 // sub x20, x17, #2 - WORD $0xeb0500ff // cmp x7, x5 - WORD $0x54fffd01 // b.ne LBB0_294 $-96(%rip) - WORD $0x140001ae // b LBB0_398 $1720(%rip) + WORD $0x8b1c036e // add x14, x27, x28 + WORD $0xad4071dd // ldp q29, q28, [x14] + WORD $0xad4169db // ldp q27, q26, [x14, #32] + WORD $0x6e208fbe // cmeq.16b v30, v29, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603ce // fmov w14, s30 + WORD $0x6e208f9e // cmeq.16b v30, v28, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603cf // fmov w15, s30 + WORD $0x6e208f7e // cmeq.16b v30, v27, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d1 // fmov w17, s30 + WORD $0x6e208f5e // cmeq.16b v30, v26, v0 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603c5 // fmov w5, s30 + WORD $0x6e218fbe // cmeq.16b v30, v29, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603c7 // fmov w7, s30 + WORD $0x6e218f9e // cmeq.16b v30, v28, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d4 // fmov w20, s30 + WORD $0x6e218f7e // cmeq.16b v30, v27, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d5 // fmov w21, s30 + WORD $0x6e218f5e // cmeq.16b v30, v26, v1 + WORD $0x4e221fde // and.16b v30, v30, v2 + WORD $0x4e0303de // tbl.16b v30, { v30 }, v3 + WORD $0x4e71bbde // addv.8h h30, v30 + WORD $0x1e2603d7 // fmov w23, s30 + WORD $0xd3607e31 // lsl x17, x17, #32 + WORD $0xaa05c231 // orr x17, x17, x5, lsl #48 + WORD $0x53103def // lsl w15, w15, #16 + WORD $0xaa0f022f // orr x15, x17, x15 + WORD $0xaa0e01ee // orr x14, x15, x14 + WORD $0xd3607eaf // lsl x15, x21, #32 + WORD $0xaa17c1ef // orr x15, x15, x23, lsl #48 + WORD $0x53103e91 // lsl w17, w20, #16 + WORD $0xaa1101ef // orr x15, x15, x17 + WORD $0xaa0701e5 // orr x5, x15, x7 + WORD $0xb5000445 // cbnz x5, LBB0_304 $136(%rip) + WORD $0xb50004d3 // cbnz x19, LBB0_305 $152(%rip) LBB0_301: - WORD $0x8b1c0191 // add x17, x12, x28 - WORD $0x8b050231 // add x17, x17, x5 - WORD $0x17fffd20 // b LBB0_150 $-2944(%rip) -LBB0_302: - WORD $0xcb1803e7 // neg x7, x24 - WORD $0x17fffeee // b LBB0_243 $-1096(%rip) -LBB0_303: - WORD $0x5ac00328 // rbit w8, w25 - WORD $0x5ac01108 // clz w8, w8 - WORD $0xaa2703f1 // mvn x17, x7 - WORD $0xcb080227 // sub x7, x17, x8 - WORD $0x52800073 // mov w19, #3 - WORD $0x17fffee8 // b LBB0_243 $-1120(%rip) + WORD $0x6e3d349d // cmhi.16b v29, v4, v29 + WORD $0x4e221fbd // and.16b v29, v29, v2 + WORD $0x4e0303bd // tbl.16b v29, { v29 }, v3 + WORD $0x4e71bbbd // addv.8h h29, v29 + WORD $0x1e2603af // fmov w15, s29 + WORD $0x6e3c349c // cmhi.16b v28, v4, v28 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260391 // fmov w17, s28 + WORD $0x6e3b349b // cmhi.16b v27, v4, v27 + WORD $0x4e221f7b // and.16b v27, v27, v2 + WORD $0x4e03037b // tbl.16b v27, { v27 }, v3 + WORD $0x4e71bb7b // addv.8h h27, v27 + WORD $0x1e260365 // fmov w5, s27 + WORD $0x6e3a349a // cmhi.16b v26, v4, v26 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260347 // fmov w7, s26 + WORD $0xd3607ca5 // lsl x5, x5, #32 + WORD $0xaa07c0a5 // orr x5, x5, x7, lsl #48 + WORD $0x53103e31 // lsl w17, w17, #16 + WORD $0xaa1100b1 // orr x17, x5, x17 + WORD $0xaa0f0225 // orr x5, x17, x15 + WORD $0xb50002ee // cbnz x14, LBB0_306 $92(%rip) + WORD $0xb50086a5 // cbnz x5, LBB0_549 $4308(%rip) + WORD $0xd10102d6 // sub x22, x22, #64 + WORD $0x9101039c // add x28, x28, #64 + WORD $0xf100fedf // cmp x22, #63 + WORD $0x54fff568 // b.hi LBB0_299 $-340(%rip) + WORD $0x14000218 // b LBB0_428 $2144(%rip) LBB0_304: - WORD $0x8b1c013c // add x28, x9, x28 - WORD $0x1400000a // b LBB0_308 $40(%rip) + WORD $0xb100041f // cmn x0, #1 + WORD $0xdac000af // rbit x15, x5 + WORD $0xdac011ef // clz x15, x15 + WORD $0x8b1c01ef // add x15, x15, x28 + WORD $0x9a8f1000 // csel x0, x0, x15, ne LBB0_305: - WORD $0x8b1c013c // add x28, x9, x28 - WORD $0x1400002c // b LBB0_314 $176(%rip) + WORD $0x8a3300af // bic x15, x5, x19 + WORD $0xaa0f0671 // orr x17, x19, x15, lsl #1 + WORD $0x8a3100a5 // bic x5, x5, x17 + WORD $0x9201f0a5 // and x5, x5, #0xaaaaaaaaaaaaaaaa + WORD $0xab0f00af // adds x15, x5, x15 + WORD $0x1a9f37f3 // cset w19, hs + WORD $0xd37ff9ef // lsl x15, x15, #1 + WORD $0xd200f1ef // eor x15, x15, #0x5555555555555555 + WORD $0x8a1101ef // and x15, x15, x17 + WORD $0x8a2f01ce // bic x14, x14, x15 + WORD $0x17ffffd1 // b LBB0_301 $-188(%rip) LBB0_306: - WORD $0xaa2703e8 // mvn x8, x7 - WORD $0xcb314107 // sub x7, x8, w17, uxtw - WORD $0x52800073 // mov w19, #3 - WORD $0x17fffee0 // b LBB0_243 $-1152(%rip) -LBB0_307: - WORD $0xd2800005 // mov x5, #0 - WORD $0x8b1c013c // add x28, x9, x28 - WORD $0x92800008 // mov x8, #-1 + WORD $0xdac001ce // rbit x14, x14 + WORD $0xdac011ce // clz x14, x14 + WORD $0xdac000af // rbit x15, x5 + WORD $0xdac011e5 // clz x5, x15 + WORD $0xeb0e00bf // cmp x5, x14 + WORD $0x52800067 // mov w7, #3 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0x54008d83 // b.lo LBB0_572 $4528(%rip) + WORD $0x8b1c01ce // add x14, x14, x28 + WORD $0x910005dc // add x28, x14, #1 + WORD $0x5280008f // mov w15, #4 + WORD $0xb6ffe6fc // tbz x28, #63, LBB0_283 $-804(%rip) + WORD $0x14000406 // b LBB0_542 $4120(%rip) LBB0_308: - WORD $0xf1008287 // subs x7, x20, #32 - WORD $0x540028e3 // b.lo LBB0_377 $1308(%rip) - WORD $0xad405794 // ldp q20, q21, [x28] - WORD $0x6e208e96 // cmeq.16b v22, v20, v0 - WORD $0x6e208eb7 // cmeq.16b v23, v21, v0 - WORD $0x6e218e94 // cmeq.16b v20, v20, v1 - WORD $0x6e218eb5 // cmeq.16b v21, v21, v1 - WORD $0x4e221ed6 // and.16b v22, v22, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602d4 // fmov w20, s22 - WORD $0x4e221ef6 // and.16b v22, v23, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602d1 // fmov w17, s22 - WORD $0x4e221e94 // and.16b v20, v20, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260295 // fmov w21, s20 - WORD $0x4e221eb4 // and.16b v20, v21, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260284 // fmov w4, s20 - WORD $0x33103e34 // bfi w20, w17, #16, #16 - WORD $0x33103c95 // bfi w21, w4, #16, #16 - WORD $0x35002375 // cbnz w21, LBB0_374 $1132(%rip) - WORD $0xb5002405 // cbnz x5, LBB0_375 $1152(%rip) - WORD $0xb4002574 // cbz x20, LBB0_376 $1196(%rip) -LBB0_312: - WORD $0xdac00291 // rbit x17, x20 - WORD $0xdac01231 // clz x17, x17 - WORD $0xcb090384 // sub x4, x28, x9 - WORD $0x8b110091 // add x17, x4, x17 - WORD $0x14000055 // b LBB0_332 $340(%rip) -LBB0_313: + WORD $0x3940040e // ldrb w14, [x0, #1] + WORD $0x5100b9ce // sub w14, w14, #46 + WORD $0x7100dddf // cmp w14, #55 + WORD $0x54ff77e8 // b.hi LBB0_160 $-4356(%rip) + WORD $0x9ace218f // lsl x15, x12, x14 + WORD $0x5280002e // mov w14, #1 + WORD $0xb20903e5 // mov x5, #36028797027352576 + WORD $0xf2800025 // movk x5, #1 + WORD $0xea0501ff // tst x15, x5 + WORD $0x5280008f // mov w15, #4 + WORD $0x54ffe540 // b.eq LBB0_282 $-856(%rip) +LBB0_310: + WORD $0xf10042bf // cmp x21, #16 + WORD $0x54004f23 // b.lo LBB0_458 $2532(%rip) WORD $0xd2800005 // mov x5, #0 - WORD $0x8b1c013c // add x28, x9, x28 - WORD $0x92800008 // mov x8, #-1 -LBB0_314: - WORD $0xf1008295 // subs x21, x20, #32 - WORD $0x54000643 // b.lo LBB0_322 $200(%rip) - WORD $0xad405395 // ldp q21, q20, [x28] - WORD $0x6e208eb6 // cmeq.16b v22, v21, v0 - WORD $0x4e221ed6 // and.16b v22, v22, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602d4 // fmov w20, s22 - WORD $0x6e208e96 // cmeq.16b v22, v20, v0 - WORD $0x4e221ed6 // and.16b v22, v22, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602d1 // fmov w17, s22 - WORD $0x6e218eb6 // cmeq.16b v22, v21, v1 - WORD $0x4e221ed6 // and.16b v22, v22, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602c7 // fmov w7, s22 - WORD $0x6e218e96 // cmeq.16b v22, v20, v1 - WORD $0x4e221ed6 // and.16b v22, v22, v2 - WORD $0x4e0302d6 // tbl.16b v22, { v22 }, v3 - WORD $0x4e71bad6 // addv.8h h22, v22 - WORD $0x1e2602c4 // fmov w4, s22 - WORD $0x33103e34 // bfi w20, w17, #16, #16 - WORD $0x33103c87 // bfi w7, w4, #16, #16 - WORD $0x350024e7 // cbnz w7, LBB0_386 $1180(%rip) - WORD $0xb5002585 // cbnz x5, LBB0_387 $1200(%rip) -LBB0_317: - WORD $0x6e353495 // cmhi.16b v21, v4, v21 - WORD $0x4e221eb5 // and.16b v21, v21, v2 - WORD $0x4e0302b5 // tbl.16b v21, { v21 }, v3 - WORD $0x4e71bab5 // addv.8h h21, v21 - WORD $0x1e2602a7 // fmov w7, s21 - WORD $0x6e343494 // cmhi.16b v20, v4, v20 - WORD $0x4e221e94 // and.16b v20, v20, v2 - WORD $0x4e030294 // tbl.16b v20, { v20 }, v3 - WORD $0x4e71ba94 // addv.8h h20, v20 - WORD $0x1e260291 // fmov w17, s20 - WORD $0x33103e27 // bfi w7, w17, #16, #16 - WORD $0xdac000f1 // rbit x17, x7 - WORD $0xdac01231 // clz x17, x17 - WORD $0xb4000114 // cbz x20, LBB0_320 $32(%rip) - WORD $0xdac00284 // rbit x4, x20 - WORD $0xdac01087 // clz x7, x4 - WORD $0xcb090385 // sub x5, x28, x9 - WORD $0xeb07023f // cmp x17, x7 - WORD $0x54003483 // b.lo LBB0_428 $1680(%rip) - WORD $0x8b0700b1 // add x17, x5, x7 - WORD $0x14000022 // b LBB0_332 $136(%rip) -LBB0_320: - WORD $0x35003467 // cbnz w7, LBB0_429 $1676(%rip) - WORD $0x9100839c // add x28, x28, #32 - WORD $0xaa1503f4 // mov x20, x21 -LBB0_322: - WORD $0xb5002505 // cbnz x5, LBB0_391 $1184(%rip) - WORD $0xb40027f4 // cbz x20, LBB0_398 $1276(%rip) + WORD $0xd280000e // mov x14, #0 + WORD $0x92800013 // mov x19, #-1 + WORD $0x9280001e // mov lr, #-1 + WORD $0x92800016 // mov x22, #-1 +LBB0_312: + WORD $0x3cee681a // ldr q26, [x0, x14] + WORD $0x6e258f5b // cmeq.16b v27, v26, v5 + WORD $0x6e268f5c // cmeq.16b v28, v26, v6 + WORD $0x6e278f5d // cmeq.16b v29, v26, v7 + WORD $0x4e30875e // add.16b v30, v26, v16 + WORD $0x6e3e363e // cmhi.16b v30, v17, v30 + WORD $0x4e321f5a // and.16b v26, v26, v18 + WORD $0x6e338f5a // cmeq.16b v26, v26, v19 + WORD $0x4ebd1f9c // orr.16b v28, v28, v29 + WORD $0x4ebb1fdd // orr.16b v29, v30, v27 + WORD $0x4ebc1f5e // orr.16b v30, v26, v28 + WORD $0x4ebe1fbd // orr.16b v29, v29, v30 + WORD $0x4e221f7b // and.16b v27, v27, v2 + WORD $0x4e03037b // tbl.16b v27, { v27 }, v3 + WORD $0x4e71bb7b // addv.8h h27, v27 + WORD $0x1e26036f // fmov w15, s27 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260354 // fmov w20, s26 + WORD $0x4e221f9a // and.16b v26, v28, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260357 // fmov w23, s26 + WORD $0x4e221fba // and.16b v26, v29, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260358 // fmov w24, s26 + WORD $0x2a3803f8 // mvn w24, w24 + WORD $0x32103f18 // orr w24, w24, #0xffff0000 + WORD $0x5ac00318 // rbit w24, w24 + WORD $0x5ac0131a // clz w26, w24 + WORD $0x12800011 // mov w17, #-1 + WORD $0x1ada2238 // lsl w24, w17, w26 + WORD $0x0a3801f9 // bic w25, w15, w24 + WORD $0x0a380291 // bic w17, w20, w24 + WORD $0x0a3802e7 // bic w7, w23, w24 + WORD $0x7100435f // cmp w26, #16 + WORD $0x1a9901f8 // csel w24, w15, w25, eq + WORD $0x1a910294 // csel w20, w20, w17, eq + WORD $0x1a8702f9 // csel w25, w23, w7, eq + WORD $0x5100070f // sub w15, w24, #1 + WORD $0x6a1801f7 // ands w23, w15, w24 + WORD $0x54003381 // b.ne LBB0_420 $1648(%rip) + WORD $0x5100068f // sub w15, w20, #1 + WORD $0x6a1401f7 // ands w23, w15, w20 + WORD $0x54003321 // b.ne LBB0_420 $1636(%rip) + WORD $0x5100072f // sub w15, w25, #1 + WORD $0x6a1901f7 // ands w23, w15, w25 + WORD $0x540032c1 // b.ne LBB0_420 $1624(%rip) + WORD $0x340000d8 // cbz w24, LBB0_318 $24(%rip) + WORD $0x5ac0030f // rbit w15, w24 + WORD $0x5ac011f8 // clz w24, w15 + WORD $0xb10006df // cmn x22, #1 + WORD $0x54004721 // b.ne LBB0_457 $2276(%rip) + WORD $0x8b1801d6 // add x22, x14, x24 +LBB0_318: + WORD $0x340000d4 // cbz w20, LBB0_321 $24(%rip) + WORD $0x5ac0028f // rbit w15, w20 + WORD $0x5ac011f4 // clz w20, w15 + WORD $0xb10007df // cmn lr, #1 + WORD $0x540035c1 // b.ne LBB0_429 $1720(%rip) + WORD $0x8b1401de // add lr, x14, x20 +LBB0_321: + WORD $0x340000d9 // cbz w25, LBB0_324 $24(%rip) + WORD $0x5ac0032f // rbit w15, w25 + WORD $0x5ac011f4 // clz w20, w15 + WORD $0xb100067f // cmn x19, #1 + WORD $0x54003501 // b.ne LBB0_429 $1696(%rip) + WORD $0x8b1401d3 // add x19, x14, x20 LBB0_324: - WORD $0xd2800005 // mov x5, #0 -LBB0_325: - WORD $0x38656b91 // ldrb w17, [x28, x5] - WORD $0x71008a3f // cmp w17, #34 - WORD $0x540002e0 // b.eq LBB0_331 $92(%rip) - WORD $0x7101723f // cmp w17, #92 - WORD $0x540000e0 // b.eq LBB0_329 $28(%rip) - WORD $0x71007e3f // cmp w17, #31 - WORD $0x54003349 // b.ls LBB0_430 $1640(%rip) - WORD $0x910004a5 // add x5, x5, #1 - WORD $0xeb05029f // cmp x20, x5 - WORD $0x54fffee1 // b.ne LBB0_325 $-36(%rip) - WORD $0x14000133 // b LBB0_398 $1228(%rip) -LBB0_329: - WORD $0xd1000691 // sub x17, x20, #1 - WORD $0xeb05023f // cmp x17, x5 - WORD $0x54002600 // b.eq LBB0_398 $1216(%rip) - WORD $0x8b050391 // add x17, x28, x5 - WORD $0x8b0c0224 // add x4, x17, x12 - WORD $0xb100051f // cmn x8, #1 - WORD $0x9a880088 // csel x8, x4, x8, eq - WORD $0x91000a3c // add x28, x17, #2 - WORD $0xcb050291 // sub x17, x20, x5 - WORD $0xd1000a84 // sub x4, x20, #2 - WORD $0xd1000a34 // sub x20, x17, #2 - WORD $0xeb05009f // cmp x4, x5 - WORD $0x54fffd01 // b.ne LBB0_324 $-96(%rip) - WORD $0x14000125 // b LBB0_398 $1172(%rip) + WORD $0x7100435f // cmp w26, #16 + WORD $0x54000601 // b.ne LBB0_342 $192(%rip) + WORD $0x910041ce // add x14, x14, #16 + WORD $0xd10040a5 // sub x5, x5, #16 + WORD $0x8b0502ba // add x26, x21, x5 + WORD $0xf1003f5f // cmp x26, #15 + WORD $0x54fff6c8 // b.hi LBB0_312 $-296(%rip) + WORD $0x8b0e0005 // add x5, x0, x14 + WORD $0xeb0e02bf // cmp x21, x14 + WORD $0x52800067 // mov w7, #3 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0x54000540 // b.eq LBB0_343 $168(%rip) +LBB0_327: + WORD $0x8b1a00ae // add x14, x5, x26 + WORD $0xcb0800af // sub x15, x5, x8 + WORD $0xcb1b01f5 // sub x21, x15, x27 + WORD $0xaa0503fb // mov x27, x5 + WORD $0x14000008 // b LBB0_331 $32(%rip) +LBB0_328: + WORD $0xb100067f // cmn x19, #1 + WORD $0x54002da1 // b.ne LBB0_419 $1460(%rip) + WORD $0xd10006b3 // sub x19, x21, #1 +LBB0_330: + WORD $0x910006b5 // add x21, x21, #1 + WORD $0xaa1b03e5 // mov x5, x27 + WORD $0xd100075a // sub x26, x26, #1 + WORD $0xb4000b3a // cbz x26, LBB0_363 $356(%rip) LBB0_331: - WORD $0x8b1c0191 // add x17, x12, x28 - WORD $0x8b050231 // add x17, x17, x5 -LBB0_332: - WORD $0x9100063c // add x28, x17, #1 - WORD $0x52800073 // mov w19, #3 - WORD $0x17fffbf6 // b LBB0_122 $-4136(%rip) -LBB0_333: - WORD $0x92800008 // mov x8, #-1 - WORD $0xaa1e03f6 // mov x22, lr - WORD $0xaa1503f7 // mov x23, x21 - WORD $0x92800005 // mov x5, #-1 - WORD $0x92800014 // mov x20, #-1 - WORD $0x17fffb21 // b LBB0_82 $-4988(%rip) -LBB0_334: - WORD $0xaa2703e8 // mvn x8, x7 - WORD $0xcb3a4107 // sub x7, x8, w26, uxtw - WORD $0x52800073 // mov w19, #3 - WORD $0x17fffe5b // b LBB0_243 $-1684(%rip) -LBB0_335: - WORD $0x92800014 // mov x20, #-1 - WORD $0xaa0803f6 // mov x22, x8 - WORD $0xaa1803f5 // mov x21, x24 - WORD $0x92800005 // mov x5, #-1 - WORD $0x9280001e // mov lr, #-1 - WORD $0x52800073 // mov w19, #3 - WORD $0x17fffe0f // b LBB0_215 $-1988(%rip) -LBB0_336: - WORD $0xdac002b1 // rbit x17, x21 - WORD $0xdac01231 // clz x17, x17 - WORD $0xcb090396 // sub x22, x28, x9 - WORD $0x8b1102d1 // add x17, x22, x17 - WORD $0xb100051f // cmn x8, #1 - WORD $0x9a911108 // csel x8, x8, x17, ne -LBB0_337: - WORD $0x0a2502b1 // bic w17, w21, w5 - WORD $0x531f7a36 // lsl w22, w17, #1 - WORD $0x331f7a25 // bfi w5, w17, #1, #31 - WORD $0x0a3602b5 // bic w21, w21, w22 - WORD $0x1201f2b5 // and w21, w21, #0xaaaaaaaa - WORD $0x2b1102b1 // adds w17, w21, w17 - WORD $0x4a1104d1 // eor w17, w6, w17, lsl #1 - WORD $0x0a050231 // and w17, w17, w5 - WORD $0x1a9f37e5 // cset w5, hs - WORD $0x2a3103f1 // mvn w17, w17 - WORD $0x8a140234 // and x20, x17, x20 - WORD $0x52800073 // mov w19, #3 - WORD $0xb5ffcf74 // cbnz x20, LBB0_255 $-1556(%rip) + WORD $0x38401774 // ldrb w20, [x27], #1 + WORD $0x5100c28f // sub w15, w20, #48 + WORD $0x710029ff // cmp w15, #10 + WORD $0x54ffff23 // b.lo LBB0_330 $-28(%rip) + WORD $0x7100b69f // cmp w20, #45 + WORD $0x5400016d // b.le LBB0_338 $44(%rip) + WORD $0x7101969f // cmp w20, #101 + WORD $0x540001c0 // b.eq LBB0_340 $56(%rip) + WORD $0x7101169f // cmp w20, #69 + WORD $0x54000180 // b.eq LBB0_340 $48(%rip) + WORD $0x7100ba9f // cmp w20, #46 + WORD $0x54000241 // b.ne LBB0_343 $72(%rip) + WORD $0xb10006df // cmn x22, #1 + WORD $0x54002b41 // b.ne LBB0_419 $1384(%rip) + WORD $0xd10006b6 // sub x22, x21, #1 + WORD $0x17ffffed // b LBB0_330 $-76(%rip) LBB0_338: - WORD $0x9100839c // add x28, x28, #32 - WORD $0xaa0703f4 // mov x20, x7 -LBB0_339: - WORD $0xb5000ec5 // cbnz x5, LBB0_366 $472(%rip) - WORD $0xb4000314 // cbz x20, LBB0_348 $96(%rip) -LBB0_341: - WORD $0xaa1c03e7 // mov x7, x28 - WORD $0x384014e5 // ldrb w5, [x7], #1 - WORD $0x710088bf // cmp w5, #34 - WORD $0x54000260 // b.eq LBB0_347 $76(%rip) - WORD $0xd1000691 // sub x17, x20, #1 - WORD $0x710170bf // cmp w5, #92 - WORD $0x540000a0 // b.eq LBB0_344 $20(%rip) - WORD $0xaa0703fc // mov x28, x7 - WORD $0xaa1103f4 // mov x20, x17 - WORD $0xb5fffef1 // cbnz x17, LBB0_341 $-36(%rip) - WORD $0x14000009 // b LBB0_346 $36(%rip) + WORD $0x7100ae9f // cmp w20, #43 + WORD $0x54fffd00 // b.eq LBB0_328 $-96(%rip) + WORD $0x7100b69f // cmp w20, #45 + WORD $0x54fffcc0 // b.eq LBB0_328 $-104(%rip) + WORD $0x14000009 // b LBB0_343 $36(%rip) +LBB0_340: + WORD $0xb10007df // cmn lr, #1 + WORD $0x54002a21 // b.ne LBB0_419 $1348(%rip) + WORD $0xd10006be // sub lr, x21, #1 + WORD $0x17ffffe4 // b LBB0_330 $-112(%rip) +LBB0_342: + WORD $0x8b3a400f // add x15, x0, w26, uxtw + WORD $0x8b0e01e5 // add x5, x15, x14 + WORD $0x52800067 // mov w7, #3 + WORD $0x92f00011 // mov x17, #9223372036854775807 +LBB0_343: + WORD $0x9280000e // mov x14, #-1 + WORD $0xb4007a96 // cbz x22, LBB0_569 $3920(%rip) LBB0_344: - WORD $0xb4001d91 // cbz x17, LBB0_398 $944(%rip) - WORD $0x8b0b00f1 // add x17, x7, x11 - WORD $0xb100051f // cmn x8, #1 - WORD $0x9a880228 // csel x8, x17, x8, eq - WORD $0x91000b9c // add x28, x28, #2 - WORD $0xd1000a91 // sub x17, x20, #2 - WORD $0xaa1103f4 // mov x20, x17 - WORD $0xb5fffdd1 // cbnz x17, LBB0_341 $-72(%rip) -LBB0_346: - WORD $0x710088bf // cmp w5, #34 - WORD $0x54000060 // b.eq LBB0_348 $12(%rip) - WORD $0x140000e2 // b LBB0_398 $904(%rip) -LBB0_347: - WORD $0xaa0703fc // mov x28, x7 -LBB0_348: - WORD $0xcb09039c // sub x28, x28, x9 - WORD $0x17fffbb5 // b LBB0_122 $-4396(%rip) -LBB0_349: - WORD $0xdac000f1 // rbit x17, x7 - WORD $0xdac01231 // clz x17, x17 - WORD $0xcb090396 // sub x22, x28, x9 - WORD $0x8b1102d1 // add x17, x22, x17 - WORD $0xb100051f // cmn x8, #1 - WORD $0x9a911108 // csel x8, x8, x17, ne -LBB0_350: - WORD $0x0a2500f1 // bic w17, w7, w5 - WORD $0x531f7a36 // lsl w22, w17, #1 - WORD $0x331f7a25 // bfi w5, w17, #1, #31 - WORD $0x0a3600e7 // bic w7, w7, w22 - WORD $0x1201f0e7 // and w7, w7, #0xaaaaaaaa - WORD $0x2b1100f1 // adds w17, w7, w17 - WORD $0x4a1104d1 // eor w17, w6, w17, lsl #1 - WORD $0x0a050231 // and w17, w17, w5 - WORD $0x1a9f37e5 // cset w5, hs - WORD $0x2a3103f1 // mvn w17, w17 - WORD $0x8a140234 // and x20, x17, x20 - WORD $0x52800073 // mov w19, #3 - WORD $0x17fffe6e // b LBB0_260 $-1608(%rip) + WORD $0x5280008f // mov w15, #4 + WORD $0xb4007a53 // cbz x19, LBB0_569 $3912(%rip) + WORD $0xb4007a3e // cbz lr, LBB0_569 $3908(%rip) + WORD $0xcb0000ae // sub x14, x5, x0 + WORD $0xd10005c0 // sub x0, x14, #1 + WORD $0xeb0002df // cmp x22, x0 + WORD $0x54000300 // b.eq LBB0_355 $96(%rip) + WORD $0xeb00027f // cmp x19, x0 + WORD $0x540002c0 // b.eq LBB0_355 $88(%rip) + WORD $0xeb0003df // cmp lr, x0 + WORD $0x54000280 // b.eq LBB0_355 $80(%rip) + WORD $0xf1000660 // subs x0, x19, #1 + WORD $0x5400006b // b.lt LBB0_351 $12(%rip) + WORD $0xeb0003df // cmp lr, x0 + WORD $0x540078c1 // b.ne LBB0_570 $3864(%rip) LBB0_351: - WORD $0xdac002b1 // rbit x17, x21 - WORD $0xdac01231 // clz x17, x17 - WORD $0xcb090396 // sub x22, x28, x9 - WORD $0x8b1102d1 // add x17, x22, x17 - WORD $0xb100051f // cmn x8, #1 - WORD $0x9a911108 // csel x8, x8, x17, ne -LBB0_352: - WORD $0x0a2502b1 // bic w17, w21, w5 - WORD $0x531f7a36 // lsl w22, w17, #1 - WORD $0x331f7a25 // bfi w5, w17, #1, #31 - WORD $0x0a3602b5 // bic w21, w21, w22 - WORD $0x1201f2b5 // and w21, w21, #0xaaaaaaaa - WORD $0x2b1102b1 // adds w17, w21, w17 - WORD $0x4a110491 // eor w17, w4, w17, lsl #1 - WORD $0x0a050231 // and w17, w17, w5 - WORD $0x1a9f37e5 // cset w5, hs - WORD $0x2a3103f1 // mvn w17, w17 - WORD $0x8a140234 // and x20, x17, x20 - WORD $0x52800073 // mov w19, #3 - WORD $0xb5ffd6b4 // cbnz x20, LBB0_282 $-1324(%rip) + WORD $0xaa1e02c0 // orr x0, x22, lr + WORD $0xb7f80060 // tbnz x0, #63, LBB0_353 $12(%rip) + WORD $0xeb1e02df // cmp x22, lr + WORD $0x5400788a // b.ge LBB0_571 $3856(%rip) LBB0_353: - WORD $0x9100839c // add x28, x28, #32 - WORD $0xaa0703f4 // mov x20, x7 + WORD $0xd37ffc0f // lsr x15, x0, #63 + WORD $0x520001ef // eor w15, w15, #0x1 + WORD $0xd10007d1 // sub x17, lr, #1 + WORD $0xeb1102df // cmp x22, x17 + WORD $0x1a9f17f1 // cset w17, eq + WORD $0x6a1101ff // tst w15, w17 + WORD $0xda9e01ce // csinv x14, x14, lr, eq LBB0_354: - WORD $0xb5000865 // cbnz x5, LBB0_370 $268(%rip) - WORD $0xb4000314 // cbz x20, LBB0_363 $96(%rip) + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0xb6ffd16e // tbz x14, #63, LBB0_282 $-1492(%rip) + WORD $0x140003b6 // b LBB0_569 $3800(%rip) +LBB0_355: + WORD $0xcb0e03ee // neg x14, x14 + WORD $0xb6ffd10e // tbz x14, #63, LBB0_282 $-1504(%rip) + WORD $0x140003b3 // b LBB0_569 $3788(%rip) LBB0_356: - WORD $0xaa1c03e7 // mov x7, x28 - WORD $0x384014e5 // ldrb w5, [x7], #1 - WORD $0x710088bf // cmp w5, #34 - WORD $0x54000260 // b.eq LBB0_362 $76(%rip) - WORD $0xd1000691 // sub x17, x20, #1 - WORD $0x710170bf // cmp w5, #92 - WORD $0x540000a0 // b.eq LBB0_359 $20(%rip) - WORD $0xaa0703fc // mov x28, x7 - WORD $0xaa1103f4 // mov x20, x17 - WORD $0xb5fffef1 // cbnz x17, LBB0_356 $-36(%rip) - WORD $0x14000009 // b LBB0_361 $36(%rip) + WORD $0xb5003be5 // cbnz x5, LBB0_459 $1916(%rip) + WORD $0x8b0e03c5 // add x5, lr, x14 + WORD $0x910004a5 // add x5, x5, #1 + WORD $0xaa2e03ee // mvn x14, x14 + WORD $0x8b0001ce // add x14, x14, x0 + WORD $0xf10005df // cmp x14, #1 + WORD $0x54003d8a // b.ge LBB0_462 $1968(%rip) + WORD $0x140003b6 // b LBB0_575 $3800(%rip) +LBB0_358: + WORD $0x5ac002ee // rbit w14, w23 + WORD $0x5ac011ce // clz w14, w14 + WORD $0xaa3c03ef // mvn x15, x28 + WORD $0xcb0e01ee // sub x14, x15, x14 + WORD $0x17fffb39 // b LBB0_179 $-4892(%rip) LBB0_359: - WORD $0xb4001531 // cbz x17, LBB0_398 $676(%rip) - WORD $0x8b0b00f1 // add x17, x7, x11 - WORD $0xb100051f // cmn x8, #1 - WORD $0x9a880228 // csel x8, x17, x8, eq - WORD $0x91000b9c // add x28, x28, #2 - WORD $0xd1000a91 // sub x17, x20, #2 - WORD $0xaa1103f4 // mov x20, x17 - WORD $0xb5fffdd1 // cbnz x17, LBB0_356 $-72(%rip) + WORD $0xaa3c03ee // mvn x14, x28 + WORD $0xcb3441ce // sub x14, x14, w20, uxtw + WORD $0x17fffb36 // b LBB0_179 $-4904(%rip) +LBB0_360: + WORD $0x8b1c0365 // add x5, x27, x28 + WORD $0xf10005df // cmp x14, #1 + WORD $0x54003c0a // b.ge LBB0_462 $1920(%rip) + WORD $0x140003aa // b LBB0_575 $3752(%rip) LBB0_361: - WORD $0x710088bf // cmp w5, #34 - WORD $0x54000060 // b.eq LBB0_363 $12(%rip) - WORD $0x1400009f // b LBB0_398 $636(%rip) + WORD $0x8b1c037c // add x28, x27, x28 + WORD $0x1400000e // b LBB0_366 $56(%rip) LBB0_362: - WORD $0xaa0703fc // mov x28, x7 + WORD $0x8b1c037c // add x28, x27, x28 + WORD $0x14000032 // b LBB0_372 $200(%rip) LBB0_363: - WORD $0xcb09039c // sub x28, x28, x9 - WORD $0x52800084 // mov w4, #4 - WORD $0x92f00006 // mov x6, #9223372036854775807 - WORD $0xb20903e7 // mov x7, #36028797027352576 - WORD $0xf2800027 // movk x7, #1 - WORD $0xb6ff827c // tbz x28, #63, LBB0_151 $-4020(%rip) - WORD $0x14000095 // b LBB0_397 $596(%rip) + WORD $0xaa0e03e5 // mov x5, x14 + WORD $0x9280000e // mov x14, #-1 + WORD $0xb5fff8b6 // cbnz x22, LBB0_344 $-236(%rip) + WORD $0x14000397 // b LBB0_569 $3676(%rip) LBB0_364: - WORD $0xdac000f1 // rbit x17, x7 - WORD $0xdac01231 // clz x17, x17 - WORD $0xcb090396 // sub x22, x28, x9 - WORD $0x8b1102d1 // add x17, x22, x17 - WORD $0xb100051f // cmn x8, #1 - WORD $0x9a911108 // csel x8, x8, x17, ne + WORD $0x8b1c0365 // add x5, x27, x28 + WORD $0xf10005df // cmp x14, #1 + WORD $0x54003eca // b.ge LBB0_469 $2008(%rip) + WORD $0x1400039e // b LBB0_575 $3704(%rip) LBB0_365: - WORD $0x0a2500f1 // bic w17, w7, w5 - WORD $0x531f7a36 // lsl w22, w17, #1 - WORD $0x331f7a25 // bfi w5, w17, #1, #31 - WORD $0x0a3600e7 // bic w7, w7, w22 - WORD $0x1201f0e7 // and w7, w7, #0xaaaaaaaa - WORD $0x2b1100f1 // adds w17, w7, w17 - WORD $0x4a110491 // eor w17, w4, w17, lsl #1 - WORD $0x0a050231 // and w17, w17, w5 - WORD $0x1a9f37e5 // cset w5, hs - WORD $0x2a3103f1 // mvn w17, w17 - WORD $0x8a140234 // and x20, x17, x20 - WORD $0x52800073 // mov w19, #3 - WORD $0x17fffea3 // b LBB0_287 $-1396(%rip) + WORD $0xd2800013 // mov x19, #0 + WORD $0x8b1c037c // add x28, x27, x28 + WORD $0x92800000 // mov x0, #-1 LBB0_366: - WORD $0xb4001074 // cbz x20, LBB0_398 $524(%rip) - WORD $0x8b0b0391 // add x17, x28, x11 - WORD $0xb100051f // cmn x8, #1 - WORD $0x9a880228 // csel x8, x17, x8, eq - WORD $0x9100079c // add x28, x28, #1 - WORD $0xd1000694 // sub x20, x20, #1 - WORD $0xb5fff0d4 // cbnz x20, LBB0_341 $-488(%rip) - WORD $0x17ffff9c // b LBB0_348 $-400(%rip) -LBB0_368: - WORD $0xb4000f74 // cbz x20, LBB0_398 $492(%rip) - WORD $0x8b0b0391 // add x17, x28, x11 - WORD $0xb100051f // cmn x8, #1 - WORD $0x9a880228 // csel x8, x17, x8, eq - WORD $0x9100079c // add x28, x28, #1 - WORD $0xd1000694 // sub x20, x20, #1 - WORD $0xb5ffc634 // cbnz x20, LBB0_267 $-1852(%rip) - WORD $0x14000074 // b LBB0_398 $464(%rip) + WORD $0xf10082ce // subs x14, x22, #32 + WORD $0x54004363 // b.lo LBB0_476 $2156(%rip) + WORD $0xad406f9a // ldp q26, q27, [x28] + WORD $0x6e208f5c // cmeq.16b v28, v26, v0 + WORD $0x6e208f7d // cmeq.16b v29, v27, v0 + WORD $0x6e218f5a // cmeq.16b v26, v26, v1 + WORD $0x6e218f7b // cmeq.16b v27, v27, v1 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260385 // fmov w5, s28 + WORD $0x4e221fbc // and.16b v28, v29, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260394 // fmov w20, s28 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260355 // fmov w21, s26 + WORD $0x4e221f7a // and.16b v26, v27, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260356 // fmov w22, s26 + WORD $0x33103e85 // bfi w5, w20, #16, #16 + WORD $0x33103ed5 // bfi w21, w22, #16, #16 + WORD $0x35003d75 // cbnz w21, LBB0_473 $1964(%rip) + WORD $0xb5003e13 // cbnz x19, LBB0_474 $1984(%rip) + WORD $0xb4003fe5 // cbz x5, LBB0_475 $2044(%rip) LBB0_370: - WORD $0xb4000e74 // cbz x20, LBB0_398 $460(%rip) - WORD $0x8b0b0391 // add x17, x28, x11 - WORD $0xb100051f // cmn x8, #1 - WORD $0x9a880228 // csel x8, x17, x8, eq - WORD $0x9100079c // add x28, x28, #1 - WORD $0xd1000694 // sub x20, x20, #1 - WORD $0xb5fff734 // cbnz x20, LBB0_356 $-284(%rip) - WORD $0x17ffffcf // b LBB0_363 $-196(%rip) + WORD $0xdac000ae // rbit x14, x5 + WORD $0xdac011ce // clz x14, x14 + WORD $0xcb1b0385 // sub x5, x28, x27 + WORD $0x8b0e00ae // add x14, x5, x14 + WORD $0x910005dc // add x28, x14, #1 + WORD $0xb6ffc87c // tbz x28, #63, LBB0_283 $-1780(%rip) + WORD $0x14000312 // b LBB0_542 $3144(%rip) +LBB0_371: + WORD $0xd2800013 // mov x19, #0 + WORD $0x8b1c037c // add x28, x27, x28 + WORD $0x92800000 // mov x0, #-1 LBB0_372: - WORD $0xb4000d74 // cbz x20, LBB0_398 $428(%rip) - WORD $0x8b0b0391 // add x17, x28, x11 - WORD $0xb100051f // cmn x8, #1 - WORD $0x9a880228 // csel x8, x17, x8, eq - WORD $0x9100079c // add x28, x28, #1 - WORD $0xd1000694 // sub x20, x20, #1 - WORD $0xb5ffd3d4 // cbnz x20, LBB0_294 $-1416(%rip) - WORD $0x14000064 // b LBB0_398 $400(%rip) -LBB0_374: - WORD $0xdac002b1 // rbit x17, x21 - WORD $0xdac01231 // clz x17, x17 - WORD $0xcb090384 // sub x4, x28, x9 - WORD $0x8b110091 // add x17, x4, x17 - WORD $0xb100051f // cmn x8, #1 - WORD $0x9a911108 // csel x8, x8, x17, ne + WORD $0xf10082ce // subs x14, x22, #32 + WORD $0x54000623 // b.lo LBB0_379 $196(%rip) + WORD $0xad406b9b // ldp q27, q26, [x28] + WORD $0x6e208f7c // cmeq.16b v28, v27, v0 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260385 // fmov w5, s28 + WORD $0x6e208f5c // cmeq.16b v28, v26, v0 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260394 // fmov w20, s28 + WORD $0x6e218f7c // cmeq.16b v28, v27, v1 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260395 // fmov w21, s28 + WORD $0x6e218f5c // cmeq.16b v28, v26, v1 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260396 // fmov w22, s28 + WORD $0x33103e85 // bfi w5, w20, #16, #16 + WORD $0x33103ed5 // bfi w21, w22, #16, #16 + WORD $0x35003ff5 // cbnz w21, LBB0_487 $2044(%rip) + WORD $0xb5004093 // cbnz x19, LBB0_488 $2064(%rip) LBB0_375: - WORD $0x0a2502b1 // bic w17, w21, w5 - WORD $0x531f7a24 // lsl w4, w17, #1 - WORD $0x331f7a25 // bfi w5, w17, #1, #31 - WORD $0x0a2402a4 // bic w4, w21, w4 - WORD $0x1201f084 // and w4, w4, #0xaaaaaaaa - WORD $0x2b110091 // adds w17, w4, w17 - WORD $0x4a110711 // eor w17, w24, w17, lsl #1 - WORD $0x0a050231 // and w17, w17, w5 - WORD $0x1a9f37e5 // cset w5, hs - WORD $0x2a3103f1 // mvn w17, w17 - WORD $0x8a140234 // and x20, x17, x20 - WORD $0xb5ffdaf4 // cbnz x20, LBB0_312 $-1188(%rip) -LBB0_376: - WORD $0x9100839c // add x28, x28, #32 - WORD $0xaa0703f4 // mov x20, x7 + WORD $0x6e3b349b // cmhi.16b v27, v4, v27 + WORD $0x4e221f7b // and.16b v27, v27, v2 + WORD $0x4e03037b // tbl.16b v27, { v27 }, v3 + WORD $0x4e71bb7b // addv.8h h27, v27 + WORD $0x1e260375 // fmov w21, s27 + WORD $0x6e3a349a // cmhi.16b v26, v4, v26 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260354 // fmov w20, s26 + WORD $0x33103e95 // bfi w21, w20, #16, #16 + WORD $0xdac002b4 // rbit x20, x21 + WORD $0xdac01294 // clz x20, x20 + WORD $0xb40000e5 // cbz x5, LBB0_377 $28(%rip) + WORD $0xdac000ae // rbit x14, x5 + WORD $0xdac011c5 // clz x5, x14 + WORD $0xcb1b038e // sub x14, x28, x27 + WORD $0xeb05029f // cmp x20, x5 + WORD $0x54000462 // b.hs LBB0_390 $140(%rip) + WORD $0x14000350 // b LBB0_577 $3392(%rip) LBB0_377: - WORD $0xb50005c5 // cbnz x5, LBB0_388 $184(%rip) - WORD $0xb4000694 // cbz x20, LBB0_390 $208(%rip) + WORD $0x35006a55 // cbnz w21, LBB0_578 $3400(%rip) + WORD $0x9100839c // add x28, x28, #32 + WORD $0xaa0e03f6 // mov x22, x14 LBB0_379: - WORD $0xaa1c03e7 // mov x7, x28 - WORD $0x384014e5 // ldrb w5, [x7], #1 - WORD $0x710088bf // cmp w5, #34 - WORD $0x54000280 // b.eq LBB0_385 $80(%rip) - WORD $0xd1000691 // sub x17, x20, #1 - WORD $0x710170bf // cmp w5, #92 - WORD $0x540000a0 // b.eq LBB0_382 $20(%rip) - WORD $0xaa0703fc // mov x28, x7 - WORD $0xaa1103f4 // mov x20, x17 - WORD $0xb5fffef1 // cbnz x17, LBB0_379 $-36(%rip) - WORD $0x14000009 // b LBB0_384 $36(%rip) + WORD $0xb5004a73 // cbnz x19, LBB0_507 $2380(%rip) + WORD $0xb4005bb6 // cbz x22, LBB0_543 $2932(%rip) +LBB0_381: + WORD $0xcb1b03ee // neg x14, x27 LBB0_382: - WORD $0xb4000851 // cbz x17, LBB0_398 $264(%rip) - WORD $0x8b0b00f1 // add x17, x7, x11 - WORD $0xb100051f // cmn x8, #1 - WORD $0x9a880228 // csel x8, x17, x8, eq - WORD $0x91000b9c // add x28, x28, #2 - WORD $0xd1000a91 // sub x17, x20, #2 - WORD $0xaa1103f4 // mov x20, x17 - WORD $0xb5fffdd1 // cbnz x17, LBB0_379 $-72(%rip) -LBB0_384: - WORD $0x710088bf // cmp w5, #34 - WORD $0x52800073 // mov w19, #3 - WORD $0x54ffeb00 // b.eq LBB0_348 $-672(%rip) - WORD $0x14000037 // b LBB0_398 $220(%rip) -LBB0_385: - WORD $0xaa0703fc // mov x28, x7 - WORD $0x52800073 // mov w19, #3 - WORD $0x17ffff54 // b LBB0_348 $-688(%rip) -LBB0_386: - WORD $0xdac000f1 // rbit x17, x7 - WORD $0xdac01231 // clz x17, x17 - WORD $0xcb090384 // sub x4, x28, x9 - WORD $0x8b110091 // add x17, x4, x17 - WORD $0xb100051f // cmn x8, #1 - WORD $0x9a911108 // csel x8, x8, x17, ne + WORD $0xd2800005 // mov x5, #0 +LBB0_383: + WORD $0x38656b93 // ldrb w19, [x28, x5] + WORD $0x71008a7f // cmp w19, #34 + WORD $0x540002e0 // b.eq LBB0_389 $92(%rip) + WORD $0x7101727f // cmp w19, #92 + WORD $0x540000e0 // b.eq LBB0_387 $28(%rip) + WORD $0x71007e7f // cmp w19, #31 + WORD $0x54006929 // b.ls LBB0_579 $3364(%rip) + WORD $0x910004a5 // add x5, x5, #1 + WORD $0xeb0502df // cmp x22, x5 + WORD $0x54fffee1 // b.ne LBB0_383 $-36(%rip) + WORD $0x140002d0 // b LBB0_543 $2880(%rip) LBB0_387: - WORD $0x0a2500f1 // bic w17, w7, w5 - WORD $0x531f7a24 // lsl w4, w17, #1 - WORD $0x331f7a25 // bfi w5, w17, #1, #31 - WORD $0x0a2400e4 // bic w4, w7, w4 - WORD $0x1201f084 // and w4, w4, #0xaaaaaaaa - WORD $0x2b110091 // adds w17, w4, w17 - WORD $0x4a110711 // eor w17, w24, w17, lsl #1 - WORD $0x0a050231 // and w17, w17, w5 - WORD $0x1a9f37e5 // cset w5, hs - WORD $0x2a3103f1 // mvn w17, w17 - WORD $0x8a140234 // and x20, x17, x20 - WORD $0x17fffeca // b LBB0_317 $-1240(%rip) -LBB0_388: - WORD $0xb4000434 // cbz x20, LBB0_398 $132(%rip) - WORD $0x8b0b0391 // add x17, x28, x11 - WORD $0xb100051f // cmn x8, #1 - WORD $0x9a880228 // csel x8, x17, x8, eq - WORD $0x9100079c // add x28, x28, #1 - WORD $0xd1000694 // sub x20, x20, #1 - WORD $0xb5fff9d4 // cbnz x20, LBB0_379 $-200(%rip) + WORD $0xd10006d3 // sub x19, x22, #1 + WORD $0xeb05027f // cmp x19, x5 + WORD $0x540059a0 // b.eq LBB0_543 $2868(%rip) + WORD $0x8b050393 // add x19, x28, x5 + WORD $0x8b0e0274 // add x20, x19, x14 + WORD $0xb100041f // cmn x0, #1 + WORD $0x9a800280 // csel x0, x20, x0, eq + WORD $0x91000a7c // add x28, x19, #2 + WORD $0xd1000ad3 // sub x19, x22, #2 + WORD $0xcb0502d4 // sub x20, x22, x5 + WORD $0xd1000a96 // sub x22, x20, #2 + WORD $0xeb05027f // cmp x19, x5 + WORD $0x54fffd01 // b.ne LBB0_382 $-96(%rip) + WORD $0x140002c2 // b LBB0_543 $2824(%rip) +LBB0_389: + WORD $0xcb1b038e // sub x14, x28, x27 LBB0_390: - WORD $0x52800073 // mov w19, #3 - WORD $0x17ffff39 // b LBB0_348 $-796(%rip) + WORD $0x8b0501ce // add x14, x14, x5 + WORD $0x910005dc // add x28, x14, #1 + WORD $0xb6ffbd9c // tbz x28, #63, LBB0_283 $-2128(%rip) + WORD $0x140002bb // b LBB0_542 $2796(%rip) LBB0_391: - WORD $0xb4000314 // cbz x20, LBB0_398 $96(%rip) - WORD $0x8b0b0391 // add x17, x28, x11 - WORD $0xb100051f // cmn x8, #1 - WORD $0x9a880228 // csel x8, x17, x8, eq - WORD $0x9100079c // add x28, x28, #1 - WORD $0xd1000694 // sub x20, x20, #1 - WORD $0xb5ffda94 // cbnz x20, LBB0_324 $-1200(%rip) - WORD $0x14000011 // b LBB0_398 $68(%rip) + WORD $0x8b1c037c // add x28, x27, x28 + WORD $0x14000006 // b LBB0_394 $24(%rip) +LBB0_392: + WORD $0x8b1c037c // add x28, x27, x28 + WORD $0x1400002a // b LBB0_400 $168(%rip) LBB0_393: - WORD $0x92800008 // mov x8, #-1 + WORD $0xd2800013 // mov x19, #0 + WORD $0x8b1c037c // add x28, x27, x28 + WORD $0x92800000 // mov x0, #-1 LBB0_394: - WORD $0xaa0803e0 // mov x0, x8 - WORD $0xa9457bfd // ldp fp, lr, [sp, #80] - WORD $0xa9444ff4 // ldp x20, x19, [sp, #64] - WORD $0xa94357f6 // ldp x22, x21, [sp, #48] - WORD $0xa9425ff8 // ldp x24, x23, [sp, #32] - WORD $0xa94167fa // ldp x26, x25, [sp, #16] - WORD $0xa8c76ffc // ldp x28, x27, [sp], #112 - WORD $0xd65f03c0 // ret -LBB0_395: - WORD $0x9280001c // mov x28, #-1 - WORD $0xaa1b03e8 // mov x8, x27 - WORD $0x1400000c // b LBB0_403 $48(%rip) -LBB0_396: - WORD $0x928000c8 // mov x8, #-7 - WORD $0x17fffff4 // b LBB0_394 $-48(%rip) -LBB0_397: - WORD $0xb100079f // cmn x28, #1 - WORD $0x54000101 // b.ne LBB0_403 $32(%rip) + WORD $0xf10082ce // subs x14, x22, #32 + WORD $0x54003d43 // b.lo LBB0_492 $1960(%rip) + WORD $0xad406f9a // ldp q26, q27, [x28] + WORD $0x6e208f5c // cmeq.16b v28, v26, v0 + WORD $0x6e208f7d // cmeq.16b v29, v27, v0 + WORD $0x6e218f5a // cmeq.16b v26, v26, v1 + WORD $0x6e218f7b // cmeq.16b v27, v27, v1 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260385 // fmov w5, s28 + WORD $0x4e221fbc // and.16b v28, v29, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260394 // fmov w20, s28 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260355 // fmov w21, s26 + WORD $0x4e221f7a // and.16b v26, v27, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260356 // fmov w22, s26 + WORD $0x33103e85 // bfi w5, w20, #16, #16 + WORD $0x33103ed5 // bfi w21, w22, #16, #16 + WORD $0x35003755 // cbnz w21, LBB0_489 $1768(%rip) + WORD $0xb50037f3 // cbnz x19, LBB0_490 $1788(%rip) + WORD $0xb40039c5 // cbz x5, LBB0_491 $1848(%rip) LBB0_398: - WORD $0xf9400408 // ldr x8, [x0, #8] - WORD $0x9280001c // mov x28, #-1 - WORD $0x14000005 // b LBB0_403 $20(%rip) + WORD $0xdac000ae // rbit x14, x5 + WORD $0xdac011ce // clz x14, x14 + WORD $0xcb1b0385 // sub x5, x28, x27 + WORD $0x8b0e00ae // add x14, x5, x14 + WORD $0x910005dc // add x28, x14, #1 + WORD $0xb6ff5f3c // tbz x28, #63, LBB0_194 $-5148(%rip) + WORD $0x14000291 // b LBB0_542 $2628(%rip) LBB0_399: - WORD $0x92800015 // mov x21, #-1 + WORD $0xd2800013 // mov x19, #0 + WORD $0x8b1c037c // add x28, x27, x28 + WORD $0x92800000 // mov x0, #-1 LBB0_400: - WORD $0xaa3503f4 // mvn x20, x21 -LBB0_401: - WORD $0x8b1b0288 // add x8, x20, x27 -LBB0_402: - WORD $0x9280003c // mov x28, #-2 + WORD $0xf10082ce // subs x14, x22, #32 + WORD $0x54000623 // b.lo LBB0_407 $196(%rip) + WORD $0xad406b9b // ldp q27, q26, [x28] + WORD $0x6e208f7c // cmeq.16b v28, v27, v0 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260385 // fmov w5, s28 + WORD $0x6e208f5c // cmeq.16b v28, v26, v0 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260394 // fmov w20, s28 + WORD $0x6e218f7c // cmeq.16b v28, v27, v1 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260395 // fmov w21, s28 + WORD $0x6e218f5c // cmeq.16b v28, v26, v1 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260396 // fmov w22, s28 + WORD $0x33103e85 // bfi w5, w20, #16, #16 + WORD $0x33103ed5 // bfi w21, w22, #16, #16 + WORD $0x35003995 // cbnz w21, LBB0_502 $1840(%rip) + WORD $0xb5003a33 // cbnz x19, LBB0_504 $1860(%rip) LBB0_403: - WORD $0xf9000028 // str x8, [x1] - WORD $0xaa1c03e8 // mov x8, x28 - WORD $0x17ffffe8 // b LBB0_394 $-96(%rip) -LBB0_404: - WORD $0xb100051f // cmn x8, #1 - WORD $0x54ffff61 // b.ne LBB0_402 $-20(%rip) - WORD $0xdac00228 // rbit x8, x17 - WORD $0xdac01108 // clz x8, x8 - WORD $0x8b1c0108 // add x8, x8, x28 - WORD $0x17fffff7 // b LBB0_402 $-36(%rip) -LBB0_406: - WORD $0x9280001c // mov x28, #-1 - WORD $0x17fffff6 // b LBB0_403 $-40(%rip) + WORD $0x6e3b349b // cmhi.16b v27, v4, v27 + WORD $0x4e221f7b // and.16b v27, v27, v2 + WORD $0x4e03037b // tbl.16b v27, { v27 }, v3 + WORD $0x4e71bb7b // addv.8h h27, v27 + WORD $0x1e260375 // fmov w21, s27 + WORD $0x6e3a349a // cmhi.16b v26, v4, v26 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260354 // fmov w20, s26 + WORD $0x33103e95 // bfi w21, w20, #16, #16 + WORD $0xdac002b4 // rbit x20, x21 + WORD $0xdac01294 // clz x20, x20 + WORD $0xb40000e5 // cbz x5, LBB0_405 $28(%rip) + WORD $0xdac000ae // rbit x14, x5 + WORD $0xdac011c5 // clz x5, x14 + WORD $0xcb1b038e // sub x14, x28, x27 + WORD $0xeb05029f // cmp x20, x5 + WORD $0x54000582 // b.hs LBB0_418 $176(%rip) + WORD $0x140002cf // b LBB0_577 $2876(%rip) +LBB0_405: + WORD $0x35005a35 // cbnz w21, LBB0_578 $2884(%rip) + WORD $0x9100839c // add x28, x28, #32 + WORD $0xaa0e03f6 // mov x22, x14 LBB0_407: - WORD $0xaa0803f4 // mov x20, x8 - WORD $0x8b1b0108 // add x8, x8, x27 - WORD $0x17fffff2 // b LBB0_402 $-56(%rip) -LBB0_408: - WORD $0x92800007 // mov x7, #-1 + WORD $0xb5003d53 // cbnz x19, LBB0_514 $1960(%rip) + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0xb4004b36 // cbz x22, LBB0_543 $2404(%rip) LBB0_409: - WORD $0xaa2703fe // mvn lr, x7 + WORD $0xcb1b03ee // neg x14, x27 LBB0_410: - WORD $0x8b1e0388 // add x8, x28, lr - WORD $0x17ffffee // b LBB0_402 $-72(%rip) + WORD $0xd2800005 // mov x5, #0 LBB0_411: - WORD $0xf900003b // str x27, [x1] - WORD $0x394003c8 // ldrb w8, [lr] - WORD $0x7101b91f // cmp w8, #110 - WORD $0x54000761 // b.ne LBB0_425 $236(%rip) - WORD $0x91000768 // add x8, x27, #1 - WORD $0xf9000028 // str x8, [x1] - WORD $0x38686928 // ldrb w8, [x9, x8] - WORD $0x7101d51f // cmp w8, #117 - WORD $0x540006c1 // b.ne LBB0_425 $216(%rip) - WORD $0x91000b68 // add x8, x27, #2 - WORD $0xf9000028 // str x8, [x1] - WORD $0x38686928 // ldrb w8, [x9, x8] - WORD $0x7101b11f // cmp w8, #108 - WORD $0x54000621 // b.ne LBB0_425 $196(%rip) - WORD $0x91000f68 // add x8, x27, #3 - WORD $0xf9000028 // str x8, [x1] - WORD $0x38686928 // ldrb w8, [x9, x8] - WORD $0x7101b11f // cmp w8, #108 - WORD $0x54000581 // b.ne LBB0_425 $176(%rip) - WORD $0x14000014 // b LBB0_419 $80(%rip) + WORD $0x38656b93 // ldrb w19, [x28, x5] + WORD $0x71008a7f // cmp w19, #34 + WORD $0x540003a0 // b.eq LBB0_417 $116(%rip) + WORD $0x7101727f // cmp w19, #92 + WORD $0x54000140 // b.eq LBB0_415 $40(%rip) + WORD $0x71007e7f // cmp w19, #31 + WORD $0x540058a9 // b.ls LBB0_579 $2836(%rip) + WORD $0x910004a5 // add x5, x5, #1 + WORD $0xeb0502df // cmp x22, x5 + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0x54fffe81 // b.ne LBB0_411 $-48(%rip) + WORD $0x14000249 // b LBB0_543 $2340(%rip) LBB0_415: - WORD $0xf900003b // str x27, [x1] - WORD $0x394003c8 // ldrb w8, [lr] - WORD $0x7101d11f // cmp w8, #116 - WORD $0x540004e1 // b.ne LBB0_425 $156(%rip) - WORD $0x91000768 // add x8, x27, #1 - WORD $0xf9000028 // str x8, [x1] - WORD $0x38686928 // ldrb w8, [x9, x8] - WORD $0x7101c91f // cmp w8, #114 - WORD $0x54000441 // b.ne LBB0_425 $136(%rip) - WORD $0x91000b68 // add x8, x27, #2 - WORD $0xf9000028 // str x8, [x1] - WORD $0x38686928 // ldrb w8, [x9, x8] - WORD $0x7101d51f // cmp w8, #117 - WORD $0x540003a1 // b.ne LBB0_425 $116(%rip) - WORD $0x91000f68 // add x8, x27, #3 - WORD $0xf9000028 // str x8, [x1] - WORD $0x38686928 // ldrb w8, [x9, x8] - WORD $0x7101951f // cmp w8, #101 - WORD $0x54000301 // b.ne LBB0_425 $96(%rip) + WORD $0xd10006d3 // sub x19, x22, #1 + WORD $0xeb05027f // cmp x19, x5 + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0x54004860 // b.eq LBB0_543 $2316(%rip) + WORD $0x8b050393 // add x19, x28, x5 + WORD $0x8b0e0274 // add x20, x19, x14 + WORD $0xb100041f // cmn x0, #1 + WORD $0x9a800280 // csel x0, x20, x0, eq + WORD $0x91000a7c // add x28, x19, #2 + WORD $0xd1000ad3 // sub x19, x22, #2 + WORD $0xcb0502d4 // sub x20, x22, x5 + WORD $0xd1000a96 // sub x22, x20, #2 + WORD $0xeb05027f // cmp x19, x5 + WORD $0x54fffc41 // b.ne LBB0_410 $-120(%rip) + WORD $0x14000238 // b LBB0_543 $2272(%rip) +LBB0_417: + WORD $0xcb1b038e // sub x14, x28, x27 +LBB0_418: + WORD $0x8b0501ce // add x14, x14, x5 + WORD $0x910005dc // add x28, x14, #1 + WORD $0xb6ff533c // tbz x28, #63, LBB0_194 $-5532(%rip) + WORD $0x14000231 // b LBB0_542 $2244(%rip) LBB0_419: - WORD $0x91001368 // add x8, x27, #4 - WORD $0x17ffffc5 // b LBB0_402 $-236(%rip) + WORD $0xcb1503ee // neg x14, x21 + WORD $0x5280008f // mov w15, #4 + WORD $0xb6ffabae // tbz x14, #63, LBB0_282 $-2700(%rip) + WORD $0x14000288 // b LBB0_569 $2592(%rip) LBB0_420: - WORD $0xf900003c // str x28, [x1] - WORD $0x387c6928 // ldrb w8, [x9, x28] - WORD $0x7101851f // cmp w8, #97 - WORD $0x54000241 // b.ne LBB0_425 $72(%rip) - WORD $0x91000b68 // add x8, x27, #2 - WORD $0xf9000028 // str x8, [x1] - WORD $0x38686928 // ldrb w8, [x9, x8] - WORD $0x7101b11f // cmp w8, #108 - WORD $0x540001a1 // b.ne LBB0_425 $52(%rip) - WORD $0x91000f68 // add x8, x27, #3 - WORD $0xf9000028 // str x8, [x1] - WORD $0x38686928 // ldrb w8, [x9, x8] - WORD $0x7101cd1f // cmp w8, #115 - WORD $0x54000101 // b.ne LBB0_425 $32(%rip) - WORD $0x91001368 // add x8, x27, #4 - WORD $0xf9000028 // str x8, [x1] - WORD $0x38686928 // ldrb w8, [x9, x8] - WORD $0x7101951f // cmp w8, #101 - WORD $0x54000061 // b.ne LBB0_425 $12(%rip) - WORD $0x91001768 // add x8, x27, #5 - WORD $0x17ffffb0 // b LBB0_402 $-320(%rip) -LBB0_425: - WORD $0x92800028 // mov x8, #-2 - WORD $0x17ffff99 // b LBB0_394 $-412(%rip) -LBB0_426: - WORD $0xaa1403fe // mov lr, x20 - WORD $0x8b140388 // add x8, x28, x20 - WORD $0x17ffffab // b LBB0_402 $-340(%rip) + WORD $0x5ac002ef // rbit w15, w23 + WORD $0x5ac011ef // clz w15, w15 + WORD $0xaa2e03ee // mvn x14, x14 + WORD $0xcb0f01ce // sub x14, x14, x15 + WORD $0x52800067 // mov w7, #3 + WORD $0x17fffec9 // b LBB0_354 $-1244(%rip) +LBB0_421: + WORD $0x8b1c0365 // add x5, x27, x28 + WORD $0xf10005df // cmp x14, #1 + WORD $0x5400514b // b.lt LBB0_575 $2600(%rip) +LBB0_422: + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0x14000007 // b LBB0_424 $28(%rip) +LBB0_423: + WORD $0x92800033 // mov x19, #-2 + WORD $0x52800040 // mov w0, #2 + WORD $0x8b0000a5 // add x5, x5, x0 + WORD $0x92800000 // mov x0, #-1 + WORD $0xab1301ce // adds x14, x14, x19 + WORD $0x5400502d // b.le LBB0_576 $2564(%rip) +LBB0_424: + WORD $0x394000a0 // ldrb w0, [x5] + WORD $0x7101701f // cmp w0, #92 + WORD $0x54ffff00 // b.eq LBB0_423 $-32(%rip) + WORD $0x7100881f // cmp w0, #34 + WORD $0x54001780 // b.eq LBB0_465 $752(%rip) + WORD $0x92800013 // mov x19, #-1 + WORD $0x52800020 // mov w0, #1 + WORD $0x8b0000a5 // add x5, x5, x0 + WORD $0x92800000 // mov x0, #-1 + WORD $0xab1301ce // adds x14, x14, x19 + WORD $0x54fffecc // b.gt LBB0_424 $-40(%rip) + WORD $0x14000275 // b LBB0_576 $2516(%rip) LBB0_427: - WORD $0x8b1c0228 // add x8, x17, x28 - WORD $0x17ffffa9 // b LBB0_402 $-348(%rip) + WORD $0x8b1c037c // add x28, x27, x28 + WORD $0x1400000a // b LBB0_431 $40(%rip) LBB0_428: - WORD $0x8b1100a8 // add x8, x5, x17 - WORD $0x17ffffa7 // b LBB0_402 $-356(%rip) + WORD $0x8b1c037c // add x28, x27, x28 + WORD $0x1400002d // b LBB0_437 $180(%rip) LBB0_429: - WORD $0xcb090388 // sub x8, x28, x9 - WORD $0x8b110108 // add x8, x8, x17 - WORD $0x17ffffa4 // b LBB0_402 $-368(%rip) + WORD $0xaa2e03ee // mvn x14, x14 + WORD $0xcb3441ce // sub x14, x14, w20, uxtw + WORD $0x52800067 // mov w7, #3 + WORD $0x17fffea8 // b LBB0_354 $-1376(%rip) LBB0_430: - WORD $0xcb090388 // sub x8, x28, x9 - WORD $0x8b050108 // add x8, x8, x5 - WORD $0x17ffffa1 // b LBB0_402 $-380(%rip) + WORD $0xd2800013 // mov x19, #0 + WORD $0x8b1c037c // add x28, x27, x28 + WORD $0x92800000 // mov x0, #-1 +LBB0_431: + WORD $0xf10082ce // subs x14, x22, #32 + WORD $0x54003743 // b.lo LBB0_521 $1768(%rip) + WORD $0xad406f9a // ldp q26, q27, [x28] + WORD $0x6e208f5c // cmeq.16b v28, v26, v0 + WORD $0x6e208f7d // cmeq.16b v29, v27, v0 + WORD $0x6e218f5a // cmeq.16b v26, v26, v1 + WORD $0x6e218f7b // cmeq.16b v27, v27, v1 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260385 // fmov w5, s28 + WORD $0x4e221fbc // and.16b v28, v29, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e26038f // fmov w15, s28 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260355 // fmov w21, s26 + WORD $0x4e221f7a // and.16b v26, v27, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e260351 // fmov w17, s26 + WORD $0x33103de5 // bfi w5, w15, #16, #16 + WORD $0x33103e35 // bfi w21, w17, #16, #16 + WORD $0x350031d5 // cbnz w21, LBB0_518 $1592(%rip) + WORD $0xb5003273 // cbnz x19, LBB0_519 $1612(%rip) + WORD $0xb40033c5 // cbz x5, LBB0_520 $1656(%rip) +LBB0_435: + WORD $0xdac000ae // rbit x14, x5 + WORD $0xdac011ce // clz x14, x14 + WORD $0xcb1b038f // sub x15, x28, x27 + WORD $0x8b0e01ee // add x14, x15, x14 + WORD $0x910005dc // add x28, x14, #1 + WORD $0x140001b4 // b LBB0_532 $1744(%rip) +LBB0_436: + WORD $0xd2800013 // mov x19, #0 + WORD $0x8b1c037c // add x28, x27, x28 + WORD $0x92800000 // mov x0, #-1 +LBB0_437: + WORD $0xf10082ce // subs x14, x22, #32 + WORD $0x54000623 // b.lo LBB0_444 $196(%rip) + WORD $0xad406b9b // ldp q27, q26, [x28] + WORD $0x6e208f7c // cmeq.16b v28, v27, v0 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260385 // fmov w5, s28 + WORD $0x6e208f5c // cmeq.16b v28, v26, v0 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e26038f // fmov w15, s28 + WORD $0x6e218f7c // cmeq.16b v28, v27, v1 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260395 // fmov w21, s28 + WORD $0x6e218f5c // cmeq.16b v28, v26, v1 + WORD $0x4e221f9c // and.16b v28, v28, v2 + WORD $0x4e03039c // tbl.16b v28, { v28 }, v3 + WORD $0x4e71bb9c // addv.8h h28, v28 + WORD $0x1e260391 // fmov w17, s28 + WORD $0x33103de5 // bfi w5, w15, #16, #16 + WORD $0x33103e35 // bfi w21, w17, #16, #16 + WORD $0x35003395 // cbnz w21, LBB0_533 $1648(%rip) + WORD $0xb5003433 // cbnz x19, LBB0_535 $1668(%rip) +LBB0_440: + WORD $0x6e3b349b // cmhi.16b v27, v4, v27 + WORD $0x4e221f7b // and.16b v27, v27, v2 + WORD $0x4e03037b // tbl.16b v27, { v27 }, v3 + WORD $0x4e71bb7b // addv.8h h27, v27 + WORD $0x1e260375 // fmov w21, s27 + WORD $0x6e3a349a // cmhi.16b v26, v4, v26 + WORD $0x4e221f5a // and.16b v26, v26, v2 + WORD $0x4e03035a // tbl.16b v26, { v26 }, v3 + WORD $0x4e71bb5a // addv.8h h26, v26 + WORD $0x1e26034f // fmov w15, s26 + WORD $0x33103df5 // bfi w21, w15, #16, #16 + WORD $0xdac002af // rbit x15, x21 + WORD $0xdac011f4 // clz x20, x15 + WORD $0xb40000e5 // cbz x5, LBB0_442 $28(%rip) + WORD $0xdac000ae // rbit x14, x5 + WORD $0xdac011c5 // clz x5, x14 + WORD $0xcb1b038e // sub x14, x28, x27 + WORD $0xeb05029f // cmp x20, x5 + WORD $0x54000462 // b.hs LBB0_455 $140(%rip) + WORD $0x1400021f // b LBB0_577 $2172(%rip) +LBB0_442: + WORD $0x35004435 // cbnz w21, LBB0_578 $2180(%rip) + WORD $0x9100839c // add x28, x28, #32 + WORD $0xaa0e03f6 // mov x22, x14 +LBB0_444: + WORD $0xb50033d3 // cbnz x19, LBB0_538 $1656(%rip) + WORD $0xb4003596 // cbz x22, LBB0_543 $1712(%rip) +LBB0_446: + WORD $0xcb1b03ee // neg x14, x27 +LBB0_447: + WORD $0xd2800005 // mov x5, #0 +LBB0_448: + WORD $0x38656b93 // ldrb w19, [x28, x5] + WORD $0x71008a7f // cmp w19, #34 + WORD $0x540002e0 // b.eq LBB0_454 $92(%rip) + WORD $0x7101727f // cmp w19, #92 + WORD $0x540000e0 // b.eq LBB0_452 $28(%rip) + WORD $0x71007e7f // cmp w19, #31 + WORD $0x54004309 // b.ls LBB0_579 $2144(%rip) + WORD $0x910004a5 // add x5, x5, #1 + WORD $0xeb0502df // cmp x22, x5 + WORD $0x54fffee1 // b.ne LBB0_448 $-36(%rip) + WORD $0x1400019f // b LBB0_543 $1660(%rip) +LBB0_452: + WORD $0xd10006cf // sub x15, x22, #1 + WORD $0xeb0501ff // cmp x15, x5 + WORD $0x54003380 // b.eq LBB0_543 $1648(%rip) + WORD $0x8b05038f // add x15, x28, x5 + WORD $0x8b0e01f1 // add x17, x15, x14 + WORD $0xb100041f // cmn x0, #1 + WORD $0x9a800220 // csel x0, x17, x0, eq + WORD $0x910009fc // add x28, x15, #2 + WORD $0xd1000acf // sub x15, x22, #2 + WORD $0xcb0502d1 // sub x17, x22, x5 + WORD $0xd1000a36 // sub x22, x17, #2 + WORD $0xeb0501ff // cmp x15, x5 + WORD $0x54fffd01 // b.ne LBB0_447 $-96(%rip) + WORD $0x14000191 // b LBB0_543 $1604(%rip) +LBB0_454: + WORD $0xcb1b038e // sub x14, x28, x27 +LBB0_455: + WORD $0x8b0501ce // add x14, x14, x5 + WORD $0x910005dc // add x28, x14, #1 + WORD $0x1400015e // b LBB0_532 $1400(%rip) +LBB0_456: + WORD $0x92800000 // mov x0, #-1 + WORD $0xaa1e03f5 // mov x21, lr + WORD $0xaa1a03e5 // mov x5, x26 + WORD $0x92800013 // mov x19, #-1 + WORD $0x92800016 // mov x22, #-1 + WORD $0x17fff7bf // b LBB0_85 $-8452(%rip) +LBB0_457: + WORD $0xaa2e03ee // mvn x14, x14 + WORD $0xcb3841ce // sub x14, x14, w24, uxtw + WORD $0x52800067 // mov w7, #3 + WORD $0x17fffe23 // b LBB0_354 $-1908(%rip) +LBB0_458: + WORD $0x92800016 // mov x22, #-1 + WORD $0xaa0003e5 // mov x5, x0 + WORD $0xaa1503fa // mov x26, x21 + WORD $0x9280001e // mov lr, #-1 + WORD $0x92800013 // mov x19, #-1 + WORD $0x52800067 // mov w7, #3 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0x17fffdd6 // b LBB0_327 $-2216(%rip) +LBB0_459: + WORD $0xd1000405 // sub x5, x0, #1 + WORD $0xeb0e00bf // cmp x5, x14 + WORD $0x54003b80 // b.eq LBB0_575 $1904(%rip) + WORD $0x8b0e03c5 // add x5, lr, x14 + WORD $0x910008a5 // add x5, x5, #2 + WORD $0xcb0e000e // sub x14, x0, x14 + WORD $0xd10009ce // sub x14, x14, #2 + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0xf10005df // cmp x14, #1 + WORD $0x5400010a // b.ge LBB0_462 $32(%rip) + WORD $0x140001d2 // b LBB0_575 $1864(%rip) +LBB0_461: + WORD $0x92800033 // mov x19, #-2 + WORD $0x52800040 // mov w0, #2 + WORD $0x8b0000a5 // add x5, x5, x0 + WORD $0x92800000 // mov x0, #-1 + WORD $0xab1301ce // adds x14, x14, x19 + WORD $0x540039ad // b.le LBB0_576 $1844(%rip) +LBB0_462: + WORD $0x394000a0 // ldrb w0, [x5] + WORD $0x7101701f // cmp w0, #92 + WORD $0x54ffff00 // b.eq LBB0_461 $-32(%rip) + WORD $0x7100881f // cmp w0, #34 + WORD $0x54000100 // b.eq LBB0_465 $32(%rip) + WORD $0x92800013 // mov x19, #-1 + WORD $0x52800020 // mov w0, #1 + WORD $0x8b0000a5 // add x5, x5, x0 + WORD $0x92800000 // mov x0, #-1 + WORD $0xab1301ce // adds x14, x14, x19 + WORD $0x54fffecc // b.gt LBB0_462 $-40(%rip) + WORD $0x140001c1 // b LBB0_576 $1796(%rip) +LBB0_465: + WORD $0xcb1b00ae // sub x14, x5, x27 + WORD $0x910005dc // add x28, x14, #1 + WORD $0x17fffc87 // b LBB0_283 $-3556(%rip) +LBB0_466: + WORD $0xd1000405 // sub x5, x0, #1 + WORD $0xeb0e00bf // cmp x5, x14 + WORD $0x54003740 // b.eq LBB0_575 $1768(%rip) + WORD $0x8b0e03c5 // add x5, lr, x14 + WORD $0x910008a5 // add x5, x5, #2 + WORD $0xcb0e000e // sub x14, x0, x14 + WORD $0xd10009ce // sub x14, x14, #2 + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0xf10005df // cmp x14, #1 + WORD $0x5400010a // b.ge LBB0_469 $32(%rip) + WORD $0x140001b0 // b LBB0_575 $1728(%rip) +LBB0_468: + WORD $0x92800033 // mov x19, #-2 + WORD $0x52800040 // mov w0, #2 + WORD $0x8b0000a5 // add x5, x5, x0 + WORD $0x92800000 // mov x0, #-1 + WORD $0xab1301ce // adds x14, x14, x19 + WORD $0x5400356d // b.le LBB0_576 $1708(%rip) +LBB0_469: + WORD $0x394000a0 // ldrb w0, [x5] + WORD $0x7101701f // cmp w0, #92 + WORD $0x54ffff00 // b.eq LBB0_468 $-32(%rip) + WORD $0x7100881f // cmp w0, #34 + WORD $0x54000100 // b.eq LBB0_472 $32(%rip) + WORD $0x92800013 // mov x19, #-1 + WORD $0x52800020 // mov w0, #1 + WORD $0x8b0000a5 // add x5, x5, x0 + WORD $0x92800000 // mov x0, #-1 + WORD $0xab1301ce // adds x14, x14, x19 + WORD $0x54fffecc // b.gt LBB0_469 $-40(%rip) + WORD $0x1400019f // b LBB0_576 $1660(%rip) +LBB0_472: + WORD $0xcb1b00ae // sub x14, x5, x27 + WORD $0x910005dc // add x28, x14, #1 + WORD $0xf900003c // str x28, [x1] + WORD $0xaa0803e0 // mov x0, x8 + WORD $0xeb11011f // cmp x8, x17 + WORD $0x54ff33c3 // b.lo LBB0_195 $-6536(%rip) + WORD $0x14000198 // b LBB0_576 $1632(%rip) +LBB0_473: + WORD $0xdac002b4 // rbit x20, x21 + WORD $0xdac01294 // clz x20, x20 + WORD $0xcb1b0396 // sub x22, x28, x27 + WORD $0x8b1402d4 // add x20, x22, x20 + WORD $0xb100041f // cmn x0, #1 + WORD $0x9a941000 // csel x0, x0, x20, ne +LBB0_474: + WORD $0x0a3302b4 // bic w20, w21, w19 + WORD $0x531f7a96 // lsl w22, w20, #1 + WORD $0x331f7a93 // bfi w19, w20, #1, #31 + WORD $0x0a3602b5 // bic w21, w21, w22 + WORD $0x1201f2b5 // and w21, w21, #0xaaaaaaaa + WORD $0x2b1402b4 // adds w20, w21, w20 + WORD $0x4a140614 // eor w20, w16, w20, lsl #1 + WORD $0x0a130293 // and w19, w20, w19 + WORD $0x1a9f37f4 // cset w20, hs + WORD $0x2a3303f3 // mvn w19, w19 + WORD $0x8a050265 // and x5, x19, x5 + WORD $0xaa1403f3 // mov x19, x20 + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0xb5ffc065 // cbnz x5, LBB0_370 $-2036(%rip) +LBB0_475: + WORD $0x9100839c // add x28, x28, #32 + WORD $0xaa0e03f6 // mov x22, x14 +LBB0_476: + WORD $0xb50010d3 // cbnz x19, LBB0_505 $536(%rip) + WORD $0xb40003b6 // cbz x22, LBB0_485 $116(%rip) +LBB0_478: + WORD $0xaa3b03ee // mvn x14, x27 +LBB0_479: + WORD $0xaa1c03f3 // mov x19, x28 + WORD $0x38401665 // ldrb w5, [x19], #1 + WORD $0x710088bf // cmp w5, #34 + WORD $0x54000320 // b.eq LBB0_486 $100(%rip) + WORD $0xd10006d4 // sub x20, x22, #1 + WORD $0x710170bf // cmp w5, #92 + WORD $0x54000100 // b.eq LBB0_482 $32(%rip) + WORD $0xaa1303fc // mov x28, x19 + WORD $0xaa1403f6 // mov x22, x20 + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0xb5fffe94 // cbnz x20, LBB0_479 $-48(%rip) + WORD $0x1400000c // b LBB0_484 $48(%rip) +LBB0_482: + WORD $0xb4002134 // cbz x20, LBB0_543 $1060(%rip) + WORD $0x8b0e0273 // add x19, x19, x14 + WORD $0xb100041f // cmn x0, #1 + WORD $0x9a800260 // csel x0, x19, x0, eq + WORD $0x91000b9c // add x28, x28, #2 + WORD $0xd1000ad4 // sub x20, x22, #2 + WORD $0xaa1403f6 // mov x22, x20 + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0xb5fffd14 // cbnz x20, LBB0_479 $-96(%rip) +LBB0_484: + WORD $0x710088bf // cmp w5, #34 + WORD $0x54001fa1 // b.ne LBB0_543 $1012(%rip) +LBB0_485: + WORD $0xaa1c03f3 // mov x19, x28 +LBB0_486: + WORD $0xcb1b027c // sub x28, x19, x27 + WORD $0xb6ff851c // tbz x28, #63, LBB0_283 $-3936(%rip) + WORD $0x140000f7 // b LBB0_542 $988(%rip) +LBB0_487: + WORD $0xdac002b4 // rbit x20, x21 + WORD $0xdac01294 // clz x20, x20 + WORD $0xcb1b0396 // sub x22, x28, x27 + WORD $0x8b1402d4 // add x20, x22, x20 + WORD $0xb100041f // cmn x0, #1 + WORD $0x9a941000 // csel x0, x0, x20, ne +LBB0_488: + WORD $0x0a3302b4 // bic w20, w21, w19 + WORD $0x531f7a96 // lsl w22, w20, #1 + WORD $0x331f7a93 // bfi w19, w20, #1, #31 + WORD $0x0a3602b5 // bic w21, w21, w22 + WORD $0x1201f2b5 // and w21, w21, #0xaaaaaaaa + WORD $0x2b1402b4 // adds w20, w21, w20 + WORD $0x4a140614 // eor w20, w16, w20, lsl #1 + WORD $0x0a130293 // and w19, w20, w19 + WORD $0x1a9f37f4 // cset w20, hs + WORD $0x2a3303f3 // mvn w19, w19 + WORD $0x8a050265 // and x5, x19, x5 + WORD $0xaa1403f3 // mov x19, x20 + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0x17fffdee // b LBB0_375 $-2120(%rip) +LBB0_489: + WORD $0xdac002b4 // rbit x20, x21 + WORD $0xdac01294 // clz x20, x20 + WORD $0xcb1b0396 // sub x22, x28, x27 + WORD $0x8b1402d4 // add x20, x22, x20 + WORD $0xb100041f // cmn x0, #1 + WORD $0x9a941000 // csel x0, x0, x20, ne +LBB0_490: + WORD $0x0a3302b4 // bic w20, w21, w19 + WORD $0x531f7a96 // lsl w22, w20, #1 + WORD $0x331f7a93 // bfi w19, w20, #1, #31 + WORD $0x0a3602b5 // bic w21, w21, w22 + WORD $0x1201f2b5 // and w21, w21, #0xaaaaaaaa + WORD $0x2b1402b4 // adds w20, w21, w20 + WORD $0x4a140614 // eor w20, w16, w20, lsl #1 + WORD $0x0a130293 // and w19, w20, w19 + WORD $0x1a9f37f4 // cset w20, hs + WORD $0x2a3303f3 // mvn w19, w19 + WORD $0x8a050265 // and x5, x19, x5 + WORD $0xaa1403f3 // mov x19, x20 + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0xb5ffc685 // cbnz x5, LBB0_398 $-1840(%rip) +LBB0_491: + WORD $0x9100839c // add x28, x28, #32 + WORD $0xaa0e03f6 // mov x22, x14 +LBB0_492: + WORD $0xb5000913 // cbnz x19, LBB0_509 $288(%rip) + WORD $0xb40009f6 // cbz x22, LBB0_511 $316(%rip) +LBB0_494: + WORD $0xaa3b03ee // mvn x14, x27 +LBB0_495: + WORD $0xaa1c03f3 // mov x19, x28 + WORD $0x38401665 // ldrb w5, [x19], #1 + WORD $0x710088bf // cmp w5, #34 + WORD $0x540002c0 // b.eq LBB0_501 $88(%rip) + WORD $0xd10006d4 // sub x20, x22, #1 + WORD $0x710170bf // cmp w5, #92 + WORD $0x540000a0 // b.eq LBB0_498 $20(%rip) + WORD $0xaa1303fc // mov x28, x19 + WORD $0xaa1403f6 // mov x22, x20 + WORD $0xb5fffef4 // cbnz x20, LBB0_495 $-36(%rip) + WORD $0x14000009 // b LBB0_500 $36(%rip) +LBB0_498: + WORD $0xb4001794 // cbz x20, LBB0_543 $752(%rip) + WORD $0x8b0e0273 // add x19, x19, x14 + WORD $0xb100041f // cmn x0, #1 + WORD $0x9a800260 // csel x0, x19, x0, eq + WORD $0x91000b9c // add x28, x28, #2 + WORD $0xd1000ad4 // sub x20, x22, #2 + WORD $0xaa1403f6 // mov x22, x20 + WORD $0xb5fffdd4 // cbnz x20, LBB0_495 $-72(%rip) +LBB0_500: + WORD $0x710088bf // cmp w5, #34 + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0x54000720 // b.eq LBB0_512 $228(%rip) + WORD $0x140000af // b LBB0_543 $700(%rip) +LBB0_501: + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0x14000035 // b LBB0_513 $212(%rip) +LBB0_502: + WORD $0xb100041f // cmn x0, #1 + WORD $0x540000a1 // b.ne LBB0_504 $20(%rip) + WORD $0xdac002a0 // rbit x0, x21 + WORD $0xdac01000 // clz x0, x0 + WORD $0xcb1b0394 // sub x20, x28, x27 + WORD $0x8b000280 // add x0, x20, x0 +LBB0_504: + WORD $0x0a3302b4 // bic w20, w21, w19 + WORD $0x531f7a96 // lsl w22, w20, #1 + WORD $0x331f7a93 // bfi w19, w20, #1, #31 + WORD $0x0a3602b5 // bic w21, w21, w22 + WORD $0x1201f2b5 // and w21, w21, #0xaaaaaaaa + WORD $0x2b1402b4 // adds w20, w21, w20 + WORD $0x4a140614 // eor w20, w16, w20, lsl #1 + WORD $0x0a130293 // and w19, w20, w19 + WORD $0x1a9f37f4 // cset w20, hs + WORD $0x2a3303f3 // mvn w19, w19 + WORD $0x8a050265 // and x5, x19, x5 + WORD $0xaa1403f3 // mov x19, x20 + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0x17fffe21 // b LBB0_403 $-1916(%rip) +LBB0_505: + WORD $0xb4001296 // cbz x22, LBB0_543 $592(%rip) + WORD $0xaa3b03ee // mvn x14, x27 + WORD $0x8b0e038e // add x14, x28, x14 + WORD $0xb100041f // cmn x0, #1 + WORD $0x9a8001c0 // csel x0, x14, x0, eq + WORD $0x9100079c // add x28, x28, #1 + WORD $0xd10006d6 // sub x22, x22, #1 + WORD $0xb5ffeeb6 // cbnz x22, LBB0_478 $-556(%rip) + WORD $0x17ffff90 // b LBB0_485 $-448(%rip) +LBB0_507: + WORD $0xb4001176 // cbz x22, LBB0_543 $556(%rip) + WORD $0xaa3b03ee // mvn x14, x27 + WORD $0x8b0e038e // add x14, x28, x14 + WORD $0xb100041f // cmn x0, #1 + WORD $0x9a8001c0 // csel x0, x14, x0, eq + WORD $0x9100079c // add x28, x28, #1 + WORD $0xd10006d6 // sub x22, x22, #1 + WORD $0xb5ffb516 // cbnz x22, LBB0_381 $-2400(%rip) + WORD $0x14000083 // b LBB0_543 $524(%rip) +LBB0_509: + WORD $0xb4001056 // cbz x22, LBB0_543 $520(%rip) + WORD $0xaa3b03ee // mvn x14, x27 + WORD $0x8b0e038e // add x14, x28, x14 + WORD $0xb100041f // cmn x0, #1 + WORD $0x9a8001c0 // csel x0, x14, x0, eq + WORD $0x9100079c // add x28, x28, #1 + WORD $0xd10006d6 // sub x22, x22, #1 + WORD $0xb5fff676 // cbnz x22, LBB0_494 $-308(%rip) +LBB0_511: + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 +LBB0_512: + WORD $0xaa1c03f3 // mov x19, x28 +LBB0_513: + WORD $0xcb1b027c // sub x28, x19, x27 + WORD $0xb6ff1b5c // tbz x28, #63, LBB0_194 $-7320(%rip) + WORD $0x14000072 // b LBB0_542 $456(%rip) +LBB0_514: + WORD $0xb4000e76 // cbz x22, LBB0_543 $460(%rip) + WORD $0xaa3b03ee // mvn x14, x27 + WORD $0x8b0e038e // add x14, x28, x14 + WORD $0xb100041f // cmn x0, #1 + WORD $0x9a8001c0 // csel x0, x14, x0, eq + WORD $0x9100079c // add x28, x28, #1 + WORD $0xd10006d6 // sub x22, x22, #1 + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0xb5ffc236 // cbnz x22, LBB0_409 $-1980(%rip) + WORD $0x14000068 // b LBB0_543 $416(%rip) +LBB0_516: + WORD $0xd100040f // sub x15, x0, #1 + WORD $0xeb0e01ff // cmp x15, x14 + WORD $0x54001920 // b.eq LBB0_575 $804(%rip) + WORD $0x8b0e03cf // add x15, lr, x14 + WORD $0x910009e5 // add x5, x15, #2 + WORD $0xcb0e000e // sub x14, x0, x14 + WORD $0xd10009ce // sub x14, x14, #2 + WORD $0xf10005df // cmp x14, #1 + WORD $0x54ffc74a // b.ge LBB0_422 $-1816(%rip) + WORD $0x140000c2 // b LBB0_575 $776(%rip) +LBB0_518: + WORD $0xdac002af // rbit x15, x21 + WORD $0xdac011ef // clz x15, x15 + WORD $0xcb1b0391 // sub x17, x28, x27 + WORD $0x8b0f022f // add x15, x17, x15 + WORD $0xb100041f // cmn x0, #1 + WORD $0x9a8f1000 // csel x0, x0, x15, ne +LBB0_519: + WORD $0x0a3302af // bic w15, w21, w19 + WORD $0x531f79f1 // lsl w17, w15, #1 + WORD $0x331f79f3 // bfi w19, w15, #1, #31 + WORD $0x0a3102b1 // bic w17, w21, w17 + WORD $0x1201f231 // and w17, w17, #0xaaaaaaaa + WORD $0x2b0f022f // adds w15, w17, w15 + WORD $0x4a0f060f // eor w15, w16, w15, lsl #1 + WORD $0x0a1301ef // and w15, w15, w19 + WORD $0x1a9f37f3 // cset w19, hs + WORD $0x2a2f03ef // mvn w15, w15 + WORD $0x8a0501e5 // and x5, x15, x5 + WORD $0xb5ffcc85 // cbnz x5, LBB0_435 $-1648(%rip) +LBB0_520: + WORD $0x9100839c // add x28, x28, #32 + WORD $0xaa0e03f6 // mov x22, x14 +LBB0_521: + WORD $0xb5000633 // cbnz x19, LBB0_536 $196(%rip) + WORD $0xb40002f6 // cbz x22, LBB0_530 $92(%rip) +LBB0_523: + WORD $0xaa3b03ee // mvn x14, x27 +LBB0_524: + WORD $0xaa1c03f3 // mov x19, x28 + WORD $0x38401665 // ldrb w5, [x19], #1 + WORD $0x710088bf // cmp w5, #34 + WORD $0x54000260 // b.eq LBB0_531 $76(%rip) + WORD $0xd10006d4 // sub x20, x22, #1 + WORD $0x710170bf // cmp w5, #92 + WORD $0x540000a0 // b.eq LBB0_527 $20(%rip) + WORD $0xaa1303fc // mov x28, x19 + WORD $0xaa1403f6 // mov x22, x20 + WORD $0xb5fffef4 // cbnz x20, LBB0_524 $-36(%rip) + WORD $0x14000009 // b LBB0_529 $36(%rip) +LBB0_527: + WORD $0xb4000774 // cbz x20, LBB0_543 $236(%rip) + WORD $0x8b0e026f // add x15, x19, x14 + WORD $0xb100041f // cmn x0, #1 + WORD $0x9a8001e0 // csel x0, x15, x0, eq + WORD $0x91000b9c // add x28, x28, #2 + WORD $0xd1000ad4 // sub x20, x22, #2 + WORD $0xaa1403f6 // mov x22, x20 + WORD $0xb5fffdd4 // cbnz x20, LBB0_524 $-72(%rip) +LBB0_529: + WORD $0x710088bf // cmp w5, #34 + WORD $0x54000641 // b.ne LBB0_543 $200(%rip) +LBB0_530: + WORD $0xaa1c03f3 // mov x19, x28 +LBB0_531: + WORD $0xcb1b027c // sub x28, x19, x27 +LBB0_532: + WORD $0x52800067 // mov w7, #3 + WORD $0x5280008f // mov w15, #4 + WORD $0x92f00011 // mov x17, #9223372036854775807 + WORD $0xb6ff6b5c // tbz x28, #63, LBB0_283 $-4760(%rip) + WORD $0x14000029 // b LBB0_542 $164(%rip) +LBB0_533: + WORD $0xb100041f // cmn x0, #1 + WORD $0x540000a1 // b.ne LBB0_535 $20(%rip) + WORD $0xdac002af // rbit x15, x21 + WORD $0xdac011ef // clz x15, x15 + WORD $0xcb1b0391 // sub x17, x28, x27 + WORD $0x8b0f0220 // add x0, x17, x15 +LBB0_535: + WORD $0x0a3302af // bic w15, w21, w19 + WORD $0x531f79f1 // lsl w17, w15, #1 + WORD $0x331f79f3 // bfi w19, w15, #1, #31 + WORD $0x0a3102b1 // bic w17, w21, w17 + WORD $0x1201f231 // and w17, w17, #0xaaaaaaaa + WORD $0x2b0f022f // adds w15, w17, w15 + WORD $0x4a0f060f // eor w15, w16, w15, lsl #1 + WORD $0x0a1301ef // and w15, w15, w19 + WORD $0x1a9f37f3 // cset w19, hs + WORD $0x2a2f03ef // mvn w15, w15 + WORD $0x8a0501e5 // and x5, x15, x5 + WORD $0x17fffe55 // b LBB0_440 $-1708(%rip) +LBB0_536: + WORD $0xb4000316 // cbz x22, LBB0_543 $96(%rip) + WORD $0xaa3b03ee // mvn x14, x27 + WORD $0x8b0e038e // add x14, x28, x14 + WORD $0xb100041f // cmn x0, #1 + WORD $0x9a8001c0 // csel x0, x14, x0, eq + WORD $0x9100079c // add x28, x28, #1 + WORD $0xd10006d6 // sub x22, x22, #1 + WORD $0xb5fff956 // cbnz x22, LBB0_523 $-216(%rip) + WORD $0x17ffffdf // b LBB0_530 $-132(%rip) +LBB0_538: + WORD $0xb40001f6 // cbz x22, LBB0_543 $60(%rip) + WORD $0xaa3b03ee // mvn x14, x27 + WORD $0x8b0e038e // add x14, x28, x14 + WORD $0xb100041f // cmn x0, #1 + WORD $0x9a8001c0 // csel x0, x14, x0, eq + WORD $0x9100079c // add x28, x28, #1 + WORD $0xd10006d6 // sub x22, x22, #1 + WORD $0xb5ffcbb6 // cbnz x22, LBB0_446 $-1676(%rip) + WORD $0x14000007 // b LBB0_543 $28(%rip) +LBB0_540: + WORD $0x92800020 // mov x0, #-2 + WORD $0x1400006a // b LBB0_576 $424(%rip) +LBB0_541: + WORD $0x928000c0 // mov x0, #-7 + WORD $0x14000068 // b LBB0_576 $416(%rip) +LBB0_542: + WORD $0xb100079f // cmn x28, #1 + WORD $0x54000ac1 // b.ne LBB0_567 $344(%rip) +LBB0_543: + WORD $0xf94004c0 // ldr x0, [x6, #8] + WORD $0x9280001c // mov x28, #-1 + WORD $0x14000053 // b LBB0_567 $332(%rip) +LBB0_544: + WORD $0x9280000e // mov x14, #-1 +LBB0_545: + WORD $0xaa2e03f6 // mvn x22, x14 +LBB0_546: + WORD $0x8b0802c8 // add x8, x22, x8 +LBB0_547: + WORD $0xf9000028 // str x8, [x1] + WORD $0x92800020 // mov x0, #-2 + WORD $0x1400005d // b LBB0_576 $372(%rip) +LBB0_548: + WORD $0xf900002e // str x14, [x1] + WORD $0x1400005a // b LBB0_575 $360(%rip) +LBB0_549: + WORD $0xb100041f // cmn x0, #1 + WORD $0x540008a0 // b.eq LBB0_566 $276(%rip) + WORD $0x9280003c // mov x28, #-2 + WORD $0x14000047 // b LBB0_567 $284(%rip) +LBB0_551: + WORD $0xaa0003f6 // mov x22, x0 + WORD $0x17fffff5 // b LBB0_546 $-44(%rip) +LBB0_552: + WORD $0xf9000028 // str x8, [x1] + WORD $0x394003c9 // ldrb w9, [lr] + WORD $0x7101d13f // cmp w9, #116 + WORD $0x54000a21 // b.ne LBB0_576 $324(%rip) + WORD $0x91000509 // add x9, x8, #1 + WORD $0xf9000029 // str x9, [x1] + WORD $0x38696b69 // ldrb w9, [x27, x9] + WORD $0x7101c93f // cmp w9, #114 + WORD $0x54000981 // b.ne LBB0_576 $304(%rip) + WORD $0x91000909 // add x9, x8, #2 + WORD $0xf9000029 // str x9, [x1] + WORD $0x38696b69 // ldrb w9, [x27, x9] + WORD $0x7101d53f // cmp w9, #117 + WORD $0x540008e1 // b.ne LBB0_576 $284(%rip) + WORD $0x91000d09 // add x9, x8, #3 + WORD $0xf9000029 // str x9, [x1] + WORD $0x38696b69 // ldrb w9, [x27, x9] + WORD $0x7101953f // cmp w9, #101 + WORD $0x54000841 // b.ne LBB0_576 $264(%rip) + WORD $0x14000014 // b LBB0_560 $80(%rip) +LBB0_556: + WORD $0xf9000028 // str x8, [x1] + WORD $0x394003c9 // ldrb w9, [lr] + WORD $0x7101b93f // cmp w9, #110 + WORD $0x540007a1 // b.ne LBB0_576 $244(%rip) + WORD $0x91000509 // add x9, x8, #1 + WORD $0xf9000029 // str x9, [x1] + WORD $0x38696b69 // ldrb w9, [x27, x9] + WORD $0x7101d53f // cmp w9, #117 + WORD $0x54000701 // b.ne LBB0_576 $224(%rip) + WORD $0x91000909 // add x9, x8, #2 + WORD $0xf9000029 // str x9, [x1] + WORD $0x38696b69 // ldrb w9, [x27, x9] + WORD $0x7101b13f // cmp w9, #108 + WORD $0x54000661 // b.ne LBB0_576 $204(%rip) + WORD $0x91000d09 // add x9, x8, #3 + WORD $0xf9000029 // str x9, [x1] + WORD $0x38696b69 // ldrb w9, [x27, x9] + WORD $0x7101b13f // cmp w9, #108 + WORD $0x540005c1 // b.ne LBB0_576 $184(%rip) +LBB0_560: + WORD $0x91001108 // add x8, x8, #4 + WORD $0xf9000028 // str x8, [x1] + WORD $0x1400002b // b LBB0_576 $172(%rip) +LBB0_561: + WORD $0xf900003c // str x28, [x1] + WORD $0x387c6b69 // ldrb w9, [x27, x28] + WORD $0x7101853f // cmp w9, #97 + WORD $0x540004e1 // b.ne LBB0_576 $156(%rip) + WORD $0x91000909 // add x9, x8, #2 + WORD $0xf9000029 // str x9, [x1] + WORD $0x38696b69 // ldrb w9, [x27, x9] + WORD $0x7101b13f // cmp w9, #108 + WORD $0x54000441 // b.ne LBB0_576 $136(%rip) + WORD $0x91000d09 // add x9, x8, #3 + WORD $0xf9000029 // str x9, [x1] + WORD $0x38696b69 // ldrb w9, [x27, x9] + WORD $0x7101cd3f // cmp w9, #115 + WORD $0x540003a1 // b.ne LBB0_576 $116(%rip) + WORD $0x91001109 // add x9, x8, #4 + WORD $0xf9000029 // str x9, [x1] + WORD $0x38696b69 // ldrb w9, [x27, x9] + WORD $0x7101953f // cmp w9, #101 + WORD $0x54000301 // b.ne LBB0_576 $96(%rip) + WORD $0x91001508 // add x8, x8, #5 + WORD $0xf9000028 // str x8, [x1] + WORD $0x14000015 // b LBB0_576 $84(%rip) +LBB0_566: + WORD $0xdac000a8 // rbit x8, x5 + WORD $0xdac01108 // clz x8, x8 + WORD $0x8b1c0100 // add x0, x8, x28 + WORD $0x9280003c // mov x28, #-2 +LBB0_567: + WORD $0xf9000020 // str x0, [x1] + WORD $0xaa1c03e0 // mov x0, x28 + WORD $0x1400000e // b LBB0_576 $56(%rip) +LBB0_568: + WORD $0x9280000e // mov x14, #-1 +LBB0_569: + WORD $0xaa2e03f3 // mvn x19, x14 +LBB0_570: + WORD $0x8b130388 // add x8, x28, x19 + WORD $0x17ffffab // b LBB0_547 $-340(%rip) +LBB0_571: + WORD $0xaa1603f3 // mov x19, x22 + WORD $0x8b160388 // add x8, x28, x22 + WORD $0x17ffffa8 // b LBB0_547 $-352(%rip) +LBB0_572: + WORD $0x8b1c00a0 // add x0, x5, x28 + WORD $0x9280003c // mov x28, #-2 + WORD $0x17fffff4 // b LBB0_567 $-48(%rip) +LBB0_573: + WORD $0xf94004c8 // ldr x8, [x6, #8] +LBB0_574: + WORD $0xf9000028 // str x8, [x1] +LBB0_575: + WORD $0x92800000 // mov x0, #-1 +LBB0_576: + WORD $0xa94cfbfd // ldp fp, lr, [sp, #200] + WORD $0xa94bcff4 // ldp x20, x19, [sp, #184] + WORD $0xa94ad7f6 // ldp x22, x21, [sp, #168] + WORD $0xa949dff8 // ldp x24, x23, [sp, #152] + WORD $0xa948e7fa // ldp x26, x25, [sp, #136] + WORD $0xa947effc // ldp x28, x27, [sp, #120] + WORD $0x6d46a3e9 // ldp d9, d8, [sp, #104] + WORD $0x910383ff // add sp, sp, #224 + WORD $0xd65f03c0 // ret +LBB0_577: + WORD $0x8b1401c0 // add x0, x14, x20 + WORD $0x9280003c // mov x28, #-2 + WORD $0x17ffffe5 // b LBB0_567 $-108(%rip) +LBB0_578: + WORD $0xcb1b0388 // sub x8, x28, x27 + WORD $0x8b140100 // add x0, x8, x20 + WORD $0x9280003c // mov x28, #-2 + WORD $0x17ffffe1 // b LBB0_567 $-124(%rip) +LBB0_579: + WORD $0xcb1b0388 // sub x8, x28, x27 + WORD $0x8b050100 // add x0, x8, x5 + WORD $0x9280003c // mov x28, #-2 + WORD $0x17ffffdd // b LBB0_567 $-140(%rip) // .p2align 2, 0x00 _MASK_USE_NUMBER: WORD $0x00000002 // .long 2 @@ -2361,7 +3460,7 @@ TEXT ·__validate_one(SB), NOSPLIT, $0-32 _entry: MOVD 16(g), R16 - SUB $176, RSP, R17 + SUB $288, RSP, R17 CMP R16, R17 BLS _stack_grow diff --git a/internal/native/neon/validate_one_subr_arm64.go b/internal/native/neon/validate_one_subr_arm64.go index cbebeb08b..c69d9a3ec 100644 --- a/internal/native/neon/validate_one_subr_arm64.go +++ b/internal/native/neon/validate_one_subr_arm64.go @@ -13,7 +13,7 @@ var ( ) const ( - _stack__validate_one = 112 + _stack__validate_one = 224 ) var ( diff --git a/internal/native/neon/validate_utf8_arm64.s b/internal/native/neon/validate_utf8_arm64.s index 77b53ae4e..f36d7ed08 100644 --- a/internal/native/neon/validate_utf8_arm64.s +++ b/internal/native/neon/validate_utf8_arm64.s @@ -13,8 +13,8 @@ TEXT ·__validate_utf8_entry__(SB), NOSPLIT, $48 // .p2align 2, 0x00 _validate_utf8: WORD $0xd10103ff // sub sp, sp, #64 - WORD $0xa9014ff4 // stp x20, x19, [sp, #16] - WORD $0xa9027bfd // stp fp, lr, [sp, #32] + WORD $0xa901cff4 // stp x20, x19, [sp, #24] + WORD $0xa902fbfd // stp fp, lr, [sp, #40] WORD $0xa93ffbfd // stp fp, lr, [sp, #-8] WORD $0xd10023fd // sub fp, sp, #8 WORD $0xa9402408 // ldp x8, x9, [x0] @@ -106,28 +106,28 @@ LBB0_17: LBB0_18: WORD $0x39c00120 // ldrsb w0, [x9] WORD $0x36ffff80 // tbz w0, #31, LBB0_17 $-16(%rip) - WORD $0x381f43bf // sturb wzr, [fp, #-12] - WORD $0x381f23bf // sturb wzr, [fp, #-14] + WORD $0x390053ff // strb wzr, [sp, #20] + WORD $0x39004bff // strb wzr, [sp, #18] WORD $0xcb090145 // sub x5, x10, x9 WORD $0xf10008a7 // subs x7, x5, #2 WORD $0x540001a3 // b.lo LBB0_22 $52(%rip) WORD $0x39400120 // ldrb w0, [x9] WORD $0x39400523 // ldrb w3, [x9, #1] - WORD $0x381f43a0 // sturb w0, [fp, #-12] + WORD $0x390053e0 // strb w0, [sp, #20] WORD $0x91000926 // add x6, x9, #2 - WORD $0xd1003ba4 // sub x4, fp, #14 + WORD $0x91004be4 // add x4, sp, #18 WORD $0xaa0703e5 // mov x5, x7 WORD $0xb4000167 // cbz x7, LBB0_23 $44(%rip) LBB0_21: WORD $0x394000c0 // ldrb w0, [x6] WORD $0x39000080 // strb w0, [x4] - WORD $0x385f43a0 // ldurb w0, [fp, #-12] - WORD $0x385f23a4 // ldurb w4, [fp, #-14] + WORD $0x394053e0 // ldrb w0, [sp, #20] + WORD $0x39404be4 // ldrb w4, [sp, #18] WORD $0x14000007 // b LBB0_24 $28(%rip) LBB0_22: WORD $0x52800000 // mov w0, #0 WORD $0x52800003 // mov w3, #0 - WORD $0xd10033a4 // sub x4, fp, #12 + WORD $0x910053e4 // add x4, sp, #20 WORD $0xaa0903e6 // mov x6, x9 WORD $0xb5fffee5 // cbnz x5, LBB0_21 $-36(%rip) LBB0_23: @@ -175,22 +175,22 @@ LBB0_31: WORD $0xd2800000 // mov x0, #0 WORD $0xcb080128 // sub x8, x9, x8 WORD $0xf9000028 // str x8, [x1] - WORD $0xa9427bfd // ldp fp, lr, [sp, #32] - WORD $0xa9414ff4 // ldp x20, x19, [sp, #16] + WORD $0xa942fbfd // ldp fp, lr, [sp, #40] + WORD $0xa941cff4 // ldp x20, x19, [sp, #24] WORD $0x910103ff // add sp, sp, #64 WORD $0xd65f03c0 // ret LBB0_32: WORD $0xf9000020 // str x0, [x1] WORD $0x92800000 // mov x0, #-1 - WORD $0xa9427bfd // ldp fp, lr, [sp, #32] - WORD $0xa9414ff4 // ldp x20, x19, [sp, #16] + WORD $0xa942fbfd // ldp fp, lr, [sp, #40] + WORD $0xa941cff4 // ldp x20, x19, [sp, #24] WORD $0x910103ff // add sp, sp, #64 WORD $0xd65f03c0 // ret LBB0_33: WORD $0xf9000027 // str x7, [x1] WORD $0x92800000 // mov x0, #-1 - WORD $0xa9427bfd // ldp fp, lr, [sp, #32] - WORD $0xa9414ff4 // ldp x20, x19, [sp, #16] + WORD $0xa942fbfd // ldp fp, lr, [sp, #40] + WORD $0xa941cff4 // ldp x20, x19, [sp, #24] WORD $0x910103ff // add sp, sp, #64 WORD $0xd65f03c0 // ret // .p2align 2, 0x00 diff --git a/internal/native/neon/validate_utf8_fast_arm64.s b/internal/native/neon/validate_utf8_fast_arm64.s index 4b2f48551..20592cd33 100644 --- a/internal/native/neon/validate_utf8_fast_arm64.s +++ b/internal/native/neon/validate_utf8_fast_arm64.s @@ -13,7 +13,7 @@ TEXT ·__validate_utf8_fast_entry__(SB), NOSPLIT, $32 // .p2align 2, 0x00 _validate_utf8_fast: WORD $0xd100c3ff // sub sp, sp, #48 - WORD $0xa9017bfd // stp fp, lr, [sp, #16] + WORD $0xa901fbfd // stp fp, lr, [sp, #24] WORD $0xa93ffbfd // stp fp, lr, [sp, #-8] WORD $0xd10023fd // sub fp, sp, #8 WORD $0xa9402408 // ldp x8, x9, [x0] @@ -96,28 +96,28 @@ LBB0_17: LBB0_18: WORD $0x39c00151 // ldrsb w17, [x10] WORD $0x36ffff91 // tbz w17, #31, LBB0_16 $-16(%rip) - WORD $0x390013bf // strb wzr, [fp, #4] - WORD $0x39000bbf // strb wzr, [fp, #2] + WORD $0x390053ff // strb wzr, [sp, #20] + WORD $0x39004bff // strb wzr, [sp, #18] WORD $0xcb0a0122 // sub x2, x9, x10 WORD $0xf1000844 // subs x4, x2, #2 WORD $0x540001a3 // b.lo LBB0_22 $52(%rip) WORD $0x39400151 // ldrb w17, [x10] WORD $0x39400540 // ldrb w0, [x10, #1] - WORD $0x390013b1 // strb w17, [fp, #4] + WORD $0x390053f1 // strb w17, [sp, #20] WORD $0x91000943 // add x3, x10, #2 - WORD $0x91000ba1 // add x1, fp, #2 + WORD $0x91004be1 // add x1, sp, #18 WORD $0xaa0403e2 // mov x2, x4 WORD $0xb4000164 // cbz x4, LBB0_23 $44(%rip) LBB0_21: WORD $0x39400071 // ldrb w17, [x3] WORD $0x39000031 // strb w17, [x1] - WORD $0x394013b1 // ldrb w17, [fp, #4] - WORD $0x39400ba1 // ldrb w1, [fp, #2] + WORD $0x394053f1 // ldrb w17, [sp, #20] + WORD $0x39404be1 // ldrb w1, [sp, #18] WORD $0x14000007 // b LBB0_24 $28(%rip) LBB0_22: WORD $0x52800011 // mov w17, #0 WORD $0x52800000 // mov w0, #0 - WORD $0x910013a1 // add x1, fp, #4 + WORD $0x910053e1 // add x1, sp, #20 WORD $0xaa0a03e3 // mov x3, x10 WORD $0xb5fffee2 // cbnz x2, LBB0_21 $-36(%rip) LBB0_23: @@ -146,13 +146,13 @@ LBB0_28: WORD $0x17ffffd2 // b LBB0_17 $-184(%rip) LBB0_29: WORD $0xd2800000 // mov x0, #0 - WORD $0xa9417bfd // ldp fp, lr, [sp, #16] + WORD $0xa941fbfd // ldp fp, lr, [sp, #24] WORD $0x9100c3ff // add sp, sp, #48 WORD $0xd65f03c0 // ret LBB0_30: WORD $0xaa2a03e9 // mvn x9, x10 WORD $0x8b080120 // add x0, x9, x8 - WORD $0xa9417bfd // ldp fp, lr, [sp, #16] + WORD $0xa941fbfd // ldp fp, lr, [sp, #24] WORD $0x9100c3ff // add sp, sp, #48 WORD $0xd65f03c0 // ret // .p2align 2, 0x00 diff --git a/internal/native/neon/value_arm64.s b/internal/native/neon/value_arm64.s index a82fcf36e..e7795b0c7 100644 --- a/internal/native/neon/value_arm64.s +++ b/internal/native/neon/value_arm64.s @@ -56,12 +56,13 @@ lCPI0_1: // .byte 15 _value: - WORD $0xa9b96ffc // stp x28, x27, [sp, #-112]! - WORD $0xa90167fa // stp x26, x25, [sp, #16] - WORD $0xa9025ff8 // stp x24, x23, [sp, #32] - WORD $0xa90357f6 // stp x22, x21, [sp, #48] - WORD $0xa9044ff4 // stp x20, x19, [sp, #64] - WORD $0xa9057bfd // stp fp, lr, [sp, #80] + WORD $0xd101c3ff // sub sp, sp, #112 + WORD $0xa900effc // stp x28, x27, [sp, #8] + WORD $0xa901e7fa // stp x26, x25, [sp, #24] + WORD $0xa902dff8 // stp x24, x23, [sp, #40] + WORD $0xa903d7f6 // stp x22, x21, [sp, #56] + WORD $0xa904cff4 // stp x20, x19, [sp, #72] + WORD $0xa905fbfd // stp fp, lr, [sp, #88] WORD $0xa93ffbfd // stp fp, lr, [sp, #-8] WORD $0xd10023fd // sub fp, sp, #8 WORD $0xeb01005f // cmp x2, x1 @@ -75,7 +76,7 @@ _value: WORD $0x3100093f // cmn w9, #2 WORD $0x54000062 // b.hs LBB0_5 $12(%rip) WORD $0xaa0203ea // mov x10, x2 - WORD $0x14000041 // b LBB0_27 $260(%rip) + WORD $0x14000042 // b LBB0_27 $264(%rip) LBB0_5: WORD $0x9100044a // add x10, x2, #1 WORD $0xeb01015f // cmp x10, x1 @@ -87,7 +88,7 @@ LBB0_5: WORD $0x54000080 // b.eq LBB0_9 $16(%rip) WORD $0x51002d09 // sub w9, w8, #11 WORD $0x3100093f // cmn w9, #2 - WORD $0x540006c3 // b.lo LBB0_27 $216(%rip) + WORD $0x540006e3 // b.lo LBB0_27 $220(%rip) LBB0_9: WORD $0x9100084a // add x10, x2, #2 WORD $0xeb01015f // cmp x10, x1 @@ -99,7 +100,7 @@ LBB0_9: WORD $0x54000080 // b.eq LBB0_13 $16(%rip) WORD $0x51002d09 // sub w9, w8, #11 WORD $0x3100093f // cmn w9, #2 - WORD $0x54000563 // b.lo LBB0_27 $172(%rip) + WORD $0x54000583 // b.lo LBB0_27 $176(%rip) LBB0_13: WORD $0x91000c4a // add x10, x2, #3 WORD $0xeb01015f // cmp x10, x1 @@ -111,7 +112,7 @@ LBB0_13: WORD $0x54000080 // b.eq LBB0_17 $16(%rip) WORD $0x51002d09 // sub w9, w8, #11 WORD $0x3100093f // cmn w9, #2 - WORD $0x54000403 // b.lo LBB0_27 $128(%rip) + WORD $0x54000423 // b.lo LBB0_27 $132(%rip) LBB0_17: WORD $0x9100104a // add x10, x2, #4 WORD $0xeb01015f // cmp x10, x1 @@ -125,7 +126,7 @@ LBB0_19: WORD $0x9acb210b // lsl x11, x8, x11 WORD $0x8a09016b // and x11, x11, x9 WORD $0xfa409964 // ccmp x11, #0, #4, ls - WORD $0x54000220 // b.eq LBB0_25 $68(%rip) + WORD $0x54000240 // b.eq LBB0_25 $72(%rip) WORD $0x9100054a // add x10, x10, #1 WORD $0xeb0a003f // cmp x1, x10 WORD $0x54ffff01 // b.ne LBB0_19 $-32(%rip) @@ -139,16 +140,17 @@ LBB0_23: WORD $0xaa0203e1 // mov x1, x2 LBB0_24: WORD $0xaa0103e0 // mov x0, x1 - WORD $0xa9457bfd // ldp fp, lr, [sp, #80] - WORD $0xa9444ff4 // ldp x20, x19, [sp, #64] - WORD $0xa94357f6 // ldp x22, x21, [sp, #48] - WORD $0xa9425ff8 // ldp x24, x23, [sp, #32] - WORD $0xa94167fa // ldp x26, x25, [sp, #16] - WORD $0xa8c76ffc // ldp x28, x27, [sp], #112 + WORD $0xa945fbfd // ldp fp, lr, [sp, #88] + WORD $0xa944cff4 // ldp x20, x19, [sp, #72] + WORD $0xa943d7f6 // ldp x22, x21, [sp, #56] + WORD $0xa942dff8 // ldp x24, x23, [sp, #40] + WORD $0xa941e7fa // ldp x26, x25, [sp, #24] + WORD $0xa940effc // ldp x28, x27, [sp, #8] + WORD $0x9101c3ff // add sp, sp, #112 WORD $0xd65f03c0 // ret LBB0_25: WORD $0xeb01015f // cmp x10, x1 - WORD $0x54fffe82 // b.hs LBB0_22 $-48(%rip) + WORD $0x54fffe62 // b.hs LBB0_22 $-52(%rip) WORD $0x386a6808 // ldrb w8, [x0, x10] LBB0_27: WORD $0x7101f51f // cmp w8, #125 @@ -159,7 +161,7 @@ Lloh0: WORD $0x1001142b // adr x11, LJTI0_0 $8836(%rip) Lloh1: WORD $0x9100016b // add x11, x11, LJTI0_0@PAGEOFF $0(%rip) - WORD $0x10fffd8c // adr x12, LBB0_22 $-80(%rip) + WORD $0x10fffd6c // adr x12, LBB0_22 $-84(%rip) WORD $0x7869796d // ldrh w13, [x11, x9, lsl #1] WORD $0x8b0d098c // add x12, x12, x13, lsl #2 WORD $0xd61f0180 // br x12 @@ -206,7 +208,7 @@ LBB0_40: WORD $0x31002dff // cmn w15, #11 WORD $0x54001548 // b.hi LBB0_83 $680(%rip) WORD $0x92800028 // mov x8, #-2 - WORD $0x17ffffc2 // b LBB0_23 $-248(%rip) + WORD $0x17ffffc1 // b LBB0_23 $-252(%rip) LBB0_42: WORD $0x39400509 // ldrb w9, [x8, #1] WORD $0x5280002f // mov w15, #1 @@ -231,13 +233,13 @@ LBB0_44: WORD $0x4f06e603 // movi.16b v3, #208 WORD $0x4f00e544 // movi.16b v4, #10 Lloh2: - WORD $0x10ffebab // adr x11, lCPI0_0 $-652(%rip) + WORD $0x10ffeb6b // adr x11, lCPI0_0 $-660(%rip) Lloh3: WORD $0x3dc00165 // ldr q5, [x11, lCPI0_0@PAGEOFF] $0(%rip) WORD $0x4f06e7e6 // movi.16b v6, #223 WORD $0x4f02e4a7 // movi.16b v7, #69 Lloh4: - WORD $0x10ffebab // adr x11, lCPI0_1 $-652(%rip) + WORD $0x10ffeb6b // adr x11, lCPI0_1 $-660(%rip) Lloh5: WORD $0x3dc00170 // ldr q16, [x11, lCPI0_1@PAGEOFF] $0(%rip) WORD $0x12800011 // mov w17, #-1 @@ -447,7 +449,7 @@ LBB0_90: WORD $0x91001141 // add x1, x10, #4 WORD $0x52800048 // mov w8, #2 WORD $0xf9000068 // str x8, [x3] - WORD $0x17fffeea // b LBB0_24 $-1112(%rip) + WORD $0x17fffee9 // b LBB0_24 $-1116(%rip) LBB0_93: WORD $0xf261009f // tst x4, #0x80000000 WORD $0x1a9f17e8 // cset w8, eq @@ -469,11 +471,11 @@ LBB0_95: WORD $0x4f01e440 // movi.16b v0, #34 WORD $0x4f02e781 // movi.16b v1, #92 Lloh6: - WORD $0x10ffd0eb // adr x11, lCPI0_0 $-1508(%rip) + WORD $0x10ffd0ab // adr x11, lCPI0_0 $-1516(%rip) Lloh7: WORD $0x3dc00162 // ldr q2, [x11, lCPI0_0@PAGEOFF] $0(%rip) Lloh8: - WORD $0x10ffd12b // adr x11, lCPI0_1 $-1500(%rip) + WORD $0x10ffd0eb // adr x11, lCPI0_1 $-1508(%rip) Lloh9: WORD $0x3dc00163 // ldr q3, [x11, lCPI0_1@PAGEOFF] $0(%rip) WORD $0xaa0203eb // mov x11, x2 @@ -578,12 +580,12 @@ LBB0_106: WORD $0x91001141 // add x1, x10, #4 WORD $0x52800068 // mov w8, #3 WORD $0xf9000068 // str x8, [x3] - WORD $0x17fffe74 // b LBB0_24 $-1584(%rip) + WORD $0x17fffe73 // b LBB0_24 $-1588(%rip) LBB0_109: WORD $0x92800028 // mov x8, #-2 WORD $0xf9000068 // str x8, [x3] WORD $0xaa0a03e1 // mov x1, x10 - WORD $0x17fffe70 // b LBB0_24 $-1600(%rip) + WORD $0x17fffe6f // b LBB0_24 $-1604(%rip) LBB0_110: WORD $0xf261009f // tst x4, #0x80000000 WORD $0x1a9f17e8 // cset w8, eq @@ -591,7 +593,7 @@ LBB0_110: WORD $0x14000012 // b LBB0_116 $72(%rip) LBB0_111: WORD $0x528000a8 // mov w8, #5 - WORD $0x17fffe68 // b LBB0_23 $-1632(%rip) + WORD $0x17fffe67 // b LBB0_23 $-1636(%rip) LBB0_112: WORD $0xd1001028 // sub x8, x1, #4 WORD $0xeb08015f // cmp x10, x8 @@ -604,7 +606,7 @@ LBB0_112: WORD $0x91001541 // add x1, x10, #5 WORD $0x52800088 // mov w8, #4 WORD $0xf9000068 // str x8, [x3] - WORD $0x17fffe5e // b LBB0_24 $-1672(%rip) + WORD $0x17fffe5d // b LBB0_24 $-1676(%rip) LBB0_115: WORD $0xf261009f // tst x4, #0x80000000 WORD $0x1a9f17e8 // cset w8, eq @@ -614,10 +616,10 @@ LBB0_116: WORD $0x9a890149 // csel x9, x10, x9, eq WORD $0xf9000069 // str x9, [x3] WORD $0xcb080041 // sub x1, x2, x8 - WORD $0x17fffe56 // b LBB0_24 $-1704(%rip) + WORD $0x17fffe55 // b LBB0_24 $-1708(%rip) LBB0_117: WORD $0x528000c8 // mov w8, #6 - WORD $0x17fffe52 // b LBB0_23 $-1720(%rip) + WORD $0x17fffe51 // b LBB0_23 $-1724(%rip) LBB0_118: WORD $0xcb0d03ef // neg x15, x13 LBB0_119: @@ -629,7 +631,7 @@ LBB0_120: WORD $0x52800108 // mov w8, #8 WORD $0xf9000068 // str x8, [x3] WORD $0xf9000c6a // str x10, [x3, #24] - WORD $0x17fffe4b // b LBB0_24 $-1748(%rip) + WORD $0x17fffe4a // b LBB0_24 $-1752(%rip) LBB0_122: WORD $0xeb02002a // subs x10, x1, x2 WORD $0x5400dec0 // b.eq LBB0_580 $7128(%rip) @@ -639,11 +641,11 @@ LBB0_122: WORD $0x92800008 // mov x8, #-1 WORD $0x4f01e440 // movi.16b v0, #34 Lloh10: - WORD $0x10ffbe4b // adr x11, lCPI0_0 $-2104(%rip) + WORD $0x10ffbe0b // adr x11, lCPI0_0 $-2112(%rip) Lloh11: WORD $0x3dc00161 // ldr q1, [x11, lCPI0_0@PAGEOFF] $0(%rip) Lloh12: - WORD $0x10ffbe8b // adr x11, lCPI0_1 $-2096(%rip) + WORD $0x10ffbe4b // adr x11, lCPI0_1 $-2104(%rip) Lloh13: WORD $0x3dc00162 // ldr q2, [x11, lCPI0_1@PAGEOFF] $0(%rip) WORD $0x4f02e783 // movi.16b v3, #92 @@ -773,7 +775,7 @@ LBB0_134: WORD $0xda9fb108 // csinv x8, x8, xzr, lt WORD $0xa9012062 // stp x2, x8, [x3, #16] WORD $0xaa0c03e1 // mov x1, x12 - WORD $0x17fffdc6 // b LBB0_24 $-2280(%rip) + WORD $0x17fffdc5 // b LBB0_24 $-2284(%rip) LBB0_135: WORD $0x7100b8bf // cmp w5, #46 WORD $0x54000aa1 // b.ne LBB0_161 $340(%rip) @@ -790,7 +792,7 @@ LBB0_135: WORD $0x92800028 // mov x8, #-2 WORD $0xf9000068 // str x8, [x3] WORD $0xaa0f03e1 // mov x1, x15 - WORD $0x17fffdb6 // b LBB0_24 $-2344(%rip) + WORD $0x17fffdb5 // b LBB0_24 $-2348(%rip) LBB0_139: WORD $0xaa0c0169 // orr x9, x11, x12 WORD $0xb7f80ae9 // tbnz x9, #63, LBB0_168 $348(%rip) @@ -805,7 +807,7 @@ LBB0_143: WORD $0x9280002a // mov x10, #-2 LBB0_144: WORD $0xf900006a // str x10, [x3] - WORD $0x17fffdab // b LBB0_24 $-2388(%rip) + WORD $0x17fffdaa // b LBB0_24 $-2392(%rip) LBB0_145: WORD $0xaa0d03f0 // mov x16, x13 WORD $0x9280000f // mov x15, #-1 @@ -849,7 +851,7 @@ LBB0_154: WORD $0x92800028 // mov x8, #-2 WORD $0xaa0a03e1 // mov x1, x10 WORD $0xf9000068 // str x8, [x3] - WORD $0x17fffd83 // b LBB0_24 $-2548(%rip) + WORD $0x17fffd82 // b LBB0_24 $-2552(%rip) LBB0_155: WORD $0x12001d08 // and w8, w8, #0xff WORD $0x7101851f // cmp w8, #97 @@ -871,7 +873,7 @@ LBB0_159: LBB0_160: WORD $0x92800028 // mov x8, #-2 WORD $0xf9000068 // str x8, [x3] - WORD $0x17fffd70 // b LBB0_24 $-2624(%rip) + WORD $0x17fffd6f // b LBB0_24 $-2628(%rip) LBB0_161: WORD $0x52800031 // mov w17, #1 WORD $0x7100021f // cmp w16, #0 @@ -952,12 +954,12 @@ LBB0_182: WORD $0x1400002d // b LBB0_196 $180(%rip) LBB0_183: WORD $0x91000441 // add x1, x2, #1 - WORD $0x17fffd2b // b LBB0_24 $-2900(%rip) + WORD $0x17fffd2a // b LBB0_24 $-2904(%rip) LBB0_184: WORD $0x92800028 // mov x8, #-2 WORD $0xaa0203e1 // mov x1, x2 WORD $0xf9000068 // str x8, [x3] - WORD $0x17fffd27 // b LBB0_24 $-2916(%rip) + WORD $0x17fffd26 // b LBB0_24 $-2920(%rip) LBB0_185: WORD $0x5ac000c9 // rbit w9, w6 WORD $0x5ac01129 // clz w9, w9 @@ -999,7 +1001,7 @@ LBB0_192: LBB0_194: WORD $0x92800008 // mov x8, #-1 WORD $0xf9000068 // str x8, [x3] - WORD $0x17fffd03 // b LBB0_24 $-3060(%rip) + WORD $0x17fffd02 // b LBB0_24 $-3064(%rip) LBB0_195: WORD $0xaa1003e4 // mov x4, x16 WORD $0xaa0203e1 // mov x1, x2 @@ -1146,7 +1148,7 @@ LBB0_223: WORD $0x9e66000a // fmov x10, d0 WORD $0xaa0a0129 // orr x9, x9, x10 WORD $0xa900a069 // stp x9, x8, [x3, #8] - WORD $0x17fffc84 // b LBB0_24 $-3568(%rip) + WORD $0x17fffc83 // b LBB0_24 $-3572(%rip) LBB0_224: WORD $0x927ae52a // and x10, x9, #0xffffffffffffffc0 WORD $0x9100810b // add x11, x8, #32 @@ -1348,7 +1350,7 @@ LBB0_264: WORD $0x92800028 // mov x8, #-2 WORD $0xf9000068 // str x8, [x3] WORD $0xaa1103e1 // mov x1, x17 - WORD $0x17fffbcf // b LBB0_24 $-4292(%rip) + WORD $0x17fffbce // b LBB0_24 $-4296(%rip) LBB0_266: WORD $0x52800004 // mov w4, #0 WORD $0x52800145 // mov w5, #10 @@ -1401,7 +1403,7 @@ LBB0_278: WORD $0xf9000068 // str x8, [x3] LBB0_280: WORD $0xfd000460 // str d0, [x3, #8] - WORD $0x17fffba5 // b LBB0_24 $-4460(%rip) + WORD $0x17fffba4 // b LBB0_24 $-4464(%rip) LBB0_281: WORD $0xb201e7ed // mov x13, #-7378697629483820647 WORD $0xf293334d // movk x13, #39322 @@ -2179,12 +2181,12 @@ LBB0_466: WORD $0x6e248c00 // cmeq.16b v0, v0, v4 WORD $0x6e248c21 // cmeq.16b v1, v1, v4 Lloh26: - WORD $0x10ff1989 // adr x9, lCPI0_0 $-7376(%rip) + WORD $0x10ff1949 // adr x9, lCPI0_0 $-7384(%rip) Lloh27: WORD $0x3dc00124 // ldr q4, [x9, lCPI0_0@PAGEOFF] $0(%rip) WORD $0x4e241c63 // and.16b v3, v3, v4 Lloh28: - WORD $0x10ff19a9 // adr x9, lCPI0_1 $-7372(%rip) + WORD $0x10ff1969 // adr x9, lCPI0_1 $-7380(%rip) Lloh29: WORD $0x3dc00125 // ldr q5, [x9, lCPI0_1@PAGEOFF] $0(%rip) WORD $0x4e050063 // tbl.16b v3, { v3 }, v5 @@ -2222,12 +2224,12 @@ LBB0_472: WORD $0x4f01e442 // movi.16b v2, #34 WORD $0x6e228c03 // cmeq.16b v3, v0, v2 Lloh30: - WORD $0x10ff150a // adr x10, lCPI0_0 $-7520(%rip) + WORD $0x10ff14ca // adr x10, lCPI0_0 $-7528(%rip) Lloh31: WORD $0x3dc00144 // ldr q4, [x10, lCPI0_0@PAGEOFF] $0(%rip) WORD $0x4e241c63 // and.16b v3, v3, v4 Lloh32: - WORD $0x10ff152a // adr x10, lCPI0_1 $-7516(%rip) + WORD $0x10ff14ea // adr x10, lCPI0_1 $-7524(%rip) Lloh33: WORD $0x3dc00145 // ldr q5, [x10, lCPI0_1@PAGEOFF] $0(%rip) WORD $0x4e050063 // tbl.16b v3, { v3 }, v5 @@ -2283,7 +2285,7 @@ LBB0_478: WORD $0xcb000101 // sub x1, x8, x0 WORD $0x9280000a // mov x10, #-1 WORD $0xf900006a // str x10, [x3] - WORD $0x17fff8c2 // b LBB0_24 $-7416(%rip) + WORD $0x17fff8c1 // b LBB0_24 $-7420(%rip) LBB0_479: WORD $0x52800013 // mov w19, #0 LBB0_480: @@ -2688,7 +2690,7 @@ LBB0_571: LBB0_573: WORD $0x9280002c // mov x12, #-2 WORD $0xf900006c // str x12, [x3] - WORD $0x17fff76b // b LBB0_24 $-8788(%rip) + WORD $0x17fff76a // b LBB0_24 $-8792(%rip) LBB0_574: WORD $0xcb000169 // sub x9, x11, x0 WORD $0x8b0d0129 // add x9, x9, x13 @@ -2696,7 +2698,7 @@ LBB0_574: WORD $0xb6ff336c // tbz x12, #63, LBB0_134 $-6548(%rip) LBB0_575: WORD $0xf900006c // str x12, [x3] - WORD $0x17fff765 // b LBB0_24 $-8812(%rip) + WORD $0x17fff764 // b LBB0_24 $-8816(%rip) LBB0_576: WORD $0xb4000229 // cbz x9, LBB0_580 $68(%rip) WORD $0xaa2003ea // mvn x10, x0 @@ -2719,72 +2721,72 @@ LBB0_578: LBB0_580: WORD $0x9280000c // mov x12, #-1 WORD $0xf900006c // str x12, [x3] - WORD $0x17fff751 // b LBB0_24 $-8892(%rip) + WORD $0x17fff750 // b LBB0_24 $-8896(%rip) // .p2align 1, 0x00 LJTI0_0: - WORD $0x01900000 - WORD $0x01900190 - WORD $0x01900190 - WORD $0x01900190 - WORD $0x01900190 - WORD $0x01900190 - WORD $0x01900190 - WORD $0x01900190 - WORD $0x01900190 - WORD $0x01900190 - WORD $0x01900190 - WORD $0x01900190 - WORD $0x01900190 - WORD $0x01900190 - WORD $0x01900190 - WORD $0x01900190 - WORD $0x01900190 - WORD $0x01900122 - WORD $0x01900190 - WORD $0x01900190 - WORD $0x01900190 - WORD $0x01900190 - WORD $0x0018011e - WORD $0x01900190 - WORD $0x00180018 - WORD $0x00180018 - WORD $0x00180018 - WORD $0x00180018 - WORD $0x00180018 - WORD $0x01900194 - WORD $0x01900190 - WORD $0x01900190 - WORD $0x01900190 - WORD $0x01900190 - WORD $0x01900190 - WORD $0x01900190 - WORD $0x01900190 - WORD $0x01900190 - WORD $0x01900190 - WORD $0x01900190 - WORD $0x01900190 - WORD $0x01900190 - WORD $0x01900190 - WORD $0x01900190 - WORD $0x01900190 - WORD $0x01980190 - WORD $0x01a60190 - WORD $0x01900190 - WORD $0x01900190 - WORD $0x01900190 - WORD $0x01900190 - WORD $0x0190019a - WORD $0x01900190 - WORD $0x01900190 - WORD $0x01900190 - WORD $0x0190010d - WORD $0x01900190 - WORD $0x01900190 - WORD $0x01900183 - WORD $0x01900190 - WORD $0x01900190 - WORD $0x01ae0190 - WORD $0x011a0190 + WORD $0x01910000 + WORD $0x01910191 + WORD $0x01910191 + WORD $0x01910191 + WORD $0x01910191 + WORD $0x01910191 + WORD $0x01910191 + WORD $0x01910191 + WORD $0x01910191 + WORD $0x01910191 + WORD $0x01910191 + WORD $0x01910191 + WORD $0x01910191 + WORD $0x01910191 + WORD $0x01910191 + WORD $0x01910191 + WORD $0x01910191 + WORD $0x01910123 + WORD $0x01910191 + WORD $0x01910191 + WORD $0x01910191 + WORD $0x01910191 + WORD $0x0019011f + WORD $0x01910191 + WORD $0x00190019 + WORD $0x00190019 + WORD $0x00190019 + WORD $0x00190019 + WORD $0x00190019 + WORD $0x01910195 + WORD $0x01910191 + WORD $0x01910191 + WORD $0x01910191 + WORD $0x01910191 + WORD $0x01910191 + WORD $0x01910191 + WORD $0x01910191 + WORD $0x01910191 + WORD $0x01910191 + WORD $0x01910191 + WORD $0x01910191 + WORD $0x01910191 + WORD $0x01910191 + WORD $0x01910191 + WORD $0x01910191 + WORD $0x01990191 + WORD $0x01a70191 + WORD $0x01910191 + WORD $0x01910191 + WORD $0x01910191 + WORD $0x01910191 + WORD $0x0191019b + WORD $0x01910191 + WORD $0x01910191 + WORD $0x01910191 + WORD $0x0191010e + WORD $0x01910191 + WORD $0x01910191 + WORD $0x01910184 + WORD $0x01910191 + WORD $0x01910191 + WORD $0x01af0191 + WORD $0x011b0191 // // .word (LBB0_22-LBB0_22)>>2 // .word (LBB0_109-LBB0_22)>>2 // .word (LBB0_109-LBB0_22)>>2 diff --git a/internal/native/neon/vnumber_arm64.s b/internal/native/neon/vnumber_arm64.s index 0d55677f9..7d7a8a22f 100644 --- a/internal/native/neon/vnumber_arm64.s +++ b/internal/native/neon/vnumber_arm64.s @@ -12,12 +12,13 @@ TEXT ·__vnumber_entry__(SB), NOSPLIT, $96 RET // .p2align 2, 0x00 _vnumber: - WORD $0xa9b96ffc // stp x28, x27, [sp, #-112]! - WORD $0xa90167fa // stp x26, x25, [sp, #16] - WORD $0xa9025ff8 // stp x24, x23, [sp, #32] - WORD $0xa90357f6 // stp x22, x21, [sp, #48] - WORD $0xa9044ff4 // stp x20, x19, [sp, #64] - WORD $0xa9057bfd // stp fp, lr, [sp, #80] + WORD $0xd101c3ff // sub sp, sp, #112 + WORD $0xa900effc // stp x28, x27, [sp, #8] + WORD $0xa901e7fa // stp x26, x25, [sp, #24] + WORD $0xa902dff8 // stp x24, x23, [sp, #40] + WORD $0xa903d7f6 // stp x22, x21, [sp, #56] + WORD $0xa904cff4 // stp x20, x19, [sp, #72] + WORD $0xa905fbfd // stp fp, lr, [sp, #88] WORD $0xa93ffbfd // stp fp, lr, [sp, #-8] WORD $0xd10023fd // sub fp, sp, #8 WORD $0xf9400031 // ldr x17, [x1] @@ -128,8 +129,8 @@ LBB0_21: WORD $0xeb11011f // cmp x8, x17 WORD $0x54ffff41 // b.ne LBB0_21 $-24(%rip) WORD $0xd280000d // mov x13, #0 - WORD $0x35000ae0 // cbnz w0, LBB0_51 $348(%rip) - WORD $0x1400005f // b LBB0_55 $380(%rip) + WORD $0x35000b00 // cbnz w0, LBB0_51 $352(%rip) + WORD $0x14000060 // b LBB0_55 $384(%rip) LBB0_24: WORD $0x52800010 // mov w16, #0 LBB0_25: @@ -158,7 +159,7 @@ LBB0_29: WORD $0x54fffe6b // b.lt LBB0_29 $-52(%rip) LBB0_32: WORD $0xeb08023f // cmp x17, x8 - WORD $0x54000762 // b.hs LBB0_50 $236(%rip) + WORD $0x54000782 // b.hs LBB0_50 $240(%rip) WORD $0x38716963 // ldrb w3, [x11, x17] WORD $0x5100c064 // sub w4, w3, #48 WORD $0x7100249f // cmp w4, #9 @@ -177,11 +178,11 @@ LBB0_35: LBB0_37: WORD $0x5280002f // mov w15, #1 WORD $0xaa1003e3 // mov x3, x16 - WORD $0x350005a0 // cbnz w0, LBB0_51 $180(%rip) - WORD $0x14000035 // b LBB0_55 $212(%rip) + WORD $0x350005c0 // cbnz w0, LBB0_51 $184(%rip) + WORD $0x14000036 // b LBB0_55 $216(%rip) LBB0_38: WORD $0x91000628 // add x8, x17, #1 - WORD $0x14000184 // b LBB0_135 $1552(%rip) + WORD $0x14000185 // b LBB0_135 $1556(%rip) LBB0_39: WORD $0x52800000 // mov w0, #0 WORD $0xaa0f03f1 // mov x17, x15 @@ -194,7 +195,7 @@ LBB0_40: LBB0_41: WORD $0x321b0063 // orr w3, w3, #0x20 WORD $0x7101947f // cmp w3, #101 - WORD $0x540003a1 // b.ne LBB0_50 $116(%rip) + WORD $0x540003c1 // b.ne LBB0_50 $120(%rip) WORD $0x91000620 // add x0, x17, #1 WORD $0x52800103 // mov w3, #8 WORD $0xf9000043 // str x3, [x2] @@ -204,7 +205,7 @@ LBB0_41: WORD $0x7100b47f // cmp w3, #45 WORD $0x54000060 // b.eq LBB0_45 $12(%rip) WORD $0x7100ac7f // cmp w3, #43 - WORD $0x54002821 // b.ne LBB0_117 $1284(%rip) + WORD $0x54002841 // b.ne LBB0_117 $1288(%rip) LBB0_45: WORD $0x91000a20 // add x0, x17, #2 WORD $0xeb08001f // cmp x0, x8 @@ -213,19 +214,20 @@ LBB0_45: WORD $0x52800031 // mov w17, #1 WORD $0x5a910631 // cneg w17, w17, ne WORD $0x38606963 // ldrb w3, [x11, x0] - WORD $0x1400013a // b LBB0_118 $1256(%rip) + WORD $0x1400013b // b LBB0_118 $1260(%rip) LBB0_47: WORD $0xf9000028 // str x8, [x1] WORD $0x92800008 // mov x8, #-1 LBB0_48: WORD $0xf9000048 // str x8, [x2] LBB0_49: - WORD $0xa9457bfd // ldp fp, lr, [sp, #80] - WORD $0xa9444ff4 // ldp x20, x19, [sp, #64] - WORD $0xa94357f6 // ldp x22, x21, [sp, #48] - WORD $0xa9425ff8 // ldp x24, x23, [sp, #32] - WORD $0xa94167fa // ldp x26, x25, [sp, #16] - WORD $0xa8c76ffc // ldp x28, x27, [sp], #112 + WORD $0xa945fbfd // ldp fp, lr, [sp, #88] + WORD $0xa944cff4 // ldp x20, x19, [sp, #72] + WORD $0xa943d7f6 // ldp x22, x21, [sp, #56] + WORD $0xa942dff8 // ldp x24, x23, [sp, #40] + WORD $0xa941e7fa // ldp x26, x25, [sp, #24] + WORD $0xa940effc // ldp x28, x27, [sp, #8] + WORD $0x9101c3ff // add sp, sp, #112 WORD $0xd65f03c0 // ret LBB0_50: WORD $0xaa1003e3 // mov x3, x16 @@ -575,7 +577,7 @@ LBB0_118: WORD $0x3100287f // cmn w3, #10 WORD $0x54000062 // b.hs LBB0_120 $12(%rip) WORD $0xf9000020 // str x0, [x1] - WORD $0x17fffe58 // b LBB0_12 $-1696(%rip) + WORD $0x17fffe57 // b LBB0_12 $-1700(%rip) LBB0_120: WORD $0x52800003 // mov w3, #0 WORD $0x52800144 // mov w4, #10 @@ -630,7 +632,7 @@ LBB0_134: WORD $0xfd000440 // str d0, [x2, #8] LBB0_135: WORD $0xf9000028 // str x8, [x1] - WORD $0x17fffe9b // b LBB0_49 $-1428(%rip) + WORD $0x17fffe9a // b LBB0_49 $-1432(%rip) LBB0_136: WORD $0xb201e7ee // mov x14, #-7378697629483820647 WORD $0xf293334e // movk x14, #39322 diff --git a/internal/native/neon/vsigned_arm64.s b/internal/native/neon/vsigned_arm64.s index 3df96ba19..be88502a1 100644 --- a/internal/native/neon/vsigned_arm64.s +++ b/internal/native/neon/vsigned_arm64.s @@ -12,7 +12,8 @@ TEXT ·__vsigned_entry__(SB), NOSPLIT, $16 RET // .p2align 2, 0x00 _vsigned: - WORD $0xa9be7bfd // stp fp, lr, [sp, #-32]! + WORD $0xd10083ff // sub sp, sp, #32 + WORD $0xa900fbfd // stp fp, lr, [sp, #8] WORD $0xa93ffbfd // stp fp, lr, [sp, #-8] WORD $0xd10023fd // sub fp, sp, #8 WORD $0xf9400028 // ldr x8, [x1] @@ -23,18 +24,18 @@ _vsigned: WORD $0xf940002b // ldr x11, [x1] WORD $0xf9000c4b // str x11, [x2, #24] WORD $0xeb09011f // cmp x8, x9 - WORD $0x54000622 // b.hs LBB0_12 $196(%rip) + WORD $0x54000642 // b.hs LBB0_12 $200(%rip) WORD $0x3868694c // ldrb w12, [x10, x8] WORD $0x7100b59f // cmp w12, #45 - WORD $0x54000661 // b.ne LBB0_13 $204(%rip) + WORD $0x540006a1 // b.ne LBB0_13 $212(%rip) WORD $0x91000508 // add x8, x8, #1 WORD $0xeb09011f // cmp x8, x9 - WORD $0x54000562 // b.hs LBB0_12 $172(%rip) + WORD $0x54000582 // b.hs LBB0_12 $176(%rip) WORD $0x3868694c // ldrb w12, [x10, x8] WORD $0x9280000b // mov x11, #-1 WORD $0x5100e98d // sub w13, w12, #58 WORD $0x31002dbf // cmn w13, #11 - WORD $0x540005e9 // b.ls LBB0_14 $188(%rip) + WORD $0x54000629 // b.ls LBB0_14 $196(%rip) LBB0_4: WORD $0x7100c19f // cmp w12, #48 WORD $0x54000181 // b.ne LBB0_6 $48(%rip) @@ -48,17 +49,17 @@ LBB0_4: WORD $0xf280002d // movk x13, #1 WORD $0x8a0d018c // and x12, x12, x13 WORD $0xfa409984 // ccmp x12, #0, #4, ls - WORD $0x54000740 // b.eq LBB0_22 $232(%rip) + WORD $0x540007e0 // b.eq LBB0_22 $252(%rip) LBB0_6: WORD $0xd280000c // mov x12, #0 WORD $0x5280014d // mov w13, #10 LBB0_7: WORD $0xeb08013f // cmp x9, x8 - WORD $0x54000640 // b.eq LBB0_21 $200(%rip) + WORD $0x540006c0 // b.eq LBB0_21 $216(%rip) WORD $0x3868694e // ldrb w14, [x10, x8] WORD $0x5100c1ce // sub w14, w14, #48 WORD $0x710025df // cmp w14, #9 - WORD $0x540003e8 // b.hi LBB0_15 $124(%rip) + WORD $0x54000448 // b.hi LBB0_15 $136(%rip) WORD $0x9b4d7d8f // smulh x15, x12, x13 WORD $0x8b0c098c // add x12, x12, x12, lsl #2 WORD $0xd37ff98c // lsl x12, x12, #1 @@ -74,52 +75,58 @@ LBB0_11: WORD $0xf9000028 // str x8, [x1] WORD $0x92800088 // mov x8, #-5 WORD $0xf9000048 // str x8, [x2] - WORD $0xa8c27bfd // ldp fp, lr, [sp], #32 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 WORD $0xd65f03c0 // ret LBB0_12: WORD $0xf9000029 // str x9, [x1] WORD $0x92800008 // mov x8, #-1 WORD $0xf9000048 // str x8, [x2] - WORD $0xa8c27bfd // ldp fp, lr, [sp], #32 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 WORD $0xd65f03c0 // ret LBB0_13: WORD $0x5280002b // mov w11, #1 WORD $0x5100e98d // sub w13, w12, #58 WORD $0x31002dbf // cmn w13, #11 - WORD $0x54fffa68 // b.hi LBB0_4 $-180(%rip) + WORD $0x54fffa28 // b.hi LBB0_4 $-188(%rip) LBB0_14: WORD $0xf9000028 // str x8, [x1] WORD $0x92800028 // mov x8, #-2 WORD $0xf9000048 // str x8, [x2] - WORD $0xa8c27bfd // ldp fp, lr, [sp], #32 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 WORD $0xd65f03c0 // ret LBB0_15: WORD $0xeb09011f // cmp x8, x9 - WORD $0x540001a2 // b.hs LBB0_20 $52(%rip) + WORD $0x540001c2 // b.hs LBB0_20 $56(%rip) WORD $0x38686949 // ldrb w9, [x10, x8] WORD $0x7100b93f // cmp w9, #46 WORD $0x540000a0 // b.eq LBB0_19 $20(%rip) WORD $0x7101153f // cmp w9, #69 WORD $0x54000060 // b.eq LBB0_19 $12(%rip) WORD $0x7101953f // cmp w9, #101 - WORD $0x540000c1 // b.ne LBB0_20 $24(%rip) + WORD $0x540000e1 // b.ne LBB0_20 $28(%rip) LBB0_19: WORD $0xf9000028 // str x8, [x1] WORD $0x928000a8 // mov x8, #-6 WORD $0xf9000048 // str x8, [x2] - WORD $0xa8c27bfd // ldp fp, lr, [sp], #32 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 WORD $0xd65f03c0 // ret LBB0_20: WORD $0xaa0803e9 // mov x9, x8 LBB0_21: WORD $0xf9000029 // str x9, [x1] WORD $0xf900084c // str x12, [x2, #16] - WORD $0xa8c27bfd // ldp fp, lr, [sp], #32 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 WORD $0xd65f03c0 // ret LBB0_22: WORD $0x91000508 // add x8, x8, #1 WORD $0xf9000028 // str x8, [x1] - WORD $0xa8c27bfd // ldp fp, lr, [sp], #32 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 WORD $0xd65f03c0 // ret // .p2align 2, 0x00 _MASK_USE_NUMBER: diff --git a/internal/native/neon/vstring_arm64.s b/internal/native/neon/vstring_arm64.s index f7c2f7661..9093dfb44 100644 --- a/internal/native/neon/vstring_arm64.s +++ b/internal/native/neon/vstring_arm64.s @@ -56,28 +56,29 @@ lCPI0_1: // .byte 15 _vstring: - WORD $0xa9bd4ff4 // stp x20, x19, [sp, #-48]! - WORD $0xa9017bfd // stp fp, lr, [sp, #16] + WORD $0xd100c3ff // sub sp, sp, #48 + WORD $0xa900cff4 // stp x20, x19, [sp, #8] + WORD $0xa901fbfd // stp fp, lr, [sp, #24] WORD $0xa93ffbfd // stp fp, lr, [sp, #-8] WORD $0xd10023fd // sub fp, sp, #8 WORD $0xf9400028 // ldr x8, [x1] WORD $0xf9400409 // ldr x9, [x0, #8] WORD $0x37280c43 // tbnz w3, #5, LBB0_11 $392(%rip) WORD $0xeb08012b // subs x11, x9, x8 - WORD $0x54003d00 // b.eq LBB0_77 $1952(%rip) + WORD $0x54003b00 // b.eq LBB0_75 $1888(%rip) WORD $0xf940000a // ldr x10, [x0] WORD $0xf101017f // cmp x11, #64 - WORD $0x54001e03 // b.lo LBB0_27 $960(%rip) + WORD $0x54001d43 // b.lo LBB0_26 $936(%rip) WORD $0xd280000c // mov x12, #0 WORD $0x92800009 // mov x9, #-1 WORD $0x4f01e440 // movi.16b v0, #34 WORD $0x4f02e781 // movi.16b v1, #92 Lloh0: - WORD $0x10fffd0d // adr x13, lCPI0_0 $-96(%rip) + WORD $0x10fffced // adr x13, lCPI0_0 $-100(%rip) Lloh1: WORD $0x3dc001a2 // ldr q2, [x13, lCPI0_0@PAGEOFF] $0(%rip) Lloh2: - WORD $0x10fffd4d // adr x13, lCPI0_1 $-88(%rip) + WORD $0x10fffd2d // adr x13, lCPI0_1 $-92(%rip) Lloh3: WORD $0x3dc001a3 // ldr q3, [x13, lCPI0_1@PAGEOFF] $0(%rip) WORD $0xaa0803ed // mov x13, x8 @@ -143,7 +144,7 @@ LBB0_7: WORD $0x910101ad // add x13, x13, #64 WORD $0xf100fd7f // cmp x11, #63 WORD $0x54fff8a8 // b.hi LBB0_4 $-236(%rip) - WORD $0x1400009f // b LBB0_24 $636(%rip) + WORD $0x140000a0 // b LBB0_24 $640(%rip) LBB0_8: WORD $0xb100053f // cmn x9, #1 WORD $0xdac001f0 // rbit x16, x15 @@ -168,15 +169,15 @@ LBB0_10: WORD $0x8b0d014a // add x10, x10, x13 WORD $0x9100054e // add x14, x10, #1 WORD $0xb6f8102e // tbz x14, #63, LBB0_23 $516(%rip) - WORD $0x1400016b // b LBB0_71 $1452(%rip) + WORD $0x1400017a // b LBB0_76 $1512(%rip) LBB0_11: WORD $0xeb08012c // subs x12, x9, x8 - WORD $0x540030e0 // b.eq LBB0_77 $1564(%rip) + WORD $0x54002ee0 // b.eq LBB0_75 $1500(%rip) WORD $0xf940000a // ldr x10, [x0] - WORD $0x10fff1af // adr x15, lCPI0_0 $-460(%rip) - WORD $0x10fff20e // adr x14, lCPI0_1 $-448(%rip) + WORD $0x10fff18f // adr x15, lCPI0_0 $-464(%rip) + WORD $0x10fff1ee // adr x14, lCPI0_1 $-452(%rip) WORD $0xf101019f // cmp x12, #64 - WORD $0x540016a3 // b.lo LBB0_33 $724(%rip) + WORD $0x540015e3 // b.lo LBB0_32 $700(%rip) WORD $0xd280000b // mov x11, #0 WORD $0x92800009 // mov x9, #-1 WORD $0x4f01e440 // movi.16b v0, #34 @@ -268,12 +269,12 @@ LBB0_16: WORD $0xaa030083 // orr x3, x4, x3 WORD $0xaa110071 // orr x17, x3, x17 WORD $0xb50002f0 // cbnz x16, LBB0_21 $92(%rip) - WORD $0xb5000551 // cbnz x17, LBB0_25 $168(%rip) + WORD $0xb5002011 // cbnz x17, LBB0_69 $1024(%rip) WORD $0xd101018c // sub x12, x12, #64 WORD $0x910101ad // add x13, x13, #64 WORD $0xf100fd9f // cmp x12, #63 WORD $0x54fff568 // b.hi LBB0_14 $-340(%rip) - WORD $0x1400002c // b LBB0_26 $176(%rip) + WORD $0x14000026 // b LBB0_25 $152(%rip) LBB0_19: WORD $0xb100053f // cmn x9, #1 WORD $0xdac00223 // rbit x3, x17 @@ -298,10 +299,10 @@ LBB0_21: WORD $0xdac0022b // rbit x11, x17 WORD $0xdac0116b // clz x11, x11 WORD $0xeb0a017f // cmp x11, x10 - WORD $0x54001ea3 // b.lo LBB0_72 $980(%rip) + WORD $0x54001ca3 // b.lo LBB0_69 $916(%rip) WORD $0x8b0d014a // add x10, x10, x13 WORD $0x9100054e // add x14, x10, #1 - WORD $0xb7f81d8e // tbnz x14, #63, LBB0_71 $944(%rip) + WORD $0xb7f81f6e // tbnz x14, #63, LBB0_76 $1004(%rip) LBB0_23: WORD $0xf900002e // str x14, [x1] WORD $0x528000ea // mov w10, #7 @@ -309,30 +310,23 @@ LBB0_23: WORD $0xeb0e013f // cmp x9, x14 WORD $0xda9fb129 // csinv x9, x9, xzr, lt WORD $0xa9012448 // stp x8, x9, [x2, #16] - WORD $0xa9417bfd // ldp fp, lr, [sp, #16] - WORD $0xa8c34ff4 // ldp x20, x19, [sp], #48 + WORD $0xa941fbfd // ldp fp, lr, [sp, #24] + WORD $0xa940cff4 // ldp x20, x19, [sp, #8] + WORD $0x9100c3ff // add sp, sp, #48 WORD $0xd65f03c0 // ret LBB0_24: WORD $0x8b0d014d // add x13, x10, x13 - WORD $0x1400000d // b LBB0_28 $52(%rip) + WORD $0x14000006 // b LBB0_27 $24(%rip) LBB0_25: - WORD $0x9280002e // mov x14, #-2 - WORD $0xf9400408 // ldr x8, [x0, #8] - WORD $0xf9000028 // str x8, [x1] - WORD $0xf900004e // str x14, [x2] - WORD $0xa9417bfd // ldp fp, lr, [sp, #16] - WORD $0xa8c34ff4 // ldp x20, x19, [sp], #48 - WORD $0xd65f03c0 // ret -LBB0_26: WORD $0x8b0d014d // add x13, x10, x13 - WORD $0x1400002c // b LBB0_34 $176(%rip) -LBB0_27: + WORD $0x1400002c // b LBB0_33 $176(%rip) +LBB0_26: WORD $0xd280000c // mov x12, #0 WORD $0x8b08014d // add x13, x10, x8 WORD $0x92800009 // mov x9, #-1 -LBB0_28: +LBB0_27: WORD $0xf100816e // subs x14, x11, #32 - WORD $0x54000e83 // b.lo LBB0_43 $464(%rip) + WORD $0x54000e83 // b.lo LBB0_42 $464(%rip) WORD $0xad4005a0 // ldp q0, q1, [x13] WORD $0x4f01e442 // movi.16b v2, #34 WORD $0x6e228c03 // cmeq.16b v3, v0, v2 @@ -341,12 +335,12 @@ LBB0_28: WORD $0x6e248c00 // cmeq.16b v0, v0, v4 WORD $0x6e248c21 // cmeq.16b v1, v1, v4 Lloh4: - WORD $0x10ffde2b // adr x11, lCPI0_0 $-1084(%rip) + WORD $0x10ffdecb // adr x11, lCPI0_0 $-1064(%rip) Lloh5: WORD $0x3dc00164 // ldr q4, [x11, lCPI0_0@PAGEOFF] $0(%rip) WORD $0x4e241c63 // and.16b v3, v3, v4 Lloh6: - WORD $0x10ffde4b // adr x11, lCPI0_1 $-1080(%rip) + WORD $0x10ffdeeb // adr x11, lCPI0_1 $-1060(%rip) Lloh7: WORD $0x3dc00165 // ldr q5, [x11, lCPI0_1@PAGEOFF] $0(%rip) WORD $0x4e050063 // tbl.16b v3, { v3 }, v5 @@ -366,20 +360,20 @@ Lloh7: WORD $0x1e260011 // fmov w17, s0 WORD $0x33103e0b // bfi w11, w16, #16, #16 WORD $0x33103e2f // bfi w15, w17, #16, #16 - WORD $0x3500080f // cbnz w15, LBB0_40 $256(%rip) - WORD $0xb50008ac // cbnz x12, LBB0_41 $276(%rip) - WORD $0xb4000a4b // cbz x11, LBB0_42 $328(%rip) -LBB0_32: + WORD $0x3500080f // cbnz w15, LBB0_39 $256(%rip) + WORD $0xb50008ac // cbnz x12, LBB0_40 $276(%rip) + WORD $0xb4000a4b // cbz x11, LBB0_41 $328(%rip) +LBB0_31: WORD $0xdac0016b // rbit x11, x11 WORD $0xdac0116b // clz x11, x11 - WORD $0x14000036 // b LBB0_39 $216(%rip) -LBB0_33: + WORD $0x14000036 // b LBB0_38 $216(%rip) +LBB0_32: WORD $0xd280000b // mov x11, #0 WORD $0x8b08014d // add x13, x10, x8 WORD $0x92800009 // mov x9, #-1 -LBB0_34: +LBB0_33: WORD $0xf1008190 // subs x16, x12, #32 - WORD $0x54001103 // b.lo LBB0_60 $544(%rip) + WORD $0x54001103 // b.lo LBB0_59 $544(%rip) WORD $0xad4005a0 // ldp q0, q1, [x13] WORD $0x4f01e442 // movi.16b v2, #34 WORD $0x6e228c03 // cmeq.16b v3, v0, v2 @@ -419,30 +413,30 @@ LBB0_34: WORD $0x33103e2c // bfi w12, w17, #16, #16 WORD $0x33103c6f // bfi w15, w3, #16, #16 WORD $0x33103c8e // bfi w14, w4, #16, #16 - WORD $0x3500092f // cbnz w15, LBB0_56 $292(%rip) - WORD $0xb50009cb // cbnz x11, LBB0_57 $312(%rip) - WORD $0xb4000b6c // cbz x12, LBB0_58 $364(%rip) -LBB0_38: + WORD $0x3500092f // cbnz w15, LBB0_55 $292(%rip) + WORD $0xb50009cb // cbnz x11, LBB0_56 $312(%rip) + WORD $0xb4000b6c // cbz x12, LBB0_57 $364(%rip) +LBB0_37: WORD $0xdac0018b // rbit x11, x12 WORD $0xdac0116b // clz x11, x11 WORD $0xdac001cc // rbit x12, x14 WORD $0xdac0118c // clz x12, x12 WORD $0xeb0b019f // cmp x12, x11 - WORD $0x54001023 // b.lo LBB0_72 $516(%rip) -LBB0_39: + WORD $0x54000ee3 // b.lo LBB0_69 $476(%rip) +LBB0_38: WORD $0xcb0a01aa // sub x10, x13, x10 WORD $0x8b0b014a // add x10, x10, x11 WORD $0x9100054e // add x14, x10, #1 - WORD $0xb6fff18e // tbz x14, #63, LBB0_23 $-464(%rip) - WORD $0x14000076 // b LBB0_71 $472(%rip) -LBB0_40: + WORD $0xb6fff24e // tbz x14, #63, LBB0_23 $-440(%rip) + WORD $0x1400008b // b LBB0_76 $556(%rip) +LBB0_39: WORD $0xdac001f0 // rbit x16, x15 WORD $0xdac01210 // clz x16, x16 WORD $0xcb0a01b1 // sub x17, x13, x10 WORD $0x8b100230 // add x16, x17, x16 WORD $0xb100053f // cmn x9, #1 WORD $0x9a901129 // csel x9, x9, x16, ne -LBB0_41: +LBB0_40: WORD $0x0a2c01f0 // bic w16, w15, w12 WORD $0x531f7a11 // lsl w17, w16, #1 WORD $0x331f7a0c // bfi w12, w16, #1, #31 @@ -456,31 +450,31 @@ LBB0_41: WORD $0x2a2c03ec // mvn w12, w12 WORD $0x8a0b018b // and x11, x12, x11 WORD $0xaa0f03ec // mov x12, x15 - WORD $0xb5fff60b // cbnz x11, LBB0_32 $-320(%rip) -LBB0_42: + WORD $0xb5fff60b // cbnz x11, LBB0_31 $-320(%rip) +LBB0_41: WORD $0x910081ad // add x13, x13, #32 WORD $0xaa0e03eb // mov x11, x14 -LBB0_43: - WORD $0xb5000d8c // cbnz x12, LBB0_73 $432(%rip) - WORD $0xb40003ab // cbz x11, LBB0_53 $116(%rip) -LBB0_45: +LBB0_42: + WORD $0xb5000c4c // cbnz x12, LBB0_71 $392(%rip) + WORD $0xb40003ab // cbz x11, LBB0_52 $116(%rip) +LBB0_44: WORD $0xcb0a03ec // neg x12, x10 -LBB0_46: +LBB0_45: WORD $0xd280000f // mov x15, #0 -LBB0_47: +LBB0_46: WORD $0x386f69ae // ldrb w14, [x13, x15] WORD $0x710089df // cmp w14, #34 - WORD $0x540002c0 // b.eq LBB0_52 $88(%rip) + WORD $0x540002c0 // b.eq LBB0_51 $88(%rip) WORD $0x710171df // cmp w14, #92 - WORD $0x540000a0 // b.eq LBB0_50 $20(%rip) + WORD $0x540000a0 // b.eq LBB0_49 $20(%rip) WORD $0x910005ef // add x15, x15, #1 WORD $0xeb0f017f // cmp x11, x15 - WORD $0x54ffff21 // b.ne LBB0_47 $-28(%rip) - WORD $0x14000015 // b LBB0_54 $84(%rip) -LBB0_50: + WORD $0x54ffff21 // b.ne LBB0_46 $-28(%rip) + WORD $0x14000015 // b LBB0_53 $84(%rip) +LBB0_49: WORD $0xd100056e // sub x14, x11, #1 WORD $0xeb0f01df // cmp x14, x15 - WORD $0x54000dc0 // b.eq LBB0_77 $440(%rip) + WORD $0x54000c80 // b.eq LBB0_75 $400(%rip) WORD $0x8b0f01ad // add x13, x13, x15 WORD $0x8b0c01ae // add x14, x13, x12 WORD $0xb100053f // cmn x9, #1 @@ -491,28 +485,28 @@ LBB0_50: WORD $0xd10009cb // sub x11, x14, #2 WORD $0x9280000e // mov x14, #-1 WORD $0xeb0f021f // cmp x16, x15 - WORD $0x54fffd21 // b.ne LBB0_46 $-92(%rip) - WORD $0x14000044 // b LBB0_71 $272(%rip) -LBB0_52: + WORD $0x54fffd21 // b.ne LBB0_45 $-92(%rip) + WORD $0x14000059 // b LBB0_76 $356(%rip) +LBB0_51: WORD $0x8b0f01ab // add x11, x13, x15 WORD $0x9100056d // add x13, x11, #1 -LBB0_53: +LBB0_52: WORD $0xcb0a01ae // sub x14, x13, x10 - WORD $0xb6ffeaae // tbz x14, #63, LBB0_23 $-684(%rip) - WORD $0x1400003f // b LBB0_71 $252(%rip) -LBB0_54: + WORD $0xb6ffeb6e // tbz x14, #63, LBB0_23 $-660(%rip) + WORD $0x14000054 // b LBB0_76 $336(%rip) +LBB0_53: WORD $0x710089df // cmp w14, #34 - WORD $0x54000b61 // b.ne LBB0_77 $364(%rip) + WORD $0x54000a21 // b.ne LBB0_75 $324(%rip) WORD $0x8b0f01ad // add x13, x13, x15 - WORD $0x17fffffa // b LBB0_53 $-24(%rip) -LBB0_56: + WORD $0x17fffffa // b LBB0_52 $-24(%rip) +LBB0_55: WORD $0xdac001f1 // rbit x17, x15 WORD $0xdac01231 // clz x17, x17 WORD $0xcb0a01a3 // sub x3, x13, x10 WORD $0x8b110071 // add x17, x3, x17 WORD $0xb100053f // cmn x9, #1 WORD $0x9a911129 // csel x9, x9, x17, ne -LBB0_57: +LBB0_56: WORD $0x0a2b01f1 // bic w17, w15, w11 WORD $0x531f7a23 // lsl w3, w17, #1 WORD $0x331f7a2b // bfi w11, w17, #1, #31 @@ -526,35 +520,35 @@ LBB0_57: WORD $0x2a2b03eb // mvn w11, w11 WORD $0x8a0c016c // and x12, x11, x12 WORD $0xaa0f03eb // mov x11, x15 - WORD $0xb5fff4ec // cbnz x12, LBB0_38 $-356(%rip) -LBB0_58: - WORD $0x3500058e // cbnz w14, LBB0_72 $176(%rip) + WORD $0xb5fff4ec // cbnz x12, LBB0_37 $-356(%rip) +LBB0_57: + WORD $0x3500044e // cbnz w14, LBB0_69 $136(%rip) WORD $0x910081ad // add x13, x13, #32 WORD $0xaa1003ec // mov x12, x16 -LBB0_60: - WORD $0xb500072b // cbnz x11, LBB0_75 $228(%rip) - WORD $0xb400080c // cbz x12, LBB0_77 $256(%rip) -LBB0_62: +LBB0_59: + WORD $0xb50005eb // cbnz x11, LBB0_73 $188(%rip) + WORD $0xb40006cc // cbz x12, LBB0_75 $216(%rip) +LBB0_61: WORD $0xcb0a03eb // neg x11, x10 -LBB0_63: +LBB0_62: WORD $0xd280000f // mov x15, #0 -LBB0_64: +LBB0_63: WORD $0x386f69ae // ldrb w14, [x13, x15] WORD $0x710089df // cmp w14, #34 - WORD $0x54000320 // b.eq LBB0_70 $100(%rip) + WORD $0x54000360 // b.eq LBB0_70 $108(%rip) WORD $0x710171df // cmp w14, #92 - WORD $0x54000100 // b.eq LBB0_68 $32(%rip) + WORD $0x54000100 // b.eq LBB0_67 $32(%rip) WORD $0x710081df // cmp w14, #32 - WORD $0x540003e3 // b.lo LBB0_72 $124(%rip) + WORD $0x540002a3 // b.lo LBB0_69 $84(%rip) WORD $0x910005ef // add x15, x15, #1 WORD $0x9280000e // mov x14, #-1 WORD $0xeb0f019f // cmp x12, x15 - WORD $0x54fffec1 // b.ne LBB0_64 $-40(%rip) - WORD $0x14000014 // b LBB0_71 $80(%rip) -LBB0_68: + WORD $0x54fffec1 // b.ne LBB0_63 $-40(%rip) + WORD $0x14000029 // b LBB0_76 $164(%rip) +LBB0_67: WORD $0xd100058e // sub x14, x12, #1 WORD $0xeb0f01df // cmp x14, x15 - WORD $0x540005e0 // b.eq LBB0_77 $188(%rip) + WORD $0x540004a0 // b.eq LBB0_75 $148(%rip) WORD $0x8b0f01ad // add x13, x13, x15 WORD $0x8b0b01ae // add x14, x13, x11 WORD $0xb100053f // cmn x9, #1 @@ -565,54 +559,45 @@ LBB0_68: WORD $0xd100098c // sub x12, x12, #2 WORD $0x9280000e // mov x14, #-1 WORD $0xeb0f021f // cmp x16, x15 - WORD $0x54fffcc1 // b.ne LBB0_63 $-104(%rip) - WORD $0x14000005 // b LBB0_71 $20(%rip) + WORD $0x54fffcc1 // b.ne LBB0_62 $-104(%rip) + WORD $0x1400001a // b LBB0_76 $104(%rip) +LBB0_69: + WORD $0x9280002e // mov x14, #-2 + WORD $0x14000018 // b LBB0_76 $96(%rip) LBB0_70: WORD $0xcb0a01aa // sub x10, x13, x10 WORD $0x8b0f014a // add x10, x10, x15 WORD $0x9100054e // add x14, x10, #1 - WORD $0xb6ffe2ce // tbz x14, #63, LBB0_23 $-936(%rip) + WORD $0xb6ffe34e // tbz x14, #63, LBB0_23 $-920(%rip) + WORD $0x14000013 // b LBB0_76 $76(%rip) LBB0_71: - WORD $0xf9400408 // ldr x8, [x0, #8] - WORD $0xf9000028 // str x8, [x1] - WORD $0xf900004e // str x14, [x2] - WORD $0xa9417bfd // ldp fp, lr, [sp, #16] - WORD $0xa8c34ff4 // ldp x20, x19, [sp], #48 - WORD $0xd65f03c0 // ret -LBB0_72: - WORD $0x9280002e // mov x14, #-2 - WORD $0xf9400408 // ldr x8, [x0, #8] - WORD $0xf9000028 // str x8, [x1] - WORD $0xf900004e // str x14, [x2] - WORD $0xa9417bfd // ldp fp, lr, [sp, #16] - WORD $0xa8c34ff4 // ldp x20, x19, [sp], #48 - WORD $0xd65f03c0 // ret -LBB0_73: - WORD $0xb400022b // cbz x11, LBB0_77 $68(%rip) + WORD $0xb400022b // cbz x11, LBB0_75 $68(%rip) WORD $0xaa2a03ec // mvn x12, x10 WORD $0x8b0c01ac // add x12, x13, x12 WORD $0xb100053f // cmn x9, #1 WORD $0x9a890189 // csel x9, x12, x9, eq WORD $0x910005ad // add x13, x13, #1 WORD $0xd100056b // sub x11, x11, #1 - WORD $0xb5fff1eb // cbnz x11, LBB0_45 $-452(%rip) - WORD $0x17ffffaa // b LBB0_53 $-344(%rip) -LBB0_75: - WORD $0xb400010c // cbz x12, LBB0_77 $32(%rip) + WORD $0xb5fff32b // cbnz x11, LBB0_44 $-412(%rip) + WORD $0x17ffffb4 // b LBB0_52 $-304(%rip) +LBB0_73: + WORD $0xb400010c // cbz x12, LBB0_75 $32(%rip) WORD $0xaa2a03eb // mvn x11, x10 WORD $0x8b0b01ab // add x11, x13, x11 WORD $0xb100053f // cmn x9, #1 WORD $0x9a890169 // csel x9, x11, x9, eq WORD $0x910005ad // add x13, x13, #1 WORD $0xd100058c // sub x12, x12, #1 - WORD $0xb5fff84c // cbnz x12, LBB0_62 $-248(%rip) -LBB0_77: + WORD $0xb5fff98c // cbnz x12, LBB0_61 $-208(%rip) +LBB0_75: WORD $0x9280000e // mov x14, #-1 +LBB0_76: WORD $0xf9400408 // ldr x8, [x0, #8] WORD $0xf9000028 // str x8, [x1] WORD $0xf900004e // str x14, [x2] - WORD $0xa9417bfd // ldp fp, lr, [sp, #16] - WORD $0xa8c34ff4 // ldp x20, x19, [sp], #48 + WORD $0xa941fbfd // ldp fp, lr, [sp, #24] + WORD $0xa940cff4 // ldp x20, x19, [sp, #8] + WORD $0x9100c3ff // add sp, sp, #48 WORD $0xd65f03c0 // ret // .p2align 2, 0x00 _MASK_USE_NUMBER: diff --git a/internal/native/neon/vunsigned_arm64.s b/internal/native/neon/vunsigned_arm64.s index 7cb107948..c73a44894 100644 --- a/internal/native/neon/vunsigned_arm64.s +++ b/internal/native/neon/vunsigned_arm64.s @@ -12,7 +12,8 @@ TEXT ·__vunsigned_entry__(SB), NOSPLIT, $16 RET // .p2align 2, 0x00 _vunsigned: - WORD $0xa9be7bfd // stp fp, lr, [sp, #-32]! + WORD $0xd10083ff // sub sp, sp, #32 + WORD $0xa900fbfd // stp fp, lr, [sp, #8] WORD $0xa93ffbfd // stp fp, lr, [sp, #-8] WORD $0xd10023fd // sub fp, sp, #8 WORD $0xf9400028 // ldr x8, [x1] @@ -23,31 +24,34 @@ _vunsigned: WORD $0xf940002b // ldr x11, [x1] WORD $0xf9000c4b // str x11, [x2, #24] WORD $0xeb09011f // cmp x8, x9 - WORD $0x54000142 // b.hs LBB0_3 $40(%rip) + WORD $0x54000162 // b.hs LBB0_3 $44(%rip) WORD $0x8b08014b // add x11, x10, x8 WORD $0x3940016c // ldrb w12, [x11] WORD $0x7100b59f // cmp w12, #45 - WORD $0x54000161 // b.ne LBB0_4 $44(%rip) + WORD $0x540001a1 // b.ne LBB0_4 $52(%rip) LBB0_2: WORD $0xf9000028 // str x8, [x1] WORD $0x928000a8 // mov x8, #-6 WORD $0xf9000048 // str x8, [x2] - WORD $0xa8c27bfd // ldp fp, lr, [sp], #32 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 WORD $0xd65f03c0 // ret LBB0_3: WORD $0xf9000029 // str x9, [x1] WORD $0x92800008 // mov x8, #-1 WORD $0xf9000048 // str x8, [x2] - WORD $0xa8c27bfd // ldp fp, lr, [sp], #32 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 WORD $0xd65f03c0 // ret LBB0_4: WORD $0x5100e98d // sub w13, w12, #58 WORD $0x31002dbf // cmn w13, #11 - WORD $0x540000c8 // b.hi LBB0_6 $24(%rip) + WORD $0x540000e8 // b.hi LBB0_6 $28(%rip) WORD $0xf9000028 // str x8, [x1] WORD $0x92800028 // mov x8, #-2 WORD $0xf9000048 // str x8, [x2] - WORD $0xa8c27bfd // ldp fp, lr, [sp], #32 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 WORD $0xd65f03c0 // ret LBB0_6: WORD $0x7100c19f // cmp w12, #48 @@ -61,7 +65,7 @@ LBB0_6: WORD $0xf280002c // movk x12, #1 WORD $0x8a0c016b // and x11, x11, x12 WORD $0xfa409964 // ccmp x11, #0, #4, ls - WORD $0x54000560 // b.eq LBB0_21 $172(%rip) + WORD $0x540005a0 // b.eq LBB0_21 $180(%rip) LBB0_8: WORD $0xd280000b // mov x11, #0 WORD $0xeb08013f // cmp x9, x8 @@ -69,11 +73,11 @@ LBB0_8: WORD $0x5280014d // mov w13, #10 LBB0_9: WORD $0xeb08019f // cmp x12, x8 - WORD $0x54000420 // b.eq LBB0_20 $132(%rip) + WORD $0x54000440 // b.eq LBB0_20 $136(%rip) WORD $0x3868694e // ldrb w14, [x10, x8] WORD $0x5100c1ce // sub w14, w14, #48 WORD $0x710025df // cmp w14, #9 - WORD $0x54000268 // b.hi LBB0_15 $76(%rip) + WORD $0x54000288 // b.hi LBB0_15 $80(%rip) WORD $0x9bcd7d6f // umulh x15, x11, x13 WORD $0xeb0f03ff // cmp xzr, x15 WORD $0x54000141 // b.ne LBB0_14 $40(%rip) @@ -91,29 +95,32 @@ LBB0_14: WORD $0xf9000028 // str x8, [x1] WORD $0x92800088 // mov x8, #-5 WORD $0xf9000048 // str x8, [x2] - WORD $0xa8c27bfd // ldp fp, lr, [sp], #32 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 WORD $0xd65f03c0 // ret LBB0_15: WORD $0xeb09011f // cmp x8, x9 WORD $0x54000102 // b.hs LBB0_19 $32(%rip) WORD $0x38686949 // ldrb w9, [x10, x8] WORD $0x7100b93f // cmp w9, #46 - WORD $0x54fff840 // b.eq LBB0_2 $-248(%rip) + WORD $0x54fff7c0 // b.eq LBB0_2 $-264(%rip) WORD $0x7101153f // cmp w9, #69 - WORD $0x54fff800 // b.eq LBB0_2 $-256(%rip) + WORD $0x54fff780 // b.eq LBB0_2 $-272(%rip) WORD $0x7101953f // cmp w9, #101 - WORD $0x54fff7c0 // b.eq LBB0_2 $-264(%rip) + WORD $0x54fff740 // b.eq LBB0_2 $-280(%rip) LBB0_19: WORD $0xaa0803ec // mov x12, x8 LBB0_20: WORD $0xf900002c // str x12, [x1] WORD $0xf900084b // str x11, [x2, #16] - WORD $0xa8c27bfd // ldp fp, lr, [sp], #32 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 WORD $0xd65f03c0 // ret LBB0_21: WORD $0x91000508 // add x8, x8, #1 WORD $0xf9000028 // str x8, [x1] - WORD $0xa8c27bfd // ldp fp, lr, [sp], #32 + WORD $0xa940fbfd // ldp fp, lr, [sp, #8] + WORD $0x910083ff // add sp, sp, #32 WORD $0xd65f03c0 // ret // .p2align 2, 0x00 _MASK_USE_NUMBER: