github.com/bytedance/sonic@v1.11.7-0.20240517092252-d2edb31b167b/internal/native/neon/skip_one_fast_arm64.s (about) 1 // +build !noasm !appengine 2 // Code generated by asm2asm, DO NOT EDIT. 3 4 #include "go_asm.h" 5 #include "funcdata.h" 6 #include "textflag.h" 7 8 TEXT ·__skip_one_fast_entry__(SB), NOSPLIT, $176 9 NO_LOCAL_POINTERS 10 WORD $0x100000a0 // adr x0, .+20 11 MOVD R0, ret(FP) 12 RET 13 // .p2align 4, 0x00 14 lCPI0_0: 15 WORD $0x08040201 16 WORD $0x80402010 17 WORD $0x08040201 18 WORD $0x80402010 19 // // .byte 1 20 // .byte 2 21 // .byte 4 22 // .byte 8 23 // .byte 16 24 // .byte 32 25 // .byte 64 26 // .byte 128 27 // .byte 1 28 // .byte 2 29 // .byte 4 30 // .byte 8 31 // .byte 16 32 // .byte 32 33 // .byte 64 34 // .byte 128 35 36 lCPI0_1: 37 WORD $0x09010800 38 WORD $0x0b030a02 39 WORD $0x0d050c04 40 WORD $0x0f070e06 41 // // .byte 0 42 // .byte 8 43 // .byte 1 44 // .byte 9 45 // .byte 2 46 // .byte 10 47 // .byte 3 48 // .byte 11 49 // .byte 4 50 // .byte 12 51 // .byte 5 52 // .byte 13 53 // .byte 6 54 // .byte 14 55 // .byte 7 56 // .byte 15 57 58 _skip_one_fast: 59 WORD $0xd10303ff // sub sp, sp, #192 60 WORD $0xa905effc // stp x28, x27, [sp, #88] 61 WORD $0xa906e7fa // stp x26, x25, [sp, #104] 62 WORD $0xa907dff8 // stp x24, x23, [sp, #120] 63 WORD $0xa908d7f6 // stp x22, x21, [sp, #136] 64 WORD $0xa909cff4 // stp x20, x19, [sp, #152] 65 WORD $0xa90afbfd // stp fp, lr, [sp, #168] 66 WORD $0xa93ffbfd // stp fp, lr, [sp, #-8] 67 WORD $0xd10023fd // sub fp, sp, #8 68 WORD $0xf940002b // ldr x11, [x1] 69 WORD $0xa9402809 // ldp x9, x10, [x0] 70 WORD $0xeb0a017f // cmp x11, x10 71 WORD $0x54000142 // b.hs LBB0_4 $40(%rip) 72 WORD $0x386b6928 // ldrb w8, [x9, x11] 73 WORD $0x7100351f // cmp w8, #13 74 WORD $0x540000e0 // b.eq LBB0_4 $28(%rip) 75 WORD $0x7100811f // cmp w8, #32 76 WORD $0x540000a0 // b.eq LBB0_4 $20(%rip) 77 WORD $0x51002d0c // sub w12, w8, #11 78 WORD $0xaa0b03e8 // mov x8, x11 79 WORD $0x3100099f // cmn w12, #2 80 WORD $0x54000683 // b.lo LBB0_21 $208(%rip) 81 LBB0_4: 82 WORD $0x91000568 // add x8, x11, #1 83 WORD $0xeb0a011f // cmp x8, x10 84 WORD $0x54000122 // b.hs LBB0_8 $36(%rip) 85 WORD $0x3868692c // ldrb w12, [x9, x8] 86 WORD $0x7100359f // cmp w12, #13 87 WORD $0x540000c0 // b.eq LBB0_8 $24(%rip) 88 WORD $0x7100819f // cmp w12, #32 89 WORD $0x54000080 // b.eq LBB0_8 $16(%rip) 90 WORD $0x51002d8c // sub w12, w12, #11 91 WORD $0x3100099f // cmn w12, #2 92 WORD $0x54000523 // b.lo LBB0_21 $164(%rip) 93 LBB0_8: 94 WORD $0x91000968 // add x8, x11, #2 95 WORD $0xeb0a011f // cmp x8, x10 96 WORD $0x54000122 // b.hs LBB0_12 $36(%rip) 97 WORD $0x3868692c // ldrb w12, [x9, x8] 98 WORD $0x7100359f // cmp w12, #13 99 WORD $0x540000c0 // b.eq LBB0_12 $24(%rip) 100 WORD $0x7100819f // cmp w12, #32 101 WORD $0x54000080 // b.eq LBB0_12 $16(%rip) 102 WORD $0x51002d8c // sub w12, w12, #11 103 WORD $0x3100099f // cmn w12, #2 104 WORD $0x540003c3 // b.lo LBB0_21 $120(%rip) 105 LBB0_12: 106 WORD $0x91000d68 // add x8, x11, #3 107 WORD $0xeb0a011f // cmp x8, x10 108 WORD $0x54000122 // b.hs LBB0_16 $36(%rip) 109 WORD $0x3868692c // ldrb w12, [x9, x8] 110 WORD $0x7100359f // cmp w12, #13 111 WORD $0x540000c0 // b.eq LBB0_16 $24(%rip) 112 WORD $0x7100819f // cmp w12, #32 113 WORD $0x54000080 // b.eq LBB0_16 $16(%rip) 114 WORD $0x51002d8c // sub w12, w12, #11 115 WORD $0x3100099f // cmn w12, #2 116 WORD $0x54000263 // b.lo LBB0_21 $76(%rip) 117 LBB0_16: 118 WORD $0x91001168 // add x8, x11, #4 119 WORD $0xeb0a011f // cmp x8, x10 120 WORD $0x54005ae2 // b.hs LBB0_115 $2908(%rip) 121 WORD $0x5280002b // mov w11, #1 122 WORD $0xd284c00c // mov x12, #9728 123 WORD $0xf2c0002c // movk x12, #1, lsl #32 124 LBB0_18: 125 WORD $0x3868692d // ldrb w13, [x9, x8] 126 WORD $0x710081bf // cmp w13, #32 127 WORD $0x9acd216d // lsl x13, x11, x13 128 WORD $0x8a0c01ad // and x13, x13, x12 129 WORD $0xfa4099a4 // ccmp x13, #0, #4, ls 130 WORD $0x540000a0 // b.eq LBB0_20 $20(%rip) 131 WORD $0x91000508 // add x8, x8, #1 132 WORD $0xeb08015f // cmp x10, x8 133 WORD $0x54ffff01 // b.ne LBB0_18 $-32(%rip) 134 WORD $0x140002cb // b LBB0_116 $2860(%rip) 135 LBB0_20: 136 WORD $0xeb0a011f // cmp x8, x10 137 WORD $0x54005922 // b.hs LBB0_116 $2852(%rip) 138 LBB0_21: 139 WORD $0x91000510 // add x16, x8, #1 140 WORD $0xf9000030 // str x16, [x1] 141 WORD $0x3868692a // ldrb w10, [x9, x8] 142 WORD $0x7101695f // cmp w10, #90 143 WORD $0x540006ec // b.gt LBB0_39 $220(%rip) 144 WORD $0x7100bd5f // cmp w10, #47 145 WORD $0x54000b4d // b.le LBB0_44 $360(%rip) 146 WORD $0x5100c14a // sub w10, w10, #48 147 WORD $0x7100295f // cmp w10, #10 148 WORD $0x540055a2 // b.hs LBB0_110 $2740(%rip) 149 LBB0_24: 150 WORD $0xf940040a // ldr x10, [x0, #8] 151 WORD $0xcb10014a // sub x10, x10, x16 152 WORD $0xf100415f // cmp x10, #16 153 WORD $0x540002c3 // b.lo LBB0_28 $88(%rip) 154 WORD $0x4f01e580 // movi.16b v0, #44 155 WORD $0x4f06e7e1 // movi.16b v1, #223 156 WORD $0x4f02e7a2 // movi.16b v2, #93 157 Lloh0: 158 WORD $0x10fff3cb // adr x11, lCPI0_0 $-392(%rip) 159 Lloh1: 160 WORD $0x3dc00163 // ldr q3, [x11, lCPI0_0@PAGEOFF] $0(%rip) 161 Lloh2: 162 WORD $0x10fff40b // adr x11, lCPI0_1 $-384(%rip) 163 Lloh3: 164 WORD $0x3dc00164 // ldr q4, [x11, lCPI0_1@PAGEOFF] $0(%rip) 165 LBB0_26: 166 WORD $0x3cf06925 // ldr q5, [x9, x16] 167 WORD $0x6e208ca6 // cmeq.16b v6, v5, v0 168 WORD $0x4e211ca5 // and.16b v5, v5, v1 169 WORD $0x6e228ca5 // cmeq.16b v5, v5, v2 170 WORD $0x4ea61ca5 // orr.16b v5, v5, v6 171 WORD $0x4e231ca5 // and.16b v5, v5, v3 172 WORD $0x4e0400a5 // tbl.16b v5, { v5 }, v4 173 WORD $0x4e71b8a5 // addv.8h h5, v5 174 WORD $0x1e2600ab // fmov w11, s5 175 WORD $0x350002eb // cbnz w11, LBB0_36 $92(%rip) 176 WORD $0xd100414a // sub x10, x10, #16 177 WORD $0x91004210 // add x16, x16, #16 178 WORD $0xf1003d5f // cmp x10, #15 179 WORD $0x54fffe68 // b.hi LBB0_26 $-52(%rip) 180 LBB0_28: 181 WORD $0x8b10012b // add x11, x9, x16 182 WORD $0xb40001ea // cbz x10, LBB0_35 $60(%rip) 183 WORD $0x8b0a016c // add x12, x11, x10 184 WORD $0xcb09016d // sub x13, x11, x9 185 LBB0_30: 186 WORD $0x3940016e // ldrb w14, [x11] 187 WORD $0x7100b1df // cmp w14, #44 188 WORD $0x540052c0 // b.eq LBB0_112 $2648(%rip) 189 WORD $0x7101f5df // cmp w14, #125 190 WORD $0x54005280 // b.eq LBB0_112 $2640(%rip) 191 WORD $0x710175df // cmp w14, #93 192 WORD $0x54005240 // b.eq LBB0_112 $2632(%rip) 193 WORD $0x9100056b // add x11, x11, #1 194 WORD $0x910005ad // add x13, x13, #1 195 WORD $0xf100054a // subs x10, x10, #1 196 WORD $0x54fffec1 // b.ne LBB0_30 $-40(%rip) 197 WORD $0xaa0c03eb // mov x11, x12 198 LBB0_35: 199 WORD $0xcb090169 // sub x9, x11, x9 200 WORD $0x14000004 // b LBB0_37 $16(%rip) 201 LBB0_36: 202 WORD $0x5ac00169 // rbit w9, w11 203 WORD $0x5ac01129 // clz w9, w9 204 WORD $0x8b100129 // add x9, x9, x16 205 LBB0_37: 206 WORD $0xf9000029 // str x9, [x1] 207 LBB0_38: 208 WORD $0xaa0803e0 // mov x0, x8 209 WORD $0x1400028f // b LBB0_117 $2620(%rip) 210 LBB0_39: 211 WORD $0x7101b55f // cmp w10, #109 212 WORD $0x5400054d // b.le LBB0_47 $168(%rip) 213 WORD $0x7101b95f // cmp w10, #110 214 WORD $0x54002320 // b.eq LBB0_74 $1124(%rip) 215 WORD $0x7101d15f // cmp w10, #116 216 WORD $0x540022e0 // b.eq LBB0_74 $1116(%rip) 217 WORD $0x7101ed5f // cmp w10, #123 218 WORD $0x54004e81 // b.ne LBB0_110 $2512(%rip) 219 WORD $0xd2800007 // mov x7, #0 220 WORD $0xd280000f // mov x15, #0 221 WORD $0xd280000a // mov x10, #0 222 WORD $0xd280000b // mov x11, #0 223 WORD $0xb201e3ec // mov x12, #-8608480567731124088 224 WORD $0xf2e1110c // movk x12, #2184, lsl #48 225 WORD $0xb202e3ed // mov x13, #4919131752989213764 226 WORD $0xf2e0888d // movk x13, #1092, lsl #48 227 WORD $0xb203e3ee // mov x14, #2459565876494606882 228 WORD $0xf2e0444e // movk x14, #546, lsl #48 229 WORD $0xf9400411 // ldr x17, [x0, #8] 230 WORD $0xcb100225 // sub x5, x17, x16 231 WORD $0x8b100130 // add x16, x9, x16 232 WORD $0x910043e9 // add x9, sp, #16 233 WORD $0x91008129 // add x9, x9, #32 234 WORD $0x4f01e440 // movi.16b v0, #34 235 Lloh4: 236 WORD $0x10ffeb91 // adr x17, lCPI0_0 $-656(%rip) 237 Lloh5: 238 WORD $0x3dc00221 // ldr q1, [x17, lCPI0_0@PAGEOFF] $0(%rip) 239 Lloh6: 240 WORD $0x10ffebd1 // adr x17, lCPI0_1 $-648(%rip) 241 Lloh7: 242 WORD $0x3dc00222 // ldr q2, [x17, lCPI0_1@PAGEOFF] $0(%rip) 243 WORD $0x4f02e783 // movi.16b v3, #92 244 WORD $0xb200e3f1 // mov x17, #1229782938247303441 245 WORD $0xb203e3e2 // mov x2, #2459565876494606882 246 WORD $0xb202e3e3 // mov x3, #4919131752989213764 247 WORD $0xb201e3e4 // mov x4, #-8608480567731124088 248 WORD $0x4f03e764 // movi.16b v4, #123 249 WORD $0x4f03e7a5 // movi.16b v5, #125 250 WORD $0x6f00e406 // movi.2d v6, #0000000000000000 251 WORD $0x14000018 // b LBB0_51 $96(%rip) 252 LBB0_44: 253 WORD $0x34004d0a // cbz w10, LBB0_116 $2464(%rip) 254 WORD $0x7100895f // cmp w10, #34 255 WORD $0x54001f40 // b.eq LBB0_75 $1000(%rip) 256 WORD $0x7100b55f // cmp w10, #45 257 WORD $0x54fff4c0 // b.eq LBB0_24 $-360(%rip) 258 WORD $0x14000251 // b LBB0_110 $2372(%rip) 259 LBB0_47: 260 WORD $0x71016d5f // cmp w10, #91 261 WORD $0x540027a0 // b.eq LBB0_84 $1268(%rip) 262 WORD $0x7101995f // cmp w10, #102 263 WORD $0x540049a1 // b.ne LBB0_110 $2356(%rip) 264 WORD $0x91001509 // add x9, x8, #5 265 WORD $0xf940040a // ldr x10, [x0, #8] 266 WORD $0xeb0a013f // cmp x9, x10 267 WORD $0x54fff969 // b.ls LBB0_37 $-212(%rip) 268 WORD $0x1400025a // b LBB0_116 $2408(%rip) 269 LBB0_50: 270 WORD $0x937ffce7 // asr x7, x7, #63 271 WORD $0x9e670267 // fmov d7, x19 272 WORD $0x0e2058e7 // cnt.8b v7, v7 273 WORD $0x2e3038e7 // uaddlv.8b h7, v7 274 WORD $0x1e2600e5 // fmov w5, s7 275 WORD $0x8b0a00aa // add x10, x5, x10 276 WORD $0x91010210 // add x16, x16, #64 277 WORD $0xaa0603e5 // mov x5, x6 278 LBB0_51: 279 WORD $0xf10100a6 // subs x6, x5, #64 280 WORD $0x540015cb // b.lt LBB0_58 $696(%rip) 281 LBB0_52: 282 WORD $0xad404612 // ldp q18, q17, [x16] 283 WORD $0xad411e10 // ldp q16, q7, [x16, #32] 284 WORD $0x6e238e53 // cmeq.16b v19, v18, v3 285 WORD $0x4e211e73 // and.16b v19, v19, v1 286 WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 287 WORD $0x4e71ba73 // addv.8h h19, v19 288 WORD $0x1e260273 // fmov w19, s19 289 WORD $0x6e238e33 // cmeq.16b v19, v17, v3 290 WORD $0x4e211e73 // and.16b v19, v19, v1 291 WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 292 WORD $0x4e71ba73 // addv.8h h19, v19 293 WORD $0x1e260274 // fmov w20, s19 294 WORD $0x6e238e13 // cmeq.16b v19, v16, v3 295 WORD $0x4e211e73 // and.16b v19, v19, v1 296 WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 297 WORD $0x4e71ba73 // addv.8h h19, v19 298 WORD $0x1e260275 // fmov w21, s19 299 WORD $0x6e238cf3 // cmeq.16b v19, v7, v3 300 WORD $0x4e211e73 // and.16b v19, v19, v1 301 WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 302 WORD $0x4e71ba73 // addv.8h h19, v19 303 WORD $0x1e260276 // fmov w22, s19 304 WORD $0xd3607eb5 // lsl x21, x21, #32 305 WORD $0xaa16c2b5 // orr x21, x21, x22, lsl #48 306 WORD $0x53103e94 // lsl w20, w20, #16 307 WORD $0xaa1402b4 // orr x20, x21, x20 308 WORD $0xaa130293 // orr x19, x20, x19 309 WORD $0xaa0f0274 // orr x20, x19, x15 310 WORD $0xb5000094 // cbnz x20, LBB0_54 $16(%rip) 311 WORD $0xd280000f // mov x15, #0 312 WORD $0xd2800013 // mov x19, #0 313 WORD $0x1400000a // b LBB0_55 $40(%rip) 314 LBB0_54: 315 WORD $0x8a2f0274 // bic x20, x19, x15 316 WORD $0xaa1405f5 // orr x21, x15, x20, lsl #1 317 WORD $0x8a35026f // bic x15, x19, x21 318 WORD $0x9201f1ef // and x15, x15, #0xaaaaaaaaaaaaaaaa 319 WORD $0xab1401f3 // adds x19, x15, x20 320 WORD $0x1a9f37ef // cset w15, hs 321 WORD $0xd37ffa73 // lsl x19, x19, #1 322 WORD $0xd200f273 // eor x19, x19, #0x5555555555555555 323 WORD $0x8a150273 // and x19, x19, x21 324 LBB0_55: 325 WORD $0x6e208e53 // cmeq.16b v19, v18, v0 326 WORD $0x4e211e73 // and.16b v19, v19, v1 327 WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 328 WORD $0x4e71ba73 // addv.8h h19, v19 329 WORD $0x1e260274 // fmov w20, s19 330 WORD $0x6e208e33 // cmeq.16b v19, v17, v0 331 WORD $0x4e211e73 // and.16b v19, v19, v1 332 WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 333 WORD $0x4e71ba73 // addv.8h h19, v19 334 WORD $0x1e260275 // fmov w21, s19 335 WORD $0x6e208e13 // cmeq.16b v19, v16, v0 336 WORD $0x4e211e73 // and.16b v19, v19, v1 337 WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 338 WORD $0x4e71ba73 // addv.8h h19, v19 339 WORD $0x1e260276 // fmov w22, s19 340 WORD $0x6e208cf3 // cmeq.16b v19, v7, v0 341 WORD $0x4e211e73 // and.16b v19, v19, v1 342 WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 343 WORD $0x4e71ba73 // addv.8h h19, v19 344 WORD $0x1e260277 // fmov w23, s19 345 WORD $0xd3607ed6 // lsl x22, x22, #32 346 WORD $0xaa17c2d6 // orr x22, x22, x23, lsl #48 347 WORD $0x53103eb5 // lsl w21, w21, #16 348 WORD $0xaa1502d5 // orr x21, x22, x21 349 WORD $0xaa1402b4 // orr x20, x21, x20 350 WORD $0x8a330293 // bic x19, x20, x19 351 WORD $0x9200e274 // and x20, x19, #0x1111111111111111 352 WORD $0x9203e275 // and x21, x19, #0x2222222222222222 353 WORD $0x9202e276 // and x22, x19, #0x4444444444444444 354 WORD $0x9201e273 // and x19, x19, #0x8888888888888888 355 WORD $0x9b117e97 // mul x23, x20, x17 356 WORD $0x9b0c7eb8 // mul x24, x21, x12 357 WORD $0xca1802f7 // eor x23, x23, x24 358 WORD $0x9b0d7ed8 // mul x24, x22, x13 359 WORD $0x9b0e7e79 // mul x25, x19, x14 360 WORD $0xca190318 // eor x24, x24, x25 361 WORD $0xca1802f7 // eor x23, x23, x24 362 WORD $0x9b027e98 // mul x24, x20, x2 363 WORD $0x9b117eb9 // mul x25, x21, x17 364 WORD $0xca190318 // eor x24, x24, x25 365 WORD $0x9b0c7ed9 // mul x25, x22, x12 366 WORD $0x9b0d7e7a // mul x26, x19, x13 367 WORD $0xca1a0339 // eor x25, x25, x26 368 WORD $0xca190318 // eor x24, x24, x25 369 WORD $0x9b037e99 // mul x25, x20, x3 370 WORD $0x9b027eba // mul x26, x21, x2 371 WORD $0xca1a0339 // eor x25, x25, x26 372 WORD $0x9b117eda // mul x26, x22, x17 373 WORD $0x9b0c7e7b // mul x27, x19, x12 374 WORD $0xca1b035a // eor x26, x26, x27 375 WORD $0xca1a0339 // eor x25, x25, x26 376 WORD $0x9b047e94 // mul x20, x20, x4 377 WORD $0x9b037eb5 // mul x21, x21, x3 378 WORD $0xca150294 // eor x20, x20, x21 379 WORD $0x9b027ed5 // mul x21, x22, x2 380 WORD $0x9b117e73 // mul x19, x19, x17 381 WORD $0xca1302b3 // eor x19, x21, x19 382 WORD $0xca130293 // eor x19, x20, x19 383 WORD $0x9200e2f4 // and x20, x23, #0x1111111111111111 384 WORD $0x9203e315 // and x21, x24, #0x2222222222222222 385 WORD $0x9202e336 // and x22, x25, #0x4444444444444444 386 WORD $0x9201e273 // and x19, x19, #0x8888888888888888 387 WORD $0xaa150294 // orr x20, x20, x21 388 WORD $0xaa1302d3 // orr x19, x22, x19 389 WORD $0xaa130293 // orr x19, x20, x19 390 WORD $0xca070267 // eor x7, x19, x7 391 WORD $0x6e248e53 // cmeq.16b v19, v18, v4 392 WORD $0x4e211e73 // and.16b v19, v19, v1 393 WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 394 WORD $0x4e71ba73 // addv.8h h19, v19 395 WORD $0x1e260273 // fmov w19, s19 396 WORD $0x6e248e33 // cmeq.16b v19, v17, v4 397 WORD $0x4e211e73 // and.16b v19, v19, v1 398 WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 399 WORD $0x4e71ba73 // addv.8h h19, v19 400 WORD $0x1e260274 // fmov w20, s19 401 WORD $0x6e248e13 // cmeq.16b v19, v16, v4 402 WORD $0x4e211e73 // and.16b v19, v19, v1 403 WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 404 WORD $0x4e71ba73 // addv.8h h19, v19 405 WORD $0x1e260275 // fmov w21, s19 406 WORD $0x6e248cf3 // cmeq.16b v19, v7, v4 407 WORD $0x4e211e73 // and.16b v19, v19, v1 408 WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 409 WORD $0x4e71ba73 // addv.8h h19, v19 410 WORD $0x1e260276 // fmov w22, s19 411 WORD $0xd3607eb5 // lsl x21, x21, #32 412 WORD $0xaa16c2b5 // orr x21, x21, x22, lsl #48 413 WORD $0x53103e94 // lsl w20, w20, #16 414 WORD $0xaa1402b4 // orr x20, x21, x20 415 WORD $0xaa130293 // orr x19, x20, x19 416 WORD $0x8a270273 // bic x19, x19, x7 417 WORD $0x6e258e52 // cmeq.16b v18, v18, v5 418 WORD $0x4e211e52 // and.16b v18, v18, v1 419 WORD $0x4e020252 // tbl.16b v18, { v18 }, v2 420 WORD $0x4e71ba52 // addv.8h h18, v18 421 WORD $0x1e260254 // fmov w20, s18 422 WORD $0x6e258e31 // cmeq.16b v17, v17, v5 423 WORD $0x4e211e31 // and.16b v17, v17, v1 424 WORD $0x4e020231 // tbl.16b v17, { v17 }, v2 425 WORD $0x4e71ba31 // addv.8h h17, v17 426 WORD $0x1e260235 // fmov w21, s17 427 WORD $0x6e258e10 // cmeq.16b v16, v16, v5 428 WORD $0x4e211e10 // and.16b v16, v16, v1 429 WORD $0x4e020210 // tbl.16b v16, { v16 }, v2 430 WORD $0x4e71ba10 // addv.8h h16, v16 431 WORD $0x1e260216 // fmov w22, s16 432 WORD $0x6e258ce7 // cmeq.16b v7, v7, v5 433 WORD $0x4e211ce7 // and.16b v7, v7, v1 434 WORD $0x4e0200e7 // tbl.16b v7, { v7 }, v2 435 WORD $0x4e71b8e7 // addv.8h h7, v7 436 WORD $0x1e2600f7 // fmov w23, s7 437 WORD $0xd3607ed6 // lsl x22, x22, #32 438 WORD $0xaa17c2d6 // orr x22, x22, x23, lsl #48 439 WORD $0x53103eb5 // lsl w21, w21, #16 440 WORD $0xaa1502d5 // orr x21, x22, x21 441 WORD $0xaa1402b4 // orr x20, x21, x20 442 WORD $0xea270294 // bics x20, x20, x7 443 WORD $0x54ffeae0 // b.eq LBB0_50 $-676(%rip) 444 LBB0_56: 445 WORD $0xd1000695 // sub x21, x20, #1 446 WORD $0x8a1302b6 // and x22, x21, x19 447 WORD $0x9e6702c7 // fmov d7, x22 448 WORD $0x0e2058e7 // cnt.8b v7, v7 449 WORD $0x2e3038e7 // uaddlv.8b h7, v7 450 WORD $0x1e2600f6 // fmov w22, s7 451 WORD $0x8b0a02d6 // add x22, x22, x10 452 WORD $0xeb0b02df // cmp x22, x11 453 WORD $0x54003109 // b.ls LBB0_109 $1568(%rip) 454 WORD $0x9100056b // add x11, x11, #1 455 WORD $0xea1402b4 // ands x20, x21, x20 456 WORD $0x54fffea1 // b.ne LBB0_56 $-44(%rip) 457 WORD $0x17ffff4a // b LBB0_50 $-728(%rip) 458 LBB0_58: 459 WORD $0xf10000bf // cmp x5, #0 460 WORD $0x540033ed // b.le LBB0_114 $1660(%rip) 461 WORD $0xad019be6 // stp q6, q6, [sp, #48] 462 WORD $0xad009be6 // stp q6, q6, [sp, #16] 463 WORD $0x92402e13 // and x19, x16, #0xfff 464 WORD $0xf13f067f // cmp x19, #4033 465 WORD $0x54ffe9a3 // b.lo LBB0_52 $-716(%rip) 466 WORD $0xf10080b4 // subs x20, x5, #32 467 WORD $0x540000a3 // b.lo LBB0_62 $20(%rip) 468 WORD $0xacc14207 // ldp q7, q16, [x16], #32 469 WORD $0xad00c3e7 // stp q7, q16, [sp, #16] 470 WORD $0xaa0903f3 // mov x19, x9 471 WORD $0x14000003 // b LBB0_63 $12(%rip) 472 LBB0_62: 473 WORD $0x910043f3 // add x19, sp, #16 474 WORD $0xaa0503f4 // mov x20, x5 475 LBB0_63: 476 WORD $0xf1004295 // subs x21, x20, #16 477 WORD $0x54000243 // b.lo LBB0_69 $72(%rip) 478 WORD $0x3cc10607 // ldr q7, [x16], #16 479 WORD $0x3c810667 // str q7, [x19], #16 480 WORD $0xaa1503f4 // mov x20, x21 481 WORD $0xf10022b5 // subs x21, x21, #8 482 WORD $0x540001e2 // b.hs LBB0_70 $60(%rip) 483 LBB0_65: 484 WORD $0xf1001295 // subs x21, x20, #4 485 WORD $0x54000243 // b.lo LBB0_71 $72(%rip) 486 LBB0_66: 487 WORD $0xb8404614 // ldr w20, [x16], #4 488 WORD $0xb8004674 // str w20, [x19], #4 489 WORD $0xaa1503f4 // mov x20, x21 490 WORD $0xf1000ab5 // subs x21, x21, #2 491 WORD $0x540001e2 // b.hs LBB0_72 $60(%rip) 492 LBB0_67: 493 WORD $0xb4000254 // cbz x20, LBB0_73 $72(%rip) 494 LBB0_68: 495 WORD $0x39400210 // ldrb w16, [x16] 496 WORD $0x39000270 // strb w16, [x19] 497 WORD $0x910043f0 // add x16, sp, #16 498 WORD $0x17ffff32 // b LBB0_52 $-824(%rip) 499 LBB0_69: 500 WORD $0xf1002295 // subs x21, x20, #8 501 WORD $0x54fffe63 // b.lo LBB0_65 $-52(%rip) 502 LBB0_70: 503 WORD $0xf8408614 // ldr x20, [x16], #8 504 WORD $0xf8008674 // str x20, [x19], #8 505 WORD $0xaa1503f4 // mov x20, x21 506 WORD $0xf10012b5 // subs x21, x21, #4 507 WORD $0x54fffe02 // b.hs LBB0_66 $-64(%rip) 508 LBB0_71: 509 WORD $0xf1000a95 // subs x21, x20, #2 510 WORD $0x54fffe63 // b.lo LBB0_67 $-52(%rip) 511 LBB0_72: 512 WORD $0x78402614 // ldrh w20, [x16], #2 513 WORD $0x78002674 // strh w20, [x19], #2 514 WORD $0xaa1503f4 // mov x20, x21 515 WORD $0xb5fffe15 // cbnz x21, LBB0_68 $-64(%rip) 516 LBB0_73: 517 WORD $0x910043f0 // add x16, sp, #16 518 WORD $0x17ffff23 // b LBB0_52 $-884(%rip) 519 LBB0_74: 520 WORD $0x91001109 // add x9, x8, #4 521 WORD $0xf940040a // ldr x10, [x0, #8] 522 WORD $0xeb0a013f // cmp x9, x10 523 WORD $0x54ffdbc9 // b.ls LBB0_37 $-1160(%rip) 524 WORD $0x1400016d // b LBB0_116 $1460(%rip) 525 LBB0_75: 526 WORD $0xf940040b // ldr x11, [x0, #8] 527 WORD $0xcb10016a // sub x10, x11, x16 528 WORD $0xf100815f // cmp x10, #32 529 WORD $0x54002c4b // b.lt LBB0_113 $1416(%rip) 530 WORD $0xd280000a // mov x10, #0 531 WORD $0xd280000d // mov x13, #0 532 WORD $0x8b08012c // add x12, x9, x8 533 WORD $0x4f01e440 // movi.16b v0, #34 534 Lloh8: 535 WORD $0x10ffc96e // adr x14, lCPI0_0 $-1748(%rip) 536 Lloh9: 537 WORD $0x3dc001c1 // ldr q1, [x14, lCPI0_0@PAGEOFF] $0(%rip) 538 WORD $0xcb08016b // sub x11, x11, x8 539 Lloh10: 540 WORD $0x10ffc98e // adr x14, lCPI0_1 $-1744(%rip) 541 Lloh11: 542 WORD $0x3dc001c2 // ldr q2, [x14, lCPI0_1@PAGEOFF] $0(%rip) 543 WORD $0x528003ee // mov w14, #31 544 WORD $0x4f02e783 // movi.16b v3, #92 545 LBB0_77: 546 WORD $0x8b0a018f // add x15, x12, x10 547 WORD $0x3cc011e4 // ldur q4, [x15, #1] 548 WORD $0x3cc111e5 // ldur q5, [x15, #17] 549 WORD $0x6e208c86 // cmeq.16b v6, v4, v0 550 WORD $0x4e211cc6 // and.16b v6, v6, v1 551 WORD $0x4e0200c6 // tbl.16b v6, { v6 }, v2 552 WORD $0x4e71b8c6 // addv.8h h6, v6 553 WORD $0x1e2600cf // fmov w15, s6 554 WORD $0x6e208ca6 // cmeq.16b v6, v5, v0 555 WORD $0x4e211cc6 // and.16b v6, v6, v1 556 WORD $0x4e0200c6 // tbl.16b v6, { v6 }, v2 557 WORD $0x4e71b8c6 // addv.8h h6, v6 558 WORD $0x1e2600d0 // fmov w16, s6 559 WORD $0x33103e0f // bfi w15, w16, #16, #16 560 WORD $0x6e238c84 // cmeq.16b v4, v4, v3 561 WORD $0x4e211c84 // and.16b v4, v4, v1 562 WORD $0x4e020084 // tbl.16b v4, { v4 }, v2 563 WORD $0x4e71b884 // addv.8h h4, v4 564 WORD $0x1e260090 // fmov w16, s4 565 WORD $0x6e238ca4 // cmeq.16b v4, v5, v3 566 WORD $0x4e211c84 // and.16b v4, v4, v1 567 WORD $0x4e020084 // tbl.16b v4, { v4 }, v2 568 WORD $0x4e71b884 // addv.8h h4, v4 569 WORD $0x1e260091 // fmov w17, s4 570 WORD $0x33103e30 // bfi w16, w17, #16, #16 571 WORD $0x7100021f // cmp w16, #0 572 WORD $0xfa4009a0 // ccmp x13, #0, #0, eq 573 WORD $0x540001a0 // b.eq LBB0_79 $52(%rip) 574 WORD $0x0a2d0211 // bic w17, w16, w13 575 WORD $0x2a1105a0 // orr w0, w13, w17, lsl #1 576 WORD $0x0a20020d // bic w13, w16, w0 577 WORD $0x1201f1ad // and w13, w13, #0xaaaaaaaa 578 WORD $0x2b1101b0 // adds w16, w13, w17 579 WORD $0x1a9f37ed // cset w13, hs 580 WORD $0x531f7a10 // lsl w16, w16, #1 581 WORD $0x5200f210 // eor w16, w16, #0x55555555 582 WORD $0x0a000210 // and w16, w16, w0 583 WORD $0x2a3003f0 // mvn w16, w16 584 WORD $0x8a0f020f // and x15, x16, x15 585 WORD $0x14000002 // b LBB0_80 $8(%rip) 586 LBB0_79: 587 WORD $0xd280000d // mov x13, #0 588 LBB0_80: 589 WORD $0xb50024af // cbnz x15, LBB0_111 $1172(%rip) 590 WORD $0x9100814a // add x10, x10, #32 591 WORD $0xd10081ce // sub x14, x14, #32 592 WORD $0x8b0e016f // add x15, x11, x14 593 WORD $0xf100fdff // cmp x15, #63 594 WORD $0x54fffa4c // b.gt LBB0_77 $-184(%rip) 595 WORD $0xb50026ed // cbnz x13, LBB0_118 $1244(%rip) 596 WORD $0x8b08012c // add x12, x9, x8 597 WORD $0x8b0a018c // add x12, x12, x10 598 WORD $0x9100058c // add x12, x12, #1 599 WORD $0xaa2a03ea // mvn x10, x10 600 WORD $0x8b0b014a // add x10, x10, x11 601 WORD $0x92800000 // mov x0, #-1 602 WORD $0xf100055f // cmp x10, #1 603 WORD $0x5400280a // b.ge LBB0_121 $1280(%rip) 604 WORD $0x14000126 // b LBB0_117 $1176(%rip) 605 LBB0_84: 606 WORD $0xd2800007 // mov x7, #0 607 WORD $0xd280000f // mov x15, #0 608 WORD $0xd280000a // mov x10, #0 609 WORD $0xd280000b // mov x11, #0 610 WORD $0xb201e3ec // mov x12, #-8608480567731124088 611 WORD $0xf2e1110c // movk x12, #2184, lsl #48 612 WORD $0xb202e3ed // mov x13, #4919131752989213764 613 WORD $0xf2e0888d // movk x13, #1092, lsl #48 614 WORD $0xb203e3ee // mov x14, #2459565876494606882 615 WORD $0xf2e0444e // movk x14, #546, lsl #48 616 WORD $0xf9400411 // ldr x17, [x0, #8] 617 WORD $0xcb100225 // sub x5, x17, x16 618 WORD $0x8b100130 // add x16, x9, x16 619 WORD $0x910043e9 // add x9, sp, #16 620 WORD $0x91008129 // add x9, x9, #32 621 WORD $0x4f01e440 // movi.16b v0, #34 622 Lloh12: 623 WORD $0x10ffbf71 // adr x17, lCPI0_0 $-2068(%rip) 624 Lloh13: 625 WORD $0x3dc00221 // ldr q1, [x17, lCPI0_0@PAGEOFF] $0(%rip) 626 Lloh14: 627 WORD $0x10ffbfb1 // adr x17, lCPI0_1 $-2060(%rip) 628 Lloh15: 629 WORD $0x3dc00222 // ldr q2, [x17, lCPI0_1@PAGEOFF] $0(%rip) 630 WORD $0x4f02e783 // movi.16b v3, #92 631 WORD $0xb200e3f1 // mov x17, #1229782938247303441 632 WORD $0xb203e3e2 // mov x2, #2459565876494606882 633 WORD $0xb202e3e3 // mov x3, #4919131752989213764 634 WORD $0xb201e3e4 // mov x4, #-8608480567731124088 635 WORD $0x4f02e764 // movi.16b v4, #91 636 WORD $0x4f02e7a5 // movi.16b v5, #93 637 WORD $0x6f00e406 // movi.2d v6, #0000000000000000 638 WORD $0x14000009 // b LBB0_86 $36(%rip) 639 LBB0_85: 640 WORD $0x937ffce7 // asr x7, x7, #63 641 WORD $0x9e670267 // fmov d7, x19 642 WORD $0x0e2058e7 // cnt.8b v7, v7 643 WORD $0x2e3038e7 // uaddlv.8b h7, v7 644 WORD $0x1e2600e5 // fmov w5, s7 645 WORD $0x8b0a00aa // add x10, x5, x10 646 WORD $0x91010210 // add x16, x16, #64 647 WORD $0xaa0603e5 // mov x5, x6 648 LBB0_86: 649 WORD $0xf10100a6 // subs x6, x5, #64 650 WORD $0x540015cb // b.lt LBB0_93 $696(%rip) 651 LBB0_87: 652 WORD $0xad404612 // ldp q18, q17, [x16] 653 WORD $0xad411e10 // ldp q16, q7, [x16, #32] 654 WORD $0x6e238e53 // cmeq.16b v19, v18, v3 655 WORD $0x4e211e73 // and.16b v19, v19, v1 656 WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 657 WORD $0x4e71ba73 // addv.8h h19, v19 658 WORD $0x1e260273 // fmov w19, s19 659 WORD $0x6e238e33 // cmeq.16b v19, v17, v3 660 WORD $0x4e211e73 // and.16b v19, v19, v1 661 WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 662 WORD $0x4e71ba73 // addv.8h h19, v19 663 WORD $0x1e260274 // fmov w20, s19 664 WORD $0x6e238e13 // cmeq.16b v19, v16, v3 665 WORD $0x4e211e73 // and.16b v19, v19, v1 666 WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 667 WORD $0x4e71ba73 // addv.8h h19, v19 668 WORD $0x1e260275 // fmov w21, s19 669 WORD $0x6e238cf3 // cmeq.16b v19, v7, v3 670 WORD $0x4e211e73 // and.16b v19, v19, v1 671 WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 672 WORD $0x4e71ba73 // addv.8h h19, v19 673 WORD $0x1e260276 // fmov w22, s19 674 WORD $0xd3607eb5 // lsl x21, x21, #32 675 WORD $0xaa16c2b5 // orr x21, x21, x22, lsl #48 676 WORD $0x53103e94 // lsl w20, w20, #16 677 WORD $0xaa1402b4 // orr x20, x21, x20 678 WORD $0xaa130293 // orr x19, x20, x19 679 WORD $0xaa0f0274 // orr x20, x19, x15 680 WORD $0xb5000094 // cbnz x20, LBB0_89 $16(%rip) 681 WORD $0xd280000f // mov x15, #0 682 WORD $0xd2800013 // mov x19, #0 683 WORD $0x1400000a // b LBB0_90 $40(%rip) 684 LBB0_89: 685 WORD $0x8a2f0274 // bic x20, x19, x15 686 WORD $0xaa1405f5 // orr x21, x15, x20, lsl #1 687 WORD $0x8a35026f // bic x15, x19, x21 688 WORD $0x9201f1ef // and x15, x15, #0xaaaaaaaaaaaaaaaa 689 WORD $0xab1401f3 // adds x19, x15, x20 690 WORD $0x1a9f37ef // cset w15, hs 691 WORD $0xd37ffa73 // lsl x19, x19, #1 692 WORD $0xd200f273 // eor x19, x19, #0x5555555555555555 693 WORD $0x8a150273 // and x19, x19, x21 694 LBB0_90: 695 WORD $0x6e208e53 // cmeq.16b v19, v18, v0 696 WORD $0x4e211e73 // and.16b v19, v19, v1 697 WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 698 WORD $0x4e71ba73 // addv.8h h19, v19 699 WORD $0x1e260274 // fmov w20, s19 700 WORD $0x6e208e33 // cmeq.16b v19, v17, v0 701 WORD $0x4e211e73 // and.16b v19, v19, v1 702 WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 703 WORD $0x4e71ba73 // addv.8h h19, v19 704 WORD $0x1e260275 // fmov w21, s19 705 WORD $0x6e208e13 // cmeq.16b v19, v16, v0 706 WORD $0x4e211e73 // and.16b v19, v19, v1 707 WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 708 WORD $0x4e71ba73 // addv.8h h19, v19 709 WORD $0x1e260276 // fmov w22, s19 710 WORD $0x6e208cf3 // cmeq.16b v19, v7, v0 711 WORD $0x4e211e73 // and.16b v19, v19, v1 712 WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 713 WORD $0x4e71ba73 // addv.8h h19, v19 714 WORD $0x1e260277 // fmov w23, s19 715 WORD $0xd3607ed6 // lsl x22, x22, #32 716 WORD $0xaa17c2d6 // orr x22, x22, x23, lsl #48 717 WORD $0x53103eb5 // lsl w21, w21, #16 718 WORD $0xaa1502d5 // orr x21, x22, x21 719 WORD $0xaa1402b4 // orr x20, x21, x20 720 WORD $0x8a330293 // bic x19, x20, x19 721 WORD $0x9200e274 // and x20, x19, #0x1111111111111111 722 WORD $0x9203e275 // and x21, x19, #0x2222222222222222 723 WORD $0x9202e276 // and x22, x19, #0x4444444444444444 724 WORD $0x9201e273 // and x19, x19, #0x8888888888888888 725 WORD $0x9b117e97 // mul x23, x20, x17 726 WORD $0x9b0c7eb8 // mul x24, x21, x12 727 WORD $0xca1802f7 // eor x23, x23, x24 728 WORD $0x9b0d7ed8 // mul x24, x22, x13 729 WORD $0x9b0e7e79 // mul x25, x19, x14 730 WORD $0xca190318 // eor x24, x24, x25 731 WORD $0xca1802f7 // eor x23, x23, x24 732 WORD $0x9b027e98 // mul x24, x20, x2 733 WORD $0x9b117eb9 // mul x25, x21, x17 734 WORD $0xca190318 // eor x24, x24, x25 735 WORD $0x9b0c7ed9 // mul x25, x22, x12 736 WORD $0x9b0d7e7a // mul x26, x19, x13 737 WORD $0xca1a0339 // eor x25, x25, x26 738 WORD $0xca190318 // eor x24, x24, x25 739 WORD $0x9b037e99 // mul x25, x20, x3 740 WORD $0x9b027eba // mul x26, x21, x2 741 WORD $0xca1a0339 // eor x25, x25, x26 742 WORD $0x9b117eda // mul x26, x22, x17 743 WORD $0x9b0c7e7b // mul x27, x19, x12 744 WORD $0xca1b035a // eor x26, x26, x27 745 WORD $0xca1a0339 // eor x25, x25, x26 746 WORD $0x9b047e94 // mul x20, x20, x4 747 WORD $0x9b037eb5 // mul x21, x21, x3 748 WORD $0xca150294 // eor x20, x20, x21 749 WORD $0x9b027ed5 // mul x21, x22, x2 750 WORD $0x9b117e73 // mul x19, x19, x17 751 WORD $0xca1302b3 // eor x19, x21, x19 752 WORD $0xca130293 // eor x19, x20, x19 753 WORD $0x9200e2f4 // and x20, x23, #0x1111111111111111 754 WORD $0x9203e315 // and x21, x24, #0x2222222222222222 755 WORD $0x9202e336 // and x22, x25, #0x4444444444444444 756 WORD $0x9201e273 // and x19, x19, #0x8888888888888888 757 WORD $0xaa150294 // orr x20, x20, x21 758 WORD $0xaa1302d3 // orr x19, x22, x19 759 WORD $0xaa130293 // orr x19, x20, x19 760 WORD $0xca070267 // eor x7, x19, x7 761 WORD $0x6e248e53 // cmeq.16b v19, v18, v4 762 WORD $0x4e211e73 // and.16b v19, v19, v1 763 WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 764 WORD $0x4e71ba73 // addv.8h h19, v19 765 WORD $0x1e260273 // fmov w19, s19 766 WORD $0x6e248e33 // cmeq.16b v19, v17, v4 767 WORD $0x4e211e73 // and.16b v19, v19, v1 768 WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 769 WORD $0x4e71ba73 // addv.8h h19, v19 770 WORD $0x1e260274 // fmov w20, s19 771 WORD $0x6e248e13 // cmeq.16b v19, v16, v4 772 WORD $0x4e211e73 // and.16b v19, v19, v1 773 WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 774 WORD $0x4e71ba73 // addv.8h h19, v19 775 WORD $0x1e260275 // fmov w21, s19 776 WORD $0x6e248cf3 // cmeq.16b v19, v7, v4 777 WORD $0x4e211e73 // and.16b v19, v19, v1 778 WORD $0x4e020273 // tbl.16b v19, { v19 }, v2 779 WORD $0x4e71ba73 // addv.8h h19, v19 780 WORD $0x1e260276 // fmov w22, s19 781 WORD $0xd3607eb5 // lsl x21, x21, #32 782 WORD $0xaa16c2b5 // orr x21, x21, x22, lsl #48 783 WORD $0x53103e94 // lsl w20, w20, #16 784 WORD $0xaa1402b4 // orr x20, x21, x20 785 WORD $0xaa130293 // orr x19, x20, x19 786 WORD $0x8a270273 // bic x19, x19, x7 787 WORD $0x6e258e52 // cmeq.16b v18, v18, v5 788 WORD $0x4e211e52 // and.16b v18, v18, v1 789 WORD $0x4e020252 // tbl.16b v18, { v18 }, v2 790 WORD $0x4e71ba52 // addv.8h h18, v18 791 WORD $0x1e260254 // fmov w20, s18 792 WORD $0x6e258e31 // cmeq.16b v17, v17, v5 793 WORD $0x4e211e31 // and.16b v17, v17, v1 794 WORD $0x4e020231 // tbl.16b v17, { v17 }, v2 795 WORD $0x4e71ba31 // addv.8h h17, v17 796 WORD $0x1e260235 // fmov w21, s17 797 WORD $0x6e258e10 // cmeq.16b v16, v16, v5 798 WORD $0x4e211e10 // and.16b v16, v16, v1 799 WORD $0x4e020210 // tbl.16b v16, { v16 }, v2 800 WORD $0x4e71ba10 // addv.8h h16, v16 801 WORD $0x1e260216 // fmov w22, s16 802 WORD $0x6e258ce7 // cmeq.16b v7, v7, v5 803 WORD $0x4e211ce7 // and.16b v7, v7, v1 804 WORD $0x4e0200e7 // tbl.16b v7, { v7 }, v2 805 WORD $0x4e71b8e7 // addv.8h h7, v7 806 WORD $0x1e2600f7 // fmov w23, s7 807 WORD $0xd3607ed6 // lsl x22, x22, #32 808 WORD $0xaa17c2d6 // orr x22, x22, x23, lsl #48 809 WORD $0x53103eb5 // lsl w21, w21, #16 810 WORD $0xaa1502d5 // orr x21, x22, x21 811 WORD $0xaa1402b4 // orr x20, x21, x20 812 WORD $0xea270294 // bics x20, x20, x7 813 WORD $0x54ffeae0 // b.eq LBB0_85 $-676(%rip) 814 LBB0_91: 815 WORD $0xd1000695 // sub x21, x20, #1 816 WORD $0x8a1302b6 // and x22, x21, x19 817 WORD $0x9e6702c7 // fmov d7, x22 818 WORD $0x0e2058e7 // cnt.8b v7, v7 819 WORD $0x2e3038e7 // uaddlv.8b h7, v7 820 WORD $0x1e2600f6 // fmov w22, s7 821 WORD $0x8b0a02d6 // add x22, x22, x10 822 WORD $0xeb0b02df // cmp x22, x11 823 WORD $0x540006c9 // b.ls LBB0_109 $216(%rip) 824 WORD $0x9100056b // add x11, x11, #1 825 WORD $0xea1402b4 // ands x20, x21, x20 826 WORD $0x54fffea1 // b.ne LBB0_91 $-44(%rip) 827 WORD $0x17ffff4a // b LBB0_85 $-728(%rip) 828 LBB0_93: 829 WORD $0xf10000bf // cmp x5, #0 830 WORD $0x540009ad // b.le LBB0_114 $308(%rip) 831 WORD $0xad019be6 // stp q6, q6, [sp, #48] 832 WORD $0xad009be6 // stp q6, q6, [sp, #16] 833 WORD $0x92402e13 // and x19, x16, #0xfff 834 WORD $0xf13f067f // cmp x19, #4033 835 WORD $0x54ffe9a3 // b.lo LBB0_87 $-716(%rip) 836 WORD $0xf10080b4 // subs x20, x5, #32 837 WORD $0x540000a3 // b.lo LBB0_97 $20(%rip) 838 WORD $0xacc14207 // ldp q7, q16, [x16], #32 839 WORD $0xad00c3e7 // stp q7, q16, [sp, #16] 840 WORD $0xaa0903f3 // mov x19, x9 841 WORD $0x14000003 // b LBB0_98 $12(%rip) 842 LBB0_97: 843 WORD $0x910043f3 // add x19, sp, #16 844 WORD $0xaa0503f4 // mov x20, x5 845 LBB0_98: 846 WORD $0xf1004295 // subs x21, x20, #16 847 WORD $0x54000243 // b.lo LBB0_104 $72(%rip) 848 WORD $0x3cc10607 // ldr q7, [x16], #16 849 WORD $0x3c810667 // str q7, [x19], #16 850 WORD $0xaa1503f4 // mov x20, x21 851 WORD $0xf10022b5 // subs x21, x21, #8 852 WORD $0x540001e2 // b.hs LBB0_105 $60(%rip) 853 LBB0_100: 854 WORD $0xf1001295 // subs x21, x20, #4 855 WORD $0x54000243 // b.lo LBB0_106 $72(%rip) 856 LBB0_101: 857 WORD $0xb8404614 // ldr w20, [x16], #4 858 WORD $0xb8004674 // str w20, [x19], #4 859 WORD $0xaa1503f4 // mov x20, x21 860 WORD $0xf1000ab5 // subs x21, x21, #2 861 WORD $0x540001e2 // b.hs LBB0_107 $60(%rip) 862 LBB0_102: 863 WORD $0xb4000254 // cbz x20, LBB0_108 $72(%rip) 864 LBB0_103: 865 WORD $0x39400210 // ldrb w16, [x16] 866 WORD $0x39000270 // strb w16, [x19] 867 WORD $0x910043f0 // add x16, sp, #16 868 WORD $0x17ffff32 // b LBB0_87 $-824(%rip) 869 LBB0_104: 870 WORD $0xf1002295 // subs x21, x20, #8 871 WORD $0x54fffe63 // b.lo LBB0_100 $-52(%rip) 872 LBB0_105: 873 WORD $0xf8408614 // ldr x20, [x16], #8 874 WORD $0xf8008674 // str x20, [x19], #8 875 WORD $0xaa1503f4 // mov x20, x21 876 WORD $0xf10012b5 // subs x21, x21, #4 877 WORD $0x54fffe02 // b.hs LBB0_101 $-64(%rip) 878 LBB0_106: 879 WORD $0xf1000a95 // subs x21, x20, #2 880 WORD $0x54fffe63 // b.lo LBB0_102 $-52(%rip) 881 LBB0_107: 882 WORD $0x78402614 // ldrh w20, [x16], #2 883 WORD $0x78002674 // strh w20, [x19], #2 884 WORD $0xaa1503f4 // mov x20, x21 885 WORD $0xb5fffe15 // cbnz x21, LBB0_103 $-64(%rip) 886 LBB0_108: 887 WORD $0x910043f0 // add x16, sp, #16 888 WORD $0x17ffff23 // b LBB0_87 $-884(%rip) 889 LBB0_109: 890 WORD $0xf9400409 // ldr x9, [x0, #8] 891 WORD $0xdac0028a // rbit x10, x20 892 WORD $0xdac0114a // clz x10, x10 893 WORD $0xcb05014a // sub x10, x10, x5 894 WORD $0x8b090149 // add x9, x10, x9 895 WORD $0x9100052a // add x10, x9, #1 896 WORD $0xf900002a // str x10, [x1] 897 WORD $0xf940040b // ldr x11, [x0, #8] 898 WORD $0xeb0b015f // cmp x10, x11 899 WORD $0x9a892569 // csinc x9, x11, x9, hs 900 WORD $0xf9000029 // str x9, [x1] 901 WORD $0xda9f9100 // csinv x0, x8, xzr, ls 902 WORD $0x14000014 // b LBB0_117 $80(%rip) 903 LBB0_110: 904 WORD $0xf9000028 // str x8, [x1] 905 WORD $0x92800020 // mov x0, #-2 906 WORD $0x14000011 // b LBB0_117 $68(%rip) 907 LBB0_111: 908 WORD $0xdac001e9 // rbit x9, x15 909 WORD $0xdac01129 // clz x9, x9 910 WORD $0x8b0a010a // add x10, x8, x10 911 WORD $0x8b0a0129 // add x9, x9, x10 912 WORD $0x91000929 // add x9, x9, #2 913 WORD $0x17fffd7a // b LBB0_37 $-2584(%rip) 914 LBB0_112: 915 WORD $0xf900002d // str x13, [x1] 916 WORD $0x17fffd79 // b LBB0_38 $-2588(%rip) 917 LBB0_113: 918 WORD $0x8b10012c // add x12, x9, x16 919 WORD $0x92800000 // mov x0, #-1 920 WORD $0xf100055f // cmp x10, #1 921 WORD $0x540003ca // b.ge LBB0_121 $120(%rip) 922 WORD $0x14000004 // b LBB0_117 $16(%rip) 923 LBB0_114: 924 WORD $0xf9400408 // ldr x8, [x0, #8] 925 LBB0_115: 926 WORD $0xf9000028 // str x8, [x1] 927 LBB0_116: 928 WORD $0x92800000 // mov x0, #-1 929 LBB0_117: 930 WORD $0xa94afbfd // ldp fp, lr, [sp, #168] 931 WORD $0xa949cff4 // ldp x20, x19, [sp, #152] 932 WORD $0xa948d7f6 // ldp x22, x21, [sp, #136] 933 WORD $0xa947dff8 // ldp x24, x23, [sp, #120] 934 WORD $0xa946e7fa // ldp x26, x25, [sp, #104] 935 WORD $0xa945effc // ldp x28, x27, [sp, #88] 936 WORD $0x910303ff // add sp, sp, #192 937 WORD $0xd65f03c0 // ret 938 LBB0_118: 939 WORD $0xd100056c // sub x12, x11, #1 940 WORD $0xeb0a019f // cmp x12, x10 941 WORD $0x54fffea0 // b.eq LBB0_116 $-44(%rip) 942 WORD $0x8b08012c // add x12, x9, x8 943 WORD $0x8b0a018c // add x12, x12, x10 944 WORD $0x9100098c // add x12, x12, #2 945 WORD $0xcb0a016a // sub x10, x11, x10 946 WORD $0xd100094a // sub x10, x10, #2 947 WORD $0x92800000 // mov x0, #-1 948 WORD $0xf100055f // cmp x10, #1 949 WORD $0x540000ea // b.ge LBB0_121 $28(%rip) 950 WORD $0x17ffffed // b LBB0_117 $-76(%rip) 951 LBB0_120: 952 WORD $0x9280002b // mov x11, #-2 953 WORD $0x5280004d // mov w13, #2 954 WORD $0x8b0d018c // add x12, x12, x13 955 WORD $0xab0b014a // adds x10, x10, x11 956 WORD $0x54fffd0d // b.le LBB0_117 $-96(%rip) 957 LBB0_121: 958 WORD $0x3940018b // ldrb w11, [x12] 959 WORD $0x7101717f // cmp w11, #92 960 WORD $0x54ffff20 // b.eq LBB0_120 $-28(%rip) 961 WORD $0x7100897f // cmp w11, #34 962 WORD $0x540000e0 // b.eq LBB0_124 $28(%rip) 963 WORD $0x9280000b // mov x11, #-1 964 WORD $0x5280002d // mov w13, #1 965 WORD $0x8b0d018c // add x12, x12, x13 966 WORD $0xab0b014a // adds x10, x10, x11 967 WORD $0x54fffeec // b.gt LBB0_121 $-36(%rip) 968 WORD $0x17ffffdd // b LBB0_117 $-140(%rip) 969 LBB0_124: 970 WORD $0xcb090189 // sub x9, x12, x9 971 WORD $0x91000529 // add x9, x9, #1 972 WORD $0x17fffd49 // b LBB0_37 $-2780(%rip) 973 // .p2align 2, 0x00 974 _MASK_USE_NUMBER: 975 WORD $0x00000002 // .long 2 976 977 TEXT ·__skip_one_fast(SB), NOSPLIT, $0-24 978 NO_LOCAL_POINTERS 979 980 _entry: 981 MOVD 16(g), R16 982 SUB $256, RSP, R17 983 CMP R16, R17 984 BLS _stack_grow 985 986 _skip_one_fast: 987 MOVD s+0(FP), R0 988 MOVD p+8(FP), R1 989 MOVD ·_subr__skip_one_fast(SB), R11 990 WORD $0x1000005e // adr x30, .+8 991 JMP (R11) 992 MOVD R0, ret+16(FP) 993 RET 994 995 _stack_grow: 996 MOVD R30, R3 997 CALL runtime·morestack_noctxt<>(SB) 998 JMP _entry