...

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

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

     1// +build !noasm !appengine
     2// Code generated by asm2asm, DO NOT EDIT.
     3
     4#include "go_asm.h"
     5#include "funcdata.h"
     6#include "textflag.h"
     7
     8TEXT ·__lspace_entry__(SB), NOSPLIT, $16
     9	NO_LOCAL_POINTERS
    10	WORD $0x100000a0 // adr x0, .+20
    11	MOVD R0, ret(FP)
    12	RET
    13	  // .p2align 2, 0x00
    14_lspace:
    15	WORD $0xd10083ff  // sub	sp, sp, #32
    16	WORD $0xa900fbfd  // stp	fp, lr, [sp, #8]
    17	WORD $0xa93ffbfd  // stp	fp, lr, [sp, #-8]
    18	WORD $0xd10023fd  // sub	fp, sp, #8
    19	WORD $0xeb02003f  // cmp	x1, x2
    20	WORD $0x54000061  // b.ne	LBB0_2 $12(%rip)
    21	WORD $0x8b020008  // add	x8, x0, x2
    22	WORD $0x1400000e  // b	LBB0_5 $56(%rip)
    23LBB0_2:
    24	WORD $0x8b010008  // add	x8, x0, x1
    25	WORD $0x52800029  // mov	w9, #1
    26	WORD $0xd284c00a  // mov	x10, #9728
    27	WORD $0xf2c0002a  // movk	x10, #1, lsl #32
    28LBB0_3:
    29	WORD $0x3862680b  // ldrb	w11, [x0, x2]
    30	WORD $0x7100817f  // cmp	w11, #32
    31	WORD $0x9acb212b  // lsl	x11, x9, x11
    32	WORD $0x8a0a016b  // and	x11, x11, x10
    33	WORD $0xfa409964  // ccmp	x11, #0, #4, ls
    34	WORD $0x540000a0  // b.eq	LBB0_6 $20(%rip)
    35	WORD $0x91000442  // add	x2, x2, #1
    36	WORD $0xeb02003f  // cmp	x1, x2
    37	WORD $0x54ffff01  // b.ne	LBB0_3 $-32(%rip)
    38LBB0_5:
    39	WORD $0xcb000102  // sub	x2, x8, x0
    40LBB0_6:
    41	WORD $0xaa0203e0  // mov	x0, x2
    42	WORD $0xa940fbfd  // ldp	fp, lr, [sp, #8]
    43	WORD $0x910083ff  // add	sp, sp, #32
    44	WORD $0xd65f03c0  // ret
    45
    46TEXT ·__lspace(SB), NOSPLIT, $0-32
    47	NO_LOCAL_POINTERS
    48
    49_entry:
    50	MOVD 16(g), R16
    51	SUB $96, RSP, R17
    52	CMP  R16, R17
    53	BLS  _stack_grow
    54
    55_lspace:
    56	MOVD sp+0(FP), R0
    57	MOVD nb+8(FP), R1
    58	MOVD off+16(FP), R2
    59	MOVD ·_subr__lspace(SB), R11
    60	WORD $0x1000005e // adr x30, .+8
    61	JMP (R11)
    62	MOVD R0, ret+24(FP)
    63	RET
    64
    65_stack_grow:
    66	MOVD R30, R3
    67	CALL runtime·morestack_noctxt<>(SB)
    68	JMP  _entry

View as plain text