muldi3.S (712cba5d87a6c0e980ee5fad45734e189c4d7151) muldi3.S (8478132a8784605fe07ede555f7277d989368d73)
1/*
2 * linux/arch/arm/lib/muldi3.S
3 *
4 * Author: Nicolas Pitre
5 * Created: Oct 19, 2005
6 * Copyright: Monta Vista Software, Inc.
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License version 2 as
10 * published by the Free Software Foundation.
11 */
12
13#include <linux/linkage.h>
14#include <asm/assembler.h>
1/*
2 * linux/arch/arm/lib/muldi3.S
3 *
4 * Author: Nicolas Pitre
5 * Created: Oct 19, 2005
6 * Copyright: Monta Vista Software, Inc.
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License version 2 as
10 * published by the Free Software Foundation.
11 */
12
13#include <linux/linkage.h>
14#include <asm/assembler.h>
15#include <asm/export.h>
16
17#ifdef __ARMEB__
18#define xh r0
19#define xl r1
20#define yh r2
21#define yl r3
22#else
23#define xl r0

--- 18 unchanged lines hidden (view full) ---

42 adds xl, xl, yh, lsl #16
43 adc xh, xh, yh, lsr #16
44 adds xl, xl, ip, lsl #16
45 adc xh, xh, ip, lsr #16
46 ret lr
47
48ENDPROC(__muldi3)
49ENDPROC(__aeabi_lmul)
15
16#ifdef __ARMEB__
17#define xh r0
18#define xl r1
19#define yh r2
20#define yl r3
21#else
22#define xl r0

--- 18 unchanged lines hidden (view full) ---

41 adds xl, xl, yh, lsl #16
42 adc xh, xh, yh, lsr #16
43 adds xl, xl, ip, lsl #16
44 adc xh, xh, ip, lsr #16
45 ret lr
46
47ENDPROC(__muldi3)
48ENDPROC(__aeabi_lmul)
50EXPORT_SYMBOL(__muldi3)
51EXPORT_SYMBOL(__aeabi_lmul)