Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee13...
[linux-2.6] / arch / avr32 / lib / io-readsl.S
1 /*
2  * Copyright (C) 2004-2006 Atmel Corporation
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License version 2 as
6  * published by the Free Software Foundation.
7  */
8
9         .global __raw_readsl
10         .type   __raw_readsl,@function
11 __raw_readsl:
12         cp.w    r10, 0
13         reteq   r12
14
15         /*
16          * If r11 isn't properly aligned, we might get an exception on
17          * some implementations. But there's not much we can do about it.
18          */
19 1:      ld.w    r8, r12[0]
20         sub     r10, 1
21         st.w    r11++, r8
22         brne    1b
23
24         retal   r12