• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/linux/linux-2.6.36/arch/avr32/lib/
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	.text
10.Lnot_word_aligned:
111:	ld.ub	r8, r12[0]
12	sub	r10, 1
13	st.b	r11++, r8
14	reteq	r12
15	tst	r11, r9
16	brne	1b
17
18	/* fall through */
19
20	.global	__raw_readsb
21	.type	__raw_readsb,@function
22__raw_readsb:
23	cp.w	r10, 0
24	mov	r9, 3
25	reteq	r12
26
27	tst	r11, r9
28	brne	.Lnot_word_aligned
29
30	sub	r10, 4
31	brlt	2f
32
331:	ldins.b	r8:t, r12[0]
34	ldins.b	r8:u, r12[0]
35	ldins.b	r8:l, r12[0]
36	ldins.b r8:b, r12[0]
37	st.w	r11++, r8
38	sub	r10, 4
39	brge	1b
40
412:	sub	r10, -4
42	reteq	r12
43
443:	ld.ub	r8, r12[0]
45	sub	r10, 1
46	st.b	r11++, r8
47	brne	3b
48
49	retal	r12
50