libc: fix return value for arm64 memset() and memove()
This commit is contained in:
parent
57e0786595
commit
a375c9ac38
|
@ -8,6 +8,7 @@ TEXT memmove(SB), $-4
|
||||||
BLT _backward
|
BLT _backward
|
||||||
|
|
||||||
_forward:
|
_forward:
|
||||||
|
MOV R0, R7
|
||||||
ADD R0, R2, R3
|
ADD R0, R2, R3
|
||||||
BIC $15, R2, R4
|
BIC $15, R2, R4
|
||||||
CBZ R4, _floop1
|
CBZ R4, _floop1
|
||||||
|
@ -15,15 +16,15 @@ _forward:
|
||||||
|
|
||||||
_floop16:
|
_floop16:
|
||||||
MOVP (R1)16!, R5, R6
|
MOVP (R1)16!, R5, R6
|
||||||
MOVP R5, R6, (R0)16!
|
MOVP R5, R6, (R7)16!
|
||||||
CMP R4, R0
|
CMP R4, R7
|
||||||
BNE _floop16
|
BNE _floop16
|
||||||
|
|
||||||
_floop1:
|
_floop1:
|
||||||
CMP R3, R0
|
CMP R3, R7
|
||||||
BEQ _done
|
BEQ _done
|
||||||
MOVBU (R1)1!, R5
|
MOVBU (R1)1!, R5
|
||||||
MOVBU R5, (R0)1!
|
MOVBU R5, (R7)1!
|
||||||
B _floop1
|
B _floop1
|
||||||
|
|
||||||
_done:
|
_done:
|
||||||
|
|
|
@ -2,6 +2,7 @@ TEXT memset(SB), $-4
|
||||||
MOVBU c+8(FP), R1
|
MOVBU c+8(FP), R1
|
||||||
MOVWU n+16(FP), R2
|
MOVWU n+16(FP), R2
|
||||||
|
|
||||||
|
MOV R0, R5
|
||||||
ADD R0, R2, R3
|
ADD R0, R2, R3
|
||||||
BIC $15, R2, R4
|
BIC $15, R2, R4
|
||||||
CBZ R4, _loop1
|
CBZ R4, _loop1
|
||||||
|
@ -12,15 +13,15 @@ TEXT memset(SB), $-4
|
||||||
ORR R1<<32, R1
|
ORR R1<<32, R1
|
||||||
|
|
||||||
_loop16:
|
_loop16:
|
||||||
MOVP R1, R1, (R0)16!
|
MOVP R1, R1, (R5)16!
|
||||||
CMP R4, R0
|
CMP R4, R5
|
||||||
BNE _loop16
|
BNE _loop16
|
||||||
|
|
||||||
_loop1:
|
_loop1:
|
||||||
CMP R3, R0
|
CMP R3, R5
|
||||||
BEQ _done
|
BEQ _done
|
||||||
|
|
||||||
MOVBU R1, (R0)1!
|
MOVBU R1, (R5)1!
|
||||||
B _loop1
|
B _loop1
|
||||||
|
|
||||||
_done:
|
_done:
|
||||||
|
|
|
@ -8,6 +8,7 @@ TEXT memmove(SB), $-4
|
||||||
BLT _backward
|
BLT _backward
|
||||||
|
|
||||||
_forward:
|
_forward:
|
||||||
|
MOV R0, R7
|
||||||
ADD R0, R2, R3
|
ADD R0, R2, R3
|
||||||
BIC $15, R2, R4
|
BIC $15, R2, R4
|
||||||
CBZ R4, _floop1
|
CBZ R4, _floop1
|
||||||
|
@ -15,15 +16,15 @@ _forward:
|
||||||
|
|
||||||
_floop16:
|
_floop16:
|
||||||
MOVP (R1)16!, R5, R6
|
MOVP (R1)16!, R5, R6
|
||||||
MOVP R5, R6, (R0)16!
|
MOVP R5, R6, (R7)16!
|
||||||
CMP R4, R0
|
CMP R4, R7
|
||||||
BNE _floop16
|
BNE _floop16
|
||||||
|
|
||||||
_floop1:
|
_floop1:
|
||||||
CMP R3, R0
|
CMP R3, R7
|
||||||
BEQ _done
|
BEQ _done
|
||||||
MOVBU (R1)1!, R5
|
MOVBU (R1)1!, R5
|
||||||
MOVBU R5, (R0)1!
|
MOVBU R5, (R7)1!
|
||||||
B _floop1
|
B _floop1
|
||||||
|
|
||||||
_done:
|
_done:
|
||||||
|
|
|
@ -2,6 +2,7 @@ TEXT memset(SB), $-4
|
||||||
MOVBU c+8(FP), R1
|
MOVBU c+8(FP), R1
|
||||||
MOVWU n+16(FP), R2
|
MOVWU n+16(FP), R2
|
||||||
|
|
||||||
|
MOV R0, R5
|
||||||
ADD R0, R2, R3
|
ADD R0, R2, R3
|
||||||
BIC $15, R2, R4
|
BIC $15, R2, R4
|
||||||
CBZ R4, _loop1
|
CBZ R4, _loop1
|
||||||
|
@ -12,15 +13,15 @@ TEXT memset(SB), $-4
|
||||||
ORR R1<<32, R1
|
ORR R1<<32, R1
|
||||||
|
|
||||||
_loop16:
|
_loop16:
|
||||||
MOVP R1, R1, (R0)16!
|
MOVP R1, R1, (R5)16!
|
||||||
CMP R4, R0
|
CMP R4, R5
|
||||||
BNE _loop16
|
BNE _loop16
|
||||||
|
|
||||||
_loop1:
|
_loop1:
|
||||||
CMP R3, R0
|
CMP R3, R5
|
||||||
BEQ _done
|
BEQ _done
|
||||||
|
|
||||||
MOVBU R1, (R0)1!
|
MOVBU R1, (R5)1!
|
||||||
B _loop1
|
B _loop1
|
||||||
|
|
||||||
_done:
|
_done:
|
||||||
|
|
Loading…
Reference in a new issue