]> git.lizzy.rs Git - plan9front.git/blob - sys/src/libc/arm64/main9.s
libc: use MOVP instruction for arm64 memmove() and memset()
[plan9front.git] / sys / src / libc / arm64 / main9.s
1 #define NPRIVATES       16
2
3 TEXT    _main(SB), 1, $(16 + NPRIVATES*8)
4         MOV     $setSB(SB), R28
5         MOV     R0, _tos(SB)
6
7         ADD     $32, RSP, R1
8         MOV     R1, _privates(SB)
9         MOVW    $NPRIVATES, R2
10         MOVW    R2, _nprivates(SB)
11
12         MOV     $inargv+0(FP), R1
13         MOV     R1, 16(RSP)
14
15         MOVW    inargc-8(FP), R0
16         MOV     R0, 8(RSP)
17
18         BL      main(SB)
19 loop:
20         MOV     $_exitstr<>(SB), R0
21         BL      exits(SB)
22         B       loop
23
24 DATA    _exitstr<>+0(SB)/4, $"main"
25 GLOBL   _exitstr<>+0(SB), $5