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