summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'libcutils/arch-arm/memset32.S')
-rw-r--r--libcutils/arch-arm/memset32.S20
1 files changed, 11 insertions, 9 deletions
diff --git a/libcutils/arch-arm/memset32.S b/libcutils/arch-arm/memset32.S
index 6efab9f93..1e89636b4 100644
--- a/libcutils/arch-arm/memset32.S
+++ b/libcutils/arch-arm/memset32.S
@@ -18,6 +18,8 @@
18 * 18 *
19 */ 19 */
20 20
21 .syntax unified
22
21 .text 23 .text
22 .align 24 .align
23 25
@@ -45,7 +47,7 @@ android_memset16:
45 47
46 /* align to 32 bits */ 48 /* align to 32 bits */
47 tst r0, #2 49 tst r0, #2
48 strneh r1, [r0], #2 50 strhne r1, [r0], #2
49 subne r2, r2, #2 51 subne r2, r2, #2
50 .fnend 52 .fnend
51 53
@@ -68,27 +70,27 @@ android_memset32:
68 70
69 /* conditionally writes 0 to 7 words (length in r3) */ 71 /* conditionally writes 0 to 7 words (length in r3) */
70 movs r3, r3, lsl #28 72 movs r3, r3, lsl #28
71 stmcsia r0!, {r1, lr} 73 stmiacs r0!, {r1, lr}
72 stmcsia r0!, {r1, lr} 74 stmiacs r0!, {r1, lr}
73 stmmiia r0!, {r1, lr} 75 stmiami r0!, {r1, lr}
74 movs r3, r3, lsl #2 76 movs r3, r3, lsl #2
75 strcs r1, [r0], #4 77 strcs r1, [r0], #4
76 78
77.Laligned32: 79.Laligned32:
78 mov r3, r1 80 mov r3, r1
791: subs r2, r2, #32 811: subs r2, r2, #32
80 stmhsia r0!, {r1,r3,r12,lr} 82 stmiahs r0!, {r1,r3,r12,lr}
81 stmhsia r0!, {r1,r3,r12,lr} 83 stmiahs r0!, {r1,r3,r12,lr}
82 bhs 1b 84 bhs 1b
83 add r2, r2, #32 85 add r2, r2, #32
84 86
85 /* conditionally stores 0 to 30 bytes */ 87 /* conditionally stores 0 to 30 bytes */
86 movs r2, r2, lsl #28 88 movs r2, r2, lsl #28
87 stmcsia r0!, {r1,r3,r12,lr} 89 stmiacs r0!, {r1,r3,r12,lr}
88 stmmiia r0!, {r1,lr} 90 stmiami r0!, {r1,lr}
89 movs r2, r2, lsl #2 91 movs r2, r2, lsl #2
90 strcs r1, [r0], #4 92 strcs r1, [r0], #4
91 strmih lr, [r0], #2 93 strhmi lr, [r0], #2
92 94
93 ldr lr, [sp], #4 95 ldr lr, [sp], #4
94 .cfi_def_cfa_offset 0 96 .cfi_def_cfa_offset 0