i64toa_arm64.s raw

   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  
   8  TEXT ·__i64toa_entry__(SB), NOSPLIT, $16
   9  	NO_LOCAL_POINTERS
  10  	WORD $0x100000a0 // adr x0, .+20
  11  	MOVD R0, ret(FP)
  12  	RET
  13  	  // .p2align 3, 0x00
  14  lCPI0_0:
  15  	WORD $0x147b20c5
  16  	WORD $0x80003334
  17  	// // .word 8389
  18  // .word 5243
  19  // .word 13108
  20  // .word 32768
  21  
  22  lCPI0_1:
  23  	WORD $0x08000080
  24  	WORD $0x80002000
  25  	// // .word 128
  26  // .word 2048
  27  // .word 8192
  28  // .word 32768
  29  
  30  lCPI0_2:
  31  	WORD $0x08040201
  32  	WORD $0x80402010
  33  	WORD $0x08040201
  34  	WORD $0x80402010
  35  	// // .byte 1
  36  // .byte 2
  37  // .byte 4
  38  // .byte 8
  39  // .byte 16
  40  // .byte 32
  41  // .byte 64
  42  // .byte 128
  43  // .byte 1
  44  // .byte 2
  45  // .byte 4
  46  // .byte 8
  47  // .byte 16
  48  // .byte 32
  49  // .byte 64
  50  // .byte 128
  51  
  52  lCPI0_3:
  53  	WORD $0x09010800
  54  	WORD $0x0b030a02
  55  	WORD $0x0d050c04
  56  	WORD $0x0f070e06
  57  	// // .byte 0
  58  // .byte 8
  59  // .byte 1
  60  // .byte 9
  61  // .byte 2
  62  // .byte 10
  63  // .byte 3
  64  // .byte 11
  65  // .byte 4
  66  // .byte 12
  67  // .byte 5
  68  // .byte 13
  69  // .byte 6
  70  // .byte 14
  71  // .byte 7
  72  // .byte 15
  73  
  74  _i64toa:
  75  	WORD $0xd10083ff  // sub	sp, sp, #32
  76  	WORD $0xa900fbfd  // stp	fp, lr, [sp, #8]
  77  	WORD $0xa93ffbfd  // stp	fp, lr, [sp, #-8]
  78  	WORD $0xd10023fd  // sub	fp, sp, #8
  79  	WORD $0xb7f80641  // tbnz	x1, #63, LBB0_10 $200(%rip)
  80  	WORD $0xd344fc28  // lsr	x8, x1, #4
  81  	WORD $0xf109c11f  // cmp	x8, #624
  82  	WORD $0x540008e8  // b.hi	LBB0_13 $284(%rip)
  83  	WORD $0x53023c28  // ubfx	w8, w1, #2, #14
  84  	WORD $0x52828f69  // mov	w9, #5243
  85  	WORD $0x1b097d08  // mul	w8, w8, w9
  86  	WORD $0x53117d08  // lsr	w8, w8, #17
  87  	WORD $0xd37f7d09  // ubfiz	x9, x8, #1, #32
  88  	WORD $0x52800c8a  // mov	w10, #100
  89  	WORD $0x1b0a8508  // msub	w8, w8, w10, w1
  90  	WORD $0x92403d08  // and	x8, x8, #0xffff
  91  	WORD $0xd37ff908  // lsl	x8, x8, #1
  92  	WORD $0x710fa03f  // cmp	w1, #1000
  93  	WORD $0x540000e3  // b.lo	LBB0_4 $28(%rip)
  94  Lloh0:
  95  	WORD $0x100054ea  // adr	x10, _Digits $2716(%rip)
  96  Lloh1:
  97  	WORD $0x9100014a  // add	x10, x10, _Digits@PAGEOFF $0(%rip)
  98  	WORD $0x3869694a  // ldrb	w10, [x10, x9]
  99  	WORD $0x3900000a  // strb	w10, [x0]
 100  	WORD $0x5280002a  // mov	w10, #1
 101  	WORD $0x14000004  // b	LBB0_6 $16(%rip)
 102  LBB0_4:
 103  	WORD $0x7101903f  // cmp	w1, #100
 104  	WORD $0x540002e3  // b.lo	LBB0_9 $92(%rip)
 105  	WORD $0x5280000a  // mov	w10, #0
 106  LBB0_6:
 107  Lloh2:
 108  	WORD $0x100053cb  // adr	x11, _Digits $2680(%rip)
 109  Lloh3:
 110  	WORD $0x9100016b  // add	x11, x11, _Digits@PAGEOFF $0(%rip)
 111  	WORD $0x8b294169  // add	x9, x11, w9, uxtw
 112  	WORD $0x3940052b  // ldrb	w11, [x9, #1]
 113  	WORD $0x11000549  // add	w9, w10, #1
 114  	WORD $0x382a480b  // strb	w11, [x0, w10, uxtw]
 115  LBB0_7:
 116  Lloh4:
 117  	WORD $0x1000530a  // adr	x10, _Digits $2656(%rip)
 118  Lloh5:
 119  	WORD $0x9100014a  // add	x10, x10, _Digits@PAGEOFF $0(%rip)
 120  	WORD $0x3868694b  // ldrb	w11, [x10, x8]
 121  	WORD $0x1100052a  // add	w10, w9, #1
 122  	WORD $0x3829480b  // strb	w11, [x0, w9, uxtw]
 123  LBB0_8:
 124  Lloh6:
 125  	WORD $0x10005269  // adr	x9, _Digits $2636(%rip)
 126  Lloh7:
 127  	WORD $0x91000129  // add	x9, x9, _Digits@PAGEOFF $0(%rip)
 128  	WORD $0x8b282128  // add	x8, x9, w8, uxth
 129  	WORD $0x39400509  // ldrb	w9, [x8, #1]
 130  	WORD $0x11000548  // add	w8, w10, #1
 131  	WORD $0x382a4809  // strb	w9, [x0, w10, uxtw]
 132  	WORD $0xaa0803e0  // mov	x0, x8
 133  	WORD $0xa940fbfd  // ldp	fp, lr, [sp, #8]
 134  	WORD $0x910083ff  // add	sp, sp, #32
 135  	WORD $0xd65f03c0  // ret
 136  LBB0_9:
 137  	WORD $0x52800009  // mov	w9, #0
 138  	WORD $0x5280000a  // mov	w10, #0
 139  	WORD $0x7100283f  // cmp	w1, #10
 140  	WORD $0x54fffdc2  // b.hs	LBB0_7 $-72(%rip)
 141  	WORD $0x17fffff2  // b	LBB0_8 $-56(%rip)
 142  LBB0_10:
 143  	WORD $0x528005a9  // mov	w9, #45
 144  	WORD $0xaa0003e8  // mov	x8, x0
 145  	WORD $0x38001509  // strb	w9, [x8], #1
 146  	WORD $0xcb0103e9  // neg	x9, x1
 147  	WORD $0xd344fd2a  // lsr	x10, x9, #4
 148  	WORD $0xf109c15f  // cmp	x10, #624
 149  	WORD $0x54001068  // b.hi	LBB0_28 $524(%rip)
 150  	WORD $0x53023d2a  // ubfx	w10, w9, #2, #14
 151  	WORD $0x52828f6b  // mov	w11, #5243
 152  	WORD $0x1b0b7d4a  // mul	w10, w10, w11
 153  	WORD $0x53117d4a  // lsr	w10, w10, #17
 154  	WORD $0xd37f7d4b  // ubfiz	x11, x10, #1, #32
 155  	WORD $0x52800c8c  // mov	w12, #100
 156  	WORD $0x1b0ca54a  // msub	w10, w10, w12, w9
 157  	WORD $0x92403d4a  // and	x10, x10, #0xffff
 158  	WORD $0xd37ff94a  // lsl	x10, x10, #1
 159  	WORD $0x710fa13f  // cmp	w9, #1000
 160  	WORD $0x540004e3  // b.lo	LBB0_16 $156(%rip)
 161  Lloh8:
 162  	WORD $0x10004e49  // adr	x9, _Digits $2504(%rip)
 163  Lloh9:
 164  	WORD $0x91000129  // add	x9, x9, _Digits@PAGEOFF $0(%rip)
 165  	WORD $0x386b6929  // ldrb	w9, [x9, x11]
 166  	WORD $0x39000109  // strb	w9, [x8]
 167  	WORD $0x52800029  // mov	w9, #1
 168  	WORD $0x14000024  // b	LBB0_18 $144(%rip)
 169  LBB0_13:
 170  	WORD $0x529c2008  // mov	w8, #57600
 171  	WORD $0x72a0bea8  // movk	w8, #1525, lsl #16
 172  	WORD $0xeb08003f  // cmp	x1, x8
 173  	WORD $0x540011c2  // b.hs	LBB0_31 $568(%rip)
 174  	WORD $0x5282eb28  // mov	w8, #5977
 175  	WORD $0x72ba36e8  // movk	w8, #53687, lsl #16
 176  	WORD $0x92407c29  // and	x9, x1, #0xffffffff
 177  	WORD $0x9ba87d28  // umull	x8, w9, w8
 178  	WORD $0xd36dfd08  // lsr	x8, x8, #45
 179  	WORD $0x529bd06a  // mov	w10, #56963
 180  	WORD $0x72a8636a  // movk	w10, #17179, lsl #16
 181  	WORD $0x9baa7d29  // umull	x9, w9, w10
 182  	WORD $0xd371fd29  // lsr	x9, x9, #49
 183  	WORD $0x927f312a  // and	x10, x9, #0x3ffe
 184  	WORD $0x53023d09  // ubfx	w9, w8, #2, #14
 185  	WORD $0x52828f6b  // mov	w11, #5243
 186  	WORD $0x1b0b7d29  // mul	w9, w9, w11
 187  	WORD $0x53117d29  // lsr	w9, w9, #17
 188  	WORD $0x52800c8b  // mov	w11, #100
 189  	WORD $0x1b0ba129  // msub	w9, w9, w11, w8
 190  	WORD $0x92403d29  // and	x9, x9, #0xffff
 191  	WORD $0xd37ff929  // lsl	x9, x9, #1
 192  	WORD $0x5292cfeb  // mov	w11, #38527
 193  	WORD $0x72a0130b  // movk	w11, #152, lsl #16
 194  	WORD $0x6b0b003f  // cmp	w1, w11
 195  	WORD $0x54000409  // b.ls	LBB0_21 $128(%rip)
 196  Lloh10:
 197  	WORD $0x10004a4b  // adr	x11, _Digits $2376(%rip)
 198  Lloh11:
 199  	WORD $0x9100016b  // add	x11, x11, _Digits@PAGEOFF $0(%rip)
 200  	WORD $0x386a696b  // ldrb	w11, [x11, x10]
 201  	WORD $0x3900000b  // strb	w11, [x0]
 202  	WORD $0x5280002c  // mov	w12, #1
 203  	WORD $0x1400001f  // b	LBB0_23 $124(%rip)
 204  LBB0_16:
 205  	WORD $0x7101913f  // cmp	w9, #100
 206  	WORD $0x540008a3  // b.lo	LBB0_26 $276(%rip)
 207  	WORD $0x52800009  // mov	w9, #0
 208  LBB0_18:
 209  Lloh12:
 210  	WORD $0x1000492c  // adr	x12, _Digits $2340(%rip)
 211  Lloh13:
 212  	WORD $0x9100018c  // add	x12, x12, _Digits@PAGEOFF $0(%rip)
 213  	WORD $0x8b2b418b  // add	x11, x12, w11, uxtw
 214  	WORD $0x3940056c  // ldrb	w12, [x11, #1]
 215  	WORD $0x1100052b  // add	w11, w9, #1
 216  	WORD $0x3829490c  // strb	w12, [x8, w9, uxtw]
 217  LBB0_19:
 218  Lloh14:
 219  	WORD $0x10004869  // adr	x9, _Digits $2316(%rip)
 220  Lloh15:
 221  	WORD $0x91000129  // add	x9, x9, _Digits@PAGEOFF $0(%rip)
 222  	WORD $0x386a6929  // ldrb	w9, [x9, x10]
 223  	WORD $0x1100056c  // add	w12, w11, #1
 224  	WORD $0x382b4909  // strb	w9, [x8, w11, uxtw]
 225  LBB0_20:
 226  Lloh16:
 227  	WORD $0x100047c9  // adr	x9, _Digits $2296(%rip)
 228  Lloh17:
 229  	WORD $0x91000129  // add	x9, x9, _Digits@PAGEOFF $0(%rip)
 230  	WORD $0x8b2a2129  // add	x9, x9, w10, uxth
 231  	WORD $0x3940052a  // ldrb	w10, [x9, #1]
 232  	WORD $0x11000589  // add	w9, w12, #1
 233  	WORD $0x382c490a  // strb	w10, [x8, w12, uxtw]
 234  	WORD $0x11000528  // add	w8, w9, #1
 235  	WORD $0xaa0803e0  // mov	x0, x8
 236  	WORD $0xa940fbfd  // ldp	fp, lr, [sp, #8]
 237  	WORD $0x910083ff  // add	sp, sp, #32
 238  	WORD $0xd65f03c0  // ret
 239  LBB0_21:
 240  	WORD $0x528847eb  // mov	w11, #16959
 241  	WORD $0x72a001eb  // movk	w11, #15, lsl #16
 242  	WORD $0x6b0b003f  // cmp	w1, w11
 243  	WORD $0x540005e9  // b.ls	LBB0_27 $188(%rip)
 244  	WORD $0x5280000c  // mov	w12, #0
 245  LBB0_23:
 246  Lloh18:
 247  	WORD $0x100045cb  // adr	x11, _Digits $2232(%rip)
 248  Lloh19:
 249  	WORD $0x9100016b  // add	x11, x11, _Digits@PAGEOFF $0(%rip)
 250  	WORD $0x8b2a416a  // add	x10, x11, w10, uxtw
 251  	WORD $0x3940054a  // ldrb	w10, [x10, #1]
 252  	WORD $0x1100058b  // add	w11, w12, #1
 253  	WORD $0x382c480a  // strb	w10, [x0, w12, uxtw]
 254  LBB0_24:
 255  Lloh20:
 256  	WORD $0x1000450a  // adr	x10, _Digits $2208(%rip)
 257  Lloh21:
 258  	WORD $0x9100014a  // add	x10, x10, _Digits@PAGEOFF $0(%rip)
 259  	WORD $0x3869694c  // ldrb	w12, [x10, x9]
 260  	WORD $0x1100056a  // add	w10, w11, #1
 261  	WORD $0x382b480c  // strb	w12, [x0, w11, uxtw]
 262  LBB0_25:
 263  	WORD $0x5284e20b  // mov	w11, #10000
 264  	WORD $0x1b0b8508  // msub	w8, w8, w11, w1
 265  	WORD $0x53023d0b  // ubfx	w11, w8, #2, #14
 266  	WORD $0x52828f6c  // mov	w12, #5243
 267  	WORD $0x1b0c7d6b  // mul	w11, w11, w12
 268  	WORD $0x53117d6b  // lsr	w11, w11, #17
 269  	WORD $0x52800c8c  // mov	w12, #100
 270  	WORD $0x1b0ca168  // msub	w8, w11, w12, w8
 271  	WORD $0x92403d08  // and	x8, x8, #0xffff
 272  	WORD $0xd37ff908  // lsl	x8, x8, #1
 273  Lloh22:
 274  	WORD $0x1000432c  // adr	x12, _Digits $2148(%rip)
 275  Lloh23:
 276  	WORD $0x9100018c  // add	x12, x12, _Digits@PAGEOFF $0(%rip)
 277  	WORD $0x8b292189  // add	x9, x12, w9, uxth
 278  	WORD $0x39400529  // ldrb	w9, [x9, #1]
 279  	WORD $0x8b2a400d  // add	x13, x0, w10, uxtw
 280  	WORD $0x390001a9  // strb	w9, [x13]
 281  	WORD $0x786b5989  // ldrh	w9, [x12, w11, uxtw #1]
 282  	WORD $0x780011a9  // sturh	w9, [x13, #1]
 283  	WORD $0x38686989  // ldrb	w9, [x12, x8]
 284  	WORD $0x39000da9  // strb	w9, [x13, #3]
 285  	WORD $0x927f3908  // and	x8, x8, #0xfffe
 286  	WORD $0x8b080188  // add	x8, x12, x8
 287  	WORD $0x39400509  // ldrb	w9, [x8, #1]
 288  	WORD $0x11001548  // add	w8, w10, #5
 289  	WORD $0x390011a9  // strb	w9, [x13, #4]
 290  	WORD $0xaa0803e0  // mov	x0, x8
 291  	WORD $0xa940fbfd  // ldp	fp, lr, [sp, #8]
 292  	WORD $0x910083ff  // add	sp, sp, #32
 293  	WORD $0xd65f03c0  // ret
 294  LBB0_26:
 295  	WORD $0x5280000b  // mov	w11, #0
 296  	WORD $0x5280000c  // mov	w12, #0
 297  	WORD $0x7100293f  // cmp	w9, #10
 298  	WORD $0x54fff802  // b.hs	LBB0_19 $-256(%rip)
 299  	WORD $0x17ffffc4  // b	LBB0_20 $-240(%rip)
 300  LBB0_27:
 301  	WORD $0x5280000b  // mov	w11, #0
 302  	WORD $0x5280000a  // mov	w10, #0
 303  	WORD $0x53057c2c  // lsr	w12, w1, #5
 304  	WORD $0x7130d59f  // cmp	w12, #3125
 305  	WORD $0x54fffaa2  // b.hs	LBB0_24 $-172(%rip)
 306  	WORD $0x17ffffd9  // b	LBB0_25 $-156(%rip)
 307  LBB0_28:
 308  	WORD $0x529c200a  // mov	w10, #57600
 309  	WORD $0x72a0beaa  // movk	w10, #1525, lsl #16
 310  	WORD $0xeb0a013f  // cmp	x9, x10
 311  	WORD $0x54001662  // b.hs	LBB0_39 $716(%rip)
 312  	WORD $0x5282eb2a  // mov	w10, #5977
 313  	WORD $0x72ba36ea  // movk	w10, #53687, lsl #16
 314  	WORD $0x9baa7d2a  // umull	x10, w9, w10
 315  	WORD $0xd36dfd4a  // lsr	x10, x10, #45
 316  	WORD $0x529bd06b  // mov	w11, #56963
 317  	WORD $0x72a8636b  // movk	w11, #17179, lsl #16
 318  	WORD $0x92407d2c  // and	x12, x9, #0xffffffff
 319  	WORD $0x9bab7d8b  // umull	x11, w12, w11
 320  	WORD $0xd371fd6b  // lsr	x11, x11, #49
 321  	WORD $0x927f316c  // and	x12, x11, #0x3ffe
 322  	WORD $0x53023d4b  // ubfx	w11, w10, #2, #14
 323  	WORD $0x52828f6d  // mov	w13, #5243
 324  	WORD $0x1b0d7d6b  // mul	w11, w11, w13
 325  	WORD $0x53117d6b  // lsr	w11, w11, #17
 326  	WORD $0x52800c8d  // mov	w13, #100
 327  	WORD $0x1b0da96b  // msub	w11, w11, w13, w10
 328  	WORD $0x92403d6b  // and	x11, x11, #0xffff
 329  	WORD $0xd37ff96b  // lsl	x11, x11, #1
 330  	WORD $0x5292cfed  // mov	w13, #38527
 331  	WORD $0x72a0130d  // movk	w13, #152, lsl #16
 332  	WORD $0x6b0d013f  // cmp	w9, w13
 333  	WORD $0x54000d29  // b.ls	LBB0_33 $420(%rip)
 334  Lloh24:
 335  	WORD $0x10003c2d  // adr	x13, _Digits $1924(%rip)
 336  Lloh25:
 337  	WORD $0x910001ad  // add	x13, x13, _Digits@PAGEOFF $0(%rip)
 338  	WORD $0x386c69ad  // ldrb	w13, [x13, x12]
 339  	WORD $0x3900010d  // strb	w13, [x8]
 340  	WORD $0x5280002e  // mov	w14, #1
 341  	WORD $0x14000068  // b	LBB0_35 $416(%rip)
 342  LBB0_31:
 343  	WORD $0xd2adf82a  // mov	x10, #1874919424
 344  	WORD $0xf2d0de4a  // movk	x10, #34546, lsl #32
 345  	WORD $0xf2e0046a  // movk	x10, #35, lsl #48
 346  	WORD $0xeb0a003f  // cmp	x1, x10
 347  	WORD $0x54001ea2  // b.hs	LBB0_41 $980(%rip)
 348  	WORD $0xd299dfa9  // mov	x9, #52989
 349  	WORD $0xf2b08c29  // movk	x9, #33889, lsl #16
 350  	WORD $0xf2cee229  // movk	x9, #30481, lsl #32
 351  	WORD $0xf2f57989  // movk	x9, #43980, lsl #48
 352  	WORD $0x9bc97c29  // umulh	x9, x1, x9
 353  	WORD $0xd35afd29  // lsr	x9, x9, #26
 354  	WORD $0x1b088528  // msub	w8, w9, w8, w1
 355  	WORD $0x6f00e400  // movi.2d	v0, #0000000000000000
 356  	WORD $0x6f00e401  // movi.2d	v1, #0000000000000000
 357  	WORD $0x4e041d21  // mov.s	v1[0], w9
 358  	WORD $0x0ea12822  // xtn.2s	v2, v1
 359  	WORD $0x5282eb29  // mov	w9, #5977
 360  	WORD $0x72ba36e9  // movk	w9, #53687, lsl #16
 361  	WORD $0x0e040d23  // dup.2s	v3, w9
 362  	WORD $0x2ea3c042  // umull.2d	v2, v2, v3
 363  	WORD $0x6f530442  // ushr.2d	v2, v2, #45
 364  	WORD $0x0ea12844  // xtn.2s	v4, v2
 365  	WORD $0x5284e209  // mov	w9, #10000
 366  	WORD $0x0e040d25  // dup.2s	v5, w9
 367  	WORD $0x2ea5c084  // umull.2d	v4, v4, v5
 368  	WORD $0x6ea48421  // sub.4s	v1, v1, v4
 369  	WORD $0x4e413841  // zip1.8h	v1, v2, v1
 370  	WORD $0x4f425421  // shl.2d	v1, v1, #2
 371  	WORD $0x4e413821  // zip1.8h	v1, v1, v1
 372  	WORD $0x4e813821  // zip1.4s	v1, v1, v1
 373  Lloh26:
 374  	WORD $0x10ffdee9  // adr	x9, lCPI0_0 $-1060(%rip)
 375  Lloh27:
 376  	WORD $0xfd400122  // ldr	d2, [x9, lCPI0_0@PAGEOFF] $0(%rip)
 377  	WORD $0x2e62c024  // umull.4s	v4, v1, v2
 378  	WORD $0x6e014021  // ext.16b	v1, v1, v1, #8
 379  	WORD $0x2e62c021  // umull.4s	v1, v1, v2
 380  	WORD $0x4e415881  // uzp2.8h	v1, v4, v1
 381  Lloh28:
 382  	WORD $0x10ffde69  // adr	x9, lCPI0_1 $-1076(%rip)
 383  Lloh29:
 384  	WORD $0xfd400124  // ldr	d4, [x9, lCPI0_1@PAGEOFF] $0(%rip)
 385  	WORD $0x2e64c026  // umull.4s	v6, v1, v4
 386  	WORD $0x6e014021  // ext.16b	v1, v1, v1, #8
 387  	WORD $0x2e64c021  // umull.4s	v1, v1, v4
 388  	WORD $0x4e4158c1  // uzp2.8h	v1, v6, v1
 389  	WORD $0x4f008546  // movi.8h	v6, #10
 390  	WORD $0x4e669c27  // mul.8h	v7, v1, v6
 391  	WORD $0x4f5054e7  // shl.2d	v7, v7, #16
 392  	WORD $0x6e678421  // sub.8h	v1, v1, v7
 393  	WORD $0x4e041d00  // mov.s	v0[0], w8
 394  	WORD $0x0ea12807  // xtn.2s	v7, v0
 395  	WORD $0x2ea3c0e3  // umull.2d	v3, v7, v3
 396  	WORD $0x6f530463  // ushr.2d	v3, v3, #45
 397  	WORD $0x0ea12867  // xtn.2s	v7, v3
 398  	WORD $0x2ea5c0e5  // umull.2d	v5, v7, v5
 399  	WORD $0x6ea58400  // sub.4s	v0, v0, v5
 400  	WORD $0x4e403860  // zip1.8h	v0, v3, v0
 401  	WORD $0x4f425400  // shl.2d	v0, v0, #2
 402  	WORD $0x4e403800  // zip1.8h	v0, v0, v0
 403  	WORD $0x4e803800  // zip1.4s	v0, v0, v0
 404  	WORD $0x2e62c003  // umull.4s	v3, v0, v2
 405  	WORD $0x6e004000  // ext.16b	v0, v0, v0, #8
 406  	WORD $0x2e62c000  // umull.4s	v0, v0, v2
 407  	WORD $0x4e405860  // uzp2.8h	v0, v3, v0
 408  	WORD $0x2e64c002  // umull.4s	v2, v0, v4
 409  	WORD $0x6e004000  // ext.16b	v0, v0, v0, #8
 410  	WORD $0x2e64c000  // umull.4s	v0, v0, v4
 411  	WORD $0x4e405840  // uzp2.8h	v0, v2, v0
 412  	WORD $0x4e669c02  // mul.8h	v2, v0, v6
 413  	WORD $0x4f505442  // shl.2d	v2, v2, #16
 414  	WORD $0x6e628400  // sub.8h	v0, v0, v2
 415  	WORD $0x2e212821  // sqxtun.8b	v1, v1
 416  	WORD $0x6e212801  // sqxtun2.16b	v1, v0
 417  	WORD $0x4f01e600  // movi.16b	v0, #48
 418  	WORD $0x4e208420  // add.16b	v0, v1, v0
 419  	WORD $0x4e209821  // cmeq.16b	v1, v1, #0
 420  Lloh30:
 421  	WORD $0x10ffda08  // adr	x8, lCPI0_2 $-1216(%rip)
 422  Lloh31:
 423  	WORD $0x3dc00102  // ldr	q2, [x8, lCPI0_2@PAGEOFF] $0(%rip)
 424  	WORD $0x4e221c21  // and.16b	v1, v1, v2
 425  Lloh32:
 426  	WORD $0x10ffda28  // adr	x8, lCPI0_3 $-1212(%rip)
 427  Lloh33:
 428  	WORD $0x3dc00102  // ldr	q2, [x8, lCPI0_3@PAGEOFF] $0(%rip)
 429  	WORD $0x4e020021  // tbl.16b	v1, { v1 }, v2
 430  	WORD $0x4e71b821  // addv.8h	h1, v1
 431  	WORD $0x1e260028  // fmov	w8, s1
 432  	WORD $0x2a2803e8  // mvn	w8, w8
 433  	WORD $0x32114108  // orr	w8, w8, #0xffff8000
 434  	WORD $0x5ac00108  // rbit	w8, w8
 435  	WORD $0x5ac01108  // clz	w8, w8
 436  Lloh34:
 437  	WORD $0x10003709  // adr	x9, _VecShiftShuffles $1760(%rip)
 438  Lloh35:
 439  	WORD $0x91000129  // add	x9, x9, _VecShiftShuffles@PAGEOFF $0(%rip)
 440  	WORD $0x3ce85921  // ldr	q1, [x9, w8, uxtw #4]
 441  	WORD $0x4f04e5e2  // movi.16b	v2, #143
 442  	WORD $0x4e221c21  // and.16b	v1, v1, v2
 443  	WORD $0x4e010000  // tbl.16b	v0, { v0 }, v1
 444  	WORD $0x3d800000  // str	q0, [x0]
 445  	WORD $0x52800209  // mov	w9, #16
 446  	WORD $0x4b080128  // sub	w8, w9, w8
 447  	WORD $0xaa0803e0  // mov	x0, x8
 448  	WORD $0xa940fbfd  // ldp	fp, lr, [sp, #8]
 449  	WORD $0x910083ff  // add	sp, sp, #32
 450  	WORD $0xd65f03c0  // ret
 451  LBB0_33:
 452  	WORD $0x528847ed  // mov	w13, #16959
 453  	WORD $0x72a001ed  // movk	w13, #15, lsl #16
 454  	WORD $0x6b0d013f  // cmp	w9, w13
 455  	WORD $0x54000569  // b.ls	LBB0_38 $172(%rip)
 456  	WORD $0x5280000e  // mov	w14, #0
 457  LBB0_35:
 458  Lloh36:
 459  	WORD $0x10002e8d  // adr	x13, _Digits $1488(%rip)
 460  Lloh37:
 461  	WORD $0x910001ad  // add	x13, x13, _Digits@PAGEOFF $0(%rip)
 462  	WORD $0x8b2c41ac  // add	x12, x13, w12, uxtw
 463  	WORD $0x3940058c  // ldrb	w12, [x12, #1]
 464  	WORD $0x110005cd  // add	w13, w14, #1
 465  	WORD $0x382e490c  // strb	w12, [x8, w14, uxtw]
 466  LBB0_36:
 467  Lloh38:
 468  	WORD $0x10002dcc  // adr	x12, _Digits $1464(%rip)
 469  Lloh39:
 470  	WORD $0x9100018c  // add	x12, x12, _Digits@PAGEOFF $0(%rip)
 471  	WORD $0x386b698e  // ldrb	w14, [x12, x11]
 472  	WORD $0x110005ac  // add	w12, w13, #1
 473  	WORD $0x382d490e  // strb	w14, [x8, w13, uxtw]
 474  LBB0_37:
 475  	WORD $0x5284e20d  // mov	w13, #10000
 476  	WORD $0x1b0da549  // msub	w9, w10, w13, w9
 477  	WORD $0x53023d2a  // ubfx	w10, w9, #2, #14
 478  	WORD $0x52828f6d  // mov	w13, #5243
 479  	WORD $0x1b0d7d4a  // mul	w10, w10, w13
 480  	WORD $0x53117d4a  // lsr	w10, w10, #17
 481  	WORD $0x52800c8d  // mov	w13, #100
 482  	WORD $0x1b0da549  // msub	w9, w10, w13, w9
 483  	WORD $0x92403d29  // and	x9, x9, #0xffff
 484  	WORD $0xd37ff929  // lsl	x9, x9, #1
 485  Lloh40:
 486  	WORD $0x10002bed  // adr	x13, _Digits $1404(%rip)
 487  Lloh41:
 488  	WORD $0x910001ad  // add	x13, x13, _Digits@PAGEOFF $0(%rip)
 489  	WORD $0x8b2b21ab  // add	x11, x13, w11, uxth
 490  	WORD $0x3940056b  // ldrb	w11, [x11, #1]
 491  	WORD $0x8b2c4108  // add	x8, x8, w12, uxtw
 492  	WORD $0x3900010b  // strb	w11, [x8]
 493  	WORD $0x786a59aa  // ldrh	w10, [x13, w10, uxtw #1]
 494  	WORD $0x7800110a  // sturh	w10, [x8, #1]
 495  	WORD $0x386969aa  // ldrb	w10, [x13, x9]
 496  	WORD $0x39000d0a  // strb	w10, [x8, #3]
 497  	WORD $0x927f3929  // and	x9, x9, #0xfffe
 498  	WORD $0x8b0901a9  // add	x9, x13, x9
 499  	WORD $0x3940052a  // ldrb	w10, [x9, #1]
 500  	WORD $0x11001589  // add	w9, w12, #5
 501  	WORD $0x3900110a  // strb	w10, [x8, #4]
 502  	WORD $0x11000528  // add	w8, w9, #1
 503  	WORD $0xaa0803e0  // mov	x0, x8
 504  	WORD $0xa940fbfd  // ldp	fp, lr, [sp, #8]
 505  	WORD $0x910083ff  // add	sp, sp, #32
 506  	WORD $0xd65f03c0  // ret
 507  LBB0_38:
 508  	WORD $0x5280000d  // mov	w13, #0
 509  	WORD $0x5280000c  // mov	w12, #0
 510  	WORD $0x53057d2e  // lsr	w14, w9, #5
 511  	WORD $0x7130d5df  // cmp	w14, #3125
 512  	WORD $0x54fffb22  // b.hs	LBB0_36 $-156(%rip)
 513  	WORD $0x17ffffdd  // b	LBB0_37 $-140(%rip)
 514  LBB0_39:
 515  	WORD $0xd2adf82c  // mov	x12, #1874919424
 516  	WORD $0xf2d0de4c  // movk	x12, #34546, lsl #32
 517  	WORD $0xf2e0046c  // movk	x12, #35, lsl #48
 518  	WORD $0xeb0c013f  // cmp	x9, x12
 519  	WORD $0x540019e2  // b.hs	LBB0_47 $828(%rip)
 520  	WORD $0xd299dfab  // mov	x11, #52989
 521  	WORD $0xf2b08c2b  // movk	x11, #33889, lsl #16
 522  	WORD $0xf2cee22b  // movk	x11, #30481, lsl #32
 523  	WORD $0xf2f5798b  // movk	x11, #43980, lsl #48
 524  	WORD $0x9bcb7d2b  // umulh	x11, x9, x11
 525  	WORD $0xd35afd6b  // lsr	x11, x11, #26
 526  	WORD $0x1b0aa569  // msub	w9, w11, w10, w9
 527  	WORD $0x6f00e400  // movi.2d	v0, #0000000000000000
 528  	WORD $0x6f00e401  // movi.2d	v1, #0000000000000000
 529  	WORD $0x4e041d61  // mov.s	v1[0], w11
 530  	WORD $0x0ea12822  // xtn.2s	v2, v1
 531  	WORD $0x5282eb2a  // mov	w10, #5977
 532  	WORD $0x72ba36ea  // movk	w10, #53687, lsl #16
 533  	WORD $0x0e040d43  // dup.2s	v3, w10
 534  	WORD $0x2ea3c042  // umull.2d	v2, v2, v3
 535  	WORD $0x6f530442  // ushr.2d	v2, v2, #45
 536  	WORD $0x0ea12844  // xtn.2s	v4, v2
 537  	WORD $0x5284e20a  // mov	w10, #10000
 538  	WORD $0x0e040d45  // dup.2s	v5, w10
 539  	WORD $0x2ea5c084  // umull.2d	v4, v4, v5
 540  	WORD $0x6ea48421  // sub.4s	v1, v1, v4
 541  	WORD $0x4e413841  // zip1.8h	v1, v2, v1
 542  	WORD $0x4f425421  // shl.2d	v1, v1, #2
 543  	WORD $0x4e413821  // zip1.8h	v1, v1, v1
 544  	WORD $0x4e813821  // zip1.4s	v1, v1, v1
 545  Lloh42:
 546  	WORD $0x10ffcc2a  // adr	x10, lCPI0_0 $-1660(%rip)
 547  Lloh43:
 548  	WORD $0xfd400142  // ldr	d2, [x10, lCPI0_0@PAGEOFF] $0(%rip)
 549  	WORD $0x2e62c024  // umull.4s	v4, v1, v2
 550  	WORD $0x6e014021  // ext.16b	v1, v1, v1, #8
 551  	WORD $0x2e62c021  // umull.4s	v1, v1, v2
 552  	WORD $0x4e415881  // uzp2.8h	v1, v4, v1
 553  Lloh44:
 554  	WORD $0x10ffcbaa  // adr	x10, lCPI0_1 $-1676(%rip)
 555  Lloh45:
 556  	WORD $0xfd400144  // ldr	d4, [x10, lCPI0_1@PAGEOFF] $0(%rip)
 557  	WORD $0x2e64c026  // umull.4s	v6, v1, v4
 558  	WORD $0x6e014021  // ext.16b	v1, v1, v1, #8
 559  	WORD $0x2e64c021  // umull.4s	v1, v1, v4
 560  	WORD $0x4e4158c1  // uzp2.8h	v1, v6, v1
 561  	WORD $0x4f008546  // movi.8h	v6, #10
 562  	WORD $0x4e669c27  // mul.8h	v7, v1, v6
 563  	WORD $0x4f5054e7  // shl.2d	v7, v7, #16
 564  	WORD $0x6e678421  // sub.8h	v1, v1, v7
 565  	WORD $0x4e041d20  // mov.s	v0[0], w9
 566  	WORD $0x0ea12807  // xtn.2s	v7, v0
 567  	WORD $0x2ea3c0e3  // umull.2d	v3, v7, v3
 568  	WORD $0x6f530463  // ushr.2d	v3, v3, #45
 569  	WORD $0x0ea12867  // xtn.2s	v7, v3
 570  	WORD $0x2ea5c0e5  // umull.2d	v5, v7, v5
 571  	WORD $0x6ea58400  // sub.4s	v0, v0, v5
 572  	WORD $0x4e403860  // zip1.8h	v0, v3, v0
 573  	WORD $0x4f425400  // shl.2d	v0, v0, #2
 574  	WORD $0x4e403800  // zip1.8h	v0, v0, v0
 575  	WORD $0x4e803800  // zip1.4s	v0, v0, v0
 576  	WORD $0x2e62c003  // umull.4s	v3, v0, v2
 577  	WORD $0x6e004000  // ext.16b	v0, v0, v0, #8
 578  	WORD $0x2e62c000  // umull.4s	v0, v0, v2
 579  	WORD $0x4e405860  // uzp2.8h	v0, v3, v0
 580  	WORD $0x2e64c002  // umull.4s	v2, v0, v4
 581  	WORD $0x6e004000  // ext.16b	v0, v0, v0, #8
 582  	WORD $0x2e64c000  // umull.4s	v0, v0, v4
 583  	WORD $0x4e405840  // uzp2.8h	v0, v2, v0
 584  	WORD $0x4e669c02  // mul.8h	v2, v0, v6
 585  	WORD $0x4f505442  // shl.2d	v2, v2, #16
 586  	WORD $0x6e628400  // sub.8h	v0, v0, v2
 587  	WORD $0x2e212821  // sqxtun.8b	v1, v1
 588  	WORD $0x6e212801  // sqxtun2.16b	v1, v0
 589  	WORD $0x4f01e600  // movi.16b	v0, #48
 590  	WORD $0x4e208420  // add.16b	v0, v1, v0
 591  	WORD $0x4e209821  // cmeq.16b	v1, v1, #0
 592  Lloh46:
 593  	WORD $0x10ffc749  // adr	x9, lCPI0_2 $-1816(%rip)
 594  Lloh47:
 595  	WORD $0x3dc00122  // ldr	q2, [x9, lCPI0_2@PAGEOFF] $0(%rip)
 596  	WORD $0x4e221c21  // and.16b	v1, v1, v2
 597  Lloh48:
 598  	WORD $0x10ffc769  // adr	x9, lCPI0_3 $-1812(%rip)
 599  Lloh49:
 600  	WORD $0x3dc00122  // ldr	q2, [x9, lCPI0_3@PAGEOFF] $0(%rip)
 601  	WORD $0x4e020021  // tbl.16b	v1, { v1 }, v2
 602  	WORD $0x4e71b821  // addv.8h	h1, v1
 603  	WORD $0x1e260029  // fmov	w9, s1
 604  	WORD $0x2a2903e9  // mvn	w9, w9
 605  	WORD $0x32114129  // orr	w9, w9, #0xffff8000
 606  	WORD $0x5ac00129  // rbit	w9, w9
 607  	WORD $0x5ac01129  // clz	w9, w9
 608  Lloh50:
 609  	WORD $0x1000244a  // adr	x10, _VecShiftShuffles $1160(%rip)
 610  Lloh51:
 611  	WORD $0x9100014a  // add	x10, x10, _VecShiftShuffles@PAGEOFF $0(%rip)
 612  	WORD $0x3ce95941  // ldr	q1, [x10, w9, uxtw #4]
 613  	WORD $0x4f04e5e2  // movi.16b	v2, #143
 614  	WORD $0x4e221c21  // and.16b	v1, v1, v2
 615  	WORD $0x4e010000  // tbl.16b	v0, { v0 }, v1
 616  	WORD $0x3d800100  // str	q0, [x8]
 617  	WORD $0x52800208  // mov	w8, #16
 618  	WORD $0x4b090109  // sub	w9, w8, w9
 619  	WORD $0x11000528  // add	w8, w9, #1
 620  	WORD $0xaa0803e0  // mov	x0, x8
 621  	WORD $0xa940fbfd  // ldp	fp, lr, [sp, #8]
 622  	WORD $0x910083ff  // add	sp, sp, #32
 623  	WORD $0xd65f03c0  // ret
 624  LBB0_41:
 625  	WORD $0xd28f0ae9  // mov	x9, #30807
 626  	WORD $0xf2b62269  // movk	x9, #45331, lsl #16
 627  	WORD $0xf2cca5e9  // movk	x9, #25903, lsl #32
 628  	WORD $0xf2e734a9  // movk	x9, #14757, lsl #48
 629  	WORD $0x9bc97c29  // umulh	x9, x1, x9
 630  	WORD $0xd373fd2b  // lsr	x11, x9, #51
 631  	WORD $0x7100257f  // cmp	w11, #9
 632  	WORD $0x540000a8  // b.hi	LBB0_43 $20(%rip)
 633  	WORD $0x1100c169  // add	w9, w11, #48
 634  	WORD $0x39000009  // strb	w9, [x0]
 635  	WORD $0x52800029  // mov	w9, #1
 636  	WORD $0x1400001b  // b	LBB0_46 $108(%rip)
 637  LBB0_43:
 638  	WORD $0x71018d7f  // cmp	w11, #99
 639  	WORD $0x540000e8  // b.hi	LBB0_45 $28(%rip)
 640  Lloh52:
 641  	WORD $0x10001a89  // adr	x9, _Digits $848(%rip)
 642  Lloh53:
 643  	WORD $0x91000129  // add	x9, x9, _Digits@PAGEOFF $0(%rip)
 644  	WORD $0x786b5929  // ldrh	w9, [x9, w11, uxtw #1]
 645  	WORD $0x79000009  // strh	w9, [x0]
 646  	WORD $0x52800049  // mov	w9, #2
 647  	WORD $0x14000013  // b	LBB0_46 $76(%rip)
 648  LBB0_45:
 649  	WORD $0x5280a3e9  // mov	w9, #1311
 650  	WORD $0x1b097d69  // mul	w9, w11, w9
 651  	WORD $0x53117d29  // lsr	w9, w9, #17
 652  	WORD $0x321c052c  // orr	w12, w9, #0x30
 653  	WORD $0x3900000c  // strb	w12, [x0]
 654  	WORD $0x52800c8c  // mov	w12, #100
 655  	WORD $0x1b0cad29  // msub	w9, w9, w12, w11
 656  	WORD $0x92403d29  // and	x9, x9, #0xffff
 657  	WORD $0xd37ff929  // lsl	x9, x9, #1
 658  Lloh54:
 659  	WORD $0x100018ac  // adr	x12, _Digits $788(%rip)
 660  Lloh55:
 661  	WORD $0x9100018c  // add	x12, x12, _Digits@PAGEOFF $0(%rip)
 662  	WORD $0x3869698d  // ldrb	w13, [x12, x9]
 663  	WORD $0x3900040d  // strb	w13, [x0, #1]
 664  	WORD $0x927f3929  // and	x9, x9, #0xfffe
 665  	WORD $0x8b090189  // add	x9, x12, x9
 666  	WORD $0x39400529  // ldrb	w9, [x9, #1]
 667  	WORD $0x39000809  // strb	w9, [x0, #2]
 668  	WORD $0x52800069  // mov	w9, #3
 669  LBB0_46:
 670  	WORD $0x9b0a856a  // msub	x10, x11, x10, x1
 671  	WORD $0xd299dfab  // mov	x11, #52989
 672  	WORD $0xf2b08c2b  // movk	x11, #33889, lsl #16
 673  	WORD $0xf2cee22b  // movk	x11, #30481, lsl #32
 674  	WORD $0xf2f5798b  // movk	x11, #43980, lsl #48
 675  	WORD $0x9bcb7d4b  // umulh	x11, x10, x11
 676  	WORD $0xd35afd6b  // lsr	x11, x11, #26
 677  	WORD $0x6f00e400  // movi.2d	v0, #0000000000000000
 678  	WORD $0x6f00e401  // movi.2d	v1, #0000000000000000
 679  	WORD $0x4e041d61  // mov.s	v1[0], w11
 680  	WORD $0x5282eb2c  // mov	w12, #5977
 681  	WORD $0x72ba36ec  // movk	w12, #53687, lsl #16
 682  	WORD $0x0e040d82  // dup.2s	v2, w12
 683  	WORD $0x0ea12823  // xtn.2s	v3, v1
 684  	WORD $0x2ea2c063  // umull.2d	v3, v3, v2
 685  	WORD $0x6f530463  // ushr.2d	v3, v3, #45
 686  	WORD $0x5284e20c  // mov	w12, #10000
 687  	WORD $0x0e040d84  // dup.2s	v4, w12
 688  	WORD $0x0ea12865  // xtn.2s	v5, v3
 689  	WORD $0x2ea4c0a5  // umull.2d	v5, v5, v4
 690  	WORD $0x6ea58421  // sub.4s	v1, v1, v5
 691  	WORD $0x4e413861  // zip1.8h	v1, v3, v1
 692  	WORD $0x4f425421  // shl.2d	v1, v1, #2
 693  	WORD $0x4e413821  // zip1.8h	v1, v1, v1
 694  	WORD $0x4e813821  // zip1.4s	v1, v1, v1
 695  Lloh56:
 696  	WORD $0x10ffbbac  // adr	x12, lCPI0_0 $-2188(%rip)
 697  Lloh57:
 698  	WORD $0xfd400183  // ldr	d3, [x12, lCPI0_0@PAGEOFF] $0(%rip)
 699  	WORD $0x2e63c025  // umull.4s	v5, v1, v3
 700  	WORD $0x6e014021  // ext.16b	v1, v1, v1, #8
 701  	WORD $0x2e63c021  // umull.4s	v1, v1, v3
 702  	WORD $0x4e4158a1  // uzp2.8h	v1, v5, v1
 703  Lloh58:
 704  	WORD $0x10ffbb2c  // adr	x12, lCPI0_1 $-2204(%rip)
 705  Lloh59:
 706  	WORD $0xfd400185  // ldr	d5, [x12, lCPI0_1@PAGEOFF] $0(%rip)
 707  	WORD $0x2e65c026  // umull.4s	v6, v1, v5
 708  	WORD $0x6e014021  // ext.16b	v1, v1, v1, #8
 709  	WORD $0x2e65c021  // umull.4s	v1, v1, v5
 710  	WORD $0x4e4158c1  // uzp2.8h	v1, v6, v1
 711  	WORD $0x4f008546  // movi.8h	v6, #10
 712  	WORD $0x4e669c27  // mul.8h	v7, v1, v6
 713  	WORD $0x4f5054e7  // shl.2d	v7, v7, #16
 714  	WORD $0x6e678421  // sub.8h	v1, v1, v7
 715  	WORD $0x1b08a968  // msub	w8, w11, w8, w10
 716  	WORD $0x4e041d00  // mov.s	v0[0], w8
 717  	WORD $0x0ea12807  // xtn.2s	v7, v0
 718  	WORD $0x2ea2c0e2  // umull.2d	v2, v7, v2
 719  	WORD $0x6f530442  // ushr.2d	v2, v2, #45
 720  	WORD $0x0ea12847  // xtn.2s	v7, v2
 721  	WORD $0x2ea4c0e4  // umull.2d	v4, v7, v4
 722  	WORD $0x6ea48400  // sub.4s	v0, v0, v4
 723  	WORD $0x4e403840  // zip1.8h	v0, v2, v0
 724  	WORD $0x4f425400  // shl.2d	v0, v0, #2
 725  	WORD $0x4e403800  // zip1.8h	v0, v0, v0
 726  	WORD $0x4e803800  // zip1.4s	v0, v0, v0
 727  	WORD $0x2e63c002  // umull.4s	v2, v0, v3
 728  	WORD $0x6e004000  // ext.16b	v0, v0, v0, #8
 729  	WORD $0x2e63c000  // umull.4s	v0, v0, v3
 730  	WORD $0x4e405840  // uzp2.8h	v0, v2, v0
 731  	WORD $0x2e65c002  // umull.4s	v2, v0, v5
 732  	WORD $0x6e004000  // ext.16b	v0, v0, v0, #8
 733  	WORD $0x2e65c000  // umull.4s	v0, v0, v5
 734  	WORD $0x4e405840  // uzp2.8h	v0, v2, v0
 735  	WORD $0x4e669c02  // mul.8h	v2, v0, v6
 736  	WORD $0x4f505442  // shl.2d	v2, v2, #16
 737  	WORD $0x6e628400  // sub.8h	v0, v0, v2
 738  	WORD $0x2e212821  // sqxtun.8b	v1, v1
 739  	WORD $0x6e212801  // sqxtun2.16b	v1, v0
 740  	WORD $0x4f01e600  // movi.16b	v0, #48
 741  	WORD $0x4e208420  // add.16b	v0, v1, v0
 742  	WORD $0x3ca94800  // str	q0, [x0, w9, uxtw]
 743  	WORD $0x321c0128  // orr	w8, w9, #0x10
 744  	WORD $0xaa0803e0  // mov	x0, x8
 745  	WORD $0xa940fbfd  // ldp	fp, lr, [sp, #8]
 746  	WORD $0x910083ff  // add	sp, sp, #32
 747  	WORD $0xd65f03c0  // ret
 748  LBB0_47:
 749  	WORD $0xd28f0aeb  // mov	x11, #30807
 750  	WORD $0xf2b6226b  // movk	x11, #45331, lsl #16
 751  	WORD $0xf2cca5eb  // movk	x11, #25903, lsl #32
 752  	WORD $0xf2e734ab  // movk	x11, #14757, lsl #48
 753  	WORD $0x9bcb7d2b  // umulh	x11, x9, x11
 754  	WORD $0xd373fd6d  // lsr	x13, x11, #51
 755  	WORD $0x710025bf  // cmp	w13, #9
 756  	WORD $0x540000a8  // b.hi	LBB0_49 $20(%rip)
 757  	WORD $0x1100c1ab  // add	w11, w13, #48
 758  	WORD $0x3900010b  // strb	w11, [x8]
 759  	WORD $0x5280002b  // mov	w11, #1
 760  	WORD $0x1400001c  // b	LBB0_52 $112(%rip)
 761  LBB0_49:
 762  	WORD $0x71018dbf  // cmp	w13, #99
 763  	WORD $0x540000e8  // b.hi	LBB0_51 $28(%rip)
 764  Lloh60:
 765  	WORD $0x10000c8b  // adr	x11, _Digits $400(%rip)
 766  Lloh61:
 767  	WORD $0x9100016b  // add	x11, x11, _Digits@PAGEOFF $0(%rip)
 768  	WORD $0x786d596b  // ldrh	w11, [x11, w13, uxtw #1]
 769  	WORD $0x7800100b  // sturh	w11, [x0, #1]
 770  	WORD $0x5280004b  // mov	w11, #2
 771  	WORD $0x14000014  // b	LBB0_52 $80(%rip)
 772  LBB0_51:
 773  	WORD $0x53023dab  // ubfx	w11, w13, #2, #14
 774  	WORD $0x52828f6e  // mov	w14, #5243
 775  	WORD $0x1b0e7d6b  // mul	w11, w11, w14
 776  	WORD $0x53117d6b  // lsr	w11, w11, #17
 777  	WORD $0x321c056e  // orr	w14, w11, #0x30
 778  	WORD $0x3900040e  // strb	w14, [x0, #1]
 779  	WORD $0x52800c8e  // mov	w14, #100
 780  	WORD $0x1b0eb56b  // msub	w11, w11, w14, w13
 781  	WORD $0x92403d6b  // and	x11, x11, #0xffff
 782  	WORD $0xd37ff96b  // lsl	x11, x11, #1
 783  Lloh62:
 784  	WORD $0x10000a8e  // adr	x14, _Digits $336(%rip)
 785  Lloh63:
 786  	WORD $0x910001ce  // add	x14, x14, _Digits@PAGEOFF $0(%rip)
 787  	WORD $0x386b69cf  // ldrb	w15, [x14, x11]
 788  	WORD $0x3900080f  // strb	w15, [x0, #2]
 789  	WORD $0x927f396b  // and	x11, x11, #0xfffe
 790  	WORD $0x8b0b01cb  // add	x11, x14, x11
 791  	WORD $0x3940056b  // ldrb	w11, [x11, #1]
 792  	WORD $0x39000c0b  // strb	w11, [x0, #3]
 793  	WORD $0x5280006b  // mov	w11, #3
 794  LBB0_52:
 795  	WORD $0x9b0ca5a9  // msub	x9, x13, x12, x9
 796  	WORD $0xd299dfac  // mov	x12, #52989
 797  	WORD $0xf2b08c2c  // movk	x12, #33889, lsl #16
 798  	WORD $0xf2cee22c  // movk	x12, #30481, lsl #32
 799  	WORD $0xf2f5798c  // movk	x12, #43980, lsl #48
 800  	WORD $0x9bcc7d2c  // umulh	x12, x9, x12
 801  	WORD $0xd35afd8c  // lsr	x12, x12, #26
 802  	WORD $0x6f00e400  // movi.2d	v0, #0000000000000000
 803  	WORD $0x6f00e401  // movi.2d	v1, #0000000000000000
 804  	WORD $0x4e041d81  // mov.s	v1[0], w12
 805  	WORD $0x5282eb2d  // mov	w13, #5977
 806  	WORD $0x72ba36ed  // movk	w13, #53687, lsl #16
 807  	WORD $0x0e040da2  // dup.2s	v2, w13
 808  	WORD $0x0ea12823  // xtn.2s	v3, v1
 809  	WORD $0x2ea2c063  // umull.2d	v3, v3, v2
 810  	WORD $0x6f530463  // ushr.2d	v3, v3, #45
 811  	WORD $0x5284e20d  // mov	w13, #10000
 812  	WORD $0x0e040da4  // dup.2s	v4, w13
 813  	WORD $0x0ea12865  // xtn.2s	v5, v3
 814  	WORD $0x2ea4c0a5  // umull.2d	v5, v5, v4
 815  	WORD $0x6ea58421  // sub.4s	v1, v1, v5
 816  	WORD $0x4e413861  // zip1.8h	v1, v3, v1
 817  	WORD $0x4f425421  // shl.2d	v1, v1, #2
 818  	WORD $0x4e413821  // zip1.8h	v1, v1, v1
 819  	WORD $0x4e813821  // zip1.4s	v1, v1, v1
 820  Lloh64:
 821  	WORD $0x10ffad8d  // adr	x13, lCPI0_0 $-2640(%rip)
 822  Lloh65:
 823  	WORD $0xfd4001a3  // ldr	d3, [x13, lCPI0_0@PAGEOFF] $0(%rip)
 824  	WORD $0x2e63c025  // umull.4s	v5, v1, v3
 825  	WORD $0x6e014021  // ext.16b	v1, v1, v1, #8
 826  	WORD $0x2e63c021  // umull.4s	v1, v1, v3
 827  	WORD $0x4e4158a1  // uzp2.8h	v1, v5, v1
 828  Lloh66:
 829  	WORD $0x10ffad0d  // adr	x13, lCPI0_1 $-2656(%rip)
 830  Lloh67:
 831  	WORD $0xfd4001a5  // ldr	d5, [x13, lCPI0_1@PAGEOFF] $0(%rip)
 832  	WORD $0x2e65c026  // umull.4s	v6, v1, v5
 833  	WORD $0x6e014021  // ext.16b	v1, v1, v1, #8
 834  	WORD $0x2e65c021  // umull.4s	v1, v1, v5
 835  	WORD $0x4e4158c1  // uzp2.8h	v1, v6, v1
 836  	WORD $0x4f008546  // movi.8h	v6, #10
 837  	WORD $0x4e669c27  // mul.8h	v7, v1, v6
 838  	WORD $0x4f5054e7  // shl.2d	v7, v7, #16
 839  	WORD $0x6e678421  // sub.8h	v1, v1, v7
 840  	WORD $0x1b0aa589  // msub	w9, w12, w10, w9
 841  	WORD $0x4e041d20  // mov.s	v0[0], w9
 842  	WORD $0x0ea12807  // xtn.2s	v7, v0
 843  	WORD $0x2ea2c0e2  // umull.2d	v2, v7, v2
 844  	WORD $0x6f530442  // ushr.2d	v2, v2, #45
 845  	WORD $0x0ea12847  // xtn.2s	v7, v2
 846  	WORD $0x2ea4c0e4  // umull.2d	v4, v7, v4
 847  	WORD $0x6ea48400  // sub.4s	v0, v0, v4
 848  	WORD $0x4e403840  // zip1.8h	v0, v2, v0
 849  	WORD $0x4f425400  // shl.2d	v0, v0, #2
 850  	WORD $0x4e403800  // zip1.8h	v0, v0, v0
 851  	WORD $0x4e803800  // zip1.4s	v0, v0, v0
 852  	WORD $0x2e63c002  // umull.4s	v2, v0, v3
 853  	WORD $0x6e004000  // ext.16b	v0, v0, v0, #8
 854  	WORD $0x2e63c000  // umull.4s	v0, v0, v3
 855  	WORD $0x4e405840  // uzp2.8h	v0, v2, v0
 856  	WORD $0x2e65c002  // umull.4s	v2, v0, v5
 857  	WORD $0x6e004000  // ext.16b	v0, v0, v0, #8
 858  	WORD $0x2e65c000  // umull.4s	v0, v0, v5
 859  	WORD $0x4e405840  // uzp2.8h	v0, v2, v0
 860  	WORD $0x4e669c02  // mul.8h	v2, v0, v6
 861  	WORD $0x4f505442  // shl.2d	v2, v2, #16
 862  	WORD $0x6e628400  // sub.8h	v0, v0, v2
 863  	WORD $0x2e212821  // sqxtun.8b	v1, v1
 864  	WORD $0x6e212801  // sqxtun2.16b	v1, v0
 865  	WORD $0x4f01e600  // movi.16b	v0, #48
 866  	WORD $0x4e208420  // add.16b	v0, v1, v0
 867  	WORD $0x3cab4900  // str	q0, [x8, w11, uxtw]
 868  	WORD $0x321c0169  // orr	w9, w11, #0x10
 869  	WORD $0x11000528  // add	w8, w9, #1
 870  	WORD $0xaa0803e0  // mov	x0, x8
 871  	WORD $0xa940fbfd  // ldp	fp, lr, [sp, #8]
 872  	WORD $0x910083ff  // add	sp, sp, #32
 873  	WORD $0xd65f03c0  // ret
 874  _Digits:
 875  	WORD $0x31303030  // .ascii 4, '0001020304050607'
 876  	WORD $0x33303230  // .ascii 4, '0203040506070809'
 877  	WORD $0x35303430  // .ascii 4, '0405060708091011'
 878  	WORD $0x37303630  // .ascii 4, '0607080910111213'
 879  	WORD $0x39303830  // .ascii 4, '0809101112131415'
 880  	WORD $0x31313031  // .ascii 4, '1011121314151617'
 881  	WORD $0x33313231  // .ascii 4, '1213141516171819'
 882  	WORD $0x35313431  // .ascii 4, '1415161718192021'
 883  	WORD $0x37313631  // .ascii 4, '1617181920212223'
 884  	WORD $0x39313831  // .ascii 4, '1819202122232425'
 885  	WORD $0x31323032  // .ascii 4, '2021222324252627'
 886  	WORD $0x33323232  // .ascii 4, '2223242526272829'
 887  	WORD $0x35323432  // .ascii 4, '2425262728293031'
 888  	WORD $0x37323632  // .ascii 4, '2627282930313233'
 889  	WORD $0x39323832  // .ascii 4, '2829303132333435'
 890  	WORD $0x31333033  // .ascii 4, '3031323334353637'
 891  	WORD $0x33333233  // .ascii 4, '3233343536373839'
 892  	WORD $0x35333433  // .ascii 4, '3435363738394041'
 893  	WORD $0x37333633  // .ascii 4, '3637383940414243'
 894  	WORD $0x39333833  // .ascii 4, '3839404142434445'
 895  	WORD $0x31343034  // .ascii 4, '4041424344454647'
 896  	WORD $0x33343234  // .ascii 4, '4243444546474849'
 897  	WORD $0x35343434  // .ascii 4, '4445464748495051'
 898  	WORD $0x37343634  // .ascii 4, '4647484950515253'
 899  	WORD $0x39343834  // .ascii 4, '4849505152535455'
 900  	WORD $0x31353035  // .ascii 4, '5051525354555657'
 901  	WORD $0x33353235  // .ascii 4, '5253545556575859'
 902  	WORD $0x35353435  // .ascii 4, '5455565758596061'
 903  	WORD $0x37353635  // .ascii 4, '5657585960616263'
 904  	WORD $0x39353835  // .ascii 4, '5859606162636465'
 905  	WORD $0x31363036  // .ascii 4, '6061626364656667'
 906  	WORD $0x33363236  // .ascii 4, '6263646566676869'
 907  	WORD $0x35363436  // .ascii 4, '6465666768697071'
 908  	WORD $0x37363636  // .ascii 4, '6667686970717273'
 909  	WORD $0x39363836  // .ascii 4, '6869707172737475'
 910  	WORD $0x31373037  // .ascii 4, '7071727374757677'
 911  	WORD $0x33373237  // .ascii 4, '7273747576777879'
 912  	WORD $0x35373437  // .ascii 4, '7475767778798081'
 913  	WORD $0x37373637  // .ascii 4, '7677787980818283'
 914  	WORD $0x39373837  // .ascii 4, '7879808182838485'
 915  	WORD $0x31383038  // .ascii 4, '8081828384858687'
 916  	WORD $0x33383238  // .ascii 4, '8283848586878889'
 917  	WORD $0x35383438  // .ascii 4, '8485868788899091'
 918  	WORD $0x37383638  // .ascii 4, '8687888990919293'
 919  	WORD $0x39383838  // .ascii 4, '8889909192939495'
 920  	WORD $0x31393039  // .ascii 4, '9091929394959697'
 921  	WORD $0x33393239  // .ascii 4, '9293949596979899'
 922  	WORD $0x35393439  // .ascii 4, '949596979899'
 923  	WORD $0x37393639  // .ascii 4, '96979899'
 924  	WORD $0x39393839  // .ascii 4, '9899'
 925  	  // .p2align 4, 0x00
 926  _VecShiftShuffles:
 927  	WORD $0x03020100  // .ascii 4, '\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f'
 928  	WORD $0x07060504  // .ascii 4, '\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x01\x02\x03\x04'
 929  	WORD $0x0b0a0908  // .ascii 4, '\x08\t\n\x0b\x0c\r\x0e\x0f\x01\x02\x03\x04\x05\x06\x07\x08'
 930  	WORD $0x0f0e0d0c  // .ascii 4, '\x0c\r\x0e\x0f\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c'
 931  	WORD $0x04030201  // .ascii 4, '\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff'
 932  	WORD $0x08070605  // .ascii 4, '\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\x02\x03\x04\x05'
 933  	WORD $0x0c0b0a09  // .ascii 4, '\t\n\x0b\x0c\r\x0e\x0f\xff\x02\x03\x04\x05\x06\x07\x08\t'
 934  	WORD $0xff0f0e0d  // .ascii 4, '\r\x0e\x0f\xff\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r'
 935  	WORD $0x05040302  // .ascii 4, '\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff'
 936  	WORD $0x09080706  // .ascii 4, '\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\x03\x04\x05\x06'
 937  	WORD $0x0d0c0b0a  // .ascii 4, '\n\x0b\x0c\r\x0e\x0f\xff\xff\x03\x04\x05\x06\x07\x08\t\n'
 938  	WORD $0xffff0f0e  // .ascii 4, '\x0e\x0f\xff\xff\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e'
 939  	WORD $0x06050403  // .ascii 4, '\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff'
 940  	WORD $0x0a090807  // .ascii 4, '\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\x04\x05\x06\x07'
 941  	WORD $0x0e0d0c0b  // .ascii 4, '\x0b\x0c\r\x0e\x0f\xff\xff\xff\x04\x05\x06\x07\x08\t\n\x0b'
 942  	WORD $0xffffff0f  // .ascii 4, '\x0f\xff\xff\xff\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f'
 943  	WORD $0x07060504  // .ascii 4, '\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff'
 944  	WORD $0x0b0a0908  // .ascii 4, '\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\x05\x06\x07\x08'
 945  	WORD $0x0f0e0d0c  // .ascii 4, '\x0c\r\x0e\x0f\xff\xff\xff\xff\x05\x06\x07\x08\t\n\x0b\x0c'
 946  	WORD $0xffffffff  // .ascii 4, '\xff\xff\xff\xff\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff'
 947  	WORD $0x08070605  // .ascii 4, '\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff'
 948  	WORD $0x0c0b0a09  // .ascii 4, '\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff\x06\x07\x08\t'
 949  	WORD $0xff0f0e0d  // .ascii 4, '\r\x0e\x0f\xff\xff\xff\xff\xff\x06\x07\x08\t\n\x0b\x0c\r'
 950  	WORD $0xffffffff  // .ascii 4, '\xff\xff\xff\xff\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff'
 951  	WORD $0x09080706  // .ascii 4, '\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff\xff'
 952  	WORD $0x0d0c0b0a  // .ascii 4, '\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff\xff\x07\x08\t\n'
 953  	WORD $0xffff0f0e  // .ascii 4, '\x0e\x0f\xff\xff\xff\xff\xff\xff\x07\x08\t\n\x0b\x0c\r\x0e'
 954  	WORD $0xffffffff  // .ascii 4, '\xff\xff\xff\xff\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff'
 955  	WORD $0x0a090807  // .ascii 4, '\x07\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff\xff\xff'
 956  	WORD $0x0e0d0c0b  // .ascii 4, '\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff\xff\xff\x08\t\n\x0b'
 957  	WORD $0xffffff0f  // .ascii 4, '\x0f\xff\xff\xff\xff\xff\xff\xff\x08\t\n\x0b\x0c\r\x0e\x0f'
 958  	WORD $0xffffffff  // .ascii 4, '\xff\xff\xff\xff\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff'
 959  	WORD $0x0b0a0908  // .ascii 4, '\x08\t\n\x0b\x0c\r\x0e\x0f\xff\xff\xff\xff\xff\xff\xff\xff'
 960  	WORD $0x0f0e0d0c  // .ascii 4, '\x0c\r\x0e\x0f\xff\xff\xff\xff\xff\xff\xff\xff'
 961  	WORD $0xffffffff  // .ascii 4, '\xff\xff\xff\xff\xff\xff\xff\xff'
 962  	WORD $0xffffffff  // .ascii 4, '\xff\xff\xff\xff'
 963  
 964  TEXT ·__i64toa(SB), NOSPLIT, $0-24
 965  	NO_LOCAL_POINTERS
 966  
 967  _entry:
 968  	MOVD 16(g), R16
 969  	SUB $96, RSP, R17
 970  	CMP  R16, R17
 971  	BLS  _stack_grow
 972  
 973  _i64toa:
 974  	MOVD out+0(FP), R0
 975  	MOVD val+8(FP), R1
 976  	MOVD ·_subr__i64toa(SB), R11
 977  	WORD $0x1000005e // adr x30, .+8
 978  	JMP (R11)
 979  	MOVD R0, ret+16(FP)
 980  	RET
 981  
 982  _stack_grow:
 983  	MOVD R30, R3
 984  	CALL runtime·morestack_noctxt<>(SB)
 985  	JMP  _entry
 986