11da177e4SLinus Torvalds/* Copyright (C) 1989, 1992, 1993, 1994, 1995 Free Software Foundation, Inc. 21da177e4SLinus Torvalds 31da177e4SLinus TorvaldsThis file is part of GNU CC. 41da177e4SLinus Torvalds 51da177e4SLinus TorvaldsGNU CC is free software; you can redistribute it and/or modify 61da177e4SLinus Torvaldsit under the terms of the GNU General Public License as published by 71da177e4SLinus Torvaldsthe Free Software Foundation; either version 2, or (at your option) 81da177e4SLinus Torvaldsany later version. 91da177e4SLinus Torvalds 101da177e4SLinus TorvaldsGNU CC is distributed in the hope that it will be useful, 111da177e4SLinus Torvaldsbut WITHOUT ANY WARRANTY; without even the implied warranty of 121da177e4SLinus TorvaldsMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 131da177e4SLinus TorvaldsGNU General Public License for more details. 141da177e4SLinus Torvalds 151da177e4SLinus TorvaldsYou should have received a copy of the GNU General Public License 161da177e4SLinus Torvaldsalong with GNU CC; see the file COPYING. If not, write to 171da177e4SLinus Torvaldsthe Free Software Foundation, 59 Temple Place - Suite 330, 181da177e4SLinus TorvaldsBoston, MA 02111-1307, USA. */ 191da177e4SLinus Torvalds 201da177e4SLinus Torvalds .text 211da177e4SLinus Torvalds .align 4 221da177e4SLinus Torvalds .globl __muldi3 231da177e4SLinus Torvalds__muldi3: 241da177e4SLinus Torvalds save %sp, -104, %sp 251da177e4SLinus Torvalds wr %g0, %i1, %y 261da177e4SLinus Torvalds sra %i3, 0x1f, %g2 271da177e4SLinus Torvalds and %i1, %g2, %g2 281da177e4SLinus Torvalds andcc %g0, 0, %g1 291da177e4SLinus Torvalds mulscc %g1, %i3, %g1 301da177e4SLinus Torvalds mulscc %g1, %i3, %g1 311da177e4SLinus Torvalds mulscc %g1, %i3, %g1 321da177e4SLinus Torvalds mulscc %g1, %i3, %g1 331da177e4SLinus Torvalds mulscc %g1, %i3, %g1 341da177e4SLinus Torvalds mulscc %g1, %i3, %g1 351da177e4SLinus Torvalds mulscc %g1, %i3, %g1 361da177e4SLinus Torvalds mulscc %g1, %i3, %g1 371da177e4SLinus Torvalds mulscc %g1, %i3, %g1 381da177e4SLinus Torvalds mulscc %g1, %i3, %g1 391da177e4SLinus Torvalds mulscc %g1, %i3, %g1 401da177e4SLinus Torvalds mulscc %g1, %i3, %g1 411da177e4SLinus Torvalds mulscc %g1, %i3, %g1 421da177e4SLinus Torvalds mulscc %g1, %i3, %g1 431da177e4SLinus Torvalds mulscc %g1, %i3, %g1 441da177e4SLinus Torvalds mulscc %g1, %i3, %g1 451da177e4SLinus Torvalds mulscc %g1, %i3, %g1 461da177e4SLinus Torvalds mulscc %g1, %i3, %g1 471da177e4SLinus Torvalds mulscc %g1, %i3, %g1 481da177e4SLinus Torvalds mulscc %g1, %i3, %g1 491da177e4SLinus Torvalds mulscc %g1, %i3, %g1 501da177e4SLinus Torvalds mulscc %g1, %i3, %g1 511da177e4SLinus Torvalds mulscc %g1, %i3, %g1 521da177e4SLinus Torvalds mulscc %g1, %i3, %g1 531da177e4SLinus Torvalds mulscc %g1, %i3, %g1 541da177e4SLinus Torvalds mulscc %g1, %i3, %g1 551da177e4SLinus Torvalds mulscc %g1, %i3, %g1 561da177e4SLinus Torvalds mulscc %g1, %i3, %g1 571da177e4SLinus Torvalds mulscc %g1, %i3, %g1 581da177e4SLinus Torvalds mulscc %g1, %i3, %g1 591da177e4SLinus Torvalds mulscc %g1, %i3, %g1 601da177e4SLinus Torvalds mulscc %g1, %i3, %g1 611da177e4SLinus Torvalds mulscc %g1, 0, %g1 621da177e4SLinus Torvalds add %g1, %g2, %l2 631da177e4SLinus Torvalds rd %y, %o1 641da177e4SLinus Torvalds mov %o1, %l3 651da177e4SLinus Torvalds mov %i1, %o0 661da177e4SLinus Torvalds call .umul 671da177e4SLinus Torvalds mov %i2, %o1 681da177e4SLinus Torvalds mov %o0, %l0 691da177e4SLinus Torvalds mov %i0, %o0 701da177e4SLinus Torvalds call .umul 711da177e4SLinus Torvalds mov %i3, %o1 721da177e4SLinus Torvalds add %l0, %o0, %l0 731da177e4SLinus Torvalds mov %l2, %i0 741da177e4SLinus Torvalds add %l2, %l0, %i0 751da177e4SLinus Torvalds ret 761da177e4SLinus Torvalds restore %g0, %l3, %o1 77