diff options
Diffstat (limited to 'libc/string/avr32/memset.S')
-rw-r--r-- | libc/string/avr32/memset.S | 76 |
1 files changed, 38 insertions, 38 deletions
diff --git a/libc/string/avr32/memset.S b/libc/string/avr32/memset.S index 964bf4834..472b2be35 100644 --- a/libc/string/avr32/memset.S +++ b/libc/string/avr32/memset.S @@ -12,54 +12,54 @@ #define c r11 #define n r10 - .text - .global memset - .type memset, @function + .text + .global memset + .type memset, @function - .align 1 + .align 1 memset: - cp.w n, 32 - mov r9, s - brge .Llarge_memset + cp.w n, 32 + mov r9, s + brge .Llarge_memset - sub n, 1 - retlt s -1: st.b s++, c - sub n, 1 - brge 1b + sub n, 1 + retlt s +1: st.b s++, c + sub n, 1 + brge 1b - retal r9 + retal r9 .Llarge_memset: - mov r8, r11 - mov r11, 3 - bfins r8, r8, 8, 8 - bfins r8, r8, 16, 16 - tst s, r11 - breq 2f + mov r8, r11 + mov r11, 3 + bfins r8, r8, 8, 8 + bfins r8, r8, 16, 16 + tst s, r11 + breq 2f -1: st.b s++, r8 - sub n, 1 - tst s, r11 - brne 1b +1: st.b s++, r8 + sub n, 1 + tst s, r11 + brne 1b -2: mov r11, r9 - mov r9, r8 - sub n, 8 +2: mov r11, r9 + mov r9, r8 + sub n, 8 -3: st.d s++, r8 - sub n, 8 - brge 3b +3: st.d s++, r8 + sub n, 8 + brge 3b - /* If we are done, n == -8 and we'll skip all st.b insns below */ - neg n - lsl n, 1 - add pc, n - .rept 7 - st.b s++, r8 - .endr - retal r11 + /* If we are done, n == -8 and we'll skip all st.b insns below */ + neg n + lsl n, 1 + add pc, n + .rept 7 + st.b s++, r8 + .endr + retal r11 - .size memset, . - memset + .size memset, . - memset libc_hidden_def(memset) |