/* * 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