]> git.lizzy.rs Git - plan9front.git/blob - sys/src/libc/arm64/memset.s
libc: change usize to 64-bit for amd64 and arm64, make memory(2) functions use usize
[plan9front.git] / sys / src / libc / arm64 / memset.s
1 TEXT memset(SB), $-4
2         MOVBU   c+8(FP), R1
3         MOV     n+16(FP), R2
4
5         MOV     R0, R5
6         ADD     R0, R2, R3
7         BIC     $15, R2, R4
8         CBZ     R4, _loop1
9         ADD     R0, R4, R4
10
11         ORR     R1<<8, R1
12         ORR     R1<<16, R1
13         ORR     R1<<32, R1
14
15 _loop16:
16         MOVP    R1, R1, (R5)16!
17         CMP     R4, R5
18         BNE     _loop16
19
20 _loop1:
21         CMP     R3, R5
22         BEQ     _done
23
24         MOVBU   R1, (R5)1!
25         B       _loop1
26
27 _done:
28         RETURN