github.com/bytedance/sonic@v1.11.7-0.20240517092252-d2edb31b167b/internal/native/neon/lspace_arm64.s (about) 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 ·__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) 23 LBB0_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 28 LBB0_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) 38 LBB0_5: 39 WORD $0xcb000102 // sub x2, x8, x0 40 LBB0_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 46 TEXT ·__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