| /* | |
| * Copyright (C) 2004-2006 Atmel Corporation | |
| * | |
| * This program is free software; you can redistribute it and/or modify | |
| * it under the terms of the GNU General Public License version 2 as | |
| * published by the Free Software Foundation. | |
| */ | |
| .text | |
| .Lnot_word_aligned: | |
| 1: ld.ub r8, r11++ | |
| sub r10, 1 | |
| st.b r12[0], r8 | |
| reteq r12 | |
| tst r11, r9 | |
| brne 1b | |
| /* fall through */ | |
| .global __raw_writesb | |
| .type __raw_writesb,@function | |
| __raw_writesb: | |
| cp.w r10, 0 | |
| mov r9, 3 | |
| reteq r12 | |
| tst r11, r9 | |
| brne .Lnot_word_aligned | |
| sub r10, 4 | |
| brlt 2f | |
| 1: ld.w r8, r11++ | |
| bfextu r9, r8, 24, 8 | |
| st.b r12[0], r9 | |
| bfextu r9, r8, 16, 8 | |
| st.b r12[0], r9 | |
| bfextu r9, r8, 8, 8 | |
| st.b r12[0], r9 | |
| st.b r12[0], r8 | |
| sub r10, 4 | |
| brge 1b | |
| 2: sub r10, -4 | |
| reteq r12 | |
| 3: ld.ub r8, r11++ | |
| sub r10, 1 | |
| st.b r12[0], r8 | |
| brne 3b | |
| retal r12 |