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