umul.asm revision 1.1 1 1.1 mrg dnl SPARC mpn_umul_ppmm -- support for longlong.h for non-gcc.
2 1.1 mrg
3 1.1 mrg dnl Copyright 1995, 1996, 2000 Free Software Foundation, Inc.
4 1.1 mrg
5 1.1 mrg dnl This file is part of the GNU MP Library.
6 1.1 mrg
7 1.1 mrg dnl The GNU MP Library is free software; you can redistribute it and/or modify
8 1.1 mrg dnl it under the terms of the GNU Lesser General Public License as published
9 1.1 mrg dnl by the Free Software Foundation; either version 3 of the License, or (at
10 1.1 mrg dnl your option) any later version.
11 1.1 mrg
12 1.1 mrg dnl The GNU MP Library is distributed in the hope that it will be useful, but
13 1.1 mrg dnl WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
14 1.1 mrg dnl or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
15 1.1 mrg dnl License for more details.
16 1.1 mrg
17 1.1 mrg dnl You should have received a copy of the GNU Lesser General Public License
18 1.1 mrg dnl along with the GNU MP Library. If not, see http://www.gnu.org/licenses/.
19 1.1 mrg
20 1.1 mrg
21 1.1 mrg include(`../config.m4')
22 1.1 mrg
23 1.1 mrg ASM_START()
24 1.1 mrg PROLOGUE(mpn_umul_ppmm)
25 1.1 mrg wr %g0,%o1,%y
26 1.1 mrg sra %o2,31,%g2 C Don't move this insn
27 1.1 mrg and %o1,%g2,%g2 C Don't move this insn
28 1.1 mrg andcc %g0,0,%g1 C Don't move this insn
29 1.1 mrg mulscc %g1,%o2,%g1
30 1.1 mrg mulscc %g1,%o2,%g1
31 1.1 mrg mulscc %g1,%o2,%g1
32 1.1 mrg mulscc %g1,%o2,%g1
33 1.1 mrg mulscc %g1,%o2,%g1
34 1.1 mrg mulscc %g1,%o2,%g1
35 1.1 mrg mulscc %g1,%o2,%g1
36 1.1 mrg mulscc %g1,%o2,%g1
37 1.1 mrg mulscc %g1,%o2,%g1
38 1.1 mrg mulscc %g1,%o2,%g1
39 1.1 mrg mulscc %g1,%o2,%g1
40 1.1 mrg mulscc %g1,%o2,%g1
41 1.1 mrg mulscc %g1,%o2,%g1
42 1.1 mrg mulscc %g1,%o2,%g1
43 1.1 mrg mulscc %g1,%o2,%g1
44 1.1 mrg mulscc %g1,%o2,%g1
45 1.1 mrg mulscc %g1,%o2,%g1
46 1.1 mrg mulscc %g1,%o2,%g1
47 1.1 mrg mulscc %g1,%o2,%g1
48 1.1 mrg mulscc %g1,%o2,%g1
49 1.1 mrg mulscc %g1,%o2,%g1
50 1.1 mrg mulscc %g1,%o2,%g1
51 1.1 mrg mulscc %g1,%o2,%g1
52 1.1 mrg mulscc %g1,%o2,%g1
53 1.1 mrg mulscc %g1,%o2,%g1
54 1.1 mrg mulscc %g1,%o2,%g1
55 1.1 mrg mulscc %g1,%o2,%g1
56 1.1 mrg mulscc %g1,%o2,%g1
57 1.1 mrg mulscc %g1,%o2,%g1
58 1.1 mrg mulscc %g1,%o2,%g1
59 1.1 mrg mulscc %g1,%o2,%g1
60 1.1 mrg mulscc %g1,%o2,%g1
61 1.1 mrg mulscc %g1,0,%g1
62 1.1 mrg rd %y,%g3
63 1.1 mrg st %g3,[%o0]
64 1.1 mrg retl
65 1.1 mrg add %g1,%g2,%o0
66 1.1 mrg EPILOGUE(mpn_umul_ppmm)
67