summaryrefslogtreecommitdiff
path: root/firmware/asm/arm/memset16.S
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/asm/arm/memset16.S')
-rw-r--r--firmware/asm/arm/memset16.S20
1 files changed, 10 insertions, 10 deletions
diff --git a/firmware/asm/arm/memset16.S b/firmware/asm/arm/memset16.S
index 5c787b1bed..226eac39e1 100644
--- a/firmware/asm/arm/memset16.S
+++ b/firmware/asm/arm/memset16.S
@@ -35,7 +35,7 @@
35memset16: 35memset16:
36 tst r0, #2 @ unaligned? 36 tst r0, #2 @ unaligned?
37 cmpne r2, #0 37 cmpne r2, #0
38 strneh r1, [r0], #2 @ store one halfword to align 38 strhne r1, [r0], #2 @ store one halfword to align
39 subne r2, r2, #1 39 subne r2, r2, #1
40 40
41/* 41/*
@@ -54,29 +54,29 @@ memset16:
54 mov lr, r1 54 mov lr, r1
55 55
562: subs r2, r2, #32 562: subs r2, r2, #32
57 stmgeia r0!, {r1, r3, ip, lr} @ 64 bytes at a time. 57 stmiage r0!, {r1, r3, ip, lr} @ 64 bytes at a time.
58 stmgeia r0!, {r1, r3, ip, lr} 58 stmiage r0!, {r1, r3, ip, lr}
59 stmgeia r0!, {r1, r3, ip, lr} 59 stmiage r0!, {r1, r3, ip, lr}
60 stmgeia r0!, {r1, r3, ip, lr} 60 stmiage r0!, {r1, r3, ip, lr}
61 bgt 2b 61 bgt 2b
62 ldrpc cond=eq @ Now <64 bytes to go. 62 ldrpc cond=eq @ Now <64 bytes to go.
63/* 63/*
64 * No need to correct the count; we're only testing bits from now on 64 * No need to correct the count; we're only testing bits from now on
65 */ 65 */
66 tst r2, #16 66 tst r2, #16
67 stmneia r0!, {r1, r3, ip, lr} 67 stmiane r0!, {r1, r3, ip, lr}
68 stmneia r0!, {r1, r3, ip, lr} 68 stmiane r0!, {r1, r3, ip, lr}
69 tst r2, #8 69 tst r2, #8
70 stmneia r0!, {r1, r3, ip, lr} 70 stmiane r0!, {r1, r3, ip, lr}
71 ldr lr, [sp], #4 71 ldr lr, [sp], #4
72 72
734: tst r2, #4 734: tst r2, #4
74 stmneia r0!, {r1, r3} 74 stmiane r0!, {r1, r3}
75 tst r2, #2 75 tst r2, #2
76 strne r1, [r0], #4 76 strne r1, [r0], #4
77 77
78 tst r2, #1 78 tst r2, #1
79 strneh r1, [r0], #2 79 strhne r1, [r0], #2
80 bx lr 80 bx lr
81.end: 81.end:
82 .size memset16,.end-memset16 82 .size memset16,.end-memset16