/*1* linux/arch/arm/lib/muldi3.S2*3* Author: Nicolas Pitre4* Created: Oct 19, 20055* Copyright: Monta Vista Software, Inc.6*7* This program is free software; you can redistribute it and/or modify8* it under the terms of the GNU General Public License version 2 as9* published by the Free Software Foundation.10*/1112#include <linux/linkage.h>1314#ifdef __ARMEB__15#define xh r016#define xl r117#define yh r218#define yl r319#else20#define xl r021#define xh r122#define yl r223#define yh r324#endif2526ENTRY(__muldi3)27ENTRY(__aeabi_lmul)2829mul xh, yl, xh30mla xh, xl, yh, xh31mov ip, xl, lsr #1632mov yh, yl, lsr #1633bic xl, xl, ip, lsl #1634bic yl, yl, yh, lsl #1635mla xh, yh, ip, xh36mul yh, xl, yh37mul xl, yl, xl38mul ip, yl, ip39adds xl, xl, yh, lsl #1640adc xh, xh, yh, lsr #1641adds xl, xl, ip, lsl #1642adc xh, xh, ip, lsr #1643mov pc, lr4445ENDPROC(__muldi3)46ENDPROC(__aeabi_lmul)474849