/* SPDX-License-Identifier: GPL-2.0-only */1/*2* linux/arch/arm/lib/muldi3.S3*4* Author: Nicolas Pitre5* Created: Oct 19, 20056* Copyright: Monta Vista Software, Inc.7*/89#include <linux/linkage.h>10#include <asm/assembler.h>1112#ifdef __ARMEB__13#define xh r014#define xl r115#define yh r216#define yl r317#else18#define xl r019#define xh r120#define yl r221#define yh r322#endif2324ENTRY(__muldi3)25ENTRY(__aeabi_lmul)2627mul xh, yl, xh28mla xh, xl, yh, xh29mov ip, xl, lsr #1630mov yh, yl, lsr #1631bic xl, xl, ip, lsl #1632bic yl, yl, yh, lsl #1633mla xh, yh, ip, xh34mul yh, xl, yh35mul xl, yl, xl36mul ip, yl, ip37adds xl, xl, yh, lsl #1638adc xh, xh, yh, lsr #1639adds xl, xl, ip, lsl #1640adc xh, xh, ip, lsr #1641ret lr4243ENDPROC(__muldi3)44ENDPROC(__aeabi_lmul)454647