u64toa_text_amd64.go raw
1 // +build amd64
2 // Code generated by asm2asm, DO NOT EDIT.
3
4 package sse
5
6 var _text_u64toa = []byte{
7 // .p2align 4, 0x00
8 // LCPI0_0
9 0x59, 0x17, 0xb7, 0xd1, 0x00, 0x00, 0x00, 0x00, // .quad 3518437209
10 0x59, 0x17, 0xb7, 0xd1, 0x00, 0x00, 0x00, 0x00, //0x00000008 .quad 3518437209
11 //0x00000010 LCPI0_1
12 0xc5, 0x20, //0x00000010 .word 8389
13 0x7b, 0x14, //0x00000012 .word 5243
14 0x34, 0x33, //0x00000014 .word 13108
15 0x00, 0x80, //0x00000016 .word 32768
16 0xc5, 0x20, //0x00000018 .word 8389
17 0x7b, 0x14, //0x0000001a .word 5243
18 0x34, 0x33, //0x0000001c .word 13108
19 0x00, 0x80, //0x0000001e .word 32768
20 //0x00000020 LCPI0_2
21 0x80, 0x00, //0x00000020 .word 128
22 0x00, 0x08, //0x00000022 .word 2048
23 0x00, 0x20, //0x00000024 .word 8192
24 0x00, 0x80, //0x00000026 .word 32768
25 0x80, 0x00, //0x00000028 .word 128
26 0x00, 0x08, //0x0000002a .word 2048
27 0x00, 0x20, //0x0000002c .word 8192
28 0x00, 0x80, //0x0000002e .word 32768
29 //0x00000030 LCPI0_3
30 0x0a, 0x00, //0x00000030 .word 10
31 0x0a, 0x00, //0x00000032 .word 10
32 0x0a, 0x00, //0x00000034 .word 10
33 0x0a, 0x00, //0x00000036 .word 10
34 0x0a, 0x00, //0x00000038 .word 10
35 0x0a, 0x00, //0x0000003a .word 10
36 0x0a, 0x00, //0x0000003c .word 10
37 0x0a, 0x00, //0x0000003e .word 10
38 //0x00000040 LCPI0_4
39 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, //0x00000040 QUAD $0x3030303030303030; QUAD $0x3030303030303030 // .space 16, '0000000000000000'
40 //0x00000050 .p2align 4, 0x90
41 //0x00000050 _u64toa
42 0x55, //0x00000050 pushq %rbp
43 0x48, 0x89, 0xe5, //0x00000051 movq %rsp, %rbp
44 0x48, 0x81, 0xfe, 0x0f, 0x27, 0x00, 0x00, //0x00000054 cmpq $9999, %rsi
45 0x0f, 0x87, 0xa5, 0x00, 0x00, 0x00, //0x0000005b ja LBB0_8
46 0x0f, 0xb7, 0xc6, //0x00000061 movzwl %si, %eax
47 0xc1, 0xe8, 0x02, //0x00000064 shrl $2, %eax
48 0x69, 0xc0, 0x7b, 0x14, 0x00, 0x00, //0x00000067 imull $5243, %eax, %eax
49 0xc1, 0xe8, 0x11, //0x0000006d shrl $17, %eax
50 0x48, 0x8d, 0x14, 0x00, //0x00000070 leaq (%rax,%rax), %rdx
51 0x6b, 0xc0, 0x64, //0x00000074 imull $100, %eax, %eax
52 0x89, 0xf1, //0x00000077 movl %esi, %ecx
53 0x29, 0xc1, //0x00000079 subl %eax, %ecx
54 0x0f, 0xb7, 0xc1, //0x0000007b movzwl %cx, %eax
55 0x48, 0x01, 0xc0, //0x0000007e addq %rax, %rax
56 0x81, 0xfe, 0xe8, 0x03, 0x00, 0x00, //0x00000081 cmpl $1000, %esi
57 0x0f, 0x82, 0x16, 0x00, 0x00, 0x00, //0x00000087 jb LBB0_3
58 0x48, 0x8d, 0x0d, 0x8c, 0x04, 0x00, 0x00, //0x0000008d leaq $1164(%rip), %rcx /* _Digits+0(%rip) */
59 0x8a, 0x0c, 0x0a, //0x00000094 movb (%rdx,%rcx), %cl
60 0x88, 0x0f, //0x00000097 movb %cl, (%rdi)
61 0xb9, 0x01, 0x00, 0x00, 0x00, //0x00000099 movl $1, %ecx
62 0xe9, 0x0b, 0x00, 0x00, 0x00, //0x0000009e jmp LBB0_4
63 //0x000000a3 LBB0_3
64 0x31, 0xc9, //0x000000a3 xorl %ecx, %ecx
65 0x83, 0xfe, 0x64, //0x000000a5 cmpl $100, %esi
66 0x0f, 0x82, 0x48, 0x00, 0x00, 0x00, //0x000000a8 jb LBB0_5
67 //0x000000ae LBB0_4
68 0x0f, 0xb7, 0xd2, //0x000000ae movzwl %dx, %edx
69 0x48, 0x83, 0xca, 0x01, //0x000000b1 orq $1, %rdx
70 0x48, 0x8d, 0x35, 0x64, 0x04, 0x00, 0x00, //0x000000b5 leaq $1124(%rip), %rsi /* _Digits+0(%rip) */
71 0x8a, 0x14, 0x32, //0x000000bc movb (%rdx,%rsi), %dl
72 0x89, 0xce, //0x000000bf movl %ecx, %esi
73 0x83, 0xc1, 0x01, //0x000000c1 addl $1, %ecx
74 0x88, 0x14, 0x37, //0x000000c4 movb %dl, (%rdi,%rsi)
75 //0x000000c7 LBB0_6
76 0x48, 0x8d, 0x15, 0x52, 0x04, 0x00, 0x00, //0x000000c7 leaq $1106(%rip), %rdx /* _Digits+0(%rip) */
77 0x8a, 0x14, 0x10, //0x000000ce movb (%rax,%rdx), %dl
78 0x89, 0xce, //0x000000d1 movl %ecx, %esi
79 0x83, 0xc1, 0x01, //0x000000d3 addl $1, %ecx
80 0x88, 0x14, 0x37, //0x000000d6 movb %dl, (%rdi,%rsi)
81 //0x000000d9 LBB0_7
82 0x0f, 0xb7, 0xc0, //0x000000d9 movzwl %ax, %eax
83 0x48, 0x83, 0xc8, 0x01, //0x000000dc orq $1, %rax
84 0x48, 0x8d, 0x15, 0x39, 0x04, 0x00, 0x00, //0x000000e0 leaq $1081(%rip), %rdx /* _Digits+0(%rip) */
85 0x8a, 0x04, 0x10, //0x000000e7 movb (%rax,%rdx), %al
86 0x89, 0xca, //0x000000ea movl %ecx, %edx
87 0x83, 0xc1, 0x01, //0x000000ec addl $1, %ecx
88 0x88, 0x04, 0x17, //0x000000ef movb %al, (%rdi,%rdx)
89 0x89, 0xc8, //0x000000f2 movl %ecx, %eax
90 0x5d, //0x000000f4 popq %rbp
91 0xc3, //0x000000f5 retq
92 //0x000000f6 LBB0_5
93 0x31, 0xc9, //0x000000f6 xorl %ecx, %ecx
94 0x83, 0xfe, 0x0a, //0x000000f8 cmpl $10, %esi
95 0x0f, 0x83, 0xc6, 0xff, 0xff, 0xff, //0x000000fb jae LBB0_6
96 0xe9, 0xd3, 0xff, 0xff, 0xff, //0x00000101 jmp LBB0_7
97 //0x00000106 LBB0_8
98 0x48, 0x81, 0xfe, 0xff, 0xe0, 0xf5, 0x05, //0x00000106 cmpq $99999999, %rsi
99 0x0f, 0x87, 0x20, 0x01, 0x00, 0x00, //0x0000010d ja LBB0_16
100 0x89, 0xf0, //0x00000113 movl %esi, %eax
101 0xba, 0x59, 0x17, 0xb7, 0xd1, //0x00000115 movl $3518437209, %edx
102 0x48, 0x0f, 0xaf, 0xd0, //0x0000011a imulq %rax, %rdx
103 0x48, 0xc1, 0xea, 0x2d, //0x0000011e shrq $45, %rdx
104 0x44, 0x69, 0xc2, 0x10, 0x27, 0x00, 0x00, //0x00000122 imull $10000, %edx, %r8d
105 0x89, 0xf1, //0x00000129 movl %esi, %ecx
106 0x44, 0x29, 0xc1, //0x0000012b subl %r8d, %ecx
107 0x4c, 0x69, 0xd0, 0x83, 0xde, 0x1b, 0x43, //0x0000012e imulq $1125899907, %rax, %r10
108 0x49, 0xc1, 0xea, 0x31, //0x00000135 shrq $49, %r10
109 0x41, 0x83, 0xe2, 0xfe, //0x00000139 andl $-2, %r10d
110 0x0f, 0xb7, 0xc2, //0x0000013d movzwl %dx, %eax
111 0xc1, 0xe8, 0x02, //0x00000140 shrl $2, %eax
112 0x69, 0xc0, 0x7b, 0x14, 0x00, 0x00, //0x00000143 imull $5243, %eax, %eax
113 0xc1, 0xe8, 0x11, //0x00000149 shrl $17, %eax
114 0x6b, 0xc0, 0x64, //0x0000014c imull $100, %eax, %eax
115 0x29, 0xc2, //0x0000014f subl %eax, %edx
116 0x44, 0x0f, 0xb7, 0xca, //0x00000151 movzwl %dx, %r9d
117 0x4d, 0x01, 0xc9, //0x00000155 addq %r9, %r9
118 0x0f, 0xb7, 0xc1, //0x00000158 movzwl %cx, %eax
119 0xc1, 0xe8, 0x02, //0x0000015b shrl $2, %eax
120 0x69, 0xc0, 0x7b, 0x14, 0x00, 0x00, //0x0000015e imull $5243, %eax, %eax
121 0xc1, 0xe8, 0x11, //0x00000164 shrl $17, %eax
122 0x4c, 0x8d, 0x04, 0x00, //0x00000167 leaq (%rax,%rax), %r8
123 0x6b, 0xc0, 0x64, //0x0000016b imull $100, %eax, %eax
124 0x29, 0xc1, //0x0000016e subl %eax, %ecx
125 0x44, 0x0f, 0xb7, 0xd9, //0x00000170 movzwl %cx, %r11d
126 0x4d, 0x01, 0xdb, //0x00000174 addq %r11, %r11
127 0x81, 0xfe, 0x80, 0x96, 0x98, 0x00, //0x00000177 cmpl $10000000, %esi
128 0x0f, 0x82, 0x17, 0x00, 0x00, 0x00, //0x0000017d jb LBB0_11
129 0x48, 0x8d, 0x05, 0x96, 0x03, 0x00, 0x00, //0x00000183 leaq $918(%rip), %rax /* _Digits+0(%rip) */
130 0x41, 0x8a, 0x04, 0x02, //0x0000018a movb (%r10,%rax), %al
131 0x88, 0x07, //0x0000018e movb %al, (%rdi)
132 0xb9, 0x01, 0x00, 0x00, 0x00, //0x00000190 movl $1, %ecx
133 0xe9, 0x0e, 0x00, 0x00, 0x00, //0x00000195 jmp LBB0_12
134 //0x0000019a LBB0_11
135 0x31, 0xc9, //0x0000019a xorl %ecx, %ecx
136 0x81, 0xfe, 0x40, 0x42, 0x0f, 0x00, //0x0000019c cmpl $1000000, %esi
137 0x0f, 0x82, 0x78, 0x00, 0x00, 0x00, //0x000001a2 jb LBB0_13
138 //0x000001a8 LBB0_12
139 0x44, 0x89, 0xd0, //0x000001a8 movl %r10d, %eax
140 0x48, 0x83, 0xc8, 0x01, //0x000001ab orq $1, %rax
141 0x48, 0x8d, 0x35, 0x6a, 0x03, 0x00, 0x00, //0x000001af leaq $874(%rip), %rsi /* _Digits+0(%rip) */
142 0x8a, 0x04, 0x30, //0x000001b6 movb (%rax,%rsi), %al
143 0x89, 0xce, //0x000001b9 movl %ecx, %esi
144 0x83, 0xc1, 0x01, //0x000001bb addl $1, %ecx
145 0x88, 0x04, 0x37, //0x000001be movb %al, (%rdi,%rsi)
146 //0x000001c1 LBB0_14
147 0x48, 0x8d, 0x05, 0x58, 0x03, 0x00, 0x00, //0x000001c1 leaq $856(%rip), %rax /* _Digits+0(%rip) */
148 0x41, 0x8a, 0x04, 0x01, //0x000001c8 movb (%r9,%rax), %al
149 0x89, 0xce, //0x000001cc movl %ecx, %esi
150 0x83, 0xc1, 0x01, //0x000001ce addl $1, %ecx
151 0x88, 0x04, 0x37, //0x000001d1 movb %al, (%rdi,%rsi)
152 //0x000001d4 LBB0_15
153 0x41, 0x0f, 0xb7, 0xc1, //0x000001d4 movzwl %r9w, %eax
154 0x48, 0x83, 0xc8, 0x01, //0x000001d8 orq $1, %rax
155 0x48, 0x8d, 0x35, 0x3d, 0x03, 0x00, 0x00, //0x000001dc leaq $829(%rip), %rsi /* _Digits+0(%rip) */
156 0x8a, 0x04, 0x30, //0x000001e3 movb (%rax,%rsi), %al
157 0x89, 0xca, //0x000001e6 movl %ecx, %edx
158 0x88, 0x04, 0x17, //0x000001e8 movb %al, (%rdi,%rdx)
159 0x41, 0x8a, 0x04, 0x30, //0x000001eb movb (%r8,%rsi), %al
160 0x88, 0x44, 0x17, 0x01, //0x000001ef movb %al, $1(%rdi,%rdx)
161 0x41, 0x0f, 0xb7, 0xc0, //0x000001f3 movzwl %r8w, %eax
162 0x48, 0x83, 0xc8, 0x01, //0x000001f7 orq $1, %rax
163 0x8a, 0x04, 0x30, //0x000001fb movb (%rax,%rsi), %al
164 0x88, 0x44, 0x17, 0x02, //0x000001fe movb %al, $2(%rdi,%rdx)
165 0x41, 0x8a, 0x04, 0x33, //0x00000202 movb (%r11,%rsi), %al
166 0x88, 0x44, 0x17, 0x03, //0x00000206 movb %al, $3(%rdi,%rdx)
167 0x41, 0x0f, 0xb7, 0xc3, //0x0000020a movzwl %r11w, %eax
168 0x48, 0x83, 0xc8, 0x01, //0x0000020e orq $1, %rax
169 0x8a, 0x04, 0x30, //0x00000212 movb (%rax,%rsi), %al
170 0x83, 0xc1, 0x05, //0x00000215 addl $5, %ecx
171 0x88, 0x44, 0x17, 0x04, //0x00000218 movb %al, $4(%rdi,%rdx)
172 0x89, 0xc8, //0x0000021c movl %ecx, %eax
173 0x5d, //0x0000021e popq %rbp
174 0xc3, //0x0000021f retq
175 //0x00000220 LBB0_13
176 0x31, 0xc9, //0x00000220 xorl %ecx, %ecx
177 0x81, 0xfe, 0xa0, 0x86, 0x01, 0x00, //0x00000222 cmpl $100000, %esi
178 0x0f, 0x83, 0x93, 0xff, 0xff, 0xff, //0x00000228 jae LBB0_14
179 0xe9, 0xa1, 0xff, 0xff, 0xff, //0x0000022e jmp LBB0_15
180 //0x00000233 LBB0_16
181 0x48, 0xb8, 0xff, 0xff, 0xc0, 0x6f, 0xf2, 0x86, 0x23, 0x00, //0x00000233 movabsq $9999999999999999, %rax
182 0x48, 0x39, 0xc6, //0x0000023d cmpq %rax, %rsi
183 0x0f, 0x87, 0x12, 0x01, 0x00, 0x00, //0x00000240 ja LBB0_18
184 0x48, 0xb9, 0xfd, 0xce, 0x61, 0x84, 0x11, 0x77, 0xcc, 0xab, //0x00000246 movabsq $-6067343680855748867, %rcx
185 0x48, 0x89, 0xf0, //0x00000250 movq %rsi, %rax
186 0x48, 0xf7, 0xe1, //0x00000253 mulq %rcx
187 0x48, 0xc1, 0xea, 0x1a, //0x00000256 shrq $26, %rdx
188 0x69, 0xc2, 0x00, 0xe1, 0xf5, 0x05, //0x0000025a imull $100000000, %edx, %eax
189 0x29, 0xc6, //0x00000260 subl %eax, %esi
190 0x66, 0x0f, 0x6e, 0xc2, //0x00000262 movd %edx, %xmm0
191 0xf3, 0x0f, 0x6f, 0x0d, 0x92, 0xfd, 0xff, 0xff, //0x00000266 movdqu $-622(%rip), %xmm1 /* LCPI0_0+0(%rip) */
192 0x66, 0x0f, 0x6f, 0xd0, //0x0000026e movdqa %xmm0, %xmm2
193 0x66, 0x0f, 0xf4, 0xd1, //0x00000272 pmuludq %xmm1, %xmm2
194 0x66, 0x0f, 0x73, 0xd2, 0x2d, //0x00000276 psrlq $45, %xmm2
195 0xb8, 0x10, 0x27, 0x00, 0x00, //0x0000027b movl $10000, %eax
196 0x66, 0x48, 0x0f, 0x6e, 0xd8, //0x00000280 movq %rax, %xmm3
197 0x66, 0x0f, 0x6f, 0xe2, //0x00000285 movdqa %xmm2, %xmm4
198 0x66, 0x0f, 0xf4, 0xe3, //0x00000289 pmuludq %xmm3, %xmm4
199 0x66, 0x0f, 0xfa, 0xc4, //0x0000028d psubd %xmm4, %xmm0
200 0x66, 0x0f, 0x61, 0xd0, //0x00000291 punpcklwd %xmm0, %xmm2
201 0x66, 0x0f, 0x73, 0xf2, 0x02, //0x00000295 psllq $2, %xmm2
202 0xf2, 0x0f, 0x70, 0xc2, 0x50, //0x0000029a pshuflw $80, %xmm2, %xmm0
203 0x66, 0x0f, 0x70, 0xc0, 0x50, //0x0000029f pshufd $80, %xmm0, %xmm0
204 0xf3, 0x0f, 0x6f, 0x15, 0x64, 0xfd, 0xff, 0xff, //0x000002a4 movdqu $-668(%rip), %xmm2 /* LCPI0_1+0(%rip) */
205 0x66, 0x0f, 0xe4, 0xc2, //0x000002ac pmulhuw %xmm2, %xmm0
206 0xf3, 0x0f, 0x6f, 0x25, 0x68, 0xfd, 0xff, 0xff, //0x000002b0 movdqu $-664(%rip), %xmm4 /* LCPI0_2+0(%rip) */
207 0x66, 0x0f, 0xe4, 0xc4, //0x000002b8 pmulhuw %xmm4, %xmm0
208 0xf3, 0x0f, 0x6f, 0x2d, 0x6c, 0xfd, 0xff, 0xff, //0x000002bc movdqu $-660(%rip), %xmm5 /* LCPI0_3+0(%rip) */
209 0x66, 0x0f, 0x6f, 0xf0, //0x000002c4 movdqa %xmm0, %xmm6
210 0x66, 0x0f, 0xd5, 0xf5, //0x000002c8 pmullw %xmm5, %xmm6
211 0x66, 0x0f, 0x73, 0xf6, 0x10, //0x000002cc psllq $16, %xmm6
212 0x66, 0x0f, 0xf9, 0xc6, //0x000002d1 psubw %xmm6, %xmm0
213 0x66, 0x0f, 0x6e, 0xf6, //0x000002d5 movd %esi, %xmm6
214 0x66, 0x0f, 0xf4, 0xce, //0x000002d9 pmuludq %xmm6, %xmm1
215 0x66, 0x0f, 0x73, 0xd1, 0x2d, //0x000002dd psrlq $45, %xmm1
216 0x66, 0x0f, 0xf4, 0xd9, //0x000002e2 pmuludq %xmm1, %xmm3
217 0x66, 0x0f, 0xfa, 0xf3, //0x000002e6 psubd %xmm3, %xmm6
218 0x66, 0x0f, 0x61, 0xce, //0x000002ea punpcklwd %xmm6, %xmm1
219 0x66, 0x0f, 0x73, 0xf1, 0x02, //0x000002ee psllq $2, %xmm1
220 0xf2, 0x0f, 0x70, 0xc9, 0x50, //0x000002f3 pshuflw $80, %xmm1, %xmm1
221 0x66, 0x0f, 0x70, 0xc9, 0x50, //0x000002f8 pshufd $80, %xmm1, %xmm1
222 0x66, 0x0f, 0xe4, 0xca, //0x000002fd pmulhuw %xmm2, %xmm1
223 0x66, 0x0f, 0xe4, 0xcc, //0x00000301 pmulhuw %xmm4, %xmm1
224 0x66, 0x0f, 0xd5, 0xe9, //0x00000305 pmullw %xmm1, %xmm5
225 0x66, 0x0f, 0x73, 0xf5, 0x10, //0x00000309 psllq $16, %xmm5
226 0x66, 0x0f, 0xf9, 0xcd, //0x0000030e psubw %xmm5, %xmm1
227 0x66, 0x0f, 0x67, 0xc1, //0x00000312 packuswb %xmm1, %xmm0
228 0xf3, 0x0f, 0x6f, 0x0d, 0x22, 0xfd, 0xff, 0xff, //0x00000316 movdqu $-734(%rip), %xmm1 /* LCPI0_4+0(%rip) */
229 0x66, 0x0f, 0xfc, 0xc8, //0x0000031e paddb %xmm0, %xmm1
230 0x66, 0x0f, 0xef, 0xd2, //0x00000322 pxor %xmm2, %xmm2
231 0x66, 0x0f, 0x74, 0xd0, //0x00000326 pcmpeqb %xmm0, %xmm2
232 0x66, 0x0f, 0xd7, 0xc2, //0x0000032a pmovmskb %xmm2, %eax
233 0xf7, 0xd0, //0x0000032e notl %eax
234 0x0d, 0x00, 0x80, 0x00, 0x00, //0x00000330 orl $32768, %eax
235 0x0f, 0xbc, 0xc0, //0x00000335 bsfl %eax, %eax
236 0xb9, 0x10, 0x00, 0x00, 0x00, //0x00000338 movl $16, %ecx
237 0x29, 0xc1, //0x0000033d subl %eax, %ecx
238 0x48, 0xc1, 0xe0, 0x04, //0x0000033f shlq $4, %rax
239 0x48, 0x8d, 0x15, 0xa6, 0x02, 0x00, 0x00, //0x00000343 leaq $678(%rip), %rdx /* _VecShiftShuffles+0(%rip) */
240 0x66, 0x0f, 0x38, 0x00, 0x0c, 0x10, //0x0000034a pshufb (%rax,%rdx), %xmm1
241 0xf3, 0x0f, 0x7f, 0x0f, //0x00000350 movdqu %xmm1, (%rdi)
242 0x89, 0xc8, //0x00000354 movl %ecx, %eax
243 0x5d, //0x00000356 popq %rbp
244 0xc3, //0x00000357 retq
245 //0x00000358 LBB0_18
246 0x48, 0xb9, 0x57, 0x78, 0x13, 0xb1, 0x2f, 0x65, 0xa5, 0x39, //0x00000358 movabsq $4153837486827862103, %rcx
247 0x48, 0x89, 0xf0, //0x00000362 movq %rsi, %rax
248 0x48, 0xf7, 0xe1, //0x00000365 mulq %rcx
249 0x48, 0xc1, 0xea, 0x33, //0x00000368 shrq $51, %rdx
250 0x48, 0xb8, 0x00, 0x00, 0xc1, 0x6f, 0xf2, 0x86, 0x23, 0x00, //0x0000036c movabsq $10000000000000000, %rax
251 0x48, 0x0f, 0xaf, 0xc2, //0x00000376 imulq %rdx, %rax
252 0x48, 0x29, 0xc6, //0x0000037a subq %rax, %rsi
253 0x83, 0xfa, 0x09, //0x0000037d cmpl $9, %edx
254 0x0f, 0x87, 0x0f, 0x00, 0x00, 0x00, //0x00000380 ja LBB0_20
255 0x80, 0xc2, 0x30, //0x00000386 addb $48, %dl
256 0x88, 0x17, //0x00000389 movb %dl, (%rdi)
257 0xb9, 0x01, 0x00, 0x00, 0x00, //0x0000038b movl $1, %ecx
258 0xe9, 0xa5, 0x00, 0x00, 0x00, //0x00000390 jmp LBB0_25
259 //0x00000395 LBB0_20
260 0x83, 0xfa, 0x63, //0x00000395 cmpl $99, %edx
261 0x0f, 0x87, 0x1a, 0x00, 0x00, 0x00, //0x00000398 ja LBB0_22
262 0x89, 0xd0, //0x0000039e movl %edx, %eax
263 0x48, 0x8d, 0x0d, 0x79, 0x01, 0x00, 0x00, //0x000003a0 leaq $377(%rip), %rcx /* _Digits+0(%rip) */
264 0x0f, 0xb7, 0x04, 0x41, //0x000003a7 movzwl (%rcx,%rax,2), %eax
265 0x66, 0x89, 0x07, //0x000003ab movw %ax, (%rdi)
266 0xb9, 0x02, 0x00, 0x00, 0x00, //0x000003ae movl $2, %ecx
267 0xe9, 0x82, 0x00, 0x00, 0x00, //0x000003b3 jmp LBB0_25
268 //0x000003b8 LBB0_22
269 0x89, 0xd0, //0x000003b8 movl %edx, %eax
270 0xc1, 0xe8, 0x02, //0x000003ba shrl $2, %eax
271 0x69, 0xc0, 0x7b, 0x14, 0x00, 0x00, //0x000003bd imull $5243, %eax, %eax
272 0xc1, 0xe8, 0x11, //0x000003c3 shrl $17, %eax
273 0x81, 0xfa, 0xe7, 0x03, 0x00, 0x00, //0x000003c6 cmpl $999, %edx
274 0x0f, 0x87, 0x37, 0x00, 0x00, 0x00, //0x000003cc ja LBB0_24
275 0x83, 0xc0, 0x30, //0x000003d2 addl $48, %eax
276 0x88, 0x07, //0x000003d5 movb %al, (%rdi)
277 0x0f, 0xb7, 0xc2, //0x000003d7 movzwl %dx, %eax
278 0x89, 0xc1, //0x000003da movl %eax, %ecx
279 0xc1, 0xe9, 0x02, //0x000003dc shrl $2, %ecx
280 0x69, 0xc9, 0x7b, 0x14, 0x00, 0x00, //0x000003df imull $5243, %ecx, %ecx
281 0xc1, 0xe9, 0x11, //0x000003e5 shrl $17, %ecx
282 0x6b, 0xc9, 0x64, //0x000003e8 imull $100, %ecx, %ecx
283 0x29, 0xc8, //0x000003eb subl %ecx, %eax
284 0x0f, 0xb7, 0xc0, //0x000003ed movzwl %ax, %eax
285 0x48, 0x8d, 0x0d, 0x29, 0x01, 0x00, 0x00, //0x000003f0 leaq $297(%rip), %rcx /* _Digits+0(%rip) */
286 0x0f, 0xb7, 0x04, 0x41, //0x000003f7 movzwl (%rcx,%rax,2), %eax
287 0x66, 0x89, 0x47, 0x01, //0x000003fb movw %ax, $1(%rdi)
288 0xb9, 0x03, 0x00, 0x00, 0x00, //0x000003ff movl $3, %ecx
289 0xe9, 0x31, 0x00, 0x00, 0x00, //0x00000404 jmp LBB0_25
290 //0x00000409 LBB0_24
291 0x6b, 0xc8, 0x64, //0x00000409 imull $100, %eax, %ecx
292 0x29, 0xca, //0x0000040c subl %ecx, %edx
293 0x0f, 0xb7, 0xc0, //0x0000040e movzwl %ax, %eax
294 0x48, 0x8d, 0x0d, 0x08, 0x01, 0x00, 0x00, //0x00000411 leaq $264(%rip), %rcx /* _Digits+0(%rip) */
295 0x0f, 0xb7, 0x04, 0x41, //0x00000418 movzwl (%rcx,%rax,2), %eax
296 0x66, 0x89, 0x07, //0x0000041c movw %ax, (%rdi)
297 0x0f, 0xb7, 0xc2, //0x0000041f movzwl %dx, %eax
298 0x8a, 0x14, 0x41, //0x00000422 movb (%rcx,%rax,2), %dl
299 0x48, 0x01, 0xc0, //0x00000425 addq %rax, %rax
300 0x88, 0x57, 0x02, //0x00000428 movb %dl, $2(%rdi)
301 0x0f, 0xb7, 0xc0, //0x0000042b movzwl %ax, %eax
302 0x8a, 0x44, 0x08, 0x01, //0x0000042e movb $1(%rax,%rcx), %al
303 0x88, 0x47, 0x03, //0x00000432 movb %al, $3(%rdi)
304 0xb9, 0x04, 0x00, 0x00, 0x00, //0x00000435 movl $4, %ecx
305 //0x0000043a LBB0_25
306 0x48, 0xba, 0xfd, 0xce, 0x61, 0x84, 0x11, 0x77, 0xcc, 0xab, //0x0000043a movabsq $-6067343680855748867, %rdx
307 0x48, 0x89, 0xf0, //0x00000444 movq %rsi, %rax
308 0x48, 0xf7, 0xe2, //0x00000447 mulq %rdx
309 0x48, 0xc1, 0xea, 0x1a, //0x0000044a shrq $26, %rdx
310 0x66, 0x0f, 0x6e, 0xc2, //0x0000044e movd %edx, %xmm0
311 0xf3, 0x0f, 0x6f, 0x0d, 0xa6, 0xfb, 0xff, 0xff, //0x00000452 movdqu $-1114(%rip), %xmm1 /* LCPI0_0+0(%rip) */
312 0x66, 0x0f, 0x6f, 0xd8, //0x0000045a movdqa %xmm0, %xmm3
313 0x66, 0x0f, 0xf4, 0xd9, //0x0000045e pmuludq %xmm1, %xmm3
314 0x66, 0x0f, 0x73, 0xd3, 0x2d, //0x00000462 psrlq $45, %xmm3
315 0xb8, 0x10, 0x27, 0x00, 0x00, //0x00000467 movl $10000, %eax
316 0x66, 0x48, 0x0f, 0x6e, 0xd0, //0x0000046c movq %rax, %xmm2
317 0x66, 0x0f, 0x6f, 0xe3, //0x00000471 movdqa %xmm3, %xmm4
318 0x66, 0x0f, 0xf4, 0xe2, //0x00000475 pmuludq %xmm2, %xmm4
319 0x66, 0x0f, 0xfa, 0xc4, //0x00000479 psubd %xmm4, %xmm0
320 0x66, 0x0f, 0x61, 0xd8, //0x0000047d punpcklwd %xmm0, %xmm3
321 0x66, 0x0f, 0x73, 0xf3, 0x02, //0x00000481 psllq $2, %xmm3
322 0xf2, 0x0f, 0x70, 0xc3, 0x50, //0x00000486 pshuflw $80, %xmm3, %xmm0
323 0x66, 0x0f, 0x70, 0xc0, 0x50, //0x0000048b pshufd $80, %xmm0, %xmm0
324 0xf3, 0x0f, 0x6f, 0x25, 0x78, 0xfb, 0xff, 0xff, //0x00000490 movdqu $-1160(%rip), %xmm4 /* LCPI0_1+0(%rip) */
325 0x66, 0x0f, 0xe4, 0xc4, //0x00000498 pmulhuw %xmm4, %xmm0
326 0xf3, 0x0f, 0x6f, 0x2d, 0x7c, 0xfb, 0xff, 0xff, //0x0000049c movdqu $-1156(%rip), %xmm5 /* LCPI0_2+0(%rip) */
327 0x66, 0x0f, 0xe4, 0xc5, //0x000004a4 pmulhuw %xmm5, %xmm0
328 0xf3, 0x0f, 0x6f, 0x1d, 0x80, 0xfb, 0xff, 0xff, //0x000004a8 movdqu $-1152(%rip), %xmm3 /* LCPI0_3+0(%rip) */
329 0x66, 0x0f, 0x6f, 0xf0, //0x000004b0 movdqa %xmm0, %xmm6
330 0x66, 0x0f, 0xd5, 0xf3, //0x000004b4 pmullw %xmm3, %xmm6
331 0x66, 0x0f, 0x73, 0xf6, 0x10, //0x000004b8 psllq $16, %xmm6
332 0x66, 0x0f, 0xf9, 0xc6, //0x000004bd psubw %xmm6, %xmm0
333 0x69, 0xc2, 0x00, 0xe1, 0xf5, 0x05, //0x000004c1 imull $100000000, %edx, %eax
334 0x29, 0xc6, //0x000004c7 subl %eax, %esi
335 0x66, 0x0f, 0x6e, 0xf6, //0x000004c9 movd %esi, %xmm6
336 0x66, 0x0f, 0xf4, 0xce, //0x000004cd pmuludq %xmm6, %xmm1
337 0x66, 0x0f, 0x73, 0xd1, 0x2d, //0x000004d1 psrlq $45, %xmm1
338 0x66, 0x0f, 0xf4, 0xd1, //0x000004d6 pmuludq %xmm1, %xmm2
339 0x66, 0x0f, 0xfa, 0xf2, //0x000004da psubd %xmm2, %xmm6
340 0x66, 0x0f, 0x61, 0xce, //0x000004de punpcklwd %xmm6, %xmm1
341 0x66, 0x0f, 0x73, 0xf1, 0x02, //0x000004e2 psllq $2, %xmm1
342 0xf2, 0x0f, 0x70, 0xc9, 0x50, //0x000004e7 pshuflw $80, %xmm1, %xmm1
343 0x66, 0x0f, 0x70, 0xc9, 0x50, //0x000004ec pshufd $80, %xmm1, %xmm1
344 0x66, 0x0f, 0xe4, 0xcc, //0x000004f1 pmulhuw %xmm4, %xmm1
345 0x66, 0x0f, 0xe4, 0xcd, //0x000004f5 pmulhuw %xmm5, %xmm1
346 0x66, 0x0f, 0xd5, 0xd9, //0x000004f9 pmullw %xmm1, %xmm3
347 0x66, 0x0f, 0x73, 0xf3, 0x10, //0x000004fd psllq $16, %xmm3
348 0x66, 0x0f, 0xf9, 0xcb, //0x00000502 psubw %xmm3, %xmm1
349 0x66, 0x0f, 0x67, 0xc1, //0x00000506 packuswb %xmm1, %xmm0
350 0x66, 0x0f, 0xfc, 0x05, 0x2e, 0xfb, 0xff, 0xff, //0x0000050a paddb $-1234(%rip), %xmm0 /* LCPI0_4+0(%rip) */
351 0x89, 0xc8, //0x00000512 movl %ecx, %eax
352 0xf3, 0x0f, 0x7f, 0x04, 0x07, //0x00000514 movdqu %xmm0, (%rdi,%rax)
353 0x83, 0xc9, 0x10, //0x00000519 orl $16, %ecx
354 0x89, 0xc8, //0x0000051c movl %ecx, %eax
355 0x5d, //0x0000051e popq %rbp
356 0xc3, //0x0000051f retq
357 //0x00000520 .p2align 4, 0x00
358 //0x00000520 _Digits
359 0x30, 0x30, 0x30, 0x31, 0x30, 0x32, 0x30, 0x33, 0x30, 0x34, 0x30, 0x35, 0x30, 0x36, 0x30, 0x37, //0x00000520 QUAD $0x3330323031303030; QUAD $0x3730363035303430 // .ascii 16, '0001020304050607'
360 0x30, 0x38, 0x30, 0x39, 0x31, 0x30, 0x31, 0x31, 0x31, 0x32, 0x31, 0x33, 0x31, 0x34, 0x31, 0x35, //0x00000530 QUAD $0x3131303139303830; QUAD $0x3531343133313231 // .ascii 16, '0809101112131415'
361 0x31, 0x36, 0x31, 0x37, 0x31, 0x38, 0x31, 0x39, 0x32, 0x30, 0x32, 0x31, 0x32, 0x32, 0x32, 0x33, //0x00000540 QUAD $0x3931383137313631; QUAD $0x3332323231323032 // .ascii 16, '1617181920212223'
362 0x32, 0x34, 0x32, 0x35, 0x32, 0x36, 0x32, 0x37, 0x32, 0x38, 0x32, 0x39, 0x33, 0x30, 0x33, 0x31, //0x00000550 QUAD $0x3732363235323432; QUAD $0x3133303339323832 // .ascii 16, '2425262728293031'
363 0x33, 0x32, 0x33, 0x33, 0x33, 0x34, 0x33, 0x35, 0x33, 0x36, 0x33, 0x37, 0x33, 0x38, 0x33, 0x39, //0x00000560 QUAD $0x3533343333333233; QUAD $0x3933383337333633 // .ascii 16, '3233343536373839'
364 0x34, 0x30, 0x34, 0x31, 0x34, 0x32, 0x34, 0x33, 0x34, 0x34, 0x34, 0x35, 0x34, 0x36, 0x34, 0x37, //0x00000570 QUAD $0x3334323431343034; QUAD $0x3734363435343434 // .ascii 16, '4041424344454647'
365 0x34, 0x38, 0x34, 0x39, 0x35, 0x30, 0x35, 0x31, 0x35, 0x32, 0x35, 0x33, 0x35, 0x34, 0x35, 0x35, //0x00000580 QUAD $0x3135303539343834; QUAD $0x3535343533353235 // .ascii 16, '4849505152535455'
366 0x35, 0x36, 0x35, 0x37, 0x35, 0x38, 0x35, 0x39, 0x36, 0x30, 0x36, 0x31, 0x36, 0x32, 0x36, 0x33, //0x00000590 QUAD $0x3935383537353635; QUAD $0x3336323631363036 // .ascii 16, '5657585960616263'
367 0x36, 0x34, 0x36, 0x35, 0x36, 0x36, 0x36, 0x37, 0x36, 0x38, 0x36, 0x39, 0x37, 0x30, 0x37, 0x31, //0x000005a0 QUAD $0x3736363635363436; QUAD $0x3137303739363836 // .ascii 16, '6465666768697071'
368 0x37, 0x32, 0x37, 0x33, 0x37, 0x34, 0x37, 0x35, 0x37, 0x36, 0x37, 0x37, 0x37, 0x38, 0x37, 0x39, //0x000005b0 QUAD $0x3537343733373237; QUAD $0x3937383737373637 // .ascii 16, '7273747576777879'
369 0x38, 0x30, 0x38, 0x31, 0x38, 0x32, 0x38, 0x33, 0x38, 0x34, 0x38, 0x35, 0x38, 0x36, 0x38, 0x37, //0x000005c0 QUAD $0x3338323831383038; QUAD $0x3738363835383438 // .ascii 16, '8081828384858687'
370 0x38, 0x38, 0x38, 0x39, 0x39, 0x30, 0x39, 0x31, 0x39, 0x32, 0x39, 0x33, 0x39, 0x34, 0x39, 0x35, //0x000005d0 QUAD $0x3139303939383838; QUAD $0x3539343933393239 // .ascii 16, '8889909192939495'
371 0x39, 0x36, 0x39, 0x37, 0x39, 0x38, 0x39, 0x39, //0x000005e0 QUAD $0x3939383937393639 // .ascii 8, '96979899'
372 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x000005e8 .p2align 4, 0x00
373 //0x000005f0 _VecShiftShuffles
374 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, //0x000005f0 QUAD $0x0706050403020100; QUAD $0x0f0e0d0c0b0a0908 // .ascii 16, '\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f'
375 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0xff, //0x00000600 QUAD $0x0807060504030201; QUAD $0xff0f0e0d0c0b0a09 // .ascii 16, '\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff'
376 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0xff, 0xff, //0x00000610 QUAD $0x0908070605040302; QUAD $0xffff0f0e0d0c0b0a // .ascii 16, '\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff'
377 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0xff, 0xff, 0xff, //0x00000620 QUAD $0x0a09080706050403; QUAD $0xffffff0f0e0d0c0b // .ascii 16, '\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff'
378 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0xff, 0xff, 0xff, 0xff, //0x00000630 QUAD $0x0b0a090807060504; QUAD $0xffffffff0f0e0d0c // .ascii 16, '\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff'
379 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, //0x00000640 QUAD $0x0c0b0a0908070605; QUAD $0xffffffffff0f0e0d // .ascii 16, '\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff'
380 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, //0x00000650 QUAD $0x0d0c0b0a09080706; QUAD $0xffffffffffff0f0e // .ascii 16, '\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff\xff'
381 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, //0x00000660 QUAD $0x0e0d0c0b0a090807; QUAD $0xffffffffffffff0f // .ascii 16, '\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff\xff\xff'
382 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, //0x00000670 QUAD $0x0f0e0d0c0b0a0908; QUAD $0xffffffffffffffff // .ascii 16, '\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff\xff\xff\xff'
383 }
384
385