...

Text file src/github.com/bytedance/sonic/internal/native/neon/f32toa_arm64.s

Documentation: github.com/bytedance/sonic/internal/native/neon

     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 ·__f32toa_entry__(SB), NOSPLIT, $16
     9	NO_LOCAL_POINTERS
    10	WORD $0x100000a0 // adr x0, .+20
    11	MOVD R0, ret(FP)
    12	RET
    13	  // .p2align 2, 0x00
    14_f32toa:
    15	WORD $0xd10083ff  // sub	sp, sp, #32
    16	WORD $0xa900fbfd  // stp	fp, lr, [sp, #8]
    17	WORD $0xa93ffbfd  // stp	fp, lr, [sp, #-8]
    18	WORD $0xd10023fd  // sub	fp, sp, #8
    19	WORD $0x1e260009  // fmov	w9, s0
    20	WORD $0x5317792b  // ubfx	w11, w9, #23, #8
    21	WORD $0x7103fd7f  // cmp	w11, #255
    22	WORD $0x54005b20  // b.eq	LBB0_130 $2916(%rip)
    23	WORD $0x528005a8  // mov	w8, #45
    24	WORD $0x39000008  // strb	w8, [x0]
    25	WORD $0x531f7d2a  // lsr	w10, w9, #31
    26	WORD $0x8b0a0008  // add	x8, x0, x10
    27	WORD $0x1e26000c  // fmov	w12, s0
    28	WORD $0x7200799f  // tst	w12, #0x7fffffff
    29	WORD $0x54000e00  // b.eq	LBB0_10 $448(%rip)
    30	WORD $0x1200592e  // and	w14, w9, #0x7fffff
    31	WORD $0x5290d3e9  // mov	w9, #34463
    32	WORD $0x72a00029  // movk	w9, #1, lsl #16
    33	WORD $0x34005a4b  // cbz	w11, LBB0_131 $2888(%rip)
    34	WORD $0x320901cd  // orr	w13, w14, #0x800000
    35	WORD $0x5102596c  // sub	w12, w11, #150
    36	WORD $0x5101fd6f  // sub	w15, w11, #127
    37	WORD $0x71005dff  // cmp	w15, #23
    38	WORD $0x54000108  // b.hi	LBB0_5 $32(%rip)
    39	WORD $0x528012cf  // mov	w15, #150
    40	WORD $0x4b0b01ef  // sub	w15, w15, w11
    41	WORD $0x92800010  // mov	x16, #-1
    42	WORD $0x9acf2210  // lsl	x16, x16, x15
    43	WORD $0x2a3003f0  // mvn	w16, w16
    44	WORD $0xea0d021f  // tst	x16, x13
    45	WORD $0x54001120  // b.eq	LBB0_17 $548(%rip)
    46LBB0_5:
    47	WORD $0x120001af  // and	w15, w13, #0x1
    48	WORD $0x710001df  // cmp	w14, #0
    49	WORD $0x1a9f17ee  // cset	w14, eq
    50	WORD $0x7100057f  // cmp	w11, #1
    51	WORD $0x1a9f97eb  // cset	w11, hi
    52	WORD $0x531e75b0  // lsl	w16, w13, #2
    53	WORD $0x6a0b01cb  // ands	w11, w14, w11
    54	WORD $0x2a0b020b  // orr	w11, w16, w11
    55	WORD $0x52800051  // mov	w17, #2
    56	WORD $0x331e5db1  // bfi	w17, w13, #2, #24
    57	WORD $0x5288826d  // mov	w13, #17427
    58	WORD $0x72a0026d  // movk	w13, #19, lsl #16
    59	WORD $0x5280202e  // mov	w14, #257
    60	WORD $0x72bfff0e  // movk	w14, #65528, lsl #16
    61	WORD $0x1a9f11ce  // csel	w14, w14, wzr, ne
    62	WORD $0x51000961  // sub	w1, w11, #2
    63	WORD $0x1b0d398b  // madd	w11, w12, w13, w14
    64	WORD $0x13167d6b  // asr	w11, w11, #22
    65	WORD $0x528d962d  // mov	w13, #27825
    66	WORD $0x72bffcad  // movk	w13, #65509, lsl #16
    67	WORD $0x1b0d7d6d  // mul	w13, w11, w13
    68	WORD $0x0b8d4d8c  // add	w12, w12, w13, asr #19
    69	WORD $0x1100058c  // add	w12, w12, #1
    70	WORD $0x528003ed  // mov	w13, #31
    71Lloh0:
    72	WORD $0x10005c6e  // adr	x14, _pow10_ceil_sig_f32.g $2956(%rip)
    73Lloh1:
    74	WORD $0x910001ce  // add	x14, x14, _pow10_ceil_sig_f32.g@PAGEOFF $0(%rip)
    75	WORD $0x4b0b01ad  // sub	w13, w13, w11
    76	WORD $0xf86d59c2  // ldr	x2, [x14, w13, uxtw #3]
    77	WORD $0x1acc202d  // lsl	w13, w1, w12
    78	WORD $0x9b027dae  // mul	x14, x13, x2
    79	WORD $0x9bc27dad  // umulh	x13, x13, x2
    80	WORD $0xf25f79df  // tst	x14, #0xfffffffe00000000
    81	WORD $0x1a9f07ee  // cset	w14, ne
    82	WORD $0x2a0d01c1  // orr	w1, w14, w13
    83	WORD $0x1acc220d  // lsl	w13, w16, w12
    84	WORD $0x9b027dae  // mul	x14, x13, x2
    85	WORD $0x9bc27dad  // umulh	x13, x13, x2
    86	WORD $0xf25f79df  // tst	x14, #0xfffffffe00000000
    87	WORD $0x1a9f07ee  // cset	w14, ne
    88	WORD $0x2a0d01ce  // orr	w14, w14, w13
    89	WORD $0x1acc222c  // lsl	w12, w17, w12
    90	WORD $0x9b027d90  // mul	x16, x12, x2
    91	WORD $0x9bc27d8c  // umulh	x12, x12, x2
    92	WORD $0xf25f7a1f  // tst	x16, #0xfffffffe00000000
    93	WORD $0x1a9f07f0  // cset	w16, ne
    94	WORD $0x2a0c020c  // orr	w12, w16, w12
    95	WORD $0x0b0f0030  // add	w16, w1, w15
    96	WORD $0x4b0f018f  // sub	w15, w12, w15
    97	WORD $0x7100a1df  // cmp	w14, #40
    98	WORD $0x540001e3  // b.lo	LBB0_7 $60(%rip)
    99	WORD $0x529999ac  // mov	w12, #52429
   100	WORD $0x72b9998c  // movk	w12, #52428, lsl #16
   101	WORD $0x9bac7dac  // umull	x12, w13, w12
   102	WORD $0xd365fd8c  // lsr	x12, x12, #37
   103	WORD $0x8b0c0991  // add	x17, x12, x12, lsl #2
   104	WORD $0xd37df231  // lsl	x17, x17, #3
   105	WORD $0x9100a221  // add	x1, x17, #40
   106	WORD $0xeb30423f  // cmp	x17, w16, uxtw
   107	WORD $0x1a9f27f1  // cset	w17, lo
   108	WORD $0xeb2f403f  // cmp	x1, w15, uxtw
   109	WORD $0x1a9f87e1  // cset	w1, ls
   110	WORD $0x1a8c858c  // cinc	w12, w12, ls
   111	WORD $0x6b01023f  // cmp	w17, w1
   112	WORD $0x540004e0  // b.eq	LBB0_11 $156(%rip)
   113LBB0_7:
   114	WORD $0xd3427dac  // ubfx	x12, x13, #2, #30
   115	WORD $0x121e75b1  // and	w17, w13, #0xfffffffc
   116	WORD $0x11001221  // add	w1, w17, #4
   117	WORD $0x6b0f003f  // cmp	w1, w15
   118	WORD $0x1a9f87e2  // cset	w2, ls
   119	WORD $0x6b11021f  // cmp	w16, w17
   120	WORD $0x1a9f97f0  // cset	w16, hi
   121	WORD $0x4a020210  // eor	w16, w16, w2
   122	WORD $0x321f0231  // orr	w17, w17, #0x2
   123	WORD $0x52800022  // mov	w2, #1
   124	WORD $0x6b1101df  // cmp	w14, w17
   125	WORD $0x1a9f17ee  // cset	w14, eq
   126	WORD $0x0a4d09cd  // and	w13, w14, w13, lsr #2
   127	WORD $0x1a8d804d  // csel	w13, w2, w13, hi
   128	WORD $0x0b0c01ad  // add	w13, w13, w12
   129	WORD $0x6b0f003f  // cmp	w1, w15
   130	WORD $0x1a8c858c  // cinc	w12, w12, ls
   131	WORD $0x7200021f  // tst	w16, #0x1
   132	WORD $0x1a8c11ac  // csel	w12, w13, w12, ne
   133	WORD $0x6b09019f  // cmp	w12, w9
   134	WORD $0x540002a9  // b.ls	LBB0_12 $84(%rip)
   135LBB0_8:
   136	WORD $0x52884809  // mov	w9, #16960
   137	WORD $0x72a001e9  // movk	w9, #15, lsl #16
   138	WORD $0x6b09019f  // cmp	w12, w9
   139	WORD $0x54000322  // b.hs	LBB0_14 $100(%rip)
   140	WORD $0x528000cd  // mov	w13, #6
   141	WORD $0x0b0b01a9  // add	w9, w13, w11
   142	WORD $0x5100592e  // sub	w14, w9, #22
   143	WORD $0x310071df  // cmn	w14, #28
   144	WORD $0x54000ae8  // b.hi	LBB0_22 $348(%rip)
   145	WORD $0x140000bc  // b	LBB0_43 $752(%rip)
   146LBB0_10:
   147	WORD $0x52800609  // mov	w9, #48
   148	WORD $0x39000109  // strb	w9, [x8]
   149	WORD $0x4b000108  // sub	w8, w8, w0
   150	WORD $0x11000500  // add	w0, w8, #1
   151	WORD $0xa940fbfd  // ldp	fp, lr, [sp, #8]
   152	WORD $0x910083ff  // add	sp, sp, #32
   153	WORD $0xd65f03c0  // ret
   154LBB0_11:
   155	WORD $0x1100056b  // add	w11, w11, #1
   156	WORD $0x6b09019f  // cmp	w12, w9
   157	WORD $0x54fffda8  // b.hi	LBB0_8 $-76(%rip)
   158LBB0_12:
   159	WORD $0x7100299f  // cmp	w12, #10
   160	WORD $0x540002c2  // b.hs	LBB0_15 $88(%rip)
   161	WORD $0x5280002d  // mov	w13, #1
   162	WORD $0x0b0b01a9  // add	w9, w13, w11
   163	WORD $0x5100592e  // sub	w14, w9, #22
   164	WORD $0x310071df  // cmn	w14, #28
   165	WORD $0x540008a8  // b.hi	LBB0_22 $276(%rip)
   166	WORD $0x140000aa  // b	LBB0_43 $680(%rip)
   167LBB0_14:
   168	WORD $0x528000e9  // mov	w9, #7
   169	WORD $0x5292d00d  // mov	w13, #38528
   170	WORD $0x72a0130d  // movk	w13, #152, lsl #16
   171	WORD $0x529c200e  // mov	w14, #57600
   172	WORD $0x72a0beae  // movk	w14, #1525, lsl #16
   173	WORD $0x6b0e019f  // cmp	w12, w14
   174	WORD $0x5280010e  // mov	w14, #8
   175	WORD $0x1a8e35ce  // cinc	w14, w14, hs
   176	WORD $0x6b0d019f  // cmp	w12, w13
   177	WORD $0x1a8e312d  // csel	w13, w9, w14, lo
   178	WORD $0x0b0b01a9  // add	w9, w13, w11
   179	WORD $0x5100592e  // sub	w14, w9, #22
   180	WORD $0x310071df  // cmn	w14, #28
   181	WORD $0x540006c8  // b.hi	LBB0_22 $216(%rip)
   182	WORD $0x1400009b  // b	LBB0_43 $620(%rip)
   183LBB0_15:
   184	WORD $0x7101919f  // cmp	w12, #100
   185	WORD $0x54000582  // b.hs	LBB0_20 $176(%rip)
   186	WORD $0x5280004d  // mov	w13, #2
   187	WORD $0x0b0b01a9  // add	w9, w13, w11
   188	WORD $0x5100592e  // sub	w14, w9, #22
   189	WORD $0x310071df  // cmn	w14, #28
   190	WORD $0x540005c8  // b.hi	LBB0_22 $184(%rip)
   191	WORD $0x14000093  // b	LBB0_43 $588(%rip)
   192LBB0_17:
   193	WORD $0x1acf25ab  // lsr	w11, w13, w15
   194Lloh2:
   195	WORD $0x100047ea  // adr	x10, _Digits $2300(%rip)
   196Lloh3:
   197	WORD $0x9100014a  // add	x10, x10, _Digits@PAGEOFF $0(%rip)
   198	WORD $0x6b09017f  // cmp	w11, w9
   199	WORD $0x54001049  // b.ls	LBB0_40 $520(%rip)
   200	WORD $0x5292d009  // mov	w9, #38528
   201	WORD $0x72a01309  // movk	w9, #152, lsl #16
   202	WORD $0x6b09017f  // cmp	w11, w9
   203	WORD $0x528000e9  // mov	w9, #7
   204	WORD $0x9a893529  // cinc	x9, x9, hs
   205	WORD $0x5288480c  // mov	w12, #16960
   206	WORD $0x72a001ec  // movk	w12, #15, lsl #16
   207	WORD $0x6b0c017f  // cmp	w11, w12
   208	WORD $0x528000cc  // mov	w12, #6
   209	WORD $0x9a893189  // csel	x9, x12, x9, lo
   210	WORD $0x8b09010c  // add	x12, x8, x9
   211LBB0_19:
   212	WORD $0x5286dc69  // mov	w9, #14051
   213	WORD $0x72a00349  // movk	w9, #26, lsl #16
   214	WORD $0x9ba97d69  // umull	x9, w11, w9
   215	WORD $0xd362fd2d  // lsr	x13, x9, #34
   216	WORD $0x1284e1e9  // mov	w9, #-10000
   217	WORD $0x1b092da9  // madd	w9, w13, w9, w11
   218	WORD $0x5290a3eb  // mov	w11, #34079
   219	WORD $0x72aa3d6b  // movk	w11, #20971, lsl #16
   220	WORD $0x9bab7d2b  // umull	x11, w9, w11
   221	WORD $0xd365fd6b  // lsr	x11, x11, #37
   222	WORD $0x52800c8e  // mov	w14, #100
   223	WORD $0x1b0ea569  // msub	w9, w11, w14, w9
   224	WORD $0x7869594e  // ldrh	w14, [x10, w9, uxtw #1]
   225	WORD $0x786b794b  // ldrh	w11, [x10, x11, lsl #1]
   226	WORD $0xaa0c03e9  // mov	x9, x12
   227	WORD $0x781fcd8b  // strh	w11, [x12, #-4]!
   228	WORD $0x7900058e  // strh	w14, [x12, #2]
   229	WORD $0xaa0d03eb  // mov	x11, x13
   230	WORD $0x7101917f  // cmp	w11, #100
   231	WORD $0x540022e2  // b.hs	LBB0_77 $1116(%rip)
   232	WORD $0x14000124  // b	LBB0_79 $1168(%rip)
   233LBB0_20:
   234	WORD $0x710fa19f  // cmp	w12, #1000
   235	WORD $0x54000c82  // b.hs	LBB0_42 $400(%rip)
   236	WORD $0x5280006d  // mov	w13, #3
   237	WORD $0x0b0b01a9  // add	w9, w13, w11
   238	WORD $0x5100592e  // sub	w14, w9, #22
   239	WORD $0x310071df  // cmn	w14, #28
   240	WORD $0x54000ce9  // b.ls	LBB0_43 $412(%rip)
   241LBB0_22:
   242	WORD $0x37f803cb  // tbnz	w11, #31, LBB0_26 $120(%rip)
   243	WORD $0x2a0d03ee  // mov	w14, w13
   244	WORD $0x8b0e010b  // add	x11, x8, x14
   245	WORD $0x53047d8f  // lsr	w15, w12, #4
   246	WORD $0x7109c5ff  // cmp	w15, #625
   247	WORD $0x54000483  // b.lo	LBB0_30 $144(%rip)
   248	WORD $0x5282eb2f  // mov	w15, #5977
   249	WORD $0x72ba36ef  // movk	w15, #53687, lsl #16
   250	WORD $0x9baf7d8f  // umull	x15, w12, w15
   251	WORD $0xd36dfdf0  // lsr	x16, x15, #45
   252	WORD $0x1284e1ef  // mov	w15, #-10000
   253	WORD $0x1b0f320c  // madd	w12, w16, w15, w12
   254	WORD $0x5290a3ef  // mov	w15, #34079
   255	WORD $0x72aa3d6f  // movk	w15, #20971, lsl #16
   256	WORD $0x9baf7d8f  // umull	x15, w12, w15
   257	WORD $0xd365fdef  // lsr	x15, x15, #37
   258	WORD $0x52800c91  // mov	w17, #100
   259	WORD $0x1b11b1ec  // msub	w12, w15, w17, w12
   260Lloh4:
   261	WORD $0x10004051  // adr	x17, _Digits $2056(%rip)
   262Lloh5:
   263	WORD $0x91000231  // add	x17, x17, _Digits@PAGEOFF $0(%rip)
   264	WORD $0x786c5a2c  // ldrh	w12, [x17, w12, uxtw #1]
   265	WORD $0x786f7a31  // ldrh	w17, [x17, x15, lsl #1]
   266	WORD $0xaa0b03ef  // mov	x15, x11
   267	WORD $0x781fcdf1  // strh	w17, [x15, #-4]!
   268	WORD $0x790005ec  // strh	w12, [x15, #2]
   269	WORD $0xaa1003ec  // mov	x12, x16
   270	WORD $0x7101919f  // cmp	w12, #100
   271	WORD $0x54000222  // b.hs	LBB0_31 $68(%rip)
   272LBB0_25:
   273	WORD $0xaa0c03ef  // mov	x15, x12
   274	WORD $0x1400001f  // b	LBB0_33 $124(%rip)
   275LBB0_26:
   276	WORD $0x7100013f  // cmp	w9, #0
   277	WORD $0x540024cc  // b.gt	LBB0_88 $1176(%rip)
   278	WORD $0x5285c60e  // mov	w14, #11824
   279	WORD $0x7800250e  // strh	w14, [x8], #2
   280	WORD $0x36f82469  // tbz	w9, #31, LBB0_88 $1164(%rip)
   281	WORD $0x2a2d03ee  // mvn	w14, w13
   282	WORD $0x4b0b01ce  // sub	w14, w14, w11
   283	WORD $0x7100fddf  // cmp	w14, #63
   284	WORD $0x54002182  // b.hs	LBB0_83 $1072(%rip)
   285	WORD $0x5280000e  // mov	w14, #0
   286	WORD $0x14000117  // b	LBB0_86 $1116(%rip)
   287LBB0_30:
   288	WORD $0xaa0b03ef  // mov	x15, x11
   289	WORD $0x7101919f  // cmp	w12, #100
   290	WORD $0x54fffe23  // b.lo	LBB0_25 $-60(%rip)
   291LBB0_31:
   292	WORD $0xd10005f0  // sub	x16, x15, #1
   293	WORD $0x5290a3f1  // mov	w17, #34079
   294	WORD $0x72aa3d71  // movk	w17, #20971, lsl #16
   295	WORD $0x52800c81  // mov	w1, #100
   296Lloh6:
   297	WORD $0x10003c82  // adr	x2, _Digits $1936(%rip)
   298Lloh7:
   299	WORD $0x91000042  // add	x2, x2, _Digits@PAGEOFF $0(%rip)
   300LBB0_32:
   301	WORD $0x9bb17d8f  // umull	x15, w12, w17
   302	WORD $0xd365fdef  // lsr	x15, x15, #37
   303	WORD $0x1b01b1e3  // msub	w3, w15, w1, w12
   304	WORD $0x78635843  // ldrh	w3, [x2, w3, uxtw #1]
   305	WORD $0x781ff203  // sturh	w3, [x16, #-1]
   306	WORD $0xd1000a10  // sub	x16, x16, #2
   307	WORD $0x53047d83  // lsr	w3, w12, #4
   308	WORD $0xaa0f03ec  // mov	x12, x15
   309	WORD $0x7109c07f  // cmp	w3, #624
   310	WORD $0x54fffee8  // b.hi	LBB0_32 $-36(%rip)
   311LBB0_33:
   312	WORD $0x8b09010c  // add	x12, x8, x9
   313	WORD $0x710029ff  // cmp	w15, #10
   314	WORD $0x54000163  // b.lo	LBB0_36 $44(%rip)
   315Lloh8:
   316	WORD $0x10003ab0  // adr	x16, _Digits $1876(%rip)
   317Lloh9:
   318	WORD $0x91000210  // add	x16, x16, _Digits@PAGEOFF $0(%rip)
   319	WORD $0x786f5a0f  // ldrh	w15, [x16, w15, uxtw #1]
   320	WORD $0x7900010f  // strh	w15, [x8]
   321	WORD $0x6b0901bf  // cmp	w13, w9
   322	WORD $0x54000123  // b.lo	LBB0_37 $36(%rip)
   323LBB0_35:
   324	WORD $0x4b000180  // sub	w0, w12, w0
   325	WORD $0xa940fbfd  // ldp	fp, lr, [sp, #8]
   326	WORD $0x910083ff  // add	sp, sp, #32
   327	WORD $0xd65f03c0  // ret
   328LBB0_36:
   329	WORD $0x321c05ef  // orr	w15, w15, #0x30
   330	WORD $0x3900010f  // strb	w15, [x8]
   331	WORD $0x6b0901bf  // cmp	w13, w9
   332	WORD $0x54ffff22  // b.hs	LBB0_35 $-28(%rip)
   333LBB0_37:
   334	WORD $0x8b0a0008  // add	x8, x0, x10
   335	WORD $0x8b0e010d  // add	x13, x8, x14
   336	WORD $0x910005af  // add	x15, x13, #1
   337	WORD $0x8b090108  // add	x8, x8, x9
   338	WORD $0xeb0801ff  // cmp	x15, x8
   339	WORD $0x9a8d9508  // csinc	x8, x8, x13, ls
   340	WORD $0xcb0d0108  // sub	x8, x8, x13
   341	WORD $0xf100211f  // cmp	x8, #8
   342	WORD $0x54003663  // b.lo	LBB0_128 $1740(%rip)
   343	WORD $0xf101011f  // cmp	x8, #64
   344	WORD $0x540012a2  // b.hs	LBB0_67 $596(%rip)
   345	WORD $0xd2800009  // mov	x9, #0
   346	WORD $0x140000a1  // b	LBB0_71 $644(%rip)
   347LBB0_40:
   348	WORD $0x7100297f  // cmp	w11, #10
   349	WORD $0x540011a2  // b.hs	LBB0_65 $564(%rip)
   350	WORD $0x52800029  // mov	w9, #1
   351	WORD $0x140000ad  // b	LBB0_76 $692(%rip)
   352LBB0_42:
   353	WORD $0x53047d89  // lsr	w9, w12, #4
   354	WORD $0x7109c53f  // cmp	w9, #625
   355	WORD $0x52800089  // mov	w9, #4
   356	WORD $0x1a89352d  // cinc	w13, w9, hs
   357	WORD $0x0b0b01a9  // add	w9, w13, w11
   358	WORD $0x5100592e  // sub	w14, w9, #22
   359	WORD $0x310071df  // cmn	w14, #28
   360	WORD $0x54fff368  // b.hi	LBB0_22 $-404(%rip)
   361LBB0_43:
   362	WORD $0x9100050b  // add	x11, x8, #1
   363	WORD $0x2a0d03ed  // mov	w13, w13
   364	WORD $0x8b0d0170  // add	x16, x11, x13
   365	WORD $0x53047d8e  // lsr	w14, w12, #4
   366	WORD $0x7109c5df  // cmp	w14, #625
   367	WORD $0x540002c3  // b.lo	LBB0_46 $88(%rip)
   368	WORD $0x5282eb2e  // mov	w14, #5977
   369	WORD $0x72ba36ee  // movk	w14, #53687, lsl #16
   370	WORD $0x9bae7d8e  // umull	x14, w12, w14
   371	WORD $0xd36dfdcf  // lsr	x15, x14, #45
   372	WORD $0x1284e1ee  // mov	w14, #-10000
   373	WORD $0x1b0e31ec  // madd	w12, w15, w14, w12
   374	WORD $0x340002ac  // cbz	w12, LBB0_48 $84(%rip)
   375	WORD $0xd280000e  // mov	x14, #0
   376	WORD $0x5290a3f1  // mov	w17, #34079
   377	WORD $0x72aa3d71  // movk	w17, #20971, lsl #16
   378	WORD $0x9bb17d91  // umull	x17, w12, w17
   379	WORD $0xd365fe31  // lsr	x17, x17, #37
   380	WORD $0x52800c81  // mov	w1, #100
   381	WORD $0x1b01b22c  // msub	w12, w17, w1, w12
   382Lloh10:
   383	WORD $0x10003341  // adr	x1, _Digits $1640(%rip)
   384Lloh11:
   385	WORD $0x91000021  // add	x1, x1, _Digits@PAGEOFF $0(%rip)
   386	WORD $0x786c582c  // ldrh	w12, [x1, w12, uxtw #1]
   387	WORD $0x781fe20c  // sturh	w12, [x16, #-2]
   388	WORD $0x7871782c  // ldrh	w12, [x1, x17, lsl #1]
   389	WORD $0x781fc20c  // sturh	w12, [x16, #-4]
   390	WORD $0x14000008  // b	LBB0_49 $32(%rip)
   391LBB0_46:
   392	WORD $0xd280000e  // mov	x14, #0
   393	WORD $0xaa0c03ef  // mov	x15, x12
   394	WORD $0x710191ff  // cmp	w15, #100
   395	WORD $0x540000e2  // b.hs	LBB0_50 $28(%rip)
   396LBB0_47:
   397	WORD $0xaa0f03ec  // mov	x12, x15
   398	WORD $0x14000015  // b	LBB0_52 $84(%rip)
   399LBB0_48:
   400	WORD $0x9280006e  // mov	x14, #-4
   401LBB0_49:
   402	WORD $0xd1001210  // sub	x16, x16, #4
   403	WORD $0x710191ff  // cmp	w15, #100
   404	WORD $0x54ffff63  // b.lo	LBB0_47 $-20(%rip)
   405LBB0_50:
   406	WORD $0xd1000610  // sub	x16, x16, #1
   407	WORD $0x5290a3f1  // mov	w17, #34079
   408	WORD $0x72aa3d71  // movk	w17, #20971, lsl #16
   409	WORD $0x52800c81  // mov	w1, #100
   410Lloh12:
   411	WORD $0x100030a2  // adr	x2, _Digits $1556(%rip)
   412Lloh13:
   413	WORD $0x91000042  // add	x2, x2, _Digits@PAGEOFF $0(%rip)
   414LBB0_51:
   415	WORD $0x9bb17dec  // umull	x12, w15, w17
   416	WORD $0xd365fd8c  // lsr	x12, x12, #37
   417	WORD $0x1b01bd83  // msub	w3, w12, w1, w15
   418	WORD $0x78635843  // ldrh	w3, [x2, w3, uxtw #1]
   419	WORD $0x781ff203  // sturh	w3, [x16, #-1]
   420	WORD $0xd1000a10  // sub	x16, x16, #2
   421	WORD $0x53047de3  // lsr	w3, w15, #4
   422	WORD $0xaa0c03ef  // mov	x15, x12
   423	WORD $0x7109c07f  // cmp	w3, #624
   424	WORD $0x54fffee8  // b.hi	LBB0_51 $-36(%rip)
   425LBB0_52:
   426	WORD $0x7100299f  // cmp	w12, #10
   427	WORD $0x54000123  // b.lo	LBB0_54 $36(%rip)
   428Lloh14:
   429	WORD $0x10002eef  // adr	x15, _Digits $1500(%rip)
   430Lloh15:
   431	WORD $0x910001ef  // add	x15, x15, _Digits@PAGEOFF $0(%rip)
   432	WORD $0x8b2c45ef  // add	x15, x15, w12, uxtw #1
   433	WORD $0x394001ec  // ldrb	w12, [x15]
   434	WORD $0x3900050c  // strb	w12, [x8, #1]
   435	WORD $0x394005ef  // ldrb	w15, [x15, #1]
   436	WORD $0x3900090f  // strb	w15, [x8, #2]
   437	WORD $0x14000003  // b	LBB0_55 $12(%rip)
   438LBB0_54:
   439	WORD $0x321c058c  // orr	w12, w12, #0x30
   440	WORD $0x3900016c  // strb	w12, [x11]
   441LBB0_55:
   442	WORD $0x8b0a01ca  // add	x10, x14, x10
   443	WORD $0x8b0a000a  // add	x10, x0, x10
   444	WORD $0x910005ce  // add	x14, x14, #1
   445LBB0_56:
   446	WORD $0x386d694f  // ldrb	w15, [x10, x13]
   447	WORD $0xd100054a  // sub	x10, x10, #1
   448	WORD $0xd10005ce  // sub	x14, x14, #1
   449	WORD $0x7100c1ff  // cmp	w15, #48
   450	WORD $0x54ffff80  // b.eq	LBB0_56 $-16(%rip)
   451	WORD $0x3900010c  // strb	w12, [x8]
   452	WORD $0x8b0e01ac  // add	x12, x13, x14
   453	WORD $0x8b0d0148  // add	x8, x10, x13
   454	WORD $0xf100099f  // cmp	x12, #2
   455	WORD $0x540000ab  // b.lt	LBB0_59 $20(%rip)
   456	WORD $0x91000908  // add	x8, x8, #2
   457	WORD $0x528005ca  // mov	w10, #46
   458	WORD $0x3900016a  // strb	w10, [x11]
   459	WORD $0x14000002  // b	LBB0_60 $8(%rip)
   460LBB0_59:
   461	WORD $0x91000508  // add	x8, x8, #1
   462LBB0_60:
   463	WORD $0x52800caa  // mov	w10, #101
   464	WORD $0x3900010a  // strb	w10, [x8]
   465	WORD $0x5280002a  // mov	w10, #1
   466	WORD $0x4b09014a  // sub	w10, w10, w9
   467	WORD $0x71000529  // subs	w9, w9, #1
   468	WORD $0x5280056b  // mov	w11, #43
   469	WORD $0x528005ac  // mov	w12, #45
   470	WORD $0x1a8bb18b  // csel	w11, w12, w11, lt
   471	WORD $0x1a89b149  // csel	w9, w10, w9, lt
   472	WORD $0x3900050b  // strb	w11, [x8, #1]
   473	WORD $0x7101913f  // cmp	w9, #100
   474	WORD $0x54000243  // b.lo	LBB0_62 $72(%rip)
   475	WORD $0x529999aa  // mov	w10, #52429
   476	WORD $0x72b9998a  // movk	w10, #52428, lsl #16
   477	WORD $0x9baa7d2a  // umull	x10, w9, w10
   478	WORD $0xd363fd4a  // lsr	x10, x10, #35
   479	WORD $0x5280014b  // mov	w11, #10
   480	WORD $0x1b0ba549  // msub	w9, w10, w11, w9
   481Lloh16:
   482	WORD $0x1000292b  // adr	x11, _Digits $1316(%rip)
   483Lloh17:
   484	WORD $0x9100016b  // add	x11, x11, _Digits@PAGEOFF $0(%rip)
   485	WORD $0x786a796a  // ldrh	w10, [x11, x10, lsl #1]
   486	WORD $0x7900050a  // strh	w10, [x8, #2]
   487	WORD $0x321c0529  // orr	w9, w9, #0x30
   488	WORD $0x39001109  // strb	w9, [x8, #4]
   489	WORD $0x9100150c  // add	x12, x8, #5
   490	WORD $0x4b000180  // sub	w0, w12, w0
   491	WORD $0xa940fbfd  // ldp	fp, lr, [sp, #8]
   492	WORD $0x910083ff  // add	sp, sp, #32
   493	WORD $0xd65f03c0  // ret
   494LBB0_62:
   495	WORD $0x7100293f  // cmp	w9, #10
   496	WORD $0x54000143  // b.lo	LBB0_64 $40(%rip)
   497Lloh18:
   498	WORD $0x1000278a  // adr	x10, _Digits $1264(%rip)
   499Lloh19:
   500	WORD $0x9100014a  // add	x10, x10, _Digits@PAGEOFF $0(%rip)
   501	WORD $0x78695949  // ldrh	w9, [x10, w9, uxtw #1]
   502	WORD $0x79000509  // strh	w9, [x8, #2]
   503	WORD $0x9100110c  // add	x12, x8, #4
   504	WORD $0x4b000180  // sub	w0, w12, w0
   505	WORD $0xa940fbfd  // ldp	fp, lr, [sp, #8]
   506	WORD $0x910083ff  // add	sp, sp, #32
   507	WORD $0xd65f03c0  // ret
   508LBB0_64:
   509	WORD $0x321c0529  // orr	w9, w9, #0x30
   510	WORD $0x91000d0c  // add	x12, x8, #3
   511	WORD $0x39000909  // strb	w9, [x8, #2]
   512	WORD $0x4b000180  // sub	w0, w12, w0
   513	WORD $0xa940fbfd  // ldp	fp, lr, [sp, #8]
   514	WORD $0x910083ff  // add	sp, sp, #32
   515	WORD $0xd65f03c0  // ret
   516LBB0_65:
   517	WORD $0x7101917f  // cmp	w11, #100
   518	WORD $0x540003c2  // b.hs	LBB0_74 $120(%rip)
   519	WORD $0x52800049  // mov	w9, #2
   520	WORD $0x1400001f  // b	LBB0_76 $124(%rip)
   521LBB0_67:
   522	WORD $0x927ae509  // and	x9, x8, #0xffffffffffffffc0
   523	WORD $0x8b0e014d  // add	x13, x10, x14
   524	WORD $0x8b0001ad  // add	x13, x13, x0
   525	WORD $0x910081ad  // add	x13, x13, #32
   526	WORD $0x4f01e600  // movi.16b	v0, #48
   527	WORD $0xaa0903ef  // mov	x15, x9
   528LBB0_68:
   529	WORD $0xad3f01a0  // stp	q0, q0, [x13, #-32]
   530	WORD $0xac8201a0  // stp	q0, q0, [x13], #64
   531	WORD $0xf10101ef  // subs	x15, x15, #64
   532	WORD $0x54ffffa1  // b.ne	LBB0_68 $-12(%rip)
   533	WORD $0xeb09011f  // cmp	x8, x9
   534	WORD $0x54ffe9c0  // b.eq	LBB0_35 $-712(%rip)
   535	WORD $0xf27d091f  // tst	x8, #0x38
   536	WORD $0x540021c0  // b.eq	LBB0_127 $1080(%rip)
   537LBB0_71:
   538	WORD $0x927df10d  // and	x13, x8, #0xfffffffffffffff8
   539	WORD $0x8b0d016b  // add	x11, x11, x13
   540	WORD $0x8b0a012a  // add	x10, x9, x10
   541	WORD $0x8b0e014a  // add	x10, x10, x14
   542	WORD $0x8b0a000a  // add	x10, x0, x10
   543	WORD $0xcb0d0129  // sub	x9, x9, x13
   544	WORD $0x0f01e600  // movi.8b	v0, #48
   545LBB0_72:
   546	WORD $0xfc008540  // str	d0, [x10], #8
   547	WORD $0xb1002129  // adds	x9, x9, #8
   548	WORD $0x54ffffc1  // b.ne	LBB0_72 $-8(%rip)
   549	WORD $0xeb0d011f  // cmp	x8, x13
   550	WORD $0x54ffe800  // b.eq	LBB0_35 $-768(%rip)
   551	WORD $0x14000102  // b	LBB0_128 $1032(%rip)
   552LBB0_74:
   553	WORD $0x710f9d7f  // cmp	w11, #999
   554	WORD $0x54000448  // b.hi	LBB0_82 $136(%rip)
   555	WORD $0x52800069  // mov	w9, #3
   556LBB0_76:
   557	WORD $0x8b090109  // add	x9, x8, x9
   558	WORD $0xaa0903ec  // mov	x12, x9
   559	WORD $0x7101917f  // cmp	w11, #100
   560	WORD $0x540001e3  // b.lo	LBB0_79 $60(%rip)
   561LBB0_77:
   562	WORD $0xd100058c  // sub	x12, x12, #1
   563	WORD $0x5290a3ed  // mov	w13, #34079
   564	WORD $0x72aa3d6d  // movk	w13, #20971, lsl #16
   565	WORD $0x52800c8e  // mov	w14, #100
   566LBB0_78:
   567	WORD $0xaa0b03ef  // mov	x15, x11
   568	WORD $0x9bad7d6b  // umull	x11, w11, w13
   569	WORD $0xd365fd6b  // lsr	x11, x11, #37
   570	WORD $0x1b0ebd70  // msub	w16, w11, w14, w15
   571	WORD $0x78705950  // ldrh	w16, [x10, w16, uxtw #1]
   572	WORD $0x781ff190  // sturh	w16, [x12, #-1]
   573	WORD $0xd100098c  // sub	x12, x12, #2
   574	WORD $0x53047def  // lsr	w15, w15, #4
   575	WORD $0x7109c1ff  // cmp	w15, #624
   576	WORD $0x54fffee8  // b.hi	LBB0_78 $-36(%rip)
   577LBB0_79:
   578	WORD $0x7100297f  // cmp	w11, #10
   579	WORD $0x540000e3  // b.lo	LBB0_81 $28(%rip)
   580	WORD $0x786b594a  // ldrh	w10, [x10, w11, uxtw #1]
   581	WORD $0x7900010a  // strh	w10, [x8]
   582	WORD $0x4b000120  // sub	w0, w9, w0
   583	WORD $0xa940fbfd  // ldp	fp, lr, [sp, #8]
   584	WORD $0x910083ff  // add	sp, sp, #32
   585	WORD $0xd65f03c0  // ret
   586LBB0_81:
   587	WORD $0x321c056a  // orr	w10, w11, #0x30
   588	WORD $0x3900010a  // strb	w10, [x8]
   589	WORD $0x4b000120  // sub	w0, w9, w0
   590	WORD $0xa940fbfd  // ldp	fp, lr, [sp, #8]
   591	WORD $0x910083ff  // add	sp, sp, #32
   592	WORD $0xd65f03c0  // ret
   593LBB0_82:
   594	WORD $0x53047d69  // lsr	w9, w11, #4
   595	WORD $0x5280008c  // mov	w12, #4
   596	WORD $0x7109c53f  // cmp	w9, #625
   597	WORD $0x9a8c3589  // cinc	x9, x12, hs
   598	WORD $0x8b09010c  // add	x12, x8, x9
   599	WORD $0xaa0c03e9  // mov	x9, x12
   600	WORD $0x54ffd682  // b.hs	LBB0_19 $-1328(%rip)
   601	WORD $0x17ffffdd  // b	LBB0_77 $-140(%rip)
   602LBB0_83:
   603	WORD $0x910005cf  // add	x15, x14, #1
   604	WORD $0x927a69ee  // and	x14, x15, #0x1ffffffc0
   605	WORD $0x8b0e0108  // add	x8, x8, x14
   606	WORD $0x8b00014a  // add	x10, x10, x0
   607	WORD $0x9100894a  // add	x10, x10, #34
   608	WORD $0x4f01e600  // movi.16b	v0, #48
   609	WORD $0xaa0e03f0  // mov	x16, x14
   610LBB0_84:
   611	WORD $0xad3f0140  // stp	q0, q0, [x10, #-32]
   612	WORD $0xac820140  // stp	q0, q0, [x10], #64
   613	WORD $0xf1010210  // subs	x16, x16, #64
   614	WORD $0x54ffffa1  // b.ne	LBB0_84 $-12(%rip)
   615	WORD $0xeb0e01ff  // cmp	x15, x14
   616	WORD $0x540000e0  // b.eq	LBB0_88 $28(%rip)
   617LBB0_86:
   618	WORD $0x0b0901ca  // add	w10, w14, w9
   619	WORD $0x4b0a03ea  // neg	w10, w10
   620	WORD $0x5280060e  // mov	w14, #48
   621LBB0_87:
   622	WORD $0x3800150e  // strb	w14, [x8], #1
   623	WORD $0x7100054a  // subs	w10, w10, #1
   624	WORD $0x54ffffc1  // b.ne	LBB0_87 $-8(%rip)
   625LBB0_88:
   626	WORD $0x2a0d03ee  // mov	w14, w13
   627	WORD $0x8b0e010d  // add	x13, x8, x14
   628	WORD $0x53047d8a  // lsr	w10, w12, #4
   629	WORD $0x7109c55f  // cmp	w10, #625
   630	WORD $0x540002c3  // b.lo	LBB0_91 $88(%rip)
   631	WORD $0x5282eb2a  // mov	w10, #5977
   632	WORD $0x72ba36ea  // movk	w10, #53687, lsl #16
   633	WORD $0x9baa7d8a  // umull	x10, w12, w10
   634	WORD $0xd36dfd4a  // lsr	x10, x10, #45
   635	WORD $0x1284e1ef  // mov	w15, #-10000
   636	WORD $0x1b0f314c  // madd	w12, w10, w15, w12
   637	WORD $0x340002cc  // cbz	w12, LBB0_93 $88(%rip)
   638	WORD $0xd280000f  // mov	x15, #0
   639	WORD $0x5290a3f0  // mov	w16, #34079
   640	WORD $0x72aa3d70  // movk	w16, #20971, lsl #16
   641	WORD $0x9bb07d90  // umull	x16, w12, w16
   642	WORD $0xd365fe10  // lsr	x16, x16, #37
   643	WORD $0x52800c91  // mov	w17, #100
   644	WORD $0x1b11b20c  // msub	w12, w16, w17, w12
   645Lloh20:
   646	WORD $0x10001791  // adr	x17, _Digits $752(%rip)
   647Lloh21:
   648	WORD $0x91000231  // add	x17, x17, _Digits@PAGEOFF $0(%rip)
   649	WORD $0x786c5a2c  // ldrh	w12, [x17, w12, uxtw #1]
   650	WORD $0x781fe1ac  // sturh	w12, [x13, #-2]
   651	WORD $0x78707a2c  // ldrh	w12, [x17, x16, lsl #1]
   652	WORD $0x781fc1ac  // sturh	w12, [x13, #-4]
   653	WORD $0x14000009  // b	LBB0_94 $36(%rip)
   654LBB0_91:
   655	WORD $0xd280000f  // mov	x15, #0
   656	WORD $0xaa0d03f0  // mov	x16, x13
   657	WORD $0xaa0c03ea  // mov	x10, x12
   658	WORD $0x7101915f  // cmp	w10, #100
   659	WORD $0x540000e2  // b.hs	LBB0_95 $28(%rip)
   660LBB0_92:
   661	WORD $0xaa0a03f0  // mov	x16, x10
   662	WORD $0x14000015  // b	LBB0_97 $84(%rip)
   663LBB0_93:
   664	WORD $0x9280006f  // mov	x15, #-4
   665LBB0_94:
   666	WORD $0xd10011b0  // sub	x16, x13, #4
   667	WORD $0x7101915f  // cmp	w10, #100
   668	WORD $0x54ffff63  // b.lo	LBB0_92 $-20(%rip)
   669LBB0_95:
   670	WORD $0xd100060c  // sub	x12, x16, #1
   671	WORD $0x5290a3f1  // mov	w17, #34079
   672	WORD $0x72aa3d71  // movk	w17, #20971, lsl #16
   673	WORD $0x52800c81  // mov	w1, #100
   674Lloh22:
   675	WORD $0x100014c2  // adr	x2, _Digits $664(%rip)
   676Lloh23:
   677	WORD $0x91000042  // add	x2, x2, _Digits@PAGEOFF $0(%rip)
   678LBB0_96:
   679	WORD $0x9bb17d50  // umull	x16, w10, w17
   680	WORD $0xd365fe10  // lsr	x16, x16, #37
   681	WORD $0x1b01aa03  // msub	w3, w16, w1, w10
   682	WORD $0x78635843  // ldrh	w3, [x2, w3, uxtw #1]
   683	WORD $0x781ff183  // sturh	w3, [x12, #-1]
   684	WORD $0xd100098c  // sub	x12, x12, #2
   685	WORD $0x53047d43  // lsr	w3, w10, #4
   686	WORD $0xaa1003ea  // mov	x10, x16
   687	WORD $0x7109c07f  // cmp	w3, #624
   688	WORD $0x54fffee8  // b.hi	LBB0_96 $-36(%rip)
   689LBB0_97:
   690	WORD $0x71002a1f  // cmp	w16, #10
   691	WORD $0x540000c3  // b.lo	LBB0_99 $24(%rip)
   692Lloh24:
   693	WORD $0x1000130a  // adr	x10, _Digits $608(%rip)
   694Lloh25:
   695	WORD $0x9100014a  // add	x10, x10, _Digits@PAGEOFF $0(%rip)
   696	WORD $0x7870594a  // ldrh	w10, [x10, w16, uxtw #1]
   697	WORD $0x7900010a  // strh	w10, [x8]
   698	WORD $0x14000003  // b	LBB0_100 $12(%rip)
   699LBB0_99:
   700	WORD $0x321c060a  // orr	w10, w16, #0x30
   701	WORD $0x3900010a  // strb	w10, [x8]
   702LBB0_100:
   703	WORD $0xd280000a  // mov	x10, #0
   704	WORD $0x8b0f01ad  // add	x13, x13, x15
   705	WORD $0x4b0f016c  // sub	w12, w11, w15
   706	WORD $0x51000581  // sub	w1, w12, #1
   707	WORD $0x51000991  // sub	w17, w12, #2
   708	WORD $0xaa1103f0  // mov	x16, x17
   709LBB0_101:
   710	WORD $0x8b0a01ac  // add	x12, x13, x10
   711	WORD $0x385ff18c  // ldurb	w12, [x12, #-1]
   712	WORD $0xd100054a  // sub	x10, x10, #1
   713	WORD $0x11000610  // add	w16, w16, #1
   714	WORD $0x7100c19f  // cmp	w12, #48
   715	WORD $0x54ffff60  // b.eq	LBB0_101 $-20(%rip)
   716	WORD $0x8b0a01ac  // add	x12, x13, x10
   717	WORD $0x9100058c  // add	x12, x12, #1
   718	WORD $0x7100053f  // cmp	w9, #1
   719	WORD $0x54ffd66b  // b.lt	LBB0_35 $-1332(%rip)
   720	WORD $0x0b0e01e2  // add	w2, w15, w14
   721	WORD $0x0b0a0042  // add	w2, w2, w10
   722	WORD $0x11000442  // add	w2, w2, #1
   723	WORD $0x6b02013f  // cmp	w9, w2
   724	WORD $0x5400016a  // b.ge	LBB0_107 $44(%rip)
   725	WORD $0x4b0b01ee  // sub	w14, w15, w11
   726	WORD $0x110005cb  // add	w11, w14, #1
   727	WORD $0x8b0a016c  // add	x12, x11, x10
   728	WORD $0x7100059f  // cmp	w12, #1
   729	WORD $0x54000c6b  // b.lt	LBB0_126 $396(%rip)
   730	WORD $0x92407d8b  // and	x11, x12, #0xffffffff
   731	WORD $0x7100219f  // cmp	w12, #8
   732	WORD $0x540001a2  // b.hs	LBB0_110 $52(%rip)
   733	WORD $0xd280000c  // mov	x12, #0
   734	WORD $0x14000055  // b	LBB0_124 $340(%rip)
   735LBB0_107:
   736	WORD $0xcb0a0029  // sub	x9, x1, x10
   737	WORD $0x7100053f  // cmp	w9, #1
   738	WORD $0x54ffd42b  // b.lt	LBB0_35 $-1404(%rip)
   739	WORD $0x4b0f016b  // sub	w11, w11, w15
   740	WORD $0x4b0a016b  // sub	w11, w11, w10
   741	WORD $0x5100096b  // sub	w11, w11, #2
   742	WORD $0x7100fd7f  // cmp	w11, #63
   743	WORD $0x540000e2  // b.hs	LBB0_112 $28(%rip)
   744	WORD $0x5280000b  // mov	w11, #0
   745	WORD $0x1400001f  // b	LBB0_115 $124(%rip)
   746LBB0_110:
   747	WORD $0x7101019f  // cmp	w12, #64
   748	WORD $0x54000462  // b.hs	LBB0_117 $140(%rip)
   749	WORD $0xd280000c  // mov	x12, #0
   750	WORD $0x14000038  // b	LBB0_121 $224(%rip)
   751LBB0_112:
   752	WORD $0xd2800001  // mov	x1, #0
   753	WORD $0xcb0a0222  // sub	x2, x17, x10
   754	WORD $0x91000571  // add	x17, x11, #1
   755	WORD $0x927a6a2b  // and	x11, x17, #0x1ffffffc0
   756	WORD $0x9100060c  // add	x12, x16, #1
   757	WORD $0x927a698c  // and	x12, x12, #0x1ffffffc0
   758	WORD $0x8b0e01ee  // add	x14, x15, x14
   759	WORD $0x8b0e0108  // add	x8, x8, x14
   760	WORD $0x8b0a0108  // add	x8, x8, x10
   761	WORD $0x8b0c0108  // add	x8, x8, x12
   762	WORD $0x9100050c  // add	x12, x8, #1
   763	WORD $0x92407c48  // and	x8, x2, #0xffffffff
   764	WORD $0x91000508  // add	x8, x8, #1
   765	WORD $0x927a6908  // and	x8, x8, #0x1ffffffc0
   766	WORD $0x4f01e600  // movi.16b	v0, #48
   767LBB0_113:
   768	WORD $0x8b0101ae  // add	x14, x13, x1
   769	WORD $0x8b0a01ce  // add	x14, x14, x10
   770	WORD $0x3c8011c0  // stur	q0, [x14, #1]
   771	WORD $0x3c8111c0  // stur	q0, [x14, #17]
   772	WORD $0x3c8211c0  // stur	q0, [x14, #33]
   773	WORD $0x3c8311c0  // stur	q0, [x14, #49]
   774	WORD $0x91010021  // add	x1, x1, #64
   775	WORD $0xeb01011f  // cmp	x8, x1
   776	WORD $0x54ffff01  // b.ne	LBB0_113 $-32(%rip)
   777	WORD $0xeb0b023f  // cmp	x17, x11
   778	WORD $0x54ffcf80  // b.eq	LBB0_35 $-1552(%rip)
   779LBB0_115:
   780	WORD $0x52800608  // mov	w8, #48
   781LBB0_116:
   782	WORD $0x38001588  // strb	w8, [x12], #1
   783	WORD $0x1100056b  // add	w11, w11, #1
   784	WORD $0x6b09017f  // cmp	w11, w9
   785	WORD $0x54ffffab  // b.lt	LBB0_116 $-12(%rip)
   786	WORD $0x17fffe76  // b	LBB0_35 $-1576(%rip)
   787LBB0_117:
   788	WORD $0xd280000f  // mov	x15, #0
   789	WORD $0x927a616c  // and	x12, x11, #0x7fffffc0
   790	WORD $0x0b0a01d0  // add	w16, w14, w10
   791	WORD $0x11000610  // add	w16, w16, #1
   792	WORD $0x927a6210  // and	x16, x16, #0x7fffffc0
   793	WORD $0xcb1003f0  // neg	x16, x16
   794	WORD $0x8b0a01b1  // add	x17, x13, x10
   795LBB0_118:
   796	WORD $0x8b0f0221  // add	x1, x17, x15
   797	WORD $0x3cdf1020  // ldur	q0, [x1, #-15]
   798	WORD $0x3cde1021  // ldur	q1, [x1, #-31]
   799	WORD $0x3cdd1022  // ldur	q2, [x1, #-47]
   800	WORD $0x3cdc1023  // ldur	q3, [x1, #-63]
   801	WORD $0x3c9f2020  // stur	q0, [x1, #-14]
   802	WORD $0x3c9e2021  // stur	q1, [x1, #-30]
   803	WORD $0x3c9d2022  // stur	q2, [x1, #-46]
   804	WORD $0x3c9c2023  // stur	q3, [x1, #-62]
   805	WORD $0xd10101ef  // sub	x15, x15, #64
   806	WORD $0xeb0f021f  // cmp	x16, x15
   807	WORD $0x54fffea1  // b.ne	LBB0_118 $-44(%rip)
   808	WORD $0xeb0b019f  // cmp	x12, x11
   809	WORD $0x54000360  // b.eq	LBB0_126 $108(%rip)
   810	WORD $0xf27d097f  // tst	x11, #0x38
   811	WORD $0x54000200  // b.eq	LBB0_124 $64(%rip)
   812LBB0_121:
   813	WORD $0xcb0c03ef  // neg	x15, x12
   814	WORD $0x927d6d6c  // and	x12, x11, #0x7ffffff8
   815	WORD $0x0b0a01ce  // add	w14, w14, w10
   816	WORD $0x110005ce  // add	w14, w14, #1
   817	WORD $0x927d6dce  // and	x14, x14, #0x7ffffff8
   818	WORD $0xcb0e03ee  // neg	x14, x14
   819	WORD $0x8b0a01b0  // add	x16, x13, x10
   820LBB0_122:
   821	WORD $0x8b0f0211  // add	x17, x16, x15
   822	WORD $0xfc5f9220  // ldur	d0, [x17, #-7]
   823	WORD $0xfc1fa220  // stur	d0, [x17, #-6]
   824	WORD $0xd10021ef  // sub	x15, x15, #8
   825	WORD $0xeb0f01df  // cmp	x14, x15
   826	WORD $0x54ffff61  // b.ne	LBB0_122 $-20(%rip)
   827	WORD $0xeb0b019f  // cmp	x12, x11
   828	WORD $0x54000140  // b.eq	LBB0_126 $40(%rip)
   829LBB0_124:
   830	WORD $0xcb0c03ee  // neg	x14, x12
   831	WORD $0x8b0a01af  // add	x15, x13, x10
   832LBB0_125:
   833	WORD $0x8b0e01f0  // add	x16, x15, x14
   834	WORD $0x386e69f1  // ldrb	w17, [x15, x14]
   835	WORD $0x39000611  // strb	w17, [x16, #1]
   836	WORD $0x9100058c  // add	x12, x12, #1
   837	WORD $0xd10005ce  // sub	x14, x14, #1
   838	WORD $0xeb0b019f  // cmp	x12, x11
   839	WORD $0x54ffff43  // b.lo	LBB0_125 $-24(%rip)
   840LBB0_126:
   841	WORD $0x528005cb  // mov	w11, #46
   842	WORD $0x3829490b  // strb	w11, [x8, w9, uxtw]
   843	WORD $0x8b0a01a8  // add	x8, x13, x10
   844	WORD $0x9100090c  // add	x12, x8, #2
   845	WORD $0x4b000180  // sub	w0, w12, w0
   846	WORD $0xa940fbfd  // ldp	fp, lr, [sp, #8]
   847	WORD $0x910083ff  // add	sp, sp, #32
   848	WORD $0xd65f03c0  // ret
   849LBB0_127:
   850	WORD $0x8b09016b  // add	x11, x11, x9
   851LBB0_128:
   852	WORD $0x52800608  // mov	w8, #48
   853LBB0_129:
   854	WORD $0x38001568  // strb	w8, [x11], #1
   855	WORD $0xeb0c017f  // cmp	x11, x12
   856	WORD $0x54ffffc3  // b.lo	LBB0_129 $-8(%rip)
   857	WORD $0x17fffe39  // b	LBB0_35 $-1820(%rip)
   858LBB0_130:
   859	WORD $0x52800000  // mov	w0, #0
   860	WORD $0xa940fbfd  // ldp	fp, lr, [sp, #8]
   861	WORD $0x910083ff  // add	sp, sp, #32
   862	WORD $0xd65f03c0  // ret
   863LBB0_131:
   864	WORD $0x1280128c  // mov	w12, #-149
   865	WORD $0xaa0e03ed  // mov	x13, x14
   866	WORD $0x17fffd39  // b	LBB0_5 $-2844(%rip)
   867_Digits:
   868	WORD $0x31303030  // .ascii 4, '0001020304050607'
   869	WORD $0x33303230  // .ascii 4, '0203040506070809'
   870	WORD $0x35303430  // .ascii 4, '0405060708091011'
   871	WORD $0x37303630  // .ascii 4, '0607080910111213'
   872	WORD $0x39303830  // .ascii 4, '0809101112131415'
   873	WORD $0x31313031  // .ascii 4, '1011121314151617'
   874	WORD $0x33313231  // .ascii 4, '1213141516171819'
   875	WORD $0x35313431  // .ascii 4, '1415161718192021'
   876	WORD $0x37313631  // .ascii 4, '1617181920212223'
   877	WORD $0x39313831  // .ascii 4, '1819202122232425'
   878	WORD $0x31323032  // .ascii 4, '2021222324252627'
   879	WORD $0x33323232  // .ascii 4, '2223242526272829'
   880	WORD $0x35323432  // .ascii 4, '2425262728293031'
   881	WORD $0x37323632  // .ascii 4, '2627282930313233'
   882	WORD $0x39323832  // .ascii 4, '2829303132333435'
   883	WORD $0x31333033  // .ascii 4, '3031323334353637'
   884	WORD $0x33333233  // .ascii 4, '3233343536373839'
   885	WORD $0x35333433  // .ascii 4, '3435363738394041'
   886	WORD $0x37333633  // .ascii 4, '3637383940414243'
   887	WORD $0x39333833  // .ascii 4, '3839404142434445'
   888	WORD $0x31343034  // .ascii 4, '4041424344454647'
   889	WORD $0x33343234  // .ascii 4, '4243444546474849'
   890	WORD $0x35343434  // .ascii 4, '4445464748495051'
   891	WORD $0x37343634  // .ascii 4, '4647484950515253'
   892	WORD $0x39343834  // .ascii 4, '4849505152535455'
   893	WORD $0x31353035  // .ascii 4, '5051525354555657'
   894	WORD $0x33353235  // .ascii 4, '5253545556575859'
   895	WORD $0x35353435  // .ascii 4, '5455565758596061'
   896	WORD $0x37353635  // .ascii 4, '5657585960616263'
   897	WORD $0x39353835  // .ascii 4, '5859606162636465'
   898	WORD $0x31363036  // .ascii 4, '6061626364656667'
   899	WORD $0x33363236  // .ascii 4, '6263646566676869'
   900	WORD $0x35363436  // .ascii 4, '6465666768697071'
   901	WORD $0x37363636  // .ascii 4, '6667686970717273'
   902	WORD $0x39363836  // .ascii 4, '6869707172737475'
   903	WORD $0x31373037  // .ascii 4, '7071727374757677'
   904	WORD $0x33373237  // .ascii 4, '7273747576777879'
   905	WORD $0x35373437  // .ascii 4, '7475767778798081'
   906	WORD $0x37373637  // .ascii 4, '7677787980818283'
   907	WORD $0x39373837  // .ascii 4, '7879808182838485'
   908	WORD $0x31383038  // .ascii 4, '8081828384858687'
   909	WORD $0x33383238  // .ascii 4, '8283848586878889'
   910	WORD $0x35383438  // .ascii 4, '8485868788899091'
   911	WORD $0x37383638  // .ascii 4, '8687888990919293'
   912	WORD $0x39383838  // .ascii 4, '8889909192939495'
   913	WORD $0x31393039  // .ascii 4, '9091929394959697'
   914	WORD $0x33393239  // .ascii 4, '9293949596979899'
   915	WORD $0x35393439  // .ascii 4, '949596979899'
   916	WORD $0x37393639  // .ascii 4, '96979899'
   917	WORD $0x39393839  // .ascii 4, '9899'
   918	WORD $0x00000000  // .p2align 3, 0x00
   919_LB_feba5e89: // _pow10_ceil_sig_f32.g
   920	WORD $0x4b43fcf5; WORD $0x81ceb32c  // .quad -9093133594791772939
   921	WORD $0x5e14fc32; WORD $0xa2425ff7  // .quad -6754730975062328270
   922	WORD $0x359a3b3f; WORD $0xcad2f7f5  // .quad -3831727700400522433
   923	WORD $0x8300ca0e; WORD $0xfd87b5f2  // .quad -177973607073265138
   924	WORD $0x91e07e49; WORD $0x9e74d1b7  // .quad -7028762532061872567
   925	WORD $0x76589ddb; WORD $0xc6120625  // .quad -4174267146649952805
   926	WORD $0xd3eec552; WORD $0xf79687ae  // .quad -606147914885053102
   927	WORD $0x44753b53; WORD $0x9abe14cd  // .quad -7296371474444240045
   928	WORD $0x95928a28; WORD $0xc16d9a00  // .quad -4508778324627912152
   929	WORD $0xbaf72cb2; WORD $0xf1c90080  // .quad -1024286887357502286
   930	WORD $0x74da7bef; WORD $0x971da050  // .quad -7557708332239520785
   931	WORD $0x92111aeb; WORD $0xbce50864  // .quad -4835449396872013077
   932	WORD $0xb69561a6; WORD $0xec1e4a7d  // .quad -1432625727662628442
   933	WORD $0x921d5d08; WORD $0x9392ee8e  // .quad -7812920107430224632
   934	WORD $0x36a4b44a; WORD $0xb877aa32  // .quad -5154464115860392886
   935	WORD $0xc44de15c; WORD $0xe69594be  // .quad -1831394126398103204
   936	WORD $0x3ab0acda; WORD $0x901d7cf7  // .quad -8062150356639896358
   937	WORD $0x095cd810; WORD $0xb424dc35  // .quad -5466001927372482544
   938	WORD $0x4bb40e14; WORD $0xe12e1342  // .quad -2220816390788215276
   939	WORD $0x6f5088cc; WORD $0x8cbccc09  // .quad -8305539271883716404
   940	WORD $0xcb24aaff; WORD $0xafebff0b  // .quad -5770238071427257601
   941	WORD $0xbdedd5bf; WORD $0xdbe6fece  // .quad -2601111570856684097
   942	WORD $0x36b4a598; WORD $0x89705f41  // .quad -8543223759426509416
   943	WORD $0x8461cefd; WORD $0xabcc7711  // .quad -6067343680855748867
   944	WORD $0xe57a42bd; WORD $0xd6bf94d5  // .quad -2972493582642298179
   945	WORD $0xaf6c69b6; WORD $0x8637bd05  // .quad -8775337516792518218
   946	WORD $0x1b478424; WORD $0xa7c5ac47  // .quad -6357485877563259868
   947	WORD $0xe219652c; WORD $0xd1b71758  // .quad -3335171328526686932
   948	WORD $0x8d4fdf3c; WORD $0x83126e97  // .quad -9002011107970261188
   949	WORD $0x70a3d70b; WORD $0xa3d70a3d  // .quad -6640827866535438581
   950	WORD $0xcccccccd; WORD $0xcccccccc  // .quad -3689348814741910323
   951	WORD $0x00000000; WORD $0x80000000  // .quad -9223372036854775808
   952	WORD $0x00000000; WORD $0xa0000000  // .quad -6917529027641081856
   953	WORD $0x00000000; WORD $0xc8000000  // .quad -4035225266123964416
   954	WORD $0x00000000; WORD $0xfa000000  // .quad -432345564227567616
   955	WORD $0x00000000; WORD $0x9c400000  // .quad -7187745005283311616
   956	WORD $0x00000000; WORD $0xc3500000  // .quad -4372995238176751616
   957	WORD $0x00000000; WORD $0xf4240000  // .quad -854558029293551616
   958	WORD $0x00000000; WORD $0x98968000  // .quad -7451627795949551616
   959	WORD $0x00000000; WORD $0xbebc2000  // .quad -4702848726509551616
   960	WORD $0x00000000; WORD $0xee6b2800  // .quad -1266874889709551616
   961	WORD $0x00000000; WORD $0x9502f900  // .quad -7709325833709551616
   962	WORD $0x00000000; WORD $0xba43b740  // .quad -5024971273709551616
   963	WORD $0x00000000; WORD $0xe8d4a510  // .quad -1669528073709551616
   964	WORD $0x00000000; WORD $0x9184e72a  // .quad -7960984073709551616
   965	WORD $0x80000000; WORD $0xb5e620f4  // .quad -5339544073709551616
   966	WORD $0xa0000000; WORD $0xe35fa931  // .quad -2062744073709551616
   967	WORD $0x04000000; WORD $0x8e1bc9bf  // .quad -8206744073709551616
   968	WORD $0xc5000000; WORD $0xb1a2bc2e  // .quad -5646744073709551616
   969	WORD $0x76400000; WORD $0xde0b6b3a  // .quad -2446744073709551616
   970	WORD $0x89e80000; WORD $0x8ac72304  // .quad -8446744073709551616
   971	WORD $0xac620000; WORD $0xad78ebc5  // .quad -5946744073709551616
   972	WORD $0x177a8000; WORD $0xd8d726b7  // .quad -2821744073709551616
   973	WORD $0x6eac9000; WORD $0x87867832  // .quad -8681119073709551616
   974	WORD $0x0a57b400; WORD $0xa968163f  // .quad -6239712823709551616
   975	WORD $0xcceda100; WORD $0xd3c21bce  // .quad -3187955011209551616
   976	WORD $0x401484a0; WORD $0x84595161  // .quad -8910000909647051616
   977	WORD $0x9019a5c8; WORD $0xa56fa5b9  // .quad -6525815118631426616
   978	WORD $0xf4200f3a; WORD $0xcecb8f27  // .quad -3545582879861895366
   979	WORD $0xf8940985; WORD $0x813f3978  // .quad -9133518327554766459
   980	WORD $0x36b90be6; WORD $0xa18f07d7  // .quad -6805211891016070170
   981	WORD $0x04674edf; WORD $0xc9f2c9cd  // .quad -3894828845342699809
   982	WORD $0x45812297; WORD $0xfc6f7c40  // .quad -256850038250986857
   983	WORD $0x2b70b59e; WORD $0x9dc5ada8  // .quad -7078060301547948642
   984	WORD $0x364ce306; WORD $0xc5371912  // .quad -4235889358507547898
   985	WORD $0xc3e01bc7; WORD $0xf684df56  // .quad -683175679707046969
   986	WORD $0x3a6c115d; WORD $0x9a130b96  // .quad -7344513827457986211
   987	WORD $0xc90715b4; WORD $0xc097ce7b  // .quad -4568956265895094860
   988	WORD $0xbb48db21; WORD $0xf0bdc21a  // .quad -1099509313941480671
   989	WORD $0xb50d88f5; WORD $0x96769950  // .quad -7604722348854507275
   990	WORD $0xe250eb32; WORD $0xbc143fa4  // .quad -4894216917640746190
   991	WORD $0x1ae525fe; WORD $0xeb194f8e  // .quad -1506085128623544834
   992	WORD $0xd0cf37bf; WORD $0x92efd1b8  // .quad -7858832233030797377
   993	WORD $0x050305ae; WORD $0xb7abc627  // .quad -5211854272861108818
   994	WORD $0xc643c71a; WORD $0xe596b7b0  // .quad -1903131822648998118
   995	WORD $0x7bea5c70; WORD $0x8f7e32ce  // .quad -8106986416796705680
   996	WORD $0x1ae4f38c; WORD $0xb35dbf82  // .quad -5522047002568494196
   997
   998TEXT ·__f32toa(SB), NOSPLIT, $0-24
   999	NO_LOCAL_POINTERS
  1000
  1001_entry:
  1002	MOVD 16(g), R16
  1003	SUB $96, RSP, R17
  1004	CMP  R16, R17
  1005	BLS  _stack_grow
  1006
  1007_f32toa:
  1008	MOVD out+0(FP), R0
  1009	FMOVD val+8(FP), F0
  1010	MOVD ·_subr__f32toa(SB), R11
  1011	WORD $0x1000005e // adr x30, .+8
  1012	JMP (R11)
  1013	MOVD R0, ret+16(FP)
  1014	RET
  1015
  1016_stack_grow:
  1017	MOVD R30, R3
  1018	CALL runtime·morestack_noctxt<>(SB)
  1019	JMP  _entry

View as plain text