root/arch/sparc/lib/muldi3.S

/* [<][>][^][v][top][bottom][index][help] */
   1 /* SPDX-License-Identifier: GPL-2.0-or-later */
   2 /* Copyright (C) 1989, 1992, 1993, 1994, 1995 Free Software Foundation, Inc.
   3 
   4 This 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
  66 EXPORT_SYMBOL(__muldi3)

/* [<][>][^][v][top][bottom][index][help] */