vstring_arm64.s raw

   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 ·__vstring_entry__(SB), NOSPLIT, $32
   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  _vstring:
  59  	WORD $0xd100c3ff  // sub	sp, sp, #48
  60  	WORD $0xa900cff4  // stp	x20, x19, [sp, #8]
  61  	WORD $0xa901fbfd  // stp	fp, lr, [sp, #24]
  62  	WORD $0xa93ffbfd  // stp	fp, lr, [sp, #-8]
  63  	WORD $0xd10023fd  // sub	fp, sp, #8
  64  	WORD $0xf9400028  // ldr	x8, [x1]
  65  	WORD $0xf9400409  // ldr	x9, [x0, #8]
  66  	WORD $0x37280c43  // tbnz	w3, #5, LBB0_11 $392(%rip)
  67  	WORD $0xeb08012b  // subs	x11, x9, x8
  68  	WORD $0x54003b00  // b.eq	LBB0_75 $1888(%rip)
  69  	WORD $0xf940000a  // ldr	x10, [x0]
  70  	WORD $0xf101017f  // cmp	x11, #64
  71  	WORD $0x54001d43  // b.lo	LBB0_26 $936(%rip)
  72  	WORD $0xd280000c  // mov	x12, #0
  73  	WORD $0x92800009  // mov	x9, #-1
  74  	WORD $0x4f01e440  // movi.16b	v0, #34
  75  	WORD $0x4f02e781  // movi.16b	v1, #92
  76  Lloh0:
  77  	WORD $0x10fffced  // adr	x13, lCPI0_0 $-100(%rip)
  78  Lloh1:
  79  	WORD $0x3dc001a2  // ldr	q2, [x13, lCPI0_0@PAGEOFF] $0(%rip)
  80  Lloh2:
  81  	WORD $0x10fffd2d  // adr	x13, lCPI0_1 $-92(%rip)
  82  Lloh3:
  83  	WORD $0x3dc001a3  // ldr	q3, [x13, lCPI0_1@PAGEOFF] $0(%rip)
  84  	WORD $0xaa0803ed  // mov	x13, x8
  85  LBB0_4:
  86  	WORD $0x8b0d014e  // add	x14, x10, x13
  87  	WORD $0xad4015c4  // ldp	q4, q5, [x14]
  88  	WORD $0xad411dc6  // ldp	q6, q7, [x14, #32]
  89  	WORD $0x6e208c90  // cmeq.16b	v16, v4, v0
  90  	WORD $0x6e208cb1  // cmeq.16b	v17, v5, v0
  91  	WORD $0x6e208cd2  // cmeq.16b	v18, v6, v0
  92  	WORD $0x6e208cf3  // cmeq.16b	v19, v7, v0
  93  	WORD $0x6e218c84  // cmeq.16b	v4, v4, v1
  94  	WORD $0x6e218ca5  // cmeq.16b	v5, v5, v1
  95  	WORD $0x6e218cc6  // cmeq.16b	v6, v6, v1
  96  	WORD $0x6e218ce7  // cmeq.16b	v7, v7, v1
  97  	WORD $0x4e221e10  // and.16b	v16, v16, v2
  98  	WORD $0x4e030210  // tbl.16b	v16, { v16 }, v3
  99  	WORD $0x4e71ba10  // addv.8h	h16, v16
 100  	WORD $0x1e26020e  // fmov	w14, s16
 101  	WORD $0x4e221e30  // and.16b	v16, v17, v2
 102  	WORD $0x4e030210  // tbl.16b	v16, { v16 }, v3
 103  	WORD $0x4e71ba10  // addv.8h	h16, v16
 104  	WORD $0x1e26020f  // fmov	w15, s16
 105  	WORD $0x4e221e50  // and.16b	v16, v18, v2
 106  	WORD $0x4e030210  // tbl.16b	v16, { v16 }, v3
 107  	WORD $0x4e71ba10  // addv.8h	h16, v16
 108  	WORD $0x1e260210  // fmov	w16, s16
 109  	WORD $0x4e221e70  // and.16b	v16, v19, v2
 110  	WORD $0x4e030210  // tbl.16b	v16, { v16 }, v3
 111  	WORD $0x4e71ba10  // addv.8h	h16, v16
 112  	WORD $0x1e260211  // fmov	w17, s16
 113  	WORD $0x4e221c84  // and.16b	v4, v4, v2
 114  	WORD $0x4e030084  // tbl.16b	v4, { v4 }, v3
 115  	WORD $0x4e71b884  // addv.8h	h4, v4
 116  	WORD $0x1e260083  // fmov	w3, s4
 117  	WORD $0x4e221ca4  // and.16b	v4, v5, v2
 118  	WORD $0x4e030084  // tbl.16b	v4, { v4 }, v3
 119  	WORD $0x4e71b884  // addv.8h	h4, v4
 120  	WORD $0x1e260084  // fmov	w4, s4
 121  	WORD $0x4e221cc4  // and.16b	v4, v6, v2
 122  	WORD $0x4e030084  // tbl.16b	v4, { v4 }, v3
 123  	WORD $0x4e71b884  // addv.8h	h4, v4
 124  	WORD $0x1e260085  // fmov	w5, s4
 125  	WORD $0x4e221ce4  // and.16b	v4, v7, v2
 126  	WORD $0x4e030084  // tbl.16b	v4, { v4 }, v3
 127  	WORD $0x4e71b884  // addv.8h	h4, v4
 128  	WORD $0x1e260086  // fmov	w6, s4
 129  	WORD $0xd3607e10  // lsl	x16, x16, #32
 130  	WORD $0xaa11c210  // orr	x16, x16, x17, lsl #48
 131  	WORD $0x53103def  // lsl	w15, w15, #16
 132  	WORD $0xaa0f020f  // orr	x15, x16, x15
 133  	WORD $0xaa0e01ee  // orr	x14, x15, x14
 134  	WORD $0xd3607caf  // lsl	x15, x5, #32
 135  	WORD $0xaa06c1ef  // orr	x15, x15, x6, lsl #48
 136  	WORD $0x53103c90  // lsl	w16, w4, #16
 137  	WORD $0xaa1001ef  // orr	x15, x15, x16
 138  	WORD $0xaa0301ef  // orr	x15, x15, x3
 139  	WORD $0xb500010f  // cbnz	x15, LBB0_8 $32(%rip)
 140  	WORD $0xb500018c  // cbnz	x12, LBB0_9 $48(%rip)
 141  	WORD $0xb50002ce  // cbnz	x14, LBB0_10 $88(%rip)
 142  LBB0_7:
 143  	WORD $0xd101016b  // sub	x11, x11, #64
 144  	WORD $0x910101ad  // add	x13, x13, #64
 145  	WORD $0xf100fd7f  // cmp	x11, #63
 146  	WORD $0x54fff8a8  // b.hi	LBB0_4 $-236(%rip)
 147  	WORD $0x140000a0  // b	LBB0_24 $640(%rip)
 148  LBB0_8:
 149  	WORD $0xb100053f  // cmn	x9, #1
 150  	WORD $0xdac001f0  // rbit	x16, x15
 151  	WORD $0xdac01210  // clz	x16, x16
 152  	WORD $0x8b0d0210  // add	x16, x16, x13
 153  	WORD $0x9a901129  // csel	x9, x9, x16, ne
 154  LBB0_9:
 155  	WORD $0x8a2c01f0  // bic	x16, x15, x12
 156  	WORD $0xaa100591  // orr	x17, x12, x16, lsl #1
 157  	WORD $0x8a3101ec  // bic	x12, x15, x17
 158  	WORD $0x9201f18c  // and	x12, x12, #0xaaaaaaaaaaaaaaaa
 159  	WORD $0xab10018f  // adds	x15, x12, x16
 160  	WORD $0x1a9f37ec  // cset	w12, hs
 161  	WORD $0xd37ff9ef  // lsl	x15, x15, #1
 162  	WORD $0xd200f1ef  // eor	x15, x15, #0x5555555555555555
 163  	WORD $0x8a1101ef  // and	x15, x15, x17
 164  	WORD $0x8a2f01ce  // bic	x14, x14, x15
 165  	WORD $0xb4fffd8e  // cbz	x14, LBB0_7 $-80(%rip)
 166  LBB0_10:
 167  	WORD $0xdac001ca  // rbit	x10, x14
 168  	WORD $0xdac0114a  // clz	x10, x10
 169  	WORD $0x8b0d014a  // add	x10, x10, x13
 170  	WORD $0x9100054e  // add	x14, x10, #1
 171  	WORD $0xb6f8102e  // tbz	x14, #63, LBB0_23 $516(%rip)
 172  	WORD $0x1400017a  // b	LBB0_76 $1512(%rip)
 173  LBB0_11:
 174  	WORD $0xeb08012c  // subs	x12, x9, x8
 175  	WORD $0x54002ee0  // b.eq	LBB0_75 $1500(%rip)
 176  	WORD $0xf940000a  // ldr	x10, [x0]
 177  	WORD $0x10fff18f  // adr	x15, lCPI0_0 $-464(%rip)
 178  	WORD $0x10fff1ee  // adr	x14, lCPI0_1 $-452(%rip)
 179  	WORD $0xf101019f  // cmp	x12, #64
 180  	WORD $0x540015e3  // b.lo	LBB0_32 $700(%rip)
 181  	WORD $0xd280000b  // mov	x11, #0
 182  	WORD $0x92800009  // mov	x9, #-1
 183  	WORD $0x4f01e440  // movi.16b	v0, #34
 184  	WORD $0x3dc001e1  // ldr	q1, [x15, lCPI0_0@PAGEOFF] $0(%rip)
 185  	WORD $0x3dc001c2  // ldr	q2, [x14, lCPI0_1@PAGEOFF] $0(%rip)
 186  	WORD $0x4f02e783  // movi.16b	v3, #92
 187  	WORD $0x4f01e404  // movi.16b	v4, #32
 188  	WORD $0xaa0803ed  // mov	x13, x8
 189  LBB0_14:
 190  	WORD $0x8b0d0150  // add	x16, x10, x13
 191  	WORD $0xad401e10  // ldp	q16, q7, [x16]
 192  	WORD $0xad411606  // ldp	q6, q5, [x16, #32]
 193  	WORD $0x6e208e11  // cmeq.16b	v17, v16, v0
 194  	WORD $0x4e211e31  // and.16b	v17, v17, v1
 195  	WORD $0x4e020231  // tbl.16b	v17, { v17 }, v2
 196  	WORD $0x4e71ba31  // addv.8h	h17, v17
 197  	WORD $0x1e260230  // fmov	w16, s17
 198  	WORD $0x6e208cf1  // cmeq.16b	v17, v7, v0
 199  	WORD $0x4e211e31  // and.16b	v17, v17, v1
 200  	WORD $0x4e020231  // tbl.16b	v17, { v17 }, v2
 201  	WORD $0x4e71ba31  // addv.8h	h17, v17
 202  	WORD $0x1e260231  // fmov	w17, s17
 203  	WORD $0x6e208cd1  // cmeq.16b	v17, v6, v0
 204  	WORD $0x4e211e31  // and.16b	v17, v17, v1
 205  	WORD $0x4e020231  // tbl.16b	v17, { v17 }, v2
 206  	WORD $0x4e71ba31  // addv.8h	h17, v17
 207  	WORD $0x1e260223  // fmov	w3, s17
 208  	WORD $0x6e208cb1  // cmeq.16b	v17, v5, v0
 209  	WORD $0x4e211e31  // and.16b	v17, v17, v1
 210  	WORD $0x4e020231  // tbl.16b	v17, { v17 }, v2
 211  	WORD $0x4e71ba31  // addv.8h	h17, v17
 212  	WORD $0x1e260224  // fmov	w4, s17
 213  	WORD $0x6e238e11  // cmeq.16b	v17, v16, v3
 214  	WORD $0x4e211e31  // and.16b	v17, v17, v1
 215  	WORD $0x4e020231  // tbl.16b	v17, { v17 }, v2
 216  	WORD $0x4e71ba31  // addv.8h	h17, v17
 217  	WORD $0x1e260225  // fmov	w5, s17
 218  	WORD $0x6e238cf1  // cmeq.16b	v17, v7, v3
 219  	WORD $0x4e211e31  // and.16b	v17, v17, v1
 220  	WORD $0x4e020231  // tbl.16b	v17, { v17 }, v2
 221  	WORD $0x4e71ba31  // addv.8h	h17, v17
 222  	WORD $0x1e260226  // fmov	w6, s17
 223  	WORD $0x6e238cd1  // cmeq.16b	v17, v6, v3
 224  	WORD $0x4e211e31  // and.16b	v17, v17, v1
 225  	WORD $0x4e020231  // tbl.16b	v17, { v17 }, v2
 226  	WORD $0x4e71ba31  // addv.8h	h17, v17
 227  	WORD $0x1e260227  // fmov	w7, s17
 228  	WORD $0x6e238cb1  // cmeq.16b	v17, v5, v3
 229  	WORD $0x4e211e31  // and.16b	v17, v17, v1
 230  	WORD $0x4e020231  // tbl.16b	v17, { v17 }, v2
 231  	WORD $0x4e71ba31  // addv.8h	h17, v17
 232  	WORD $0x1e260233  // fmov	w19, s17
 233  	WORD $0xd3607c63  // lsl	x3, x3, #32
 234  	WORD $0xaa04c063  // orr	x3, x3, x4, lsl #48
 235  	WORD $0x53103e31  // lsl	w17, w17, #16
 236  	WORD $0xaa110071  // orr	x17, x3, x17
 237  	WORD $0xaa100230  // orr	x16, x17, x16
 238  	WORD $0xd3607cf1  // lsl	x17, x7, #32
 239  	WORD $0xaa13c231  // orr	x17, x17, x19, lsl #48
 240  	WORD $0x53103cc3  // lsl	w3, w6, #16
 241  	WORD $0xaa030231  // orr	x17, x17, x3
 242  	WORD $0xaa050231  // orr	x17, x17, x5
 243  	WORD $0xb5000451  // cbnz	x17, LBB0_19 $136(%rip)
 244  	WORD $0xb50004cb  // cbnz	x11, LBB0_20 $152(%rip)
 245  LBB0_16:
 246  	WORD $0x6e303490  // cmhi.16b	v16, v4, v16
 247  	WORD $0x4e211e10  // and.16b	v16, v16, v1
 248  	WORD $0x4e020210  // tbl.16b	v16, { v16 }, v2
 249  	WORD $0x4e71ba10  // addv.8h	h16, v16
 250  	WORD $0x1e260211  // fmov	w17, s16
 251  	WORD $0x6e273487  // cmhi.16b	v7, v4, v7
 252  	WORD $0x4e211ce7  // and.16b	v7, v7, v1
 253  	WORD $0x4e0200e7  // tbl.16b	v7, { v7 }, v2
 254  	WORD $0x4e71b8e7  // addv.8h	h7, v7
 255  	WORD $0x1e2600e3  // fmov	w3, s7
 256  	WORD $0x6e263486  // cmhi.16b	v6, v4, v6
 257  	WORD $0x4e211cc6  // and.16b	v6, v6, v1
 258  	WORD $0x4e0200c6  // tbl.16b	v6, { v6 }, v2
 259  	WORD $0x4e71b8c6  // addv.8h	h6, v6
 260  	WORD $0x1e2600c4  // fmov	w4, s6
 261  	WORD $0x6e253485  // cmhi.16b	v5, v4, v5
 262  	WORD $0x4e211ca5  // and.16b	v5, v5, v1
 263  	WORD $0x4e0200a5  // tbl.16b	v5, { v5 }, v2
 264  	WORD $0x4e71b8a5  // addv.8h	h5, v5
 265  	WORD $0x1e2600a5  // fmov	w5, s5
 266  	WORD $0xd3607c84  // lsl	x4, x4, #32
 267  	WORD $0xaa05c084  // orr	x4, x4, x5, lsl #48
 268  	WORD $0x53103c63  // lsl	w3, w3, #16
 269  	WORD $0xaa030083  // orr	x3, x4, x3
 270  	WORD $0xaa110071  // orr	x17, x3, x17
 271  	WORD $0xb50002f0  // cbnz	x16, LBB0_21 $92(%rip)
 272  	WORD $0xb5002011  // cbnz	x17, LBB0_69 $1024(%rip)
 273  	WORD $0xd101018c  // sub	x12, x12, #64
 274  	WORD $0x910101ad  // add	x13, x13, #64
 275  	WORD $0xf100fd9f  // cmp	x12, #63
 276  	WORD $0x54fff568  // b.hi	LBB0_14 $-340(%rip)
 277  	WORD $0x14000026  // b	LBB0_25 $152(%rip)
 278  LBB0_19:
 279  	WORD $0xb100053f  // cmn	x9, #1
 280  	WORD $0xdac00223  // rbit	x3, x17
 281  	WORD $0xdac01063  // clz	x3, x3
 282  	WORD $0x8b0d0063  // add	x3, x3, x13
 283  	WORD $0x9a831129  // csel	x9, x9, x3, ne
 284  LBB0_20:
 285  	WORD $0x8a2b0223  // bic	x3, x17, x11
 286  	WORD $0xaa030564  // orr	x4, x11, x3, lsl #1
 287  	WORD $0x8a24022b  // bic	x11, x17, x4
 288  	WORD $0x9201f16b  // and	x11, x11, #0xaaaaaaaaaaaaaaaa
 289  	WORD $0xab030171  // adds	x17, x11, x3
 290  	WORD $0x1a9f37eb  // cset	w11, hs
 291  	WORD $0xd37ffa31  // lsl	x17, x17, #1
 292  	WORD $0xd200f231  // eor	x17, x17, #0x5555555555555555
 293  	WORD $0x8a040231  // and	x17, x17, x4
 294  	WORD $0x8a310210  // bic	x16, x16, x17
 295  	WORD $0x17ffffd1  // b	LBB0_16 $-188(%rip)
 296  LBB0_21:
 297  	WORD $0xdac0020a  // rbit	x10, x16
 298  	WORD $0xdac0114a  // clz	x10, x10
 299  	WORD $0xdac0022b  // rbit	x11, x17
 300  	WORD $0xdac0116b  // clz	x11, x11
 301  	WORD $0xeb0a017f  // cmp	x11, x10
 302  	WORD $0x54001ca3  // b.lo	LBB0_69 $916(%rip)
 303  	WORD $0x8b0d014a  // add	x10, x10, x13
 304  	WORD $0x9100054e  // add	x14, x10, #1
 305  	WORD $0xb7f81f6e  // tbnz	x14, #63, LBB0_76 $1004(%rip)
 306  LBB0_23:
 307  	WORD $0xf900002e  // str	x14, [x1]
 308  	WORD $0x528000ea  // mov	w10, #7
 309  	WORD $0xf900004a  // str	x10, [x2]
 310  	WORD $0xeb0e013f  // cmp	x9, x14
 311  	WORD $0xda9fb129  // csinv	x9, x9, xzr, lt
 312  	WORD $0xa9012448  // stp	x8, x9, [x2, #16]
 313  	WORD $0xa941fbfd  // ldp	fp, lr, [sp, #24]
 314  	WORD $0xa940cff4  // ldp	x20, x19, [sp, #8]
 315  	WORD $0x9100c3ff  // add	sp, sp, #48
 316  	WORD $0xd65f03c0  // ret
 317  LBB0_24:
 318  	WORD $0x8b0d014d  // add	x13, x10, x13
 319  	WORD $0x14000006  // b	LBB0_27 $24(%rip)
 320  LBB0_25:
 321  	WORD $0x8b0d014d  // add	x13, x10, x13
 322  	WORD $0x1400002c  // b	LBB0_33 $176(%rip)
 323  LBB0_26:
 324  	WORD $0xd280000c  // mov	x12, #0
 325  	WORD $0x8b08014d  // add	x13, x10, x8
 326  	WORD $0x92800009  // mov	x9, #-1
 327  LBB0_27:
 328  	WORD $0xf100816e  // subs	x14, x11, #32
 329  	WORD $0x54000e83  // b.lo	LBB0_42 $464(%rip)
 330  	WORD $0xad4005a0  // ldp	q0, q1, [x13]
 331  	WORD $0x4f01e442  // movi.16b	v2, #34
 332  	WORD $0x6e228c03  // cmeq.16b	v3, v0, v2
 333  	WORD $0x6e228c22  // cmeq.16b	v2, v1, v2
 334  	WORD $0x4f02e784  // movi.16b	v4, #92
 335  	WORD $0x6e248c00  // cmeq.16b	v0, v0, v4
 336  	WORD $0x6e248c21  // cmeq.16b	v1, v1, v4
 337  Lloh4:
 338  	WORD $0x10ffdecb  // adr	x11, lCPI0_0 $-1064(%rip)
 339  Lloh5:
 340  	WORD $0x3dc00164  // ldr	q4, [x11, lCPI0_0@PAGEOFF] $0(%rip)
 341  	WORD $0x4e241c63  // and.16b	v3, v3, v4
 342  Lloh6:
 343  	WORD $0x10ffdeeb  // adr	x11, lCPI0_1 $-1060(%rip)
 344  Lloh7:
 345  	WORD $0x3dc00165  // ldr	q5, [x11, lCPI0_1@PAGEOFF] $0(%rip)
 346  	WORD $0x4e050063  // tbl.16b	v3, { v3 }, v5
 347  	WORD $0x4e71b863  // addv.8h	h3, v3
 348  	WORD $0x1e26006b  // fmov	w11, s3
 349  	WORD $0x4e241c42  // and.16b	v2, v2, v4
 350  	WORD $0x4e050042  // tbl.16b	v2, { v2 }, v5
 351  	WORD $0x4e71b842  // addv.8h	h2, v2
 352  	WORD $0x1e260050  // fmov	w16, s2
 353  	WORD $0x4e241c00  // and.16b	v0, v0, v4
 354  	WORD $0x4e050000  // tbl.16b	v0, { v0 }, v5
 355  	WORD $0x4e71b800  // addv.8h	h0, v0
 356  	WORD $0x1e26000f  // fmov	w15, s0
 357  	WORD $0x4e241c20  // and.16b	v0, v1, v4
 358  	WORD $0x4e050000  // tbl.16b	v0, { v0 }, v5
 359  	WORD $0x4e71b800  // addv.8h	h0, v0
 360  	WORD $0x1e260011  // fmov	w17, s0
 361  	WORD $0x33103e0b  // bfi	w11, w16, #16, #16
 362  	WORD $0x33103e2f  // bfi	w15, w17, #16, #16
 363  	WORD $0x3500080f  // cbnz	w15, LBB0_39 $256(%rip)
 364  	WORD $0xb50008ac  // cbnz	x12, LBB0_40 $276(%rip)
 365  	WORD $0xb4000a4b  // cbz	x11, LBB0_41 $328(%rip)
 366  LBB0_31:
 367  	WORD $0xdac0016b  // rbit	x11, x11
 368  	WORD $0xdac0116b  // clz	x11, x11
 369  	WORD $0x14000036  // b	LBB0_38 $216(%rip)
 370  LBB0_32:
 371  	WORD $0xd280000b  // mov	x11, #0
 372  	WORD $0x8b08014d  // add	x13, x10, x8
 373  	WORD $0x92800009  // mov	x9, #-1
 374  LBB0_33:
 375  	WORD $0xf1008190  // subs	x16, x12, #32
 376  	WORD $0x54001103  // b.lo	LBB0_59 $544(%rip)
 377  	WORD $0xad4005a0  // ldp	q0, q1, [x13]
 378  	WORD $0x4f01e442  // movi.16b	v2, #34
 379  	WORD $0x6e228c03  // cmeq.16b	v3, v0, v2
 380  	WORD $0x3dc001e4  // ldr	q4, [x15, lCPI0_0@PAGEOFF] $0(%rip)
 381  	WORD $0x4e241c63  // and.16b	v3, v3, v4
 382  	WORD $0x3dc001c5  // ldr	q5, [x14, lCPI0_1@PAGEOFF] $0(%rip)
 383  	WORD $0x4e050063  // tbl.16b	v3, { v3 }, v5
 384  	WORD $0x4e71b863  // addv.8h	h3, v3
 385  	WORD $0x1e26006c  // fmov	w12, s3
 386  	WORD $0x6e228c22  // cmeq.16b	v2, v1, v2
 387  	WORD $0x4e241c42  // and.16b	v2, v2, v4
 388  	WORD $0x4e050042  // tbl.16b	v2, { v2 }, v5
 389  	WORD $0x4e71b842  // addv.8h	h2, v2
 390  	WORD $0x1e260051  // fmov	w17, s2
 391  	WORD $0x4f02e782  // movi.16b	v2, #92
 392  	WORD $0x6e228c03  // cmeq.16b	v3, v0, v2
 393  	WORD $0x4e241c63  // and.16b	v3, v3, v4
 394  	WORD $0x4e050063  // tbl.16b	v3, { v3 }, v5
 395  	WORD $0x4e71b863  // addv.8h	h3, v3
 396  	WORD $0x1e26006f  // fmov	w15, s3
 397  	WORD $0x6e228c22  // cmeq.16b	v2, v1, v2
 398  	WORD $0x4e241c42  // and.16b	v2, v2, v4
 399  	WORD $0x4e050042  // tbl.16b	v2, { v2 }, v5
 400  	WORD $0x4e71b842  // addv.8h	h2, v2
 401  	WORD $0x1e260043  // fmov	w3, s2
 402  	WORD $0x4f01e402  // movi.16b	v2, #32
 403  	WORD $0x6e203440  // cmhi.16b	v0, v2, v0
 404  	WORD $0x4e241c00  // and.16b	v0, v0, v4
 405  	WORD $0x4e050000  // tbl.16b	v0, { v0 }, v5
 406  	WORD $0x4e71b800  // addv.8h	h0, v0
 407  	WORD $0x1e26000e  // fmov	w14, s0
 408  	WORD $0x6e213440  // cmhi.16b	v0, v2, v1
 409  	WORD $0x4e241c00  // and.16b	v0, v0, v4
 410  	WORD $0x4e050000  // tbl.16b	v0, { v0 }, v5
 411  	WORD $0x4e71b800  // addv.8h	h0, v0
 412  	WORD $0x1e260004  // fmov	w4, s0
 413  	WORD $0x33103e2c  // bfi	w12, w17, #16, #16
 414  	WORD $0x33103c6f  // bfi	w15, w3, #16, #16
 415  	WORD $0x33103c8e  // bfi	w14, w4, #16, #16
 416  	WORD $0x3500092f  // cbnz	w15, LBB0_55 $292(%rip)
 417  	WORD $0xb50009cb  // cbnz	x11, LBB0_56 $312(%rip)
 418  	WORD $0xb4000b6c  // cbz	x12, LBB0_57 $364(%rip)
 419  LBB0_37:
 420  	WORD $0xdac0018b  // rbit	x11, x12
 421  	WORD $0xdac0116b  // clz	x11, x11
 422  	WORD $0xdac001cc  // rbit	x12, x14
 423  	WORD $0xdac0118c  // clz	x12, x12
 424  	WORD $0xeb0b019f  // cmp	x12, x11
 425  	WORD $0x54000ee3  // b.lo	LBB0_69 $476(%rip)
 426  LBB0_38:
 427  	WORD $0xcb0a01aa  // sub	x10, x13, x10
 428  	WORD $0x8b0b014a  // add	x10, x10, x11
 429  	WORD $0x9100054e  // add	x14, x10, #1
 430  	WORD $0xb6fff24e  // tbz	x14, #63, LBB0_23 $-440(%rip)
 431  	WORD $0x1400008b  // b	LBB0_76 $556(%rip)
 432  LBB0_39:
 433  	WORD $0xdac001f0  // rbit	x16, x15
 434  	WORD $0xdac01210  // clz	x16, x16
 435  	WORD $0xcb0a01b1  // sub	x17, x13, x10
 436  	WORD $0x8b100230  // add	x16, x17, x16
 437  	WORD $0xb100053f  // cmn	x9, #1
 438  	WORD $0x9a901129  // csel	x9, x9, x16, ne
 439  LBB0_40:
 440  	WORD $0x0a2c01f0  // bic	w16, w15, w12
 441  	WORD $0x531f7a11  // lsl	w17, w16, #1
 442  	WORD $0x331f7a0c  // bfi	w12, w16, #1, #31
 443  	WORD $0x0a3101ef  // bic	w15, w15, w17
 444  	WORD $0x1201f1ef  // and	w15, w15, #0xaaaaaaaa
 445  	WORD $0x2b1001ef  // adds	w15, w15, w16
 446  	WORD $0x3200f3f0  // mov	w16, #1431655765
 447  	WORD $0x4a0f060f  // eor	w15, w16, w15, lsl #1
 448  	WORD $0x0a0c01ec  // and	w12, w15, w12
 449  	WORD $0x1a9f37ef  // cset	w15, hs
 450  	WORD $0x2a2c03ec  // mvn	w12, w12
 451  	WORD $0x8a0b018b  // and	x11, x12, x11
 452  	WORD $0xaa0f03ec  // mov	x12, x15
 453  	WORD $0xb5fff60b  // cbnz	x11, LBB0_31 $-320(%rip)
 454  LBB0_41:
 455  	WORD $0x910081ad  // add	x13, x13, #32
 456  	WORD $0xaa0e03eb  // mov	x11, x14
 457  LBB0_42:
 458  	WORD $0xb5000c4c  // cbnz	x12, LBB0_71 $392(%rip)
 459  	WORD $0xb40003ab  // cbz	x11, LBB0_52 $116(%rip)
 460  LBB0_44:
 461  	WORD $0xcb0a03ec  // neg	x12, x10
 462  LBB0_45:
 463  	WORD $0xd280000f  // mov	x15, #0
 464  LBB0_46:
 465  	WORD $0x386f69ae  // ldrb	w14, [x13, x15]
 466  	WORD $0x710089df  // cmp	w14, #34
 467  	WORD $0x540002c0  // b.eq	LBB0_51 $88(%rip)
 468  	WORD $0x710171df  // cmp	w14, #92
 469  	WORD $0x540000a0  // b.eq	LBB0_49 $20(%rip)
 470  	WORD $0x910005ef  // add	x15, x15, #1
 471  	WORD $0xeb0f017f  // cmp	x11, x15
 472  	WORD $0x54ffff21  // b.ne	LBB0_46 $-28(%rip)
 473  	WORD $0x14000015  // b	LBB0_53 $84(%rip)
 474  LBB0_49:
 475  	WORD $0xd100056e  // sub	x14, x11, #1
 476  	WORD $0xeb0f01df  // cmp	x14, x15
 477  	WORD $0x54000c80  // b.eq	LBB0_75 $400(%rip)
 478  	WORD $0x8b0f01ad  // add	x13, x13, x15
 479  	WORD $0x8b0c01ae  // add	x14, x13, x12
 480  	WORD $0xb100053f  // cmn	x9, #1
 481  	WORD $0x9a8901c9  // csel	x9, x14, x9, eq
 482  	WORD $0x910009ad  // add	x13, x13, #2
 483  	WORD $0xcb0f016e  // sub	x14, x11, x15
 484  	WORD $0xd1000970  // sub	x16, x11, #2
 485  	WORD $0xd10009cb  // sub	x11, x14, #2
 486  	WORD $0x9280000e  // mov	x14, #-1
 487  	WORD $0xeb0f021f  // cmp	x16, x15
 488  	WORD $0x54fffd21  // b.ne	LBB0_45 $-92(%rip)
 489  	WORD $0x14000059  // b	LBB0_76 $356(%rip)
 490  LBB0_51:
 491  	WORD $0x8b0f01ab  // add	x11, x13, x15
 492  	WORD $0x9100056d  // add	x13, x11, #1
 493  LBB0_52:
 494  	WORD $0xcb0a01ae  // sub	x14, x13, x10
 495  	WORD $0xb6ffeb6e  // tbz	x14, #63, LBB0_23 $-660(%rip)
 496  	WORD $0x14000054  // b	LBB0_76 $336(%rip)
 497  LBB0_53:
 498  	WORD $0x710089df  // cmp	w14, #34
 499  	WORD $0x54000a21  // b.ne	LBB0_75 $324(%rip)
 500  	WORD $0x8b0f01ad  // add	x13, x13, x15
 501  	WORD $0x17fffffa  // b	LBB0_52 $-24(%rip)
 502  LBB0_55:
 503  	WORD $0xdac001f1  // rbit	x17, x15
 504  	WORD $0xdac01231  // clz	x17, x17
 505  	WORD $0xcb0a01a3  // sub	x3, x13, x10
 506  	WORD $0x8b110071  // add	x17, x3, x17
 507  	WORD $0xb100053f  // cmn	x9, #1
 508  	WORD $0x9a911129  // csel	x9, x9, x17, ne
 509  LBB0_56:
 510  	WORD $0x0a2b01f1  // bic	w17, w15, w11
 511  	WORD $0x531f7a23  // lsl	w3, w17, #1
 512  	WORD $0x331f7a2b  // bfi	w11, w17, #1, #31
 513  	WORD $0x0a2301ef  // bic	w15, w15, w3
 514  	WORD $0x1201f1ef  // and	w15, w15, #0xaaaaaaaa
 515  	WORD $0x2b1101ef  // adds	w15, w15, w17
 516  	WORD $0x3200f3f1  // mov	w17, #1431655765
 517  	WORD $0x4a0f062f  // eor	w15, w17, w15, lsl #1
 518  	WORD $0x0a0b01eb  // and	w11, w15, w11
 519  	WORD $0x1a9f37ef  // cset	w15, hs
 520  	WORD $0x2a2b03eb  // mvn	w11, w11
 521  	WORD $0x8a0c016c  // and	x12, x11, x12
 522  	WORD $0xaa0f03eb  // mov	x11, x15
 523  	WORD $0xb5fff4ec  // cbnz	x12, LBB0_37 $-356(%rip)
 524  LBB0_57:
 525  	WORD $0x3500044e  // cbnz	w14, LBB0_69 $136(%rip)
 526  	WORD $0x910081ad  // add	x13, x13, #32
 527  	WORD $0xaa1003ec  // mov	x12, x16
 528  LBB0_59:
 529  	WORD $0xb50005eb  // cbnz	x11, LBB0_73 $188(%rip)
 530  	WORD $0xb40006cc  // cbz	x12, LBB0_75 $216(%rip)
 531  LBB0_61:
 532  	WORD $0xcb0a03eb  // neg	x11, x10
 533  LBB0_62:
 534  	WORD $0xd280000f  // mov	x15, #0
 535  LBB0_63:
 536  	WORD $0x386f69ae  // ldrb	w14, [x13, x15]
 537  	WORD $0x710089df  // cmp	w14, #34
 538  	WORD $0x54000360  // b.eq	LBB0_70 $108(%rip)
 539  	WORD $0x710171df  // cmp	w14, #92
 540  	WORD $0x54000100  // b.eq	LBB0_67 $32(%rip)
 541  	WORD $0x710081df  // cmp	w14, #32
 542  	WORD $0x540002a3  // b.lo	LBB0_69 $84(%rip)
 543  	WORD $0x910005ef  // add	x15, x15, #1
 544  	WORD $0x9280000e  // mov	x14, #-1
 545  	WORD $0xeb0f019f  // cmp	x12, x15
 546  	WORD $0x54fffec1  // b.ne	LBB0_63 $-40(%rip)
 547  	WORD $0x14000029  // b	LBB0_76 $164(%rip)
 548  LBB0_67:
 549  	WORD $0xd100058e  // sub	x14, x12, #1
 550  	WORD $0xeb0f01df  // cmp	x14, x15
 551  	WORD $0x540004a0  // b.eq	LBB0_75 $148(%rip)
 552  	WORD $0x8b0f01ad  // add	x13, x13, x15
 553  	WORD $0x8b0b01ae  // add	x14, x13, x11
 554  	WORD $0xb100053f  // cmn	x9, #1
 555  	WORD $0x9a8901c9  // csel	x9, x14, x9, eq
 556  	WORD $0x910009ad  // add	x13, x13, #2
 557  	WORD $0xd1000990  // sub	x16, x12, #2
 558  	WORD $0xcb0f018c  // sub	x12, x12, x15
 559  	WORD $0xd100098c  // sub	x12, x12, #2
 560  	WORD $0x9280000e  // mov	x14, #-1
 561  	WORD $0xeb0f021f  // cmp	x16, x15
 562  	WORD $0x54fffcc1  // b.ne	LBB0_62 $-104(%rip)
 563  	WORD $0x1400001a  // b	LBB0_76 $104(%rip)
 564  LBB0_69:
 565  	WORD $0x9280002e  // mov	x14, #-2
 566  	WORD $0x14000018  // b	LBB0_76 $96(%rip)
 567  LBB0_70:
 568  	WORD $0xcb0a01aa  // sub	x10, x13, x10
 569  	WORD $0x8b0f014a  // add	x10, x10, x15
 570  	WORD $0x9100054e  // add	x14, x10, #1
 571  	WORD $0xb6ffe34e  // tbz	x14, #63, LBB0_23 $-920(%rip)
 572  	WORD $0x14000013  // b	LBB0_76 $76(%rip)
 573  LBB0_71:
 574  	WORD $0xb400022b  // cbz	x11, LBB0_75 $68(%rip)
 575  	WORD $0xaa2a03ec  // mvn	x12, x10
 576  	WORD $0x8b0c01ac  // add	x12, x13, x12
 577  	WORD $0xb100053f  // cmn	x9, #1
 578  	WORD $0x9a890189  // csel	x9, x12, x9, eq
 579  	WORD $0x910005ad  // add	x13, x13, #1
 580  	WORD $0xd100056b  // sub	x11, x11, #1
 581  	WORD $0xb5fff32b  // cbnz	x11, LBB0_44 $-412(%rip)
 582  	WORD $0x17ffffb4  // b	LBB0_52 $-304(%rip)
 583  LBB0_73:
 584  	WORD $0xb400010c  // cbz	x12, LBB0_75 $32(%rip)
 585  	WORD $0xaa2a03eb  // mvn	x11, x10
 586  	WORD $0x8b0b01ab  // add	x11, x13, x11
 587  	WORD $0xb100053f  // cmn	x9, #1
 588  	WORD $0x9a890169  // csel	x9, x11, x9, eq
 589  	WORD $0x910005ad  // add	x13, x13, #1
 590  	WORD $0xd100058c  // sub	x12, x12, #1
 591  	WORD $0xb5fff98c  // cbnz	x12, LBB0_61 $-208(%rip)
 592  LBB0_75:
 593  	WORD $0x9280000e  // mov	x14, #-1
 594  LBB0_76:
 595  	WORD $0xf9400408  // ldr	x8, [x0, #8]
 596  	WORD $0xf9000028  // str	x8, [x1]
 597  	WORD $0xf900004e  // str	x14, [x2]
 598  	WORD $0xa941fbfd  // ldp	fp, lr, [sp, #24]
 599  	WORD $0xa940cff4  // ldp	x20, x19, [sp, #8]
 600  	WORD $0x9100c3ff  // add	sp, sp, #48
 601  	WORD $0xd65f03c0  // ret
 602  	  // .p2align 2, 0x00
 603  _MASK_USE_NUMBER:
 604  	WORD $0x00000002  // .long 2
 605  
 606  TEXT ·__vstring(SB), NOSPLIT, $0-32
 607  	NO_LOCAL_POINTERS
 608  
 609  _entry:
 610  	MOVD 16(g), R16
 611  	SUB $112, RSP, R17
 612  	CMP  R16, R17
 613  	BLS  _stack_grow
 614  
 615  _vstring:
 616  	MOVD s+0(FP), R0
 617  	MOVD p+8(FP), R1
 618  	MOVD v+16(FP), R2
 619  	MOVD flags+24(FP), R3
 620  	MOVD ·_subr__vstring(SB), R11
 621  	WORD $0x1000005e // adr x30, .+8
 622  	JMP (R11)
 623  	RET
 624  
 625  _stack_grow:
 626  	MOVD R30, R3
 627  	CALL runtime·morestack_noctxt<>(SB)
 628  	JMP  _entry
 629