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 ·__skip_number_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_skip_number:
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 $0xaa0003e8 // mov x8, x0
65 WORD $0xf9400020 // ldr x0, [x1]
66 WORD $0xa9402909 // ldp x9, x10, [x8]
67 WORD $0x8b000128 // add x8, x9, x0
68 WORD $0xaa0803eb // mov x11, x8
69 WORD $0x3840156c // ldrb w12, [x11], #1
70 WORD $0x7100b59f // cmp w12, #45
71 WORD $0x1a9f17ed // cset w13, eq
72 WORD $0x9a8b1108 // csel x8, x8, x11, ne
73 WORD $0xcb00014a // sub x10, x10, x0
74 WORD $0xeb0d014e // subs x14, x10, x13
75 WORD $0x54001c40 // b.eq LBB0_59 $904(%rip)
76 WORD $0x3940010a // ldrb w10, [x8]
77 WORD $0x5100e94b // sub w11, w10, #58
78 WORD $0x3100297f // cmn w11, #10
79 WORD $0x540017a3 // b.lo LBB0_52 $756(%rip)
80 WORD $0x7100c15f // cmp w10, #48
81 WORD $0x540001e1 // b.ne LBB0_6 $60(%rip)
82 WORD $0xf10005df // cmp x14, #1
83 WORD $0x54000061 // b.ne LBB0_5 $12(%rip)
84LBB0_4:
85 WORD $0x5280002d // mov w13, #1
86 WORD $0x140000a9 // b LBB0_47 $676(%rip)
87LBB0_5:
88 WORD $0x3940050a // ldrb w10, [x8, #1]
89 WORD $0x5100b94a // sub w10, w10, #46
90 WORD $0x7100dd5f // cmp w10, #55
91 WORD $0x5280002b // mov w11, #1
92 WORD $0x9aca216a // lsl x10, x11, x10
93 WORD $0xb20903eb // mov x11, #36028797027352576
94 WORD $0xf280002b // movk x11, #1
95 WORD $0x8a0b014a // and x10, x10, x11
96 WORD $0xfa409944 // ccmp x10, #0, #4, ls
97 WORD $0x54fffea0 // b.eq LBB0_4 $-44(%rip)
98LBB0_6:
99 WORD $0xf10041df // cmp x14, #16
100 WORD $0x54001a63 // b.lo LBB0_60 $844(%rip)
101 WORD $0xd2800010 // mov x16, #0
102 WORD $0xd280000f // mov x15, #0
103 WORD $0x9280000a // mov x10, #-1
104 WORD $0x4f01e5c0 // movi.16b v0, #46
105 WORD $0x4f01e561 // movi.16b v1, #43
106 WORD $0x4f01e5a2 // movi.16b v2, #45
107 WORD $0x4f06e603 // movi.16b v3, #208
108 WORD $0x4f00e544 // movi.16b v4, #10
109Lloh0:
110 WORD $0x10fff92b // adr x11, lCPI0_0 $-220(%rip)
111Lloh1:
112 WORD $0x3dc00165 // ldr q5, [x11, lCPI0_0@PAGEOFF] $0(%rip)
113 WORD $0x4f06e7e6 // movi.16b v6, #223
114 WORD $0x4f02e4a7 // movi.16b v7, #69
115Lloh2:
116 WORD $0x10fff92b // adr x11, lCPI0_1 $-220(%rip)
117Lloh3:
118 WORD $0x3dc00170 // ldr q16, [x11, lCPI0_1@PAGEOFF] $0(%rip)
119 WORD $0x12800011 // mov w17, #-1
120 WORD $0x9280000c // mov x12, #-1
121 WORD $0x9280000b // mov x11, #-1
122LBB0_8:
123 WORD $0x3cef6911 // ldr q17, [x8, x15]
124 WORD $0x6e208e32 // cmeq.16b v18, v17, v0
125 WORD $0x6e218e33 // cmeq.16b v19, v17, v1
126 WORD $0x6e228e34 // cmeq.16b v20, v17, v2
127 WORD $0x4e238635 // add.16b v21, v17, v3
128 WORD $0x6e353495 // cmhi.16b v21, v4, v21
129 WORD $0x4e261e31 // and.16b v17, v17, v6
130 WORD $0x6e278e31 // cmeq.16b v17, v17, v7
131 WORD $0x4eb41e73 // orr.16b v19, v19, v20
132 WORD $0x4eb21eb4 // orr.16b v20, v21, v18
133 WORD $0x4eb31e35 // orr.16b v21, v17, v19
134 WORD $0x4eb51e94 // orr.16b v20, v20, v21
135 WORD $0x4e251e52 // and.16b v18, v18, v5
136 WORD $0x4e100252 // tbl.16b v18, { v18 }, v16
137 WORD $0x4e71ba52 // addv.8h h18, v18
138 WORD $0x1e260243 // fmov w3, s18
139 WORD $0x4e251e31 // and.16b v17, v17, v5
140 WORD $0x4e100231 // tbl.16b v17, { v17 }, v16
141 WORD $0x4e71ba31 // addv.8h h17, v17
142 WORD $0x1e260224 // fmov w4, s17
143 WORD $0x4e251e71 // and.16b v17, v19, v5
144 WORD $0x4e100231 // tbl.16b v17, { v17 }, v16
145 WORD $0x4e71ba31 // addv.8h h17, v17
146 WORD $0x1e260226 // fmov w6, s17
147 WORD $0x4e251e91 // and.16b v17, v20, v5
148 WORD $0x4e100231 // tbl.16b v17, { v17 }, v16
149 WORD $0x4e71ba31 // addv.8h h17, v17
150 WORD $0x1e260222 // fmov w2, s17
151 WORD $0x2a2203e2 // mvn w2, w2
152 WORD $0x32103c42 // orr w2, w2, #0xffff0000
153 WORD $0x5ac00042 // rbit w2, w2
154 WORD $0x5ac01042 // clz w2, w2
155 WORD $0x1ac22225 // lsl w5, w17, w2
156 WORD $0x0a250067 // bic w7, w3, w5
157 WORD $0x0a250093 // bic w19, w4, w5
158 WORD $0x0a2500d4 // bic w20, w6, w5
159 WORD $0x7100405f // cmp w2, #16
160 WORD $0x1a870065 // csel w5, w3, w7, eq
161 WORD $0x1a930084 // csel w4, w4, w19, eq
162 WORD $0x1a9400c3 // csel w3, w6, w20, eq
163 WORD $0x510004a6 // sub w6, w5, #1
164 WORD $0x6a0500c6 // ands w6, w6, w5
165 WORD $0x54001041 // b.ne LBB0_55 $520(%rip)
166 WORD $0x51000486 // sub w6, w4, #1
167 WORD $0x6a0400c6 // ands w6, w6, w4
168 WORD $0x54000fe1 // b.ne LBB0_55 $508(%rip)
169 WORD $0x51000466 // sub w6, w3, #1
170 WORD $0x6a0300c6 // ands w6, w6, w3
171 WORD $0x54000f81 // b.ne LBB0_55 $496(%rip)
172 WORD $0x340000c5 // cbz w5, LBB0_14 $24(%rip)
173 WORD $0x5ac000a5 // rbit w5, w5
174 WORD $0x5ac010a5 // clz w5, w5
175 WORD $0xb100057f // cmn x11, #1
176 WORD $0x54000f81 // b.ne LBB0_56 $496(%rip)
177 WORD $0x8b0501eb // add x11, x15, x5
178LBB0_14:
179 WORD $0x340000c4 // cbz w4, LBB0_17 $24(%rip)
180 WORD $0x5ac00084 // rbit w4, w4
181 WORD $0x5ac01084 // clz w4, w4
182 WORD $0xb100059f // cmn x12, #1
183 WORD $0x54000f21 // b.ne LBB0_57 $484(%rip)
184 WORD $0x8b0401ec // add x12, x15, x4
185LBB0_17:
186 WORD $0x340000c3 // cbz w3, LBB0_20 $24(%rip)
187 WORD $0x5ac00063 // rbit w3, w3
188 WORD $0x5ac01063 // clz w3, w3
189 WORD $0xb100055f // cmn x10, #1
190 WORD $0x54000ec1 // b.ne LBB0_58 $472(%rip)
191 WORD $0x8b0301ea // add x10, x15, x3
192LBB0_20:
193 WORD $0x7100405f // cmp w2, #16
194 WORD $0x54000621 // b.ne LBB0_35 $196(%rip)
195 WORD $0x910041ef // add x15, x15, #16
196 WORD $0xd1004210 // sub x16, x16, #16
197 WORD $0x8b1001c2 // add x2, x14, x16
198 WORD $0xf1003c5f // cmp x2, #15
199 WORD $0x54fff6e8 // b.hi LBB0_8 $-292(%rip)
200 WORD $0x8b0f0110 // add x16, x8, x15
201 WORD $0xeb0f01df // cmp x14, x15
202 WORD $0x54000560 // b.eq LBB0_36 $172(%rip)
203LBB0_23:
204 WORD $0x8b02020e // add x14, x16, x2
205 WORD $0xaa3003ef // mvn x15, x16
206 WORD $0x8b090011 // add x17, x0, x9
207 WORD $0x8b1101ef // add x15, x15, x17
208 WORD $0x8b0d01ed // add x13, x15, x13
209 WORD $0xcb08020f // sub x15, x16, x8
210 WORD $0xaa1003f1 // mov x17, x16
211 WORD $0x14000009 // b LBB0_26 $36(%rip)
212LBB0_24:
213 WORD $0xb100059f // cmn x12, #1
214 WORD $0xaa0f03ec // mov x12, x15
215 WORD $0x54000661 // b.ne LBB0_46 $204(%rip)
216LBB0_25:
217 WORD $0xd10005ad // sub x13, x13, #1
218 WORD $0x910005ef // add x15, x15, #1
219 WORD $0xaa1103f0 // mov x16, x17
220 WORD $0xd1000442 // sub x2, x2, #1
221 WORD $0xb4000882 // cbz x2, LBB0_53 $272(%rip)
222LBB0_26:
223 WORD $0x38401623 // ldrb w3, [x17], #1
224 WORD $0x5100c064 // sub w4, w3, #48
225 WORD $0x7100289f // cmp w4, #10
226 WORD $0x54ffff03 // b.lo LBB0_25 $-32(%rip)
227 WORD $0x7100b47f // cmp w3, #45
228 WORD $0x5400016d // b.le LBB0_32 $44(%rip)
229 WORD $0x7101947f // cmp w3, #101
230 WORD $0x54fffe20 // b.eq LBB0_24 $-60(%rip)
231 WORD $0x7101147f // cmp w3, #69
232 WORD $0x54fffde0 // b.eq LBB0_24 $-68(%rip)
233 WORD $0x7100b87f // cmp w3, #46
234 WORD $0x540001e1 // b.ne LBB0_36 $60(%rip)
235 WORD $0xb100057f // cmn x11, #1
236 WORD $0xaa0f03eb // mov x11, x15
237 WORD $0x54fffda0 // b.eq LBB0_25 $-76(%rip)
238 WORD $0x1400001e // b LBB0_46 $120(%rip)
239LBB0_32:
240 WORD $0x7100ac7f // cmp w3, #43
241 WORD $0x54000060 // b.eq LBB0_34 $12(%rip)
242 WORD $0x7100b47f // cmp w3, #45
243 WORD $0x540000e1 // b.ne LBB0_36 $28(%rip)
244LBB0_34:
245 WORD $0xb100055f // cmn x10, #1
246 WORD $0xaa0f03ea // mov x10, x15
247 WORD $0x54fffca0 // b.eq LBB0_25 $-108(%rip)
248 WORD $0x14000016 // b LBB0_46 $88(%rip)
249LBB0_35:
250 WORD $0x8b22410d // add x13, x8, w2, uxtw
251 WORD $0x8b0f01b0 // add x16, x13, x15
252LBB0_36:
253 WORD $0x9280000d // mov x13, #-1
254 WORD $0xb40003eb // cbz x11, LBB0_51 $124(%rip)
255LBB0_37:
256 WORD $0xb40003ca // cbz x10, LBB0_51 $120(%rip)
257 WORD $0xb40003ac // cbz x12, LBB0_51 $116(%rip)
258 WORD $0xcb08020d // sub x13, x16, x8
259 WORD $0xd10005ae // sub x14, x13, #1
260 WORD $0xeb0e017f // cmp x11, x14
261 WORD $0x54000160 // b.eq LBB0_45 $44(%rip)
262 WORD $0xeb0e015f // cmp x10, x14
263 WORD $0x54000120 // b.eq LBB0_45 $36(%rip)
264 WORD $0xeb0e019f // cmp x12, x14
265 WORD $0x540000e0 // b.eq LBB0_45 $28(%rip)
266 WORD $0xf100054e // subs x14, x10, #1
267 WORD $0x540001cb // b.lt LBB0_48 $56(%rip)
268 WORD $0xeb0e019f // cmp x12, x14
269 WORD $0x54000180 // b.eq LBB0_48 $48(%rip)
270 WORD $0xaa2a03ed // mvn x13, x10
271 WORD $0x1400000f // b LBB0_51 $60(%rip)
272LBB0_45:
273 WORD $0xcb0d03ed // neg x13, x13
274LBB0_46:
275 WORD $0xb7f801ad // tbnz x13, #63, LBB0_51 $52(%rip)
276LBB0_47:
277 WORD $0x8b0d0108 // add x8, x8, x13
278 WORD $0xcb090108 // sub x8, x8, x9
279 WORD $0xf9000028 // str x8, [x1]
280 WORD $0xa941fbfd // ldp fp, lr, [sp, #24]
281 WORD $0xa940cff4 // ldp x20, x19, [sp, #8]
282 WORD $0x9100c3ff // add sp, sp, #48
283 WORD $0xd65f03c0 // ret
284LBB0_48:
285 WORD $0xaa0c016a // orr x10, x11, x12
286 WORD $0xb7f8022a // tbnz x10, #63, LBB0_54 $68(%rip)
287 WORD $0xeb0c017f // cmp x11, x12
288 WORD $0x540001eb // b.lt LBB0_54 $60(%rip)
289 WORD $0xaa2b03ed // mvn x13, x11
290LBB0_51:
291 WORD $0xaa2d03ea // mvn x10, x13
292 WORD $0x8b0a0108 // add x8, x8, x10
293LBB0_52:
294 WORD $0x92800020 // mov x0, #-2
295 WORD $0xcb090108 // sub x8, x8, x9
296 WORD $0xf9000028 // str x8, [x1]
297 WORD $0xa941fbfd // ldp fp, lr, [sp, #24]
298 WORD $0xa940cff4 // ldp x20, x19, [sp, #8]
299 WORD $0x9100c3ff // add sp, sp, #48
300 WORD $0xd65f03c0 // ret
301LBB0_53:
302 WORD $0xaa0e03f0 // mov x16, x14
303 WORD $0x9280000d // mov x13, #-1
304 WORD $0xb5fffaeb // cbnz x11, LBB0_37 $-164(%rip)
305 WORD $0x17fffff4 // b LBB0_51 $-48(%rip)
306LBB0_54:
307 WORD $0xd37ffd4a // lsr x10, x10, #63
308 WORD $0x5200014a // eor w10, w10, #0x1
309 WORD $0xd100058e // sub x14, x12, #1
310 WORD $0xeb0e017f // cmp x11, x14
311 WORD $0x1a9f17eb // cset w11, eq
312 WORD $0x6a0b015f // tst w10, w11
313 WORD $0xda8c01ad // csinv x13, x13, x12, eq
314 WORD $0x17ffffdf // b LBB0_46 $-132(%rip)
315LBB0_55:
316 WORD $0x5ac000ca // rbit w10, w6
317 WORD $0x5ac0114a // clz w10, w10
318 WORD $0xaa2f03eb // mvn x11, x15
319 WORD $0xcb0a016d // sub x13, x11, x10
320 WORD $0x17ffffda // b LBB0_46 $-152(%rip)
321LBB0_56:
322 WORD $0xaa2f03ea // mvn x10, x15
323 WORD $0xcb25414d // sub x13, x10, w5, uxtw
324 WORD $0x17ffffd7 // b LBB0_46 $-164(%rip)
325LBB0_57:
326 WORD $0xaa2f03ea // mvn x10, x15
327 WORD $0xcb24414d // sub x13, x10, w4, uxtw
328 WORD $0x17ffffd4 // b LBB0_46 $-176(%rip)
329LBB0_58:
330 WORD $0xaa2f03ea // mvn x10, x15
331 WORD $0xcb23414d // sub x13, x10, w3, uxtw
332 WORD $0x17ffffd1 // b LBB0_46 $-188(%rip)
333LBB0_59:
334 WORD $0x92800000 // mov x0, #-1
335 WORD $0xcb090108 // sub x8, x8, x9
336 WORD $0xf9000028 // str x8, [x1]
337 WORD $0xa941fbfd // ldp fp, lr, [sp, #24]
338 WORD $0xa940cff4 // ldp x20, x19, [sp, #8]
339 WORD $0x9100c3ff // add sp, sp, #48
340 WORD $0xd65f03c0 // ret
341LBB0_60:
342 WORD $0x9280000b // mov x11, #-1
343 WORD $0xaa0803f0 // mov x16, x8
344 WORD $0xaa0e03e2 // mov x2, x14
345 WORD $0x9280000c // mov x12, #-1
346 WORD $0x9280000a // mov x10, #-1
347 WORD $0x17ffff87 // b LBB0_23 $-484(%rip)
348 // .p2align 2, 0x00
349_MASK_USE_NUMBER:
350 WORD $0x00000002 // .long 2
351
352TEXT ·__skip_number(SB), NOSPLIT, $0-24
353 NO_LOCAL_POINTERS
354
355_entry:
356 MOVD 16(g), R16
357 SUB $112, RSP, R17
358 CMP R16, R17
359 BLS _stack_grow
360
361_skip_number:
362 MOVD s+0(FP), R0
363 MOVD p+8(FP), R1
364 MOVD ·_subr__skip_number(SB), R11
365 WORD $0x1000005e // adr x30, .+8
366 JMP (R11)
367 MOVD R0, ret+16(FP)
368 RET
369
370_stack_grow:
371 MOVD R30, R3
372 CALL runtime·morestack_noctxt<>(SB)
373 JMP _entry
View as plain text