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
8TEXT ·__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
14lCPI0_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
36lCPI0_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
76Lloh0:
77 WORD $0x10fffced // adr x13, lCPI0_0 $-100(%rip)
78Lloh1:
79 WORD $0x3dc001a2 // ldr q2, [x13, lCPI0_0@PAGEOFF] $0(%rip)
80Lloh2:
81 WORD $0x10fffd2d // adr x13, lCPI0_1 $-92(%rip)
82Lloh3:
83 WORD $0x3dc001a3 // ldr q3, [x13, lCPI0_1@PAGEOFF] $0(%rip)
84 WORD $0xaa0803ed // mov x13, x8
85LBB0_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)
142LBB0_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)
148LBB0_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
154LBB0_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)
166LBB0_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)
173LBB0_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
189LBB0_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)
245LBB0_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)
278LBB0_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
284LBB0_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)
296LBB0_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)
306LBB0_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
317LBB0_24:
318 WORD $0x8b0d014d // add x13, x10, x13
319 WORD $0x14000006 // b LBB0_27 $24(%rip)
320LBB0_25:
321 WORD $0x8b0d014d // add x13, x10, x13
322 WORD $0x1400002c // b LBB0_33 $176(%rip)
323LBB0_26:
324 WORD $0xd280000c // mov x12, #0
325 WORD $0x8b08014d // add x13, x10, x8
326 WORD $0x92800009 // mov x9, #-1
327LBB0_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
337Lloh4:
338 WORD $0x10ffdecb // adr x11, lCPI0_0 $-1064(%rip)
339Lloh5:
340 WORD $0x3dc00164 // ldr q4, [x11, lCPI0_0@PAGEOFF] $0(%rip)
341 WORD $0x4e241c63 // and.16b v3, v3, v4
342Lloh6:
343 WORD $0x10ffdeeb // adr x11, lCPI0_1 $-1060(%rip)
344Lloh7:
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)
366LBB0_31:
367 WORD $0xdac0016b // rbit x11, x11
368 WORD $0xdac0116b // clz x11, x11
369 WORD $0x14000036 // b LBB0_38 $216(%rip)
370LBB0_32:
371 WORD $0xd280000b // mov x11, #0
372 WORD $0x8b08014d // add x13, x10, x8
373 WORD $0x92800009 // mov x9, #-1
374LBB0_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)
419LBB0_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)
426LBB0_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)
432LBB0_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
439LBB0_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)
454LBB0_41:
455 WORD $0x910081ad // add x13, x13, #32
456 WORD $0xaa0e03eb // mov x11, x14
457LBB0_42:
458 WORD $0xb5000c4c // cbnz x12, LBB0_71 $392(%rip)
459 WORD $0xb40003ab // cbz x11, LBB0_52 $116(%rip)
460LBB0_44:
461 WORD $0xcb0a03ec // neg x12, x10
462LBB0_45:
463 WORD $0xd280000f // mov x15, #0
464LBB0_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)
474LBB0_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)
490LBB0_51:
491 WORD $0x8b0f01ab // add x11, x13, x15
492 WORD $0x9100056d // add x13, x11, #1
493LBB0_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)
497LBB0_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)
502LBB0_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
509LBB0_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)
524LBB0_57:
525 WORD $0x3500044e // cbnz w14, LBB0_69 $136(%rip)
526 WORD $0x910081ad // add x13, x13, #32
527 WORD $0xaa1003ec // mov x12, x16
528LBB0_59:
529 WORD $0xb50005eb // cbnz x11, LBB0_73 $188(%rip)
530 WORD $0xb40006cc // cbz x12, LBB0_75 $216(%rip)
531LBB0_61:
532 WORD $0xcb0a03eb // neg x11, x10
533LBB0_62:
534 WORD $0xd280000f // mov x15, #0
535LBB0_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)
548LBB0_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)
564LBB0_69:
565 WORD $0x9280002e // mov x14, #-2
566 WORD $0x14000018 // b LBB0_76 $96(%rip)
567LBB0_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)
573LBB0_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)
583LBB0_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)
592LBB0_75:
593 WORD $0x9280000e // mov x14, #-1
594LBB0_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
606TEXT ·__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
View as plain text