linux/arch/sparc/lib/muldi3.S
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0-or-later */
   2/* Copyright (C) 1989, 1992, 1993, 1994, 1995 Free Software Foundation, Inc.
   3
   4This file is part of GNU CC.
   5
   6 */
   7
   8#include <asm/export.h>
   9        .text
  10        .align 4
  11        .globl __muldi3
  12__muldi3:
  13        save  %sp, -104, %sp
  14        wr  %g0, %i1, %y
  15        sra  %i3, 0x1f, %g2
  16        and  %i1, %g2, %g2
  17        andcc  %g0, 0, %g1
  18        mulscc  %g1, %i3, %g1
  19        mulscc  %g1, %i3, %g1
  20        mulscc  %g1, %i3, %g1
  21        mulscc  %g1, %i3, %g1
  22        mulscc  %g1, %i3, %g1
  23        mulscc  %g1, %i3, %g1
  24        mulscc  %g1, %i3, %g1
  25        mulscc  %g1, %i3, %g1
  26        mulscc  %g1, %i3, %g1
  27        mulscc  %g1, %i3, %g1
  28        mulscc  %g1, %i3, %g1
  29        mulscc  %g1, %i3, %g1
  30        mulscc  %g1, %i3, %g1
  31        mulscc  %g1, %i3, %g1
  32        mulscc  %g1, %i3, %g1
  33        mulscc  %g1, %i3, %g1
  34        mulscc  %g1, %i3, %g1
  35        mulscc  %g1, %i3, %g1
  36        mulscc  %g1, %i3, %g1
  37        mulscc  %g1, %i3, %g1
  38        mulscc  %g1, %i3, %g1
  39        mulscc  %g1, %i3, %g1
  40        mulscc  %g1, %i3, %g1
  41        mulscc  %g1, %i3, %g1
  42        mulscc  %g1, %i3, %g1
  43        mulscc  %g1, %i3, %g1
  44        mulscc  %g1, %i3, %g1
  45        mulscc  %g1, %i3, %g1
  46        mulscc  %g1, %i3, %g1
  47        mulscc  %g1, %i3, %g1
  48        mulscc  %g1, %i3, %g1
  49        mulscc  %g1, %i3, %g1
  50        mulscc  %g1, 0, %g1
  51        add  %g1, %g2, %l2
  52        rd  %y, %o1
  53        mov  %o1, %l3
  54        mov  %i1, %o0
  55        mov  %i2, %o1
  56        umul %o0, %o1, %o0
  57        mov  %o0, %l0
  58        mov  %i0, %o0
  59        mov  %i3, %o1
  60        umul %o0, %o1, %o0
  61        add  %l0, %o0, %l0
  62        mov  %l2, %i0
  63        add  %l2, %l0, %i0
  64        ret 
  65        restore  %g0, %l3, %o1
  66EXPORT_SYMBOL(__muldi3)
  67