Files
Linux_Drivers/linux_5.10/arch/sparc/lib/muldi3.S
sam.xiang 5c7dd7acc3 [linux] create linux_5.10.4 from T-head official:
repo: https://github.com/T-head-Semi/linux
	commit: b1313fe517ca3703119dcc99ef3bbf75ab42bcfb

Change-Id: I6cbb35294024ea3a66140e311f4bb705fd7fd626
2023-03-10 20:32:41 +08:00

67 lines
1.3 KiB
ArmAsm

/* SPDX-License-Identifier: GPL-2.0-or-later */
/* Copyright (C) 1989, 1992, 1993, 1994, 1995 Free Software Foundation, Inc.
This file is part of GNU CC.
*/
#include <asm/export.h>
.text
.align 4
.globl __muldi3
__muldi3:
save %sp, -104, %sp
wr %g0, %i1, %y
sra %i3, 0x1f, %g2
and %i1, %g2, %g2
andcc %g0, 0, %g1
mulscc %g1, %i3, %g1
mulscc %g1, %i3, %g1
mulscc %g1, %i3, %g1
mulscc %g1, %i3, %g1
mulscc %g1, %i3, %g1
mulscc %g1, %i3, %g1
mulscc %g1, %i3, %g1
mulscc %g1, %i3, %g1
mulscc %g1, %i3, %g1
mulscc %g1, %i3, %g1
mulscc %g1, %i3, %g1
mulscc %g1, %i3, %g1
mulscc %g1, %i3, %g1
mulscc %g1, %i3, %g1
mulscc %g1, %i3, %g1
mulscc %g1, %i3, %g1
mulscc %g1, %i3, %g1
mulscc %g1, %i3, %g1
mulscc %g1, %i3, %g1
mulscc %g1, %i3, %g1
mulscc %g1, %i3, %g1
mulscc %g1, %i3, %g1
mulscc %g1, %i3, %g1
mulscc %g1, %i3, %g1
mulscc %g1, %i3, %g1
mulscc %g1, %i3, %g1
mulscc %g1, %i3, %g1
mulscc %g1, %i3, %g1
mulscc %g1, %i3, %g1
mulscc %g1, %i3, %g1
mulscc %g1, %i3, %g1
mulscc %g1, %i3, %g1
mulscc %g1, 0, %g1
add %g1, %g2, %l2
rd %y, %o1
mov %o1, %l3
mov %i1, %o0
mov %i2, %o1
umul %o0, %o1, %o0
mov %o0, %l0
mov %i0, %o0
mov %i3, %o1
umul %o0, %o1, %o0
add %l0, %o0, %l0
mov %l2, %i0
add %l2, %l0, %i0
ret
restore %g0, %l3, %o1
EXPORT_SYMBOL(__muldi3)