umul.asm revision 1.1.1.2 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.1.2 mrg dnl
7 1.1 mrg dnl The GNU MP Library is free software; you can redistribute it and/or modify
8 1.1.1.2 mrg dnl it under the terms of either:
9 1.1.1.2 mrg dnl
10 1.1.1.2 mrg dnl * the GNU Lesser General Public License as published by the Free
11 1.1.1.2 mrg dnl Software Foundation; either version 3 of the License, or (at your
12 1.1.1.2 mrg dnl option) any later version.
13 1.1.1.2 mrg dnl
14 1.1.1.2 mrg dnl or
15 1.1.1.2 mrg dnl
16 1.1.1.2 mrg dnl * the GNU General Public License as published by the Free Software
17 1.1.1.2 mrg dnl Foundation; either version 2 of the License, or (at your option) any
18 1.1.1.2 mrg dnl later version.
19 1.1.1.2 mrg dnl
20 1.1.1.2 mrg dnl or both in parallel, as here.
21 1.1.1.2 mrg dnl
22 1.1 mrg dnl The GNU MP Library is distributed in the hope that it will be useful, but
23 1.1 mrg dnl WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
24 1.1.1.2 mrg dnl or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
25 1.1.1.2 mrg dnl for more details.
26 1.1.1.2 mrg dnl
27 1.1.1.2 mrg dnl You should have received copies of the GNU General Public License and the
28 1.1.1.2 mrg dnl GNU Lesser General Public License along with the GNU MP Library. If not,
29 1.1.1.2 mrg dnl see https://www.gnu.org/licenses/.
30 1.1 mrg
31 1.1 mrg
32 1.1 mrg include(`../config.m4')
33 1.1 mrg
34 1.1 mrg ASM_START()
35 1.1 mrg PROLOGUE(mpn_umul_ppmm)
36 1.1 mrg wr %g0,%o1,%y
37 1.1 mrg sra %o2,31,%g2 C Don't move this insn
38 1.1 mrg and %o1,%g2,%g2 C Don't move this insn
39 1.1 mrg andcc %g0,0,%g1 C Don't move this insn
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,%o2,%g1
62 1.1 mrg mulscc %g1,%o2,%g1
63 1.1 mrg mulscc %g1,%o2,%g1
64 1.1 mrg mulscc %g1,%o2,%g1
65 1.1 mrg mulscc %g1,%o2,%g1
66 1.1 mrg mulscc %g1,%o2,%g1
67 1.1 mrg mulscc %g1,%o2,%g1
68 1.1 mrg mulscc %g1,%o2,%g1
69 1.1 mrg mulscc %g1,%o2,%g1
70 1.1 mrg mulscc %g1,%o2,%g1
71 1.1 mrg mulscc %g1,%o2,%g1
72 1.1 mrg mulscc %g1,0,%g1
73 1.1 mrg rd %y,%g3
74 1.1 mrg st %g3,[%o0]
75 1.1 mrg retl
76 1.1 mrg add %g1,%g2,%o0
77 1.1 mrg EPILOGUE(mpn_umul_ppmm)
78