sparc_v8.S revision 1.1 1 1.1 pk /*
2 1.1 pk * GCC generated output for sparc v8 mul/div/rem operations.
3 1.1 pk * Included in the sparc_v8.so shared library for use on sparc v8
4 1.1 pk * machines instead of the libc.so versions.
5 1.1 pk */
6 1.1 pk .file "sparc_v8.S"
7 1.1 pk .section ".text"
8 1.1 pk
9 1.1 pk /*--- .umul ---*/
10 1.1 pk .align 4
11 1.1 pk .global .umul
12 1.1 pk .type .umul,@function
13 1.1 pk .proc 016
14 1.1 pk
15 1.1 pk .umul:
16 1.1 pk !#PROLOGUE# 0
17 1.1 pk !#PROLOGUE# 1
18 1.1 pk retl
19 1.1 pk umul %o0, %o1, %o0
20 1.1 pk .LLfe1:
21 1.1 pk .size .umul,.LLfe1-.umul
22 1.1 pk
23 1.1 pk /*--- .mul ---*/
24 1.1 pk .align 4
25 1.1 pk .global .mul
26 1.1 pk .type .mul,@function
27 1.1 pk .proc 04
28 1.1 pk .mul:
29 1.1 pk !#PROLOGUE# 0
30 1.1 pk !#PROLOGUE# 1
31 1.1 pk retl
32 1.1 pk smul %o0, %o1, %o0
33 1.1 pk .LLfe2:
34 1.1 pk .size .mul,.LLfe2-.mul
35 1.1 pk
36 1.1 pk /*--- .udiv ---*/
37 1.1 pk .align 4
38 1.1 pk .global .udiv
39 1.1 pk .type .udiv,@function
40 1.1 pk .proc 016
41 1.1 pk .udiv:
42 1.1 pk wr %g0, 0, %y
43 1.1 pk nop; nop; nop
44 1.1 pk retl
45 1.1 pk udiv %o0, %o1, %o0
46 1.1 pk .LLfe3:
47 1.1 pk .size .udiv,.LLfe3-.udiv
48 1.1 pk
49 1.1 pk /*--- .div ---*/
50 1.1 pk .align 4
51 1.1 pk .global .div
52 1.1 pk .type .div,@function
53 1.1 pk .proc 04
54 1.1 pk
55 1.1 pk .div:
56 1.1 pk sra %o0, 31, %g2
57 1.1 pk wr %g2, 0, %y
58 1.1 pk nop; nop; nop
59 1.1 pk retl
60 1.1 pk sdiv %o0, %o1, %o0
61 1.1 pk .LLfe4:
62 1.1 pk .size .div,.LLfe4-.div
63 1.1 pk
64 1.1 pk /*--- .urem ---*/
65 1.1 pk .align 4
66 1.1 pk .global .urem
67 1.1 pk .type .urem,@function
68 1.1 pk .proc 016
69 1.1 pk .urem:
70 1.1 pk wr %g0, %g0, %y
71 1.1 pk nop; nop; nop
72 1.1 pk udiv %o0, %o1, %g2
73 1.1 pk smul %g2, %o1, %g2
74 1.1 pk retl
75 1.1 pk sub %o0, %g2, %o0
76 1.1 pk .LLfe5:
77 1.1 pk .size .urem,.LLfe5-.urem
78 1.1 pk
79 1.1 pk /*--- .rem ---*/
80 1.1 pk .align 4
81 1.1 pk .global .rem
82 1.1 pk .type .rem,@function
83 1.1 pk .proc 04
84 1.1 pk .rem:
85 1.1 pk sra %o0, 31, %g3
86 1.1 pk wr %g3, 0, %y
87 1.1 pk nop; nop; nop
88 1.1 pk sdiv %o0, %o1, %g2
89 1.1 pk smul %g2, %o1, %g2
90 1.1 pk retl
91 1.1 pk sub %o0, %g2, %o0
92 1.1 pk .LLfe6:
93 1.1 pk .size .rem,.LLfe6-.rem
94 1.1 pk !.ident "GCC: (GNU) 2.95.3 20010315 (release) (NetBSD nb3)"
95