forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-05-11 04dd17822334871b23ea2862f7798fb0e0007777
kernel/arch/arm/lib/memmove.S
....@@ -1,13 +1,10 @@
1
+/* SPDX-License-Identifier: GPL-2.0-only */
12 /*
23 * linux/arch/arm/lib/memmove.S
34 *
45 * Author: Nicolas Pitre
56 * Created: Sep 28, 2005
67 * Copyright: (C) MontaVista Software Inc.
7
- *
8
- * This program is free software; you can redistribute it and/or modify
9
- * it under the terms of the GNU General Public License version 2 as
10
- * published by the Free Software Foundation.
118 */
129
1310 #include <linux/linkage.h>
....@@ -59,7 +56,7 @@
5956 blt 5f
6057
6158 CALGN( ands ip, r0, #31 )
62
- CALGN( sbcnes r4, ip, r2 ) @ C is always set here
59
+ CALGN( sbcsne r4, ip, r2 ) @ C is always set here
6360 CALGN( bcs 2f )
6461 CALGN( adr r4, 6f )
6562 CALGN( subs r2, r2, ip ) @ C is set here
....@@ -114,20 +111,20 @@
114111 UNWIND( .save {r0, r4, lr} ) @ still in first stmfd block
115112
116113 8: movs r2, r2, lsl #31
117
- ldrneb r3, [r1, #-1]!
118
- ldrcsb r4, [r1, #-1]!
119
- ldrcsb ip, [r1, #-1]
120
- strneb r3, [r0, #-1]!
121
- strcsb r4, [r0, #-1]!
122
- strcsb ip, [r0, #-1]
114
+ ldrbne r3, [r1, #-1]!
115
+ ldrbcs r4, [r1, #-1]!
116
+ ldrbcs ip, [r1, #-1]
117
+ strbne r3, [r0, #-1]!
118
+ strbcs r4, [r0, #-1]!
119
+ strbcs ip, [r0, #-1]
123120 ldmfd sp!, {r0, r4, pc}
124121
125122 9: cmp ip, #2
126
- ldrgtb r3, [r1, #-1]!
127
- ldrgeb r4, [r1, #-1]!
123
+ ldrbgt r3, [r1, #-1]!
124
+ ldrbge r4, [r1, #-1]!
128125 ldrb lr, [r1, #-1]!
129
- strgtb r3, [r0, #-1]!
130
- strgeb r4, [r0, #-1]!
126
+ strbgt r3, [r0, #-1]!
127
+ strbge r4, [r0, #-1]!
131128 subs r2, r2, ip
132129 strb lr, [r0, #-1]!
133130 blt 8b
....@@ -150,7 +147,7 @@
150147 blt 14f
151148
152149 CALGN( ands ip, r0, #31 )
153
- CALGN( sbcnes r4, ip, r2 ) @ C is always set here
150
+ CALGN( sbcsne r4, ip, r2 ) @ C is always set here
154151 CALGN( subcc r2, r2, ip )
155152 CALGN( bcc 15f )
156153