2 * linux/arch/arm/lib/io-readsl-armv4.S
4 * Copyright (C) 1995-2000 Russell King
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
10 #include <linux/linkage.h>
11 #include <asm/assembler.h>
14 * Note that some reads can be aligned on half-word boundaries.
17 teq r2, #0 @ do we have to check for the zero len?
25 1000: ldr r3, [r0, #0]
30 stmia r1!, {r3, r4, ip, lr}
49 /* little endian code */
55 orrne ip, ip, r3, lsl #16
68 orrne ip, ip, r3, lsl #8
79 orrne ip, ip, r3, lsl #24
95 3: mov r3, ip, lsl #16
98 orrne r3, r3, ip, lsr #16
104 4: mov r3, ip, lsr #24
108 5: mov r3, ip, lsl #24
111 orrne r3, r3, ip, lsr #8
117 6: mov r3, ip, lsr #24
119 7: mov r3, ip, lsl #8
122 orrne r3, r3, ip, lsr #24