xref: /illumos-gate/usr/src/common/bignum/sun4u/mont_mulf_v9.s (revision 7c478bd95313f5f23a4c958a745db2134aa0324)
1*7c478bd9Sstevel@tonic-gate/*
2*7c478bd9Sstevel@tonic-gate * CDDL HEADER START
3*7c478bd9Sstevel@tonic-gate *
4*7c478bd9Sstevel@tonic-gate * The contents of this file are subject to the terms of the
5*7c478bd9Sstevel@tonic-gate * Common Development and Distribution License, Version 1.0 only
6*7c478bd9Sstevel@tonic-gate * (the "License").  You may not use this file except in compliance
7*7c478bd9Sstevel@tonic-gate * with the License.
8*7c478bd9Sstevel@tonic-gate *
9*7c478bd9Sstevel@tonic-gate * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10*7c478bd9Sstevel@tonic-gate * or http://www.opensolaris.org/os/licensing.
11*7c478bd9Sstevel@tonic-gate * See the License for the specific language governing permissions
12*7c478bd9Sstevel@tonic-gate * and limitations under the License.
13*7c478bd9Sstevel@tonic-gate *
14*7c478bd9Sstevel@tonic-gate * When distributing Covered Code, include this CDDL HEADER in each
15*7c478bd9Sstevel@tonic-gate * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16*7c478bd9Sstevel@tonic-gate * If applicable, add the following below this CDDL HEADER, with the
17*7c478bd9Sstevel@tonic-gate * fields enclosed by brackets "[]" replaced with your own identifying
18*7c478bd9Sstevel@tonic-gate * information: Portions Copyright [yyyy] [name of copyright owner]
19*7c478bd9Sstevel@tonic-gate *
20*7c478bd9Sstevel@tonic-gate * CDDL HEADER END
21*7c478bd9Sstevel@tonic-gate */
22*7c478bd9Sstevel@tonic-gate/*
23*7c478bd9Sstevel@tonic-gate * Copyright 2003 Sun Microsystems, Inc.  All rights reserved.
24*7c478bd9Sstevel@tonic-gate * Use is subject to license terms.
25*7c478bd9Sstevel@tonic-gate */
26*7c478bd9Sstevel@tonic-gate
27*7c478bd9Sstevel@tonic-gate#pragma ident	"%Z%%M%	%I%	%E% SMI"
28*7c478bd9Sstevel@tonic-gate
29*7c478bd9Sstevel@tonic-gate	.section	".text",#alloc,#execinstr
30*7c478bd9Sstevel@tonic-gate	.file	"mont_mulf_asm_v9.s"
31*7c478bd9Sstevel@tonic-gate
32*7c478bd9Sstevel@tonic-gate	.section	".rodata",#alloc
33*7c478bd9Sstevel@tonic-gate	.align	8
34*7c478bd9Sstevel@tonic-gate!
35*7c478bd9Sstevel@tonic-gate! CONSTANT POOL
36*7c478bd9Sstevel@tonic-gate!
37*7c478bd9Sstevel@tonic-gateTwoTo16:
38*7c478bd9Sstevel@tonic-gate	.word	1089470464
39*7c478bd9Sstevel@tonic-gate	.word	0
40*7c478bd9Sstevel@tonic-gate	.type	TwoTo16,#object
41*7c478bd9Sstevel@tonic-gate	.size	TwoTo16,8
42*7c478bd9Sstevel@tonic-gate!
43*7c478bd9Sstevel@tonic-gate! CONSTANT POOL
44*7c478bd9Sstevel@tonic-gate!
45*7c478bd9Sstevel@tonic-gateTwoToMinus16:
46*7c478bd9Sstevel@tonic-gate	.word	1055916032
47*7c478bd9Sstevel@tonic-gate	.word	0
48*7c478bd9Sstevel@tonic-gate	.type	TwoToMinus16,#object
49*7c478bd9Sstevel@tonic-gate	.size	TwoToMinus16,8
50*7c478bd9Sstevel@tonic-gate!
51*7c478bd9Sstevel@tonic-gate! CONSTANT POOL
52*7c478bd9Sstevel@tonic-gate!
53*7c478bd9Sstevel@tonic-gateZero:
54*7c478bd9Sstevel@tonic-gate	.word	0
55*7c478bd9Sstevel@tonic-gate	.word	0
56*7c478bd9Sstevel@tonic-gate	.type	Zero,#object
57*7c478bd9Sstevel@tonic-gate	.size	Zero,8
58*7c478bd9Sstevel@tonic-gate!
59*7c478bd9Sstevel@tonic-gate! CONSTANT POOL
60*7c478bd9Sstevel@tonic-gate!
61*7c478bd9Sstevel@tonic-gateTwoTo32:
62*7c478bd9Sstevel@tonic-gate	.word	1106247680
63*7c478bd9Sstevel@tonic-gate	.word	0
64*7c478bd9Sstevel@tonic-gate	.type	TwoTo32,#object
65*7c478bd9Sstevel@tonic-gate	.size	TwoTo32,8
66*7c478bd9Sstevel@tonic-gate!
67*7c478bd9Sstevel@tonic-gate! CONSTANT POOL
68*7c478bd9Sstevel@tonic-gate!
69*7c478bd9Sstevel@tonic-gateTwoToMinus32:
70*7c478bd9Sstevel@tonic-gate	.word	1039138816
71*7c478bd9Sstevel@tonic-gate	.word	0
72*7c478bd9Sstevel@tonic-gate	.type	TwoToMinus32,#object
73*7c478bd9Sstevel@tonic-gate	.size	TwoToMinus32,8
74*7c478bd9Sstevel@tonic-gate
75*7c478bd9Sstevel@tonic-gate	.section	".text",#alloc,#execinstr
76*7c478bd9Sstevel@tonic-gate/* 000000	   0 */		.register	%g3,#scratch
77*7c478bd9Sstevel@tonic-gate/* 000000	     */		.register	%g2,#scratch
78*7c478bd9Sstevel@tonic-gate/* 000000	   0 */		.align	8
79*7c478bd9Sstevel@tonic-gate/* 000000	     */		.skip	24
80*7c478bd9Sstevel@tonic-gate/* 0x0018	     */		.align	4
81*7c478bd9Sstevel@tonic-gate! FILE mont_mulf.c
82*7c478bd9Sstevel@tonic-gate
83*7c478bd9Sstevel@tonic-gate!    1		      !/*
84*7c478bd9Sstevel@tonic-gate!    2		      ! * Copyright 2003 Sun Microsystems, Inc.  All rights reserved.
85*7c478bd9Sstevel@tonic-gate!    3		      ! * Use is subject to license terms.
86*7c478bd9Sstevel@tonic-gate!    4		      ! */
87*7c478bd9Sstevel@tonic-gate!    6		      !#pragma ident	"%Z%%M%	%I%	%E% SMI"
88*7c478bd9Sstevel@tonic-gate!    9		      !/*
89*7c478bd9Sstevel@tonic-gate!   10		      ! * If compiled without -DRF_INLINE_MACROS then needs -lm at link time
90*7c478bd9Sstevel@tonic-gate!   11		      ! * If compiled with -DRF_INLINE_MACROS then needs conv.il at compile time
91*7c478bd9Sstevel@tonic-gate!   12		      ! * (i.e. cc <compileer_flags> -DRF_INLINE_MACROS conv.il mont_mulf.c )
92*7c478bd9Sstevel@tonic-gate!   13		      ! */
93*7c478bd9Sstevel@tonic-gate!   15		      !#include <sys/types.h>
94*7c478bd9Sstevel@tonic-gate!   16		      !#include <math.h>
95*7c478bd9Sstevel@tonic-gate!   18		      !static const double TwoTo16 = 65536.0;
96*7c478bd9Sstevel@tonic-gate!   19		      !static const double TwoToMinus16 = 1.0/65536.0;
97*7c478bd9Sstevel@tonic-gate!   20		      !static const double Zero = 0.0;
98*7c478bd9Sstevel@tonic-gate!   21		      !static const double TwoTo32 = 65536.0 * 65536.0;
99*7c478bd9Sstevel@tonic-gate!   22		      !static const double TwoToMinus32 = 1.0 / (65536.0 * 65536.0);
100*7c478bd9Sstevel@tonic-gate!   24		      !#ifdef RF_INLINE_MACROS
101*7c478bd9Sstevel@tonic-gate!   26		      !double upper32(double);
102*7c478bd9Sstevel@tonic-gate!   27		      !double lower32(double, double);
103*7c478bd9Sstevel@tonic-gate!   28		      !double mod(double, double, double);
104*7c478bd9Sstevel@tonic-gate!   30		      !#else
105*7c478bd9Sstevel@tonic-gate!   32		      !static double
106*7c478bd9Sstevel@tonic-gate!   33		      !upper32(double x)
107*7c478bd9Sstevel@tonic-gate!   34		      !{
108*7c478bd9Sstevel@tonic-gate!   35		      !	return (floor(x * TwoToMinus32));
109*7c478bd9Sstevel@tonic-gate!   36		      !}
110*7c478bd9Sstevel@tonic-gate!   39		      !/* ARGSUSED */
111*7c478bd9Sstevel@tonic-gate!   40		      !static double
112*7c478bd9Sstevel@tonic-gate!   41		      !lower32(double x, double y)
113*7c478bd9Sstevel@tonic-gate!   42		      !{
114*7c478bd9Sstevel@tonic-gate!   43		      !	return (x - TwoTo32 * floor(x * TwoToMinus32));
115*7c478bd9Sstevel@tonic-gate!   44		      !}
116*7c478bd9Sstevel@tonic-gate!   46		      !static double
117*7c478bd9Sstevel@tonic-gate!   47		      !mod(double x, double oneoverm, double m)
118*7c478bd9Sstevel@tonic-gate!   48		      !{
119*7c478bd9Sstevel@tonic-gate!   49		      !	return (x - m * floor(x * oneoverm));
120*7c478bd9Sstevel@tonic-gate!   50		      !}
121*7c478bd9Sstevel@tonic-gate!   52		      !#endif
122*7c478bd9Sstevel@tonic-gate!   55		      !static void
123*7c478bd9Sstevel@tonic-gate!   56		      !cleanup(double *dt, int from, int tlen)
124*7c478bd9Sstevel@tonic-gate!   57		      !{
125*7c478bd9Sstevel@tonic-gate
126*7c478bd9Sstevel@tonic-gate!
127*7c478bd9Sstevel@tonic-gate! SUBROUTINE cleanup
128*7c478bd9Sstevel@tonic-gate!
129*7c478bd9Sstevel@tonic-gate! OFFSET    SOURCE LINE	LABEL	INSTRUCTION
130*7c478bd9Sstevel@tonic-gate
131*7c478bd9Sstevel@tonic-gate                       cleanup:
132*7c478bd9Sstevel@tonic-gate/* 000000	  57 */		or	%g0,%o7,%g3
133*7c478bd9Sstevel@tonic-gate/* 0x0004	   0 */		sethi	%hi(Zero),%o3
134*7c478bd9Sstevel@tonic-gate                       .L900000110:
135*7c478bd9Sstevel@tonic-gate/* 0x0008	  57 */		call	.+8
136*7c478bd9Sstevel@tonic-gate/* 0x000c	     */		sethi	/*X*/%hi(_GLOBAL_OFFSET_TABLE_-(.L900000110-.)),%g2
137*7c478bd9Sstevel@tonic-gate/* 0x0010	   0 */		add	%o3,%lo(Zero),%o3
138*7c478bd9Sstevel@tonic-gate/* 0x0014	  57 */		add	%g2,/*X*/%lo(_GLOBAL_OFFSET_TABLE_-(.L900000110-.)),%g2
139*7c478bd9Sstevel@tonic-gate/* 0x0018	     */		add	%g2,%o7,%o4
140*7c478bd9Sstevel@tonic-gate/* 0x001c	     */		or	%g0,%g3,%o7
141*7c478bd9Sstevel@tonic-gate/* 0x0020	   0 */		ldx	[%o4+%o3],%o5
142*7c478bd9Sstevel@tonic-gate/* 0x0024	  57 */		sra	%o1,0,%o3
143*7c478bd9Sstevel@tonic-gate/* 0x0028	     */		or	%g0,%o0,%o4
144*7c478bd9Sstevel@tonic-gate/* 0x002c	     */		sra	%o2,0,%o1
145*7c478bd9Sstevel@tonic-gate
146*7c478bd9Sstevel@tonic-gate!   58		      !	int i;
147*7c478bd9Sstevel@tonic-gate!   59		      !	double tmp, tmp1, x, x1;
148*7c478bd9Sstevel@tonic-gate!   61		      !	tmp = tmp1 = Zero;
149*7c478bd9Sstevel@tonic-gate!   63		      !	for (i = 2 * from; i < 2 * tlen; i += 2) {
150*7c478bd9Sstevel@tonic-gate
151*7c478bd9Sstevel@tonic-gate/* 0x0030	  63 */		sll	%o3,1,%g2
152*7c478bd9Sstevel@tonic-gate/* 0x0034	  61 */		ldd	[%o5],%f12
153*7c478bd9Sstevel@tonic-gate/* 0x0038	  63 */		sll	%o1,1,%o1
154*7c478bd9Sstevel@tonic-gate/* 0x003c	  57 */		add	%g2,1,%o2
155*7c478bd9Sstevel@tonic-gate/* 0x0040	  63 */		cmp	%g2,%o1
156*7c478bd9Sstevel@tonic-gate/* 0x0044	     */		bge,pt	%icc,.L77000145
157*7c478bd9Sstevel@tonic-gate/* 0x0048	     */		fmovd	%f12,%f10
158*7c478bd9Sstevel@tonic-gate
159*7c478bd9Sstevel@tonic-gate!   64		      !		x = dt[i];
160*7c478bd9Sstevel@tonic-gate
161*7c478bd9Sstevel@tonic-gate/* 0x004c	  64 */		sra	%g2,0,%o0
162*7c478bd9Sstevel@tonic-gate/* 0x0050	  57 */		sub	%o1,1,%o3
163*7c478bd9Sstevel@tonic-gate                       .L900000111:
164*7c478bd9Sstevel@tonic-gate/* 0x0054	  64 */		sllx	%o0,3,%o0
165*7c478bd9Sstevel@tonic-gate
166*7c478bd9Sstevel@tonic-gate!   65		      !		x1 = dt[i + 1];
167*7c478bd9Sstevel@tonic-gate!   66		      !		dt[i] = lower32(x, Zero) + tmp;
168*7c478bd9Sstevel@tonic-gate
169*7c478bd9Sstevel@tonic-gate/* 0x0058	  66 */		ldd	[%o5],%f4
170*7c478bd9Sstevel@tonic-gate
171*7c478bd9Sstevel@tonic-gate!   67		      !		dt[i + 1] = lower32(x1, Zero) + tmp1;
172*7c478bd9Sstevel@tonic-gate!   68		      !		tmp = upper32(x);
173*7c478bd9Sstevel@tonic-gate!   69		      !		tmp1 = upper32(x1);
174*7c478bd9Sstevel@tonic-gate
175*7c478bd9Sstevel@tonic-gate/* 0x005c	  69 */		add	%g2,2,%g2
176*7c478bd9Sstevel@tonic-gate/* 0x0060	  65 */		sra	%o2,0,%o1
177*7c478bd9Sstevel@tonic-gate/* 0x0064	  64 */		ldd	[%o4+%o0],%f6
178*7c478bd9Sstevel@tonic-gate/* 0x0068	  69 */		add	%o2,2,%o2
179*7c478bd9Sstevel@tonic-gate/* 0x006c	  65 */		sllx	%o1,3,%o1
180*7c478bd9Sstevel@tonic-gate/* 0x0070	  69 */		cmp	%g2,%o3
181*7c478bd9Sstevel@tonic-gate/* 0x0074	  65 */		ldd	[%o4+%o1],%f8
182*7c478bd9Sstevel@tonic-gate/* 0x0078	     */		fdtox	%f6,%f0
183*7c478bd9Sstevel@tonic-gate/* 0x007c	     */		fdtox	%f8,%f2
184*7c478bd9Sstevel@tonic-gate/* 0x0080	     */		fmovs	%f4,%f0
185*7c478bd9Sstevel@tonic-gate/* 0x0084	     */		fmovs	%f4,%f2
186*7c478bd9Sstevel@tonic-gate/* 0x0088	     */		fxtod	%f0,%f0
187*7c478bd9Sstevel@tonic-gate/* 0x008c	     */		fdtox	%f6,%f4
188*7c478bd9Sstevel@tonic-gate/* 0x0090	     */		fxtod	%f2,%f2
189*7c478bd9Sstevel@tonic-gate/* 0x0094	     */		fdtox	%f8,%f6
190*7c478bd9Sstevel@tonic-gate/* 0x0098	  66 */		faddd	%f0,%f10,%f0
191*7c478bd9Sstevel@tonic-gate/* 0x009c	     */		std	%f0,[%o4+%o0]
192*7c478bd9Sstevel@tonic-gate/* 0x00a0	  67 */		faddd	%f2,%f12,%f0
193*7c478bd9Sstevel@tonic-gate/* 0x00a4	     */		std	%f0,[%o4+%o1]
194*7c478bd9Sstevel@tonic-gate/* 0x00a8	     */		fitod	%f4,%f10
195*7c478bd9Sstevel@tonic-gate/* 0x00ac	     */		fitod	%f6,%f12
196*7c478bd9Sstevel@tonic-gate/* 0x00b0	  69 */		ble,pt	%icc,.L900000111
197*7c478bd9Sstevel@tonic-gate/* 0x00b4	     */		sra	%g2,0,%o0
198*7c478bd9Sstevel@tonic-gate                       .L77000145:
199*7c478bd9Sstevel@tonic-gate/* 0x00b8	     */		retl	! Result =
200*7c478bd9Sstevel@tonic-gate/* 0x00bc	     */		nop
201*7c478bd9Sstevel@tonic-gate/* 0x00c0	   0 */		.type	cleanup,2
202*7c478bd9Sstevel@tonic-gate/* 0x00c0	   0 */		.size	cleanup,(.-cleanup)
203*7c478bd9Sstevel@tonic-gate
204*7c478bd9Sstevel@tonic-gate	.section	".text",#alloc,#execinstr
205*7c478bd9Sstevel@tonic-gate/* 000000	   0 */		.align	4
206*7c478bd9Sstevel@tonic-gate
207*7c478bd9Sstevel@tonic-gate!   70		      !	}
208*7c478bd9Sstevel@tonic-gate!   71		      !}
209*7c478bd9Sstevel@tonic-gate!   74		      !/* ARGSUSED */
210*7c478bd9Sstevel@tonic-gate!   75		      !void
211*7c478bd9Sstevel@tonic-gate!   76		      !conv_d16_to_i32(uint32_t *i32, double *d16, int64_t *tmp, int ilen)
212*7c478bd9Sstevel@tonic-gate!   77		      !{
213*7c478bd9Sstevel@tonic-gate
214*7c478bd9Sstevel@tonic-gate!
215*7c478bd9Sstevel@tonic-gate! SUBROUTINE conv_d16_to_i32
216*7c478bd9Sstevel@tonic-gate!
217*7c478bd9Sstevel@tonic-gate! OFFSET    SOURCE LINE	LABEL	INSTRUCTION
218*7c478bd9Sstevel@tonic-gate
219*7c478bd9Sstevel@tonic-gate                       	.global conv_d16_to_i32
220*7c478bd9Sstevel@tonic-gate                       conv_d16_to_i32:
221*7c478bd9Sstevel@tonic-gate/* 000000	  77 */		save	%sp,-208,%sp
222*7c478bd9Sstevel@tonic-gate
223*7c478bd9Sstevel@tonic-gate!   78		      !	int i;
224*7c478bd9Sstevel@tonic-gate!   79		      !	int64_t t, t1,		/* using int64_t and not uint64_t */
225*7c478bd9Sstevel@tonic-gate!   80		      !		a, b, c, d;	/* because more efficient code is */
226*7c478bd9Sstevel@tonic-gate!   81		      !				/* generated this way, and there  */
227*7c478bd9Sstevel@tonic-gate!   82		      !				/* is no overflow  */
228*7c478bd9Sstevel@tonic-gate!   83		      !	t1 = 0;
229*7c478bd9Sstevel@tonic-gate!   84		      !	a = (int64_t)d16[0];
230*7c478bd9Sstevel@tonic-gate
231*7c478bd9Sstevel@tonic-gate/* 0x0004	  84 */		ldd	[%i1],%f0
232*7c478bd9Sstevel@tonic-gate/* 0x0008	  77 */		sra	%i3,0,%g5
233*7c478bd9Sstevel@tonic-gate/* 0x000c	     */		or	%g0,%i0,%l1
234*7c478bd9Sstevel@tonic-gate
235*7c478bd9Sstevel@tonic-gate!   85		      !	b = (int64_t)d16[1];
236*7c478bd9Sstevel@tonic-gate
237*7c478bd9Sstevel@tonic-gate/* 0x0010	  85 */		ldd	[%i1+8],%f2
238*7c478bd9Sstevel@tonic-gate
239*7c478bd9Sstevel@tonic-gate!   86		      !	for (i = 0; i < ilen - 1; i++) {
240*7c478bd9Sstevel@tonic-gate
241*7c478bd9Sstevel@tonic-gate/* 0x0014	  86 */		sub	%g5,1,%g2
242*7c478bd9Sstevel@tonic-gate/* 0x0018	  83 */		or	%g0,0,%l7
243*7c478bd9Sstevel@tonic-gate/* 0x001c	  84 */		fdtox	%f0,%f0
244*7c478bd9Sstevel@tonic-gate/* 0x0020	     */		std	%f0,[%sp+2247]
245*7c478bd9Sstevel@tonic-gate/* 0x0024	  86 */		cmp	%g2,0
246*7c478bd9Sstevel@tonic-gate/* 0x0028	  85 */		fdtox	%f2,%f0
247*7c478bd9Sstevel@tonic-gate/* 0x002c	     */		std	%f0,[%sp+2239]
248*7c478bd9Sstevel@tonic-gate/* 0x0030	  86 */		or	%g0,0,%o5
249*7c478bd9Sstevel@tonic-gate/* 0x0034	     */		sub	%g5,1,%g4
250*7c478bd9Sstevel@tonic-gate/* 0x0038	  77 */		or	%g0,-1,%g3
251*7c478bd9Sstevel@tonic-gate/* 0x003c	     */		srl	%g3,0,%l4
252*7c478bd9Sstevel@tonic-gate/* 0x0040	     */		sub	%g5,2,%l0
253*7c478bd9Sstevel@tonic-gate/* 0x0044	     */		or	%g0,%i1,%l2
254*7c478bd9Sstevel@tonic-gate/* 0x0048	     */		or	%g0,%i0,%o7
255*7c478bd9Sstevel@tonic-gate/* 0x004c	  84 */		ldx	[%sp+2247],%o1
256*7c478bd9Sstevel@tonic-gate/* 0x0050	  77 */		or	%g0,2,%o2
257*7c478bd9Sstevel@tonic-gate
258*7c478bd9Sstevel@tonic-gate!   87		      !		c = (int64_t)d16[2 * i + 2];
259*7c478bd9Sstevel@tonic-gate!   88		      !		t1 += a & 0xffffffff;
260*7c478bd9Sstevel@tonic-gate!   89		      !		t = (a >> 32);
261*7c478bd9Sstevel@tonic-gate!   90		      !		d = (int64_t)d16[2 * i + 3];
262*7c478bd9Sstevel@tonic-gate!   91		      !		t1 += (b & 0xffff) << 16;
263*7c478bd9Sstevel@tonic-gate!   92		      !		t += (b >> 16) + (t1 >> 32);
264*7c478bd9Sstevel@tonic-gate!   93		      !		i32[i] = t1 & 0xffffffff;
265*7c478bd9Sstevel@tonic-gate!   94		      !		t1 = t;
266*7c478bd9Sstevel@tonic-gate!   95		      !		a = c;
267*7c478bd9Sstevel@tonic-gate!   96		      !		b = d;
268*7c478bd9Sstevel@tonic-gate
269*7c478bd9Sstevel@tonic-gate/* 0x0054	  96 */		or	%g0,8,%i2
270*7c478bd9Sstevel@tonic-gate/* 0x0058	  85 */		ldx	[%sp+2239],%o0
271*7c478bd9Sstevel@tonic-gate/* 0x005c	  86 */		ble,pt	%icc,.L900000212
272*7c478bd9Sstevel@tonic-gate/* 0x0060	 101 */		sethi	%hi(0xfc00),%g2
273*7c478bd9Sstevel@tonic-gate/* 0x0064	  77 */		sethi	%hi(0xfc00),%g2
274*7c478bd9Sstevel@tonic-gate/* 0x0068	  86 */		cmp	%g4,7
275*7c478bd9Sstevel@tonic-gate/* 0x006c	  77 */		add	%g2,1023,%l3
276*7c478bd9Sstevel@tonic-gate/* 0x0070	  86 */		bl,pn	%icc,.L77000169
277*7c478bd9Sstevel@tonic-gate/* 0x0074	     */		or	%g0,3,%g5
278*7c478bd9Sstevel@tonic-gate/* 0x0078	  87 */		ldd	[%i1+16],%f0
279*7c478bd9Sstevel@tonic-gate/* 0x007c	     */		or	%g0,32,%g5
280*7c478bd9Sstevel@tonic-gate/* 0x0080	  90 */		or	%g0,40,%g4
281*7c478bd9Sstevel@tonic-gate/* 0x0084	     */		ldd	[%i1+24],%f2
282*7c478bd9Sstevel@tonic-gate/* 0x0088	  91 */		and	%o0,%l3,%g3
283*7c478bd9Sstevel@tonic-gate/* 0x008c	  88 */		and	%o1,%l4,%l6
284*7c478bd9Sstevel@tonic-gate/* 0x0090	  92 */		srax	%o0,16,%o0
285*7c478bd9Sstevel@tonic-gate/* 0x0094	  87 */		fdtox	%f0,%f0
286*7c478bd9Sstevel@tonic-gate/* 0x0098	     */		std	%f0,[%sp+2231]
287*7c478bd9Sstevel@tonic-gate/* 0x009c	  86 */		sub	%l0,3,%o2
288*7c478bd9Sstevel@tonic-gate/* 0x00a0	  90 */		fdtox	%f2,%f0
289*7c478bd9Sstevel@tonic-gate/* 0x00a4	     */		std	%f0,[%sp+2223]
290*7c478bd9Sstevel@tonic-gate/* 0x00a8	     */		ldd	[%i1+%g4],%f2
291*7c478bd9Sstevel@tonic-gate/* 0x00ac	     */		or	%g0,56,%g4
292*7c478bd9Sstevel@tonic-gate/* 0x00b0	  96 */		or	%g0,3,%o5
293*7c478bd9Sstevel@tonic-gate/* 0x00b4	  87 */		ldd	[%i1+%g5],%f0
294*7c478bd9Sstevel@tonic-gate/* 0x00b8	  91 */		sllx	%g3,16,%g5
295*7c478bd9Sstevel@tonic-gate/* 0x00bc	  87 */		or	%g0,48,%g3
296*7c478bd9Sstevel@tonic-gate/* 0x00c0	  86 */		add	%l6,%g5,%l7
297*7c478bd9Sstevel@tonic-gate/* 0x00c4	  90 */		fdtox	%f2,%f2
298*7c478bd9Sstevel@tonic-gate/* 0x00c8	  87 */		ldx	[%sp+2231],%g2
299*7c478bd9Sstevel@tonic-gate/* 0x00cc	  92 */		srax	%l7,32,%o3
300*7c478bd9Sstevel@tonic-gate/* 0x00d0	  87 */		fdtox	%f0,%f0
301*7c478bd9Sstevel@tonic-gate/* 0x00d4	     */		std	%f0,[%sp+2231]
302*7c478bd9Sstevel@tonic-gate/* 0x00d8	     */		ldd	[%i1+%g3],%f0
303*7c478bd9Sstevel@tonic-gate/* 0x00dc	  89 */		srax	%g2,32,%l6
304*7c478bd9Sstevel@tonic-gate/* 0x00e0	  96 */		or	%g0,9,%i1
305*7c478bd9Sstevel@tonic-gate/* 0x00e4	  89 */		srax	%o1,32,%g3
306*7c478bd9Sstevel@tonic-gate/* 0x00e8	  88 */		and	%g2,%l4,%g2
307*7c478bd9Sstevel@tonic-gate/* 0x00ec	  90 */		ldx	[%sp+2223],%g5
308*7c478bd9Sstevel@tonic-gate/* 0x00f0	     */		std	%f2,[%sp+2223]
309*7c478bd9Sstevel@tonic-gate/* 0x00f4	     */		ldd	[%l2+%g4],%f2
310*7c478bd9Sstevel@tonic-gate/* 0x00f8	  92 */		srax	%g5,16,%i0
311*7c478bd9Sstevel@tonic-gate/* 0x00fc	  91 */		and	%g5,%l3,%g4
312*7c478bd9Sstevel@tonic-gate/* 0x0100	  87 */		ldx	[%sp+2231],%l5
313*7c478bd9Sstevel@tonic-gate                       .L900000207:
314*7c478bd9Sstevel@tonic-gate/* 0x0104	  87 */		sra	%i2,0,%g5
315*7c478bd9Sstevel@tonic-gate/* 0x0108	  92 */		add	%o0,%o3,%o0
316*7c478bd9Sstevel@tonic-gate/* 0x010c	  90 */		ldx	[%sp+2223],%o1
317*7c478bd9Sstevel@tonic-gate/* 0x0110	  87 */		fdtox	%f0,%f0
318*7c478bd9Sstevel@tonic-gate/* 0x0114	     */		std	%f0,[%sp+2231]
319*7c478bd9Sstevel@tonic-gate/* 0x0118	     */		sllx	%g5,3,%g5
320*7c478bd9Sstevel@tonic-gate/* 0x011c	  92 */		add	%g3,%o0,%o0
321*7c478bd9Sstevel@tonic-gate/* 0x0120	  90 */		sra	%i1,0,%g3
322*7c478bd9Sstevel@tonic-gate/* 0x0124	  93 */		and	%l7,%l4,%o3
323*7c478bd9Sstevel@tonic-gate/* 0x0128	  87 */		ldd	[%l2+%g5],%f0
324*7c478bd9Sstevel@tonic-gate/* 0x012c	  90 */		fdtox	%f2,%f2
325*7c478bd9Sstevel@tonic-gate/* 0x0130	     */		std	%f2,[%sp+2223]
326*7c478bd9Sstevel@tonic-gate/* 0x0134	     */		sllx	%g3,3,%g3
327*7c478bd9Sstevel@tonic-gate/* 0x0138	  96 */		add	%i1,2,%g5
328*7c478bd9Sstevel@tonic-gate/* 0x013c	  91 */		sllx	%g4,16,%o4
329*7c478bd9Sstevel@tonic-gate/* 0x0140	  96 */		add	%i2,2,%g4
330*7c478bd9Sstevel@tonic-gate/* 0x0144	  90 */		ldd	[%l2+%g3],%f2
331*7c478bd9Sstevel@tonic-gate/* 0x0148	  93 */		st	%o3,[%o7]
332*7c478bd9Sstevel@tonic-gate/* 0x014c	  86 */		add	%g2,%o4,%g2
333*7c478bd9Sstevel@tonic-gate/* 0x0150	  96 */		add	%o5,3,%o5
334*7c478bd9Sstevel@tonic-gate/* 0x0154	  86 */		add	%g2,%o0,%g3
335*7c478bd9Sstevel@tonic-gate/* 0x0158	  89 */		srax	%l5,32,%g2
336*7c478bd9Sstevel@tonic-gate/* 0x015c	  88 */		and	%l5,%l4,%l5
337*7c478bd9Sstevel@tonic-gate/* 0x0160	  92 */		srax	%g3,32,%o4
338*7c478bd9Sstevel@tonic-gate/* 0x0164	  87 */		ldx	[%sp+2231],%o0
339*7c478bd9Sstevel@tonic-gate/* 0x0168	  92 */		srax	%o1,16,%o3
340*7c478bd9Sstevel@tonic-gate/* 0x016c	  91 */		and	%o1,%l3,%l7
341*7c478bd9Sstevel@tonic-gate/* 0x0170	  87 */		sra	%g4,0,%o1
342*7c478bd9Sstevel@tonic-gate/* 0x0174	  92 */		add	%i0,%o4,%i0
343*7c478bd9Sstevel@tonic-gate/* 0x0178	  90 */		ldx	[%sp+2223],%o4
344*7c478bd9Sstevel@tonic-gate/* 0x017c	  87 */		fdtox	%f0,%f0
345*7c478bd9Sstevel@tonic-gate/* 0x0180	     */		std	%f0,[%sp+2231]
346*7c478bd9Sstevel@tonic-gate/* 0x0184	     */		sllx	%o1,3,%o1
347*7c478bd9Sstevel@tonic-gate/* 0x0188	  92 */		add	%l6,%i0,%i0
348*7c478bd9Sstevel@tonic-gate/* 0x018c	  90 */		sra	%g5,0,%l6
349*7c478bd9Sstevel@tonic-gate/* 0x0190	  93 */		and	%g3,%l4,%g3
350*7c478bd9Sstevel@tonic-gate/* 0x0194	  87 */		ldd	[%l2+%o1],%f0
351*7c478bd9Sstevel@tonic-gate/* 0x0198	  90 */		fdtox	%f2,%f2
352*7c478bd9Sstevel@tonic-gate/* 0x019c	     */		std	%f2,[%sp+2223]
353*7c478bd9Sstevel@tonic-gate/* 0x01a0	     */		sllx	%l6,3,%o1
354*7c478bd9Sstevel@tonic-gate/* 0x01a4	  96 */		add	%i1,4,%g5
355*7c478bd9Sstevel@tonic-gate/* 0x01a8	  91 */		sllx	%l7,16,%l6
356*7c478bd9Sstevel@tonic-gate/* 0x01ac	  96 */		add	%i2,4,%g4
357*7c478bd9Sstevel@tonic-gate/* 0x01b0	  90 */		ldd	[%l2+%o1],%f2
358*7c478bd9Sstevel@tonic-gate/* 0x01b4	  93 */		st	%g3,[%o7+4]
359*7c478bd9Sstevel@tonic-gate/* 0x01b8	  86 */		add	%l5,%l6,%g3
360*7c478bd9Sstevel@tonic-gate/* 0x01bc	  96 */		cmp	%o5,%o2
361*7c478bd9Sstevel@tonic-gate/* 0x01c0	  86 */		add	%g3,%i0,%l7
362*7c478bd9Sstevel@tonic-gate/* 0x01c4	  89 */		srax	%o0,32,%g3
363*7c478bd9Sstevel@tonic-gate/* 0x01c8	  88 */		and	%o0,%l4,%l6
364*7c478bd9Sstevel@tonic-gate/* 0x01cc	  92 */		srax	%l7,32,%o1
365*7c478bd9Sstevel@tonic-gate/* 0x01d0	  87 */		ldx	[%sp+2231],%l5
366*7c478bd9Sstevel@tonic-gate/* 0x01d4	  92 */		srax	%o4,16,%o0
367*7c478bd9Sstevel@tonic-gate/* 0x01d8	  91 */		and	%o4,%l3,%o4
368*7c478bd9Sstevel@tonic-gate/* 0x01dc	  87 */		sra	%g4,0,%i0
369*7c478bd9Sstevel@tonic-gate/* 0x01e0	  92 */		add	%o3,%o1,%o3
370*7c478bd9Sstevel@tonic-gate/* 0x01e4	  90 */		ldx	[%sp+2223],%o1
371*7c478bd9Sstevel@tonic-gate/* 0x01e8	  87 */		fdtox	%f0,%f0
372*7c478bd9Sstevel@tonic-gate/* 0x01ec	     */		std	%f0,[%sp+2231]
373*7c478bd9Sstevel@tonic-gate/* 0x01f0	     */		sllx	%i0,3,%i0
374*7c478bd9Sstevel@tonic-gate/* 0x01f4	  92 */		add	%g2,%o3,%g2
375*7c478bd9Sstevel@tonic-gate/* 0x01f8	  90 */		sra	%g5,0,%i1
376*7c478bd9Sstevel@tonic-gate/* 0x01fc	  93 */		and	%l7,%l4,%o3
377*7c478bd9Sstevel@tonic-gate/* 0x0200	  87 */		ldd	[%l2+%i0],%f0
378*7c478bd9Sstevel@tonic-gate/* 0x0204	  90 */		fdtox	%f2,%f2
379*7c478bd9Sstevel@tonic-gate/* 0x0208	     */		std	%f2,[%sp+2223]
380*7c478bd9Sstevel@tonic-gate/* 0x020c	     */		sllx	%i1,3,%l7
381*7c478bd9Sstevel@tonic-gate/* 0x0210	  96 */		add	%g5,2,%i1
382*7c478bd9Sstevel@tonic-gate/* 0x0214	  91 */		sllx	%o4,16,%g5
383*7c478bd9Sstevel@tonic-gate/* 0x0218	  96 */		add	%i2,6,%i2
384*7c478bd9Sstevel@tonic-gate/* 0x021c	  90 */		ldd	[%l2+%l7],%f2
385*7c478bd9Sstevel@tonic-gate/* 0x0220	  93 */		st	%o3,[%o7+8]
386*7c478bd9Sstevel@tonic-gate/* 0x0224	  86 */		add	%l6,%g5,%g4
387*7c478bd9Sstevel@tonic-gate/* 0x0228	  96 */		add	%o7,12,%o7
388*7c478bd9Sstevel@tonic-gate/* 0x022c	  86 */		add	%g4,%g2,%l7
389*7c478bd9Sstevel@tonic-gate/* 0x0230	  89 */		srax	%l5,32,%l6
390*7c478bd9Sstevel@tonic-gate/* 0x0234	  88 */		and	%l5,%l4,%g2
391*7c478bd9Sstevel@tonic-gate/* 0x0238	  92 */		srax	%l7,32,%o3
392*7c478bd9Sstevel@tonic-gate/* 0x023c	  87 */		ldx	[%sp+2231],%l5
393*7c478bd9Sstevel@tonic-gate/* 0x0240	  92 */		srax	%o1,16,%i0
394*7c478bd9Sstevel@tonic-gate/* 0x0244	  96 */		ble,pt	%icc,.L900000207
395*7c478bd9Sstevel@tonic-gate/* 0x0248	     */		and	%o1,%l3,%g4
396*7c478bd9Sstevel@tonic-gate                       .L900000210:
397*7c478bd9Sstevel@tonic-gate/* 0x024c	  91 */		sllx	%g4,16,%g4
398*7c478bd9Sstevel@tonic-gate/* 0x0250	  90 */		ldx	[%sp+2223],%o1
399*7c478bd9Sstevel@tonic-gate/* 0x0254	  92 */		add	%o0,%o3,%g5
400*7c478bd9Sstevel@tonic-gate/* 0x0258	     */		add	%g3,%g5,%g3
401*7c478bd9Sstevel@tonic-gate/* 0x025c	  86 */		add	%g2,%g4,%g2
402*7c478bd9Sstevel@tonic-gate/* 0x0260	  90 */		fdtox	%f2,%f2
403*7c478bd9Sstevel@tonic-gate/* 0x0264	     */		sra	%i1,0,%g4
404*7c478bd9Sstevel@tonic-gate/* 0x0268	     */		std	%f2,[%sp+2223]
405*7c478bd9Sstevel@tonic-gate/* 0x026c	  86 */		add	%g2,%g3,%o2
406*7c478bd9Sstevel@tonic-gate/* 0x0270	  87 */		sra	%i2,0,%g2
407*7c478bd9Sstevel@tonic-gate/* 0x0274	  91 */		and	%o1,%l3,%g5
408*7c478bd9Sstevel@tonic-gate/* 0x0278	  87 */		fdtox	%f0,%f0
409*7c478bd9Sstevel@tonic-gate/* 0x027c	  92 */		srax	%o2,32,%g3
410*7c478bd9Sstevel@tonic-gate/* 0x0280	  87 */		std	%f0,[%sp+2231]
411*7c478bd9Sstevel@tonic-gate/* 0x0284	  88 */		and	%l5,%l4,%o0
412*7c478bd9Sstevel@tonic-gate/* 0x0288	  87 */		sllx	%g2,3,%g2
413*7c478bd9Sstevel@tonic-gate/* 0x028c	  92 */		add	%i0,%g3,%g3
414*7c478bd9Sstevel@tonic-gate/* 0x0290	  90 */		sllx	%g4,3,%g4
415*7c478bd9Sstevel@tonic-gate/* 0x0294	  87 */		ldd	[%l2+%g2],%f0
416*7c478bd9Sstevel@tonic-gate/* 0x0298	  92 */		add	%l6,%g3,%g2
417*7c478bd9Sstevel@tonic-gate/* 0x029c	  91 */		sllx	%g5,16,%g3
418*7c478bd9Sstevel@tonic-gate/* 0x02a0	  90 */		ldd	[%l2+%g4],%f2
419*7c478bd9Sstevel@tonic-gate/* 0x02a4	  93 */		and	%l7,%l4,%g5
420*7c478bd9Sstevel@tonic-gate/* 0x02a8	  92 */		srax	%o1,16,%o1
421*7c478bd9Sstevel@tonic-gate/* 0x02ac	  90 */		ldx	[%sp+2223],%o3
422*7c478bd9Sstevel@tonic-gate/* 0x02b0	  86 */		add	%o0,%g3,%g3
423*7c478bd9Sstevel@tonic-gate/* 0x02b4	  89 */		srax	%l5,32,%l5
424*7c478bd9Sstevel@tonic-gate/* 0x02b8	  87 */		ldx	[%sp+2231],%o4
425*7c478bd9Sstevel@tonic-gate/* 0x02bc	  86 */		add	%g3,%g2,%g2
426*7c478bd9Sstevel@tonic-gate/* 0x02c0	  92 */		srax	%g2,32,%o0
427*7c478bd9Sstevel@tonic-gate/* 0x02c4	  93 */		st	%g5,[%o7]
428*7c478bd9Sstevel@tonic-gate/* 0x02c8	  91 */		and	%o3,%l3,%g3
429*7c478bd9Sstevel@tonic-gate/* 0x02cc	     */		sllx	%g3,16,%g3
430*7c478bd9Sstevel@tonic-gate/* 0x02d0	  88 */		and	%o4,%l4,%g4
431*7c478bd9Sstevel@tonic-gate/* 0x02d4	  87 */		fdtox	%f0,%f0
432*7c478bd9Sstevel@tonic-gate/* 0x02d8	     */		std	%f0,[%sp+2231]
433*7c478bd9Sstevel@tonic-gate/* 0x02dc	  92 */		add	%o1,%o0,%o0
434*7c478bd9Sstevel@tonic-gate/* 0x02e0	  86 */		add	%g4,%g3,%g3
435*7c478bd9Sstevel@tonic-gate/* 0x02e4	  93 */		and	%o2,%l4,%g4
436*7c478bd9Sstevel@tonic-gate/* 0x02e8	     */		st	%g4,[%o7+4]
437*7c478bd9Sstevel@tonic-gate/* 0x02ec	  92 */		add	%l5,%o0,%l5
438*7c478bd9Sstevel@tonic-gate/* 0x02f0	     */		srax	%o3,16,%g4
439*7c478bd9Sstevel@tonic-gate/* 0x02f4	  87 */		ldx	[%sp+2231],%o1
440*7c478bd9Sstevel@tonic-gate/* 0x02f8	  86 */		add	%g3,%l5,%g3
441*7c478bd9Sstevel@tonic-gate/* 0x02fc	  92 */		srax	%g3,32,%o3
442*7c478bd9Sstevel@tonic-gate/* 0x0300	  90 */		fdtox	%f2,%f2
443*7c478bd9Sstevel@tonic-gate/* 0x0304	     */		std	%f2,[%sp+2223]
444*7c478bd9Sstevel@tonic-gate/* 0x0308	  96 */		add	%o7,16,%o7
445*7c478bd9Sstevel@tonic-gate/* 0x030c	  93 */		and	%g2,%l4,%g2
446*7c478bd9Sstevel@tonic-gate/* 0x0310	     */		st	%g2,[%o7-8]
447*7c478bd9Sstevel@tonic-gate/* 0x0314	  92 */		add	%g4,%o3,%g4
448*7c478bd9Sstevel@tonic-gate/* 0x0318	  96 */		add	%o5,1,%o5
449*7c478bd9Sstevel@tonic-gate/* 0x031c	  89 */		srax	%o4,32,%o3
450*7c478bd9Sstevel@tonic-gate/* 0x0320	  90 */		ldx	[%sp+2223],%o0
451*7c478bd9Sstevel@tonic-gate/* 0x0324	  93 */		and	%g3,%l4,%g2
452*7c478bd9Sstevel@tonic-gate/* 0x0328	  96 */		cmp	%o5,%l0
453*7c478bd9Sstevel@tonic-gate/* 0x032c	  93 */		st	%g2,[%o7-4]
454*7c478bd9Sstevel@tonic-gate/* 0x0330	  96 */		bg,pn	%icc,.L77000162
455*7c478bd9Sstevel@tonic-gate/* 0x0334	     */		add	%o3,%g4,%l7
456*7c478bd9Sstevel@tonic-gate/* 0x0338	     */		add	%i1,2,%g5
457*7c478bd9Sstevel@tonic-gate/* 0x033c	     */		add	%i2,2,%o2
458*7c478bd9Sstevel@tonic-gate                       .L77000169:
459*7c478bd9Sstevel@tonic-gate/* 0x0340	  87 */		sra	%o2,0,%g2
460*7c478bd9Sstevel@tonic-gate                       .L900000211:
461*7c478bd9Sstevel@tonic-gate/* 0x0344	  90 */		sra	%g5,0,%g4
462*7c478bd9Sstevel@tonic-gate/* 0x0348	  91 */		and	%o0,%l3,%o3
463*7c478bd9Sstevel@tonic-gate/* 0x034c	  87 */		sllx	%g2,3,%g2
464*7c478bd9Sstevel@tonic-gate/* 0x0350	  88 */		and	%o1,%l4,%g3
465*7c478bd9Sstevel@tonic-gate/* 0x0354	  90 */		sllx	%g4,3,%g4
466*7c478bd9Sstevel@tonic-gate/* 0x0358	  87 */		ldd	[%l2+%g2],%f0
467*7c478bd9Sstevel@tonic-gate/* 0x035c	  88 */		add	%l7,%g3,%g3
468*7c478bd9Sstevel@tonic-gate/* 0x0360	  90 */		ldd	[%l2+%g4],%f2
469*7c478bd9Sstevel@tonic-gate/* 0x0364	  91 */		sllx	%o3,16,%g2
470*7c478bd9Sstevel@tonic-gate/* 0x0368	  96 */		add	%o5,1,%o5
471*7c478bd9Sstevel@tonic-gate/* 0x036c	  87 */		fdtox	%f0,%f0
472*7c478bd9Sstevel@tonic-gate/* 0x0370	     */		std	%f0,[%sp+2231]
473*7c478bd9Sstevel@tonic-gate/* 0x0374	  92 */		srax	%o0,16,%o3
474*7c478bd9Sstevel@tonic-gate/* 0x0378	  90 */		fdtox	%f2,%f0
475*7c478bd9Sstevel@tonic-gate/* 0x037c	  89 */		srax	%o1,32,%o1
476*7c478bd9Sstevel@tonic-gate/* 0x0380	  90 */		std	%f0,[%sp+2223]
477*7c478bd9Sstevel@tonic-gate/* 0x0384	  91 */		add	%g3,%g2,%g2
478*7c478bd9Sstevel@tonic-gate/* 0x0388	  96 */		add	%o2,2,%o2
479*7c478bd9Sstevel@tonic-gate/* 0x038c	  92 */		srax	%g2,32,%o0
480*7c478bd9Sstevel@tonic-gate/* 0x0390	  93 */		and	%g2,%l4,%g3
481*7c478bd9Sstevel@tonic-gate/* 0x0394	     */		st	%g3,[%o7]
482*7c478bd9Sstevel@tonic-gate/* 0x0398	  87 */		ldx	[%sp+2231],%g2
483*7c478bd9Sstevel@tonic-gate/* 0x039c	  92 */		add	%o3,%o0,%o0
484*7c478bd9Sstevel@tonic-gate/* 0x03a0	  96 */		add	%g5,2,%g5
485*7c478bd9Sstevel@tonic-gate/* 0x03a4	  92 */		add	%o1,%o0,%l7
486*7c478bd9Sstevel@tonic-gate/* 0x03a8	  96 */		add	%o7,4,%o7
487*7c478bd9Sstevel@tonic-gate/* 0x03ac	  90 */		ldx	[%sp+2223],%g4
488*7c478bd9Sstevel@tonic-gate/* 0x03b0	  95 */		or	%g0,%g2,%o1
489*7c478bd9Sstevel@tonic-gate/* 0x03b4	  96 */		cmp	%o5,%l0
490*7c478bd9Sstevel@tonic-gate/* 0x03b8	     */		or	%g0,%g4,%o0
491*7c478bd9Sstevel@tonic-gate/* 0x03bc	     */		ble,pt	%icc,.L900000211
492*7c478bd9Sstevel@tonic-gate/* 0x03c0	     */		sra	%o2,0,%g2
493*7c478bd9Sstevel@tonic-gate
494*7c478bd9Sstevel@tonic-gate!   97		      !	}
495*7c478bd9Sstevel@tonic-gate!   98		      !	t1 += a & 0xffffffff;
496*7c478bd9Sstevel@tonic-gate!   99		      !	t = (a >> 32);
497*7c478bd9Sstevel@tonic-gate!  100		      !	t1 += (b & 0xffff) << 16;
498*7c478bd9Sstevel@tonic-gate!  101		      !	i32[i] = t1 & 0xffffffff;
499*7c478bd9Sstevel@tonic-gate
500*7c478bd9Sstevel@tonic-gate                       .L77000162:
501*7c478bd9Sstevel@tonic-gate/* 0x03c4	 101 */		sethi	%hi(0xfc00),%g2
502*7c478bd9Sstevel@tonic-gate                       .L900000212:
503*7c478bd9Sstevel@tonic-gate/* 0x03c8	 101 */		or	%g0,-1,%g3
504*7c478bd9Sstevel@tonic-gate/* 0x03cc	     */		srl	%g3,0,%g3
505*7c478bd9Sstevel@tonic-gate/* 0x03d0	     */		add	%g2,1023,%g2
506*7c478bd9Sstevel@tonic-gate/* 0x03d4	     */		and	%o1,%g3,%g4
507*7c478bd9Sstevel@tonic-gate/* 0x03d8	     */		and	%o0,%g2,%g2
508*7c478bd9Sstevel@tonic-gate/* 0x03dc	     */		sllx	%g2,16,%g2
509*7c478bd9Sstevel@tonic-gate/* 0x03e0	     */		add	%l7,%g4,%g4
510*7c478bd9Sstevel@tonic-gate/* 0x03e4	     */		sra	%o5,0,%g5
511*7c478bd9Sstevel@tonic-gate/* 0x03e8	     */		add	%g4,%g2,%g4
512*7c478bd9Sstevel@tonic-gate/* 0x03ec	     */		sllx	%g5,2,%g2
513*7c478bd9Sstevel@tonic-gate/* 0x03f0	     */		and	%g4,%g3,%g3
514*7c478bd9Sstevel@tonic-gate/* 0x03f4	     */		st	%g3,[%l1+%g2]
515*7c478bd9Sstevel@tonic-gate/* 0x03f8	     */		ret	! Result =
516*7c478bd9Sstevel@tonic-gate/* 0x03fc	     */		restore	%g0,%g0,%g0
517*7c478bd9Sstevel@tonic-gate/* 0x0400	   0 */		.type	conv_d16_to_i32,2
518*7c478bd9Sstevel@tonic-gate/* 0x0400	   0 */		.size	conv_d16_to_i32,(.-conv_d16_to_i32)
519*7c478bd9Sstevel@tonic-gate
520*7c478bd9Sstevel@tonic-gate	.section	".text",#alloc,#execinstr
521*7c478bd9Sstevel@tonic-gate/* 000000	   0 */		.align	8
522*7c478bd9Sstevel@tonic-gate!
523*7c478bd9Sstevel@tonic-gate! CONSTANT POOL
524*7c478bd9Sstevel@tonic-gate!
525*7c478bd9Sstevel@tonic-gate                       ___const_seg_900000301:
526*7c478bd9Sstevel@tonic-gate/* 000000	   0 */		.word	1127219200,0
527*7c478bd9Sstevel@tonic-gate/* 0x0008	   0 */		.type	___const_seg_900000301,1
528*7c478bd9Sstevel@tonic-gate/* 0x0008	   0 */		.size	___const_seg_900000301,(.-___const_seg_900000301)
529*7c478bd9Sstevel@tonic-gate/* 0x0008	   0 */		.align	8
530*7c478bd9Sstevel@tonic-gate/* 0x0008	     */		.skip	24
531*7c478bd9Sstevel@tonic-gate/* 0x0020	     */		.align	4
532*7c478bd9Sstevel@tonic-gate
533*7c478bd9Sstevel@tonic-gate!  102		      !}
534*7c478bd9Sstevel@tonic-gate!  104		      !void
535*7c478bd9Sstevel@tonic-gate!  105		      !conv_i32_to_d32(double *d32, uint32_t *i32, int len)
536*7c478bd9Sstevel@tonic-gate!  106		      !{
537*7c478bd9Sstevel@tonic-gate
538*7c478bd9Sstevel@tonic-gate!
539*7c478bd9Sstevel@tonic-gate! SUBROUTINE conv_i32_to_d32
540*7c478bd9Sstevel@tonic-gate!
541*7c478bd9Sstevel@tonic-gate! OFFSET    SOURCE LINE	LABEL	INSTRUCTION
542*7c478bd9Sstevel@tonic-gate
543*7c478bd9Sstevel@tonic-gate                       	.global conv_i32_to_d32
544*7c478bd9Sstevel@tonic-gate                       conv_i32_to_d32:
545*7c478bd9Sstevel@tonic-gate/* 000000	 106 */		or	%g0,%o7,%g2
546*7c478bd9Sstevel@tonic-gate
547*7c478bd9Sstevel@tonic-gate!  107		      !	int i;
548*7c478bd9Sstevel@tonic-gate!  109		      !#pragma pipeloop(0)
549*7c478bd9Sstevel@tonic-gate!  110		      !	for (i = 0; i < len; i++)
550*7c478bd9Sstevel@tonic-gate!  111		      !		d32[i] = (double)(i32[i]);
551*7c478bd9Sstevel@tonic-gate
552*7c478bd9Sstevel@tonic-gate/* 0x0004	 111 */		sethi	%hi(___const_seg_900000301),%g1
553*7c478bd9Sstevel@tonic-gate                       .L900000309:
554*7c478bd9Sstevel@tonic-gate/* 0x0008	 106 */		call	.+8
555*7c478bd9Sstevel@tonic-gate/* 0x000c	     */		sethi	/*X*/%hi(_GLOBAL_OFFSET_TABLE_-(.L900000309-.)),%o4
556*7c478bd9Sstevel@tonic-gate/* 0x0010	     */		add	%o4,/*X*/%lo(_GLOBAL_OFFSET_TABLE_-(.L900000309-.)),%o4
557*7c478bd9Sstevel@tonic-gate/* 0x0014	     */		sra	%o2,0,%o2
558*7c478bd9Sstevel@tonic-gate/* 0x0018	     */		add	%o4,%o7,%o5
559*7c478bd9Sstevel@tonic-gate/* 0x001c	 110 */		cmp	%o2,0
560*7c478bd9Sstevel@tonic-gate/* 0x0020	     */		ble,pt	%icc,.L77000181
561*7c478bd9Sstevel@tonic-gate/* 0x0024	     */		or	%g0,%g2,%o7
562*7c478bd9Sstevel@tonic-gate/* 0x0028	     */		sub	%o2,1,%o4
563*7c478bd9Sstevel@tonic-gate/* 0x002c	 111 */		add	%g1,%lo(___const_seg_900000301),%o2
564*7c478bd9Sstevel@tonic-gate/* 0x0030	     */		ldx	[%o5+%o2],%o5
565*7c478bd9Sstevel@tonic-gate/* 0x0034	 110 */		add	%o4,1,%o3
566*7c478bd9Sstevel@tonic-gate/* 0x0038	     */		cmp	%o3,9
567*7c478bd9Sstevel@tonic-gate/* 0x003c	     */		bl,pn	%icc,.L77000185
568*7c478bd9Sstevel@tonic-gate/* 0x0040	     */		or	%g0,0,%o2
569*7c478bd9Sstevel@tonic-gate/* 0x0044	 111 */		ld	[%o1],%f3
570*7c478bd9Sstevel@tonic-gate/* 0x0048	 110 */		sub	%o4,4,%o3
571*7c478bd9Sstevel@tonic-gate/* 0x004c	 111 */		or	%g0,4,%o2
572*7c478bd9Sstevel@tonic-gate/* 0x0050	     */		ld	[%o1+12],%f9
573*7c478bd9Sstevel@tonic-gate/* 0x0054	     */		ldd	[%o5],%f6
574*7c478bd9Sstevel@tonic-gate/* 0x0058	     */		ld	[%o1+8],%f11
575*7c478bd9Sstevel@tonic-gate/* 0x005c	     */		ld	[%o1+4],%f13
576*7c478bd9Sstevel@tonic-gate/* 0x0060	     */		fmovs	%f6,%f2
577*7c478bd9Sstevel@tonic-gate/* 0x0064	     */		add	%o1,16,%o1
578*7c478bd9Sstevel@tonic-gate                       .L900000305:
579*7c478bd9Sstevel@tonic-gate/* 0x0068	 111 */		ld	[%o1],%f1
580*7c478bd9Sstevel@tonic-gate/* 0x006c	     */		add	%o2,5,%o2
581*7c478bd9Sstevel@tonic-gate/* 0x0070	     */		add	%o1,20,%o1
582*7c478bd9Sstevel@tonic-gate/* 0x0074	     */		fsubd	%f2,%f6,%f2
583*7c478bd9Sstevel@tonic-gate/* 0x0078	     */		std	%f2,[%o0]
584*7c478bd9Sstevel@tonic-gate/* 0x007c	     */		cmp	%o2,%o3
585*7c478bd9Sstevel@tonic-gate/* 0x0080	     */		add	%o0,40,%o0
586*7c478bd9Sstevel@tonic-gate/* 0x0084	     */		fmovs	%f6,%f12
587*7c478bd9Sstevel@tonic-gate/* 0x0088	     */		fsubd	%f12,%f6,%f4
588*7c478bd9Sstevel@tonic-gate/* 0x008c	     */		ld	[%o1-16],%f3
589*7c478bd9Sstevel@tonic-gate/* 0x0090	     */		std	%f4,[%o0-32]
590*7c478bd9Sstevel@tonic-gate/* 0x0094	     */		fmovs	%f6,%f10
591*7c478bd9Sstevel@tonic-gate/* 0x0098	     */		fsubd	%f10,%f6,%f4
592*7c478bd9Sstevel@tonic-gate/* 0x009c	     */		ld	[%o1-12],%f13
593*7c478bd9Sstevel@tonic-gate/* 0x00a0	     */		std	%f4,[%o0-24]
594*7c478bd9Sstevel@tonic-gate/* 0x00a4	     */		fmovs	%f6,%f8
595*7c478bd9Sstevel@tonic-gate/* 0x00a8	     */		fsubd	%f8,%f6,%f4
596*7c478bd9Sstevel@tonic-gate/* 0x00ac	     */		ld	[%o1-8],%f11
597*7c478bd9Sstevel@tonic-gate/* 0x00b0	     */		std	%f4,[%o0-16]
598*7c478bd9Sstevel@tonic-gate/* 0x00b4	     */		fmovs	%f6,%f0
599*7c478bd9Sstevel@tonic-gate/* 0x00b8	     */		fsubd	%f0,%f6,%f0
600*7c478bd9Sstevel@tonic-gate/* 0x00bc	     */		ld	[%o1-4],%f9
601*7c478bd9Sstevel@tonic-gate/* 0x00c0	     */		std	%f0,[%o0-8]
602*7c478bd9Sstevel@tonic-gate/* 0x00c4	     */		ble,pt	%icc,.L900000305
603*7c478bd9Sstevel@tonic-gate/* 0x00c8	     */		fmovs	%f6,%f2
604*7c478bd9Sstevel@tonic-gate                       .L900000308:
605*7c478bd9Sstevel@tonic-gate/* 0x00cc	 111 */		fmovs	%f6,%f12
606*7c478bd9Sstevel@tonic-gate/* 0x00d0	     */		add	%o0,32,%o0
607*7c478bd9Sstevel@tonic-gate/* 0x00d4	     */		cmp	%o2,%o4
608*7c478bd9Sstevel@tonic-gate/* 0x00d8	     */		fmovs	%f6,%f10
609*7c478bd9Sstevel@tonic-gate/* 0x00dc	     */		fmovs	%f6,%f8
610*7c478bd9Sstevel@tonic-gate/* 0x00e0	     */		fsubd	%f2,%f6,%f0
611*7c478bd9Sstevel@tonic-gate/* 0x00e4	     */		std	%f0,[%o0-32]
612*7c478bd9Sstevel@tonic-gate/* 0x00e8	     */		fsubd	%f12,%f6,%f0
613*7c478bd9Sstevel@tonic-gate/* 0x00ec	     */		std	%f0,[%o0-24]
614*7c478bd9Sstevel@tonic-gate/* 0x00f0	     */		fsubd	%f10,%f6,%f0
615*7c478bd9Sstevel@tonic-gate/* 0x00f4	     */		std	%f0,[%o0-16]
616*7c478bd9Sstevel@tonic-gate/* 0x00f8	     */		fsubd	%f8,%f6,%f0
617*7c478bd9Sstevel@tonic-gate/* 0x00fc	     */		bg,pn	%icc,.L77000181
618*7c478bd9Sstevel@tonic-gate/* 0x0100	     */		std	%f0,[%o0-8]
619*7c478bd9Sstevel@tonic-gate                       .L77000185:
620*7c478bd9Sstevel@tonic-gate/* 0x0104	 111 */		ld	[%o1],%f1
621*7c478bd9Sstevel@tonic-gate                       .L900000310:
622*7c478bd9Sstevel@tonic-gate/* 0x0108	 111 */		ldd	[%o5],%f6
623*7c478bd9Sstevel@tonic-gate/* 0x010c	     */		add	%o2,1,%o2
624*7c478bd9Sstevel@tonic-gate/* 0x0110	     */		add	%o1,4,%o1
625*7c478bd9Sstevel@tonic-gate/* 0x0114	     */		cmp	%o2,%o4
626*7c478bd9Sstevel@tonic-gate/* 0x0118	     */		fmovs	%f6,%f0
627*7c478bd9Sstevel@tonic-gate/* 0x011c	     */		fsubd	%f0,%f6,%f0
628*7c478bd9Sstevel@tonic-gate/* 0x0120	     */		std	%f0,[%o0]
629*7c478bd9Sstevel@tonic-gate/* 0x0124	     */		add	%o0,8,%o0
630*7c478bd9Sstevel@tonic-gate/* 0x0128	     */		ble,a,pt	%icc,.L900000310
631*7c478bd9Sstevel@tonic-gate/* 0x012c	     */		ld	[%o1],%f1
632*7c478bd9Sstevel@tonic-gate                       .L77000181:
633*7c478bd9Sstevel@tonic-gate/* 0x0130	     */		retl	! Result =
634*7c478bd9Sstevel@tonic-gate/* 0x0134	     */		nop
635*7c478bd9Sstevel@tonic-gate/* 0x0138	   0 */		.type	conv_i32_to_d32,2
636*7c478bd9Sstevel@tonic-gate/* 0x0138	   0 */		.size	conv_i32_to_d32,(.-conv_i32_to_d32)
637*7c478bd9Sstevel@tonic-gate
638*7c478bd9Sstevel@tonic-gate	.section	".text",#alloc,#execinstr
639*7c478bd9Sstevel@tonic-gate/* 000000	   0 */		.align	8
640*7c478bd9Sstevel@tonic-gate!
641*7c478bd9Sstevel@tonic-gate! CONSTANT POOL
642*7c478bd9Sstevel@tonic-gate!
643*7c478bd9Sstevel@tonic-gate                       ___const_seg_900000401:
644*7c478bd9Sstevel@tonic-gate/* 000000	   0 */		.word	1127219200,0
645*7c478bd9Sstevel@tonic-gate/* 0x0008	   0 */		.type	___const_seg_900000401,1
646*7c478bd9Sstevel@tonic-gate/* 0x0008	   0 */		.size	___const_seg_900000401,(.-___const_seg_900000401)
647*7c478bd9Sstevel@tonic-gate/* 0x0008	   0 */		.align	8
648*7c478bd9Sstevel@tonic-gate/* 0x0008	     */		.skip	24
649*7c478bd9Sstevel@tonic-gate/* 0x0020	     */		.align	4
650*7c478bd9Sstevel@tonic-gate
651*7c478bd9Sstevel@tonic-gate!  112		      !}
652*7c478bd9Sstevel@tonic-gate!  115		      !void
653*7c478bd9Sstevel@tonic-gate!  116		      !conv_i32_to_d16(double *d16, uint32_t *i32, int len)
654*7c478bd9Sstevel@tonic-gate!  117		      !{
655*7c478bd9Sstevel@tonic-gate
656*7c478bd9Sstevel@tonic-gate!
657*7c478bd9Sstevel@tonic-gate! SUBROUTINE conv_i32_to_d16
658*7c478bd9Sstevel@tonic-gate!
659*7c478bd9Sstevel@tonic-gate! OFFSET    SOURCE LINE	LABEL	INSTRUCTION
660*7c478bd9Sstevel@tonic-gate
661*7c478bd9Sstevel@tonic-gate                       	.global conv_i32_to_d16
662*7c478bd9Sstevel@tonic-gate                       conv_i32_to_d16:
663*7c478bd9Sstevel@tonic-gate/* 000000	 117 */		save	%sp,-192,%sp
664*7c478bd9Sstevel@tonic-gate                       .L900000410:
665*7c478bd9Sstevel@tonic-gate/* 0x0004	 117 */		call	.+8
666*7c478bd9Sstevel@tonic-gate/* 0x0008	     */		sethi	/*X*/%hi(_GLOBAL_OFFSET_TABLE_-(.L900000410-.)),%g3
667*7c478bd9Sstevel@tonic-gate/* 0x000c	   0 */		sethi	%hi(___const_seg_900000401),%g2
668*7c478bd9Sstevel@tonic-gate/* 0x0010	 117 */		sra	%i2,0,%o0
669*7c478bd9Sstevel@tonic-gate/* 0x0014	     */		add	%g3,/*X*/%lo(_GLOBAL_OFFSET_TABLE_-(.L900000410-.)),%g3
670*7c478bd9Sstevel@tonic-gate
671*7c478bd9Sstevel@tonic-gate!  118		      !	int i;
672*7c478bd9Sstevel@tonic-gate!  119		      !	uint32_t a;
673*7c478bd9Sstevel@tonic-gate!  121		      !#pragma pipeloop(0)
674*7c478bd9Sstevel@tonic-gate!  122		      !	for (i = 0; i < len; i++) {
675*7c478bd9Sstevel@tonic-gate
676*7c478bd9Sstevel@tonic-gate/* 0x0018	 122 */		cmp	%o0,0
677*7c478bd9Sstevel@tonic-gate/* 0x001c	     */		ble,pt	%icc,.L77000197
678*7c478bd9Sstevel@tonic-gate/* 0x0020	     */		add	%g3,%o7,%g5
679*7c478bd9Sstevel@tonic-gate/* 0x0024	   0 */		add	%g2,%lo(___const_seg_900000401),%g2
680*7c478bd9Sstevel@tonic-gate/* 0x0028	 122 */		or	%g0,%o0,%g4
681*7c478bd9Sstevel@tonic-gate/* 0x002c	   0 */		ldx	[%g5+%g2],%o5
682*7c478bd9Sstevel@tonic-gate/* 0x0030	 122 */		sethi	%hi(0xfc00),%g3
683*7c478bd9Sstevel@tonic-gate/* 0x0034	     */		sub	%o0,1,%o2
684*7c478bd9Sstevel@tonic-gate/* 0x0038	     */		add	%g3,1023,%o3
685*7c478bd9Sstevel@tonic-gate/* 0x003c	 117 */		or	%g0,%i1,%o1
686*7c478bd9Sstevel@tonic-gate/* 0x0040	 122 */		or	%g0,0,%o0
687*7c478bd9Sstevel@tonic-gate/* 0x0044	     */		or	%g0,0,%g5
688*7c478bd9Sstevel@tonic-gate
689*7c478bd9Sstevel@tonic-gate!  123		      !		a = i32[i];
690*7c478bd9Sstevel@tonic-gate!  124		      !		d16[2 * i] = (double)(a & 0xffff);
691*7c478bd9Sstevel@tonic-gate
692*7c478bd9Sstevel@tonic-gate/* 0x0048	 124 */		ldd	[%o5],%f2
693*7c478bd9Sstevel@tonic-gate/* 0x004c	 122 */		cmp	%g4,4
694*7c478bd9Sstevel@tonic-gate/* 0x0050	     */		bl,pn	%icc,.L77000201
695*7c478bd9Sstevel@tonic-gate/* 0x0054	     */		or	%g0,1,%l0
696*7c478bd9Sstevel@tonic-gate/* 0x0058	 123 */		ld	[%i1],%g3
697*7c478bd9Sstevel@tonic-gate/* 0x005c	 124 */		fmovs	%f2,%f0
698*7c478bd9Sstevel@tonic-gate/* 0x0060	     */		or	%g0,0,%g4
699*7c478bd9Sstevel@tonic-gate
700*7c478bd9Sstevel@tonic-gate!  125		      !		d16[2 * i + 1] = (double)(a >> 16);
701*7c478bd9Sstevel@tonic-gate
702*7c478bd9Sstevel@tonic-gate/* 0x0064	 125 */		fmovs	%f2,%f4
703*7c478bd9Sstevel@tonic-gate/* 0x0068	     */		add	%i1,12,%o1
704*7c478bd9Sstevel@tonic-gate/* 0x006c	     */		or	%g0,3,%o0
705*7c478bd9Sstevel@tonic-gate/* 0x0070	 124 */		and	%g3,%o3,%g5
706*7c478bd9Sstevel@tonic-gate/* 0x0074	     */		st	%g5,[%sp+2227]
707*7c478bd9Sstevel@tonic-gate/* 0x0078	 125 */		or	%g0,2,%l1
708*7c478bd9Sstevel@tonic-gate/* 0x007c	     */		srl	%g3,16,%g3
709*7c478bd9Sstevel@tonic-gate/* 0x0080	     */		st	%g3,[%sp+2223]
710*7c478bd9Sstevel@tonic-gate/* 0x0084	     */		or	%g0,8,%g5
711*7c478bd9Sstevel@tonic-gate/* 0x0088	 123 */		ld	[%i1+4],%g3
712*7c478bd9Sstevel@tonic-gate/* 0x008c	 125 */		or	%g0,3,%l0
713*7c478bd9Sstevel@tonic-gate/* 0x0090	 124 */		and	%g3,%o3,%g2
714*7c478bd9Sstevel@tonic-gate/* 0x0094	     */		ld	[%sp+2227],%f1
715*7c478bd9Sstevel@tonic-gate/* 0x0098	 125 */		ld	[%sp+2223],%f5
716*7c478bd9Sstevel@tonic-gate/* 0x009c	 124 */		st	%g2,[%sp+2227]
717*7c478bd9Sstevel@tonic-gate/* 0x00a0	     */		fsubd	%f0,%f2,%f0
718*7c478bd9Sstevel@tonic-gate/* 0x00a4	 125 */		srl	%g3,16,%g2
719*7c478bd9Sstevel@tonic-gate/* 0x00a8	     */		st	%g2,[%sp+2223]
720*7c478bd9Sstevel@tonic-gate/* 0x00ac	 124 */		std	%f0,[%i0+%g4]
721*7c478bd9Sstevel@tonic-gate/* 0x00b0	 125 */		fsubd	%f4,%f2,%f0
722*7c478bd9Sstevel@tonic-gate/* 0x00b4	 123 */		ld	[%i1+8],%g2
723*7c478bd9Sstevel@tonic-gate/* 0x00b8	 125 */		std	%f0,[%i0+%g5]
724*7c478bd9Sstevel@tonic-gate                       .L900000406:
725*7c478bd9Sstevel@tonic-gate/* 0x00bc	 125 */		add	%o0,1,%o0
726*7c478bd9Sstevel@tonic-gate/* 0x00c0	     */		add	%o1,4,%o1
727*7c478bd9Sstevel@tonic-gate/* 0x00c4	 124 */		ld	[%sp+2227],%f1
728*7c478bd9Sstevel@tonic-gate/* 0x00c8	 125 */		cmp	%o0,%o2
729*7c478bd9Sstevel@tonic-gate/* 0x00cc	     */		ld	[%sp+2223],%f5
730*7c478bd9Sstevel@tonic-gate/* 0x00d0	 122 */		nop ! volatile
731*7c478bd9Sstevel@tonic-gate/* 0x00d4	     */		nop ! volatile
732*7c478bd9Sstevel@tonic-gate/* 0x00d8	     */		nop ! volatile
733*7c478bd9Sstevel@tonic-gate/* 0x00dc	 124 */		and	%g2,%o3,%g3
734*7c478bd9Sstevel@tonic-gate/* 0x00e0	 125 */		srl	%g2,16,%g2
735*7c478bd9Sstevel@tonic-gate/* 0x00e4	 124 */		st	%g3,[%sp+2227]
736*7c478bd9Sstevel@tonic-gate/* 0x00e8	 125 */		st	%g2,[%sp+2223]
737*7c478bd9Sstevel@tonic-gate/* 0x00ec	 123 */		ld	[%o1-4],%g2
738*7c478bd9Sstevel@tonic-gate/* 0x00f0	 125 */		fmovs	%f2,%f4
739*7c478bd9Sstevel@tonic-gate/* 0x00f4	     */		sra	%l0,0,%g4
740*7c478bd9Sstevel@tonic-gate/* 0x00f8	 124 */		fmovs	%f2,%f0
741*7c478bd9Sstevel@tonic-gate/* 0x00fc	     */		sra	%l1,0,%g3
742*7c478bd9Sstevel@tonic-gate/* 0x0100	     */		fsubd	%f0,%f2,%f0
743*7c478bd9Sstevel@tonic-gate/* 0x0104	     */		sllx	%g3,3,%g3
744*7c478bd9Sstevel@tonic-gate/* 0x0108	 125 */		sllx	%g4,3,%g4
745*7c478bd9Sstevel@tonic-gate/* 0x010c	 124 */		std	%f0,[%i0+%g3]
746*7c478bd9Sstevel@tonic-gate/* 0x0110	 125 */		add	%l1,2,%l1
747*7c478bd9Sstevel@tonic-gate/* 0x0114	     */		fsubd	%f4,%f2,%f0
748*7c478bd9Sstevel@tonic-gate/* 0x0118	     */		std	%f0,[%i0+%g4]
749*7c478bd9Sstevel@tonic-gate/* 0x011c	     */		ble,pt	%icc,.L900000406
750*7c478bd9Sstevel@tonic-gate/* 0x0120	     */		add	%l0,2,%l0
751*7c478bd9Sstevel@tonic-gate                       .L900000409:
752*7c478bd9Sstevel@tonic-gate/* 0x0124	 124 */		and	%g2,%o3,%g3
753*7c478bd9Sstevel@tonic-gate/* 0x0128	 125 */		ld	[%sp+2223],%f5
754*7c478bd9Sstevel@tonic-gate/* 0x012c	 124 */		fmovs	%f2,%f0
755*7c478bd9Sstevel@tonic-gate/* 0x0130	     */		ld	[%sp+2227],%f1
756*7c478bd9Sstevel@tonic-gate/* 0x0134	     */		sra	%l1,0,%g4
757*7c478bd9Sstevel@tonic-gate/* 0x0138	 125 */		add	%l1,2,%g5
758*7c478bd9Sstevel@tonic-gate/* 0x013c	     */		srl	%g2,16,%g2
759*7c478bd9Sstevel@tonic-gate/* 0x0140	     */		st	%g2,[%sp+2223]
760*7c478bd9Sstevel@tonic-gate/* 0x0144	     */		fmovs	%f2,%f4
761*7c478bd9Sstevel@tonic-gate/* 0x0148	 124 */		sllx	%g4,3,%g2
762*7c478bd9Sstevel@tonic-gate/* 0x014c	     */		st	%g3,[%sp+2227]
763*7c478bd9Sstevel@tonic-gate/* 0x0150	 125 */		add	%l0,2,%g4
764*7c478bd9Sstevel@tonic-gate/* 0x0154	 124 */		fsubd	%f0,%f2,%f0
765*7c478bd9Sstevel@tonic-gate/* 0x0158	     */		std	%f0,[%i0+%g2]
766*7c478bd9Sstevel@tonic-gate/* 0x015c	 125 */		sra	%l0,0,%g3
767*7c478bd9Sstevel@tonic-gate/* 0x0160	     */		fsubd	%f4,%f2,%f0
768*7c478bd9Sstevel@tonic-gate/* 0x0164	     */		sllx	%g3,3,%g3
769*7c478bd9Sstevel@tonic-gate/* 0x0168	     */		std	%f0,[%i0+%g3]
770*7c478bd9Sstevel@tonic-gate/* 0x016c	 124 */		sra	%g5,0,%g2
771*7c478bd9Sstevel@tonic-gate/* 0x0170	     */		ld	[%sp+2227],%f1
772*7c478bd9Sstevel@tonic-gate/* 0x0174	 125 */		sra	%g4,0,%g3
773*7c478bd9Sstevel@tonic-gate/* 0x0178	     */		ld	[%sp+2223],%f5
774*7c478bd9Sstevel@tonic-gate/* 0x017c	 124 */		sllx	%g2,3,%g2
775*7c478bd9Sstevel@tonic-gate/* 0x0180	     */		fmovs	%f2,%f0
776*7c478bd9Sstevel@tonic-gate/* 0x0184	 125 */		sllx	%g3,3,%g3
777*7c478bd9Sstevel@tonic-gate/* 0x0188	     */		fmovs	%f2,%f4
778*7c478bd9Sstevel@tonic-gate/* 0x018c	 124 */		fsubd	%f0,%f2,%f0
779*7c478bd9Sstevel@tonic-gate/* 0x0190	     */		std	%f0,[%i0+%g2]
780*7c478bd9Sstevel@tonic-gate/* 0x0194	 125 */		fsubd	%f4,%f2,%f0
781*7c478bd9Sstevel@tonic-gate/* 0x0198	     */		std	%f0,[%i0+%g3]
782*7c478bd9Sstevel@tonic-gate/* 0x019c	     */		ret	! Result =
783*7c478bd9Sstevel@tonic-gate/* 0x01a0	     */		restore	%g0,%g0,%g0
784*7c478bd9Sstevel@tonic-gate                       .L77000201:
785*7c478bd9Sstevel@tonic-gate/* 0x01a4	 123 */		ld	[%o1],%g3
786*7c478bd9Sstevel@tonic-gate                       .L900000411:
787*7c478bd9Sstevel@tonic-gate/* 0x01a8	 124 */		sra	%g5,0,%g2
788*7c478bd9Sstevel@tonic-gate/* 0x01ac	     */		ldd	[%o5],%f2
789*7c478bd9Sstevel@tonic-gate/* 0x01b0	 125 */		add	%o0,1,%o0
790*7c478bd9Sstevel@tonic-gate/* 0x01b4	 124 */		sllx	%g2,3,%g4
791*7c478bd9Sstevel@tonic-gate/* 0x01b8	     */		and	%g3,%o3,%g2
792*7c478bd9Sstevel@tonic-gate/* 0x01bc	     */		st	%g2,[%sp+2227]
793*7c478bd9Sstevel@tonic-gate/* 0x01c0	     */		fmovs	%f2,%f0
794*7c478bd9Sstevel@tonic-gate/* 0x01c4	 125 */		srl	%g3,16,%g3
795*7c478bd9Sstevel@tonic-gate/* 0x01c8	     */		add	%o1,4,%o1
796*7c478bd9Sstevel@tonic-gate/* 0x01cc	     */		sra	%l0,0,%g2
797*7c478bd9Sstevel@tonic-gate/* 0x01d0	     */		add	%g5,2,%g5
798*7c478bd9Sstevel@tonic-gate/* 0x01d4	     */		sllx	%g2,3,%g2
799*7c478bd9Sstevel@tonic-gate/* 0x01d8	     */		cmp	%o0,%o2
800*7c478bd9Sstevel@tonic-gate/* 0x01dc	 124 */		ld	[%sp+2227],%f1
801*7c478bd9Sstevel@tonic-gate/* 0x01e0	 125 */		add	%l0,2,%l0
802*7c478bd9Sstevel@tonic-gate/* 0x01e4	 124 */		fsubd	%f0,%f2,%f0
803*7c478bd9Sstevel@tonic-gate/* 0x01e8	     */		std	%f0,[%i0+%g4]
804*7c478bd9Sstevel@tonic-gate/* 0x01ec	 125 */		st	%g3,[%sp+2223]
805*7c478bd9Sstevel@tonic-gate/* 0x01f0	     */		fmovs	%f2,%f0
806*7c478bd9Sstevel@tonic-gate/* 0x01f4	     */		ld	[%sp+2223],%f1
807*7c478bd9Sstevel@tonic-gate/* 0x01f8	     */		fsubd	%f0,%f2,%f0
808*7c478bd9Sstevel@tonic-gate/* 0x01fc	     */		std	%f0,[%i0+%g2]
809*7c478bd9Sstevel@tonic-gate/* 0x0200	     */		ble,a,pt	%icc,.L900000411
810*7c478bd9Sstevel@tonic-gate/* 0x0204	     */		ld	[%o1],%g3
811*7c478bd9Sstevel@tonic-gate                       .L77000197:
812*7c478bd9Sstevel@tonic-gate/* 0x0208	     */		ret	! Result =
813*7c478bd9Sstevel@tonic-gate/* 0x020c	     */		restore	%g0,%g0,%g0
814*7c478bd9Sstevel@tonic-gate/* 0x0210	   0 */		.type	conv_i32_to_d16,2
815*7c478bd9Sstevel@tonic-gate/* 0x0210	   0 */		.size	conv_i32_to_d16,(.-conv_i32_to_d16)
816*7c478bd9Sstevel@tonic-gate
817*7c478bd9Sstevel@tonic-gate	.section	".text",#alloc,#execinstr
818*7c478bd9Sstevel@tonic-gate/* 000000	   0 */		.align	8
819*7c478bd9Sstevel@tonic-gate!
820*7c478bd9Sstevel@tonic-gate! CONSTANT POOL
821*7c478bd9Sstevel@tonic-gate!
822*7c478bd9Sstevel@tonic-gate                       ___const_seg_900000501:
823*7c478bd9Sstevel@tonic-gate/* 000000	   0 */		.word	1127219200,0
824*7c478bd9Sstevel@tonic-gate/* 0x0008	   0 */		.type	___const_seg_900000501,1
825*7c478bd9Sstevel@tonic-gate/* 0x0008	   0 */		.size	___const_seg_900000501,(.-___const_seg_900000501)
826*7c478bd9Sstevel@tonic-gate/* 0x0008	   0 */		.align	8
827*7c478bd9Sstevel@tonic-gate/* 0x0008	     */		.skip	24
828*7c478bd9Sstevel@tonic-gate/* 0x0020	     */		.align	4
829*7c478bd9Sstevel@tonic-gate
830*7c478bd9Sstevel@tonic-gate!  126		      !	}
831*7c478bd9Sstevel@tonic-gate!  127		      !}
832*7c478bd9Sstevel@tonic-gate!  129		      !#ifdef RF_INLINE_MACROS
833*7c478bd9Sstevel@tonic-gate!  131		      !void
834*7c478bd9Sstevel@tonic-gate!  132		      !i16_to_d16_and_d32x4(const double *,	/* 1/(2^16) */
835*7c478bd9Sstevel@tonic-gate!  133		      !			const double *,	/* 2^16 */
836*7c478bd9Sstevel@tonic-gate!  134		      !			const double *,	/* 0 */
837*7c478bd9Sstevel@tonic-gate!  135		      !			double *,	/* result16 */
838*7c478bd9Sstevel@tonic-gate!  136		      !			double *,	/* result32 */
839*7c478bd9Sstevel@tonic-gate!  137		      !			float *);	/* source - should be unsigned int* */
840*7c478bd9Sstevel@tonic-gate!  138		      !					/* converted to float* */
841*7c478bd9Sstevel@tonic-gate!  140		      !#else
842*7c478bd9Sstevel@tonic-gate!  143		      !/* ARGSUSED */
843*7c478bd9Sstevel@tonic-gate!  144		      !static void
844*7c478bd9Sstevel@tonic-gate!  145		      !i16_to_d16_and_d32x4(const double *dummy1,	/* 1/(2^16) */
845*7c478bd9Sstevel@tonic-gate!  146		      !			const double *dummy2,	/* 2^16 */
846*7c478bd9Sstevel@tonic-gate!  147		      !			const double *dummy3,	/* 0 */
847*7c478bd9Sstevel@tonic-gate!  148		      !			double *result16,
848*7c478bd9Sstevel@tonic-gate!  149		      !			double *result32,
849*7c478bd9Sstevel@tonic-gate!  150		      !			float *src)	/* source - should be unsigned int* */
850*7c478bd9Sstevel@tonic-gate!  151		      !					/* converted to float* */
851*7c478bd9Sstevel@tonic-gate!  152		      !{
852*7c478bd9Sstevel@tonic-gate!  153		      !	uint32_t *i32;
853*7c478bd9Sstevel@tonic-gate!  154		      !	uint32_t a, b, c, d;
854*7c478bd9Sstevel@tonic-gate!  156		      !	i32 = (uint32_t *)src;
855*7c478bd9Sstevel@tonic-gate!  157		      !	a = i32[0];
856*7c478bd9Sstevel@tonic-gate!  158		      !	b = i32[1];
857*7c478bd9Sstevel@tonic-gate!  159		      !	c = i32[2];
858*7c478bd9Sstevel@tonic-gate!  160		      !	d = i32[3];
859*7c478bd9Sstevel@tonic-gate!  161		      !	result16[0] = (double)(a & 0xffff);
860*7c478bd9Sstevel@tonic-gate!  162		      !	result16[1] = (double)(a >> 16);
861*7c478bd9Sstevel@tonic-gate!  163		      !	result32[0] = (double)a;
862*7c478bd9Sstevel@tonic-gate!  164		      !	result16[2] = (double)(b & 0xffff);
863*7c478bd9Sstevel@tonic-gate!  165		      !	result16[3] = (double)(b >> 16);
864*7c478bd9Sstevel@tonic-gate!  166		      !	result32[1] = (double)b;
865*7c478bd9Sstevel@tonic-gate!  167		      !	result16[4] = (double)(c & 0xffff);
866*7c478bd9Sstevel@tonic-gate!  168		      !	result16[5] = (double)(c >> 16);
867*7c478bd9Sstevel@tonic-gate!  169		      !	result32[2] = (double)c;
868*7c478bd9Sstevel@tonic-gate!  170		      !	result16[6] = (double)(d & 0xffff);
869*7c478bd9Sstevel@tonic-gate!  171		      !	result16[7] = (double)(d >> 16);
870*7c478bd9Sstevel@tonic-gate!  172		      !	result32[3] = (double)d;
871*7c478bd9Sstevel@tonic-gate!  173		      !}
872*7c478bd9Sstevel@tonic-gate!  175		      !#endif
873*7c478bd9Sstevel@tonic-gate!  178		      !void
874*7c478bd9Sstevel@tonic-gate!  179		      !conv_i32_to_d32_and_d16(double *d32, double *d16, uint32_t *i32, int len)
875*7c478bd9Sstevel@tonic-gate!  180		      !{
876*7c478bd9Sstevel@tonic-gate
877*7c478bd9Sstevel@tonic-gate!
878*7c478bd9Sstevel@tonic-gate! SUBROUTINE conv_i32_to_d32_and_d16
879*7c478bd9Sstevel@tonic-gate!
880*7c478bd9Sstevel@tonic-gate! OFFSET    SOURCE LINE	LABEL	INSTRUCTION
881*7c478bd9Sstevel@tonic-gate
882*7c478bd9Sstevel@tonic-gate                       	.global conv_i32_to_d32_and_d16
883*7c478bd9Sstevel@tonic-gate                       conv_i32_to_d32_and_d16:
884*7c478bd9Sstevel@tonic-gate/* 000000	 180 */		save	%sp,-192,%sp
885*7c478bd9Sstevel@tonic-gate                       .L900000512:
886*7c478bd9Sstevel@tonic-gate/* 0x0004	 180 */		call	.+8
887*7c478bd9Sstevel@tonic-gate/* 0x0008	     */		sethi	/*X*/%hi(_GLOBAL_OFFSET_TABLE_-(.L900000512-.)),%g4
888*7c478bd9Sstevel@tonic-gate
889*7c478bd9Sstevel@tonic-gate!  181		      !	int i;
890*7c478bd9Sstevel@tonic-gate!  182		      !	uint32_t a;
891*7c478bd9Sstevel@tonic-gate!  184		      !#pragma pipeloop(0)
892*7c478bd9Sstevel@tonic-gate!  185		      !	for (i = 0; i < len - 3; i += 4) {
893*7c478bd9Sstevel@tonic-gate
894*7c478bd9Sstevel@tonic-gate/* 0x000c	 185 */		or	%g0,0,%g5
895*7c478bd9Sstevel@tonic-gate/* 0x0010	 180 */		sra	%i3,0,%l1
896*7c478bd9Sstevel@tonic-gate/* 0x0014	     */		add	%g4,/*X*/%lo(_GLOBAL_OFFSET_TABLE_-(.L900000512-.)),%g4
897*7c478bd9Sstevel@tonic-gate/* 0x0018	 185 */		sub	%l1,3,%g2
898*7c478bd9Sstevel@tonic-gate/* 0x001c	 180 */		add	%g4,%o7,%o0
899*7c478bd9Sstevel@tonic-gate/* 0x0020	 185 */		cmp	%g2,0
900*7c478bd9Sstevel@tonic-gate/* 0x0024	     */		or	%g0,0,%o7
901*7c478bd9Sstevel@tonic-gate/* 0x0028	     */		ble,pt	%icc,.L900000515
902*7c478bd9Sstevel@tonic-gate/* 0x002c	 190 */		cmp	%o7,%l1
903*7c478bd9Sstevel@tonic-gate/* 0x0030	   0 */		sethi	%hi(Zero),%g2
904*7c478bd9Sstevel@tonic-gate/* 0x0034	   0 */		add	%g2,%lo(Zero),%g2
905*7c478bd9Sstevel@tonic-gate/* 0x0038	 185 */		sub	%l1,4,%o1
906*7c478bd9Sstevel@tonic-gate/* 0x003c	   0 */		ldx	[%o0+%g2],%o2
907*7c478bd9Sstevel@tonic-gate/* 0x0040	     */		ldd	[%o2],%f8
908*7c478bd9Sstevel@tonic-gate
909*7c478bd9Sstevel@tonic-gate!  186		      !		i16_to_d16_and_d32x4(&TwoToMinus16, &TwoTo16, &Zero,
910*7c478bd9Sstevel@tonic-gate!  187		      !					&(d16[2*i]), &(d32[i]),
911*7c478bd9Sstevel@tonic-gate!  188		      !					(float *)(&(i32[i])));
912*7c478bd9Sstevel@tonic-gate
913*7c478bd9Sstevel@tonic-gate                       .L900000514:
914*7c478bd9Sstevel@tonic-gate/* 0x0044	 188 */		sra	%o7,0,%g2
915*7c478bd9Sstevel@tonic-gate/* 0x0048	     */		fmovd	%f8,%f10
916*7c478bd9Sstevel@tonic-gate/* 0x004c	     */		ldd	[%o2-8],%f6
917*7c478bd9Sstevel@tonic-gate/* 0x0050	     */		sllx	%g2,2,%g3
918*7c478bd9Sstevel@tonic-gate/* 0x0054	     */		fmovd	%f8,%f12
919*7c478bd9Sstevel@tonic-gate/* 0x0058	     */		ldd	[%o2-16],%f16
920*7c478bd9Sstevel@tonic-gate/* 0x005c	     */		ld	[%i2+%g3],%f11
921*7c478bd9Sstevel@tonic-gate/* 0x0060	     */		add	%i2,%g3,%g3
922*7c478bd9Sstevel@tonic-gate/* 0x0064	     */		fmovd	%f8,%f14
923*7c478bd9Sstevel@tonic-gate/* 0x0068	     */		ld	[%g3+4],%f13
924*7c478bd9Sstevel@tonic-gate/* 0x006c	     */		sra	%g5,0,%g4
925*7c478bd9Sstevel@tonic-gate/* 0x0070	     */		add	%o7,4,%o7
926*7c478bd9Sstevel@tonic-gate/* 0x0074	     */		ld	[%g3+8],%f15
927*7c478bd9Sstevel@tonic-gate/* 0x0078	     */		fxtod	%f10,%f10
928*7c478bd9Sstevel@tonic-gate/* 0x007c	     */		sllx	%g2,3,%g2
929*7c478bd9Sstevel@tonic-gate/* 0x0080	     */		ld	[%g3+12],%f9
930*7c478bd9Sstevel@tonic-gate/* 0x0084	     */		fxtod	%f12,%f12
931*7c478bd9Sstevel@tonic-gate/* 0x0088	     */		sllx	%g4,3,%g3
932*7c478bd9Sstevel@tonic-gate/* 0x008c	     */		fxtod	%f14,%f14
933*7c478bd9Sstevel@tonic-gate/* 0x0090	     */		std	%f10,[%i0+%g2]
934*7c478bd9Sstevel@tonic-gate/* 0x0094	     */		add	%i0,%g2,%g4
935*7c478bd9Sstevel@tonic-gate/* 0x0098	     */		fxtod	%f8,%f8
936*7c478bd9Sstevel@tonic-gate/* 0x009c	     */		fmuld	%f6,%f10,%f0
937*7c478bd9Sstevel@tonic-gate/* 0x00a0	     */		std	%f8,[%g4+24]
938*7c478bd9Sstevel@tonic-gate/* 0x00a4	     */		fmuld	%f6,%f12,%f2
939*7c478bd9Sstevel@tonic-gate/* 0x00a8	     */		std	%f12,[%g4+8]
940*7c478bd9Sstevel@tonic-gate/* 0x00ac	     */		add	%i1,%g3,%g2
941*7c478bd9Sstevel@tonic-gate/* 0x00b0	     */		fmuld	%f6,%f14,%f4
942*7c478bd9Sstevel@tonic-gate/* 0x00b4	     */		std	%f14,[%g4+16]
943*7c478bd9Sstevel@tonic-gate/* 0x00b8	     */		cmp	%o7,%o1
944*7c478bd9Sstevel@tonic-gate/* 0x00bc	     */		fmuld	%f6,%f8,%f6
945*7c478bd9Sstevel@tonic-gate/* 0x00c0	     */		fdtox	%f0,%f0
946*7c478bd9Sstevel@tonic-gate/* 0x00c4	     */		add	%g5,8,%g5
947*7c478bd9Sstevel@tonic-gate/* 0x00c8	     */		fdtox	%f2,%f2
948*7c478bd9Sstevel@tonic-gate/* 0x00cc	     */		fdtox	%f4,%f4
949*7c478bd9Sstevel@tonic-gate/* 0x00d0	     */		fdtox	%f6,%f6
950*7c478bd9Sstevel@tonic-gate/* 0x00d4	     */		fxtod	%f0,%f0
951*7c478bd9Sstevel@tonic-gate/* 0x00d8	     */		std	%f0,[%g2+8]
952*7c478bd9Sstevel@tonic-gate/* 0x00dc	     */		fxtod	%f2,%f2
953*7c478bd9Sstevel@tonic-gate/* 0x00e0	     */		std	%f2,[%g2+24]
954*7c478bd9Sstevel@tonic-gate/* 0x00e4	     */		fxtod	%f4,%f4
955*7c478bd9Sstevel@tonic-gate/* 0x00e8	     */		std	%f4,[%g2+40]
956*7c478bd9Sstevel@tonic-gate/* 0x00ec	     */		fxtod	%f6,%f6
957*7c478bd9Sstevel@tonic-gate/* 0x00f0	     */		std	%f6,[%g2+56]
958*7c478bd9Sstevel@tonic-gate/* 0x00f4	     */		fmuld	%f0,%f16,%f0
959*7c478bd9Sstevel@tonic-gate/* 0x00f8	     */		fmuld	%f2,%f16,%f2
960*7c478bd9Sstevel@tonic-gate/* 0x00fc	     */		fmuld	%f4,%f16,%f4
961*7c478bd9Sstevel@tonic-gate/* 0x0100	     */		fsubd	%f10,%f0,%f0
962*7c478bd9Sstevel@tonic-gate/* 0x0104	     */		std	%f0,[%i1+%g3]
963*7c478bd9Sstevel@tonic-gate/* 0x0108	     */		fmuld	%f6,%f16,%f6
964*7c478bd9Sstevel@tonic-gate/* 0x010c	     */		fsubd	%f12,%f2,%f2
965*7c478bd9Sstevel@tonic-gate/* 0x0110	     */		std	%f2,[%g2+16]
966*7c478bd9Sstevel@tonic-gate/* 0x0114	     */		fsubd	%f14,%f4,%f4
967*7c478bd9Sstevel@tonic-gate/* 0x0118	     */		std	%f4,[%g2+32]
968*7c478bd9Sstevel@tonic-gate/* 0x011c	     */		fsubd	%f8,%f6,%f6
969*7c478bd9Sstevel@tonic-gate/* 0x0120	     */		std	%f6,[%g2+48]
970*7c478bd9Sstevel@tonic-gate/* 0x0124	     */		ble,a,pt	%icc,.L900000514
971*7c478bd9Sstevel@tonic-gate/* 0x0128	     */		ldd	[%o2],%f8
972*7c478bd9Sstevel@tonic-gate
973*7c478bd9Sstevel@tonic-gate!  189		      !	}
974*7c478bd9Sstevel@tonic-gate!  190		      !	for (; i < len; i++) {
975*7c478bd9Sstevel@tonic-gate
976*7c478bd9Sstevel@tonic-gate                       .L77000212:
977*7c478bd9Sstevel@tonic-gate/* 0x012c	 190 */		cmp	%o7,%l1
978*7c478bd9Sstevel@tonic-gate                       .L900000515:
979*7c478bd9Sstevel@tonic-gate/* 0x0130	 190 */		bge,pt	%icc,.L77000217
980*7c478bd9Sstevel@tonic-gate/* 0x0134	     */		nop
981*7c478bd9Sstevel@tonic-gate/* 0x0138	     */		sll	%o7,1,%l0
982*7c478bd9Sstevel@tonic-gate/* 0x013c	   0 */		sethi	%hi(___const_seg_900000501),%g2
983*7c478bd9Sstevel@tonic-gate/* 0x0140	   0 */		add	%g2,%lo(___const_seg_900000501),%g2
984*7c478bd9Sstevel@tonic-gate/* 0x0144	 190 */		sub	%l1,%o7,%g4
985*7c478bd9Sstevel@tonic-gate/* 0x0148	   0 */		ldx	[%o0+%g2],%l6
986*7c478bd9Sstevel@tonic-gate/* 0x014c	 190 */		sethi	%hi(0xfc00),%g3
987*7c478bd9Sstevel@tonic-gate/* 0x0150	     */		cmp	%g4,7
988*7c478bd9Sstevel@tonic-gate/* 0x0154	     */		add	%g3,1023,%l2
989*7c478bd9Sstevel@tonic-gate/* 0x0158	     */		bl,pn	%icc,.L77000214
990*7c478bd9Sstevel@tonic-gate/* 0x015c	     */		add	%l0,1,%g2
991*7c478bd9Sstevel@tonic-gate
992*7c478bd9Sstevel@tonic-gate!  191		      !		a = i32[i];
993*7c478bd9Sstevel@tonic-gate
994*7c478bd9Sstevel@tonic-gate/* 0x0160	 191 */		sra	%o7,0,%o3
995*7c478bd9Sstevel@tonic-gate
996*7c478bd9Sstevel@tonic-gate!  192		      !		d32[i] = (double)(i32[i]);
997*7c478bd9Sstevel@tonic-gate
998*7c478bd9Sstevel@tonic-gate/* 0x0164	 192 */		ldd	[%l6],%f8
999*7c478bd9Sstevel@tonic-gate
1000*7c478bd9Sstevel@tonic-gate!  193		      !		d16[2 * i] = (double)(a & 0xffff);
1001*7c478bd9Sstevel@tonic-gate!  194		      !		d16[2 * i + 1] = (double)(a >> 16);
1002*7c478bd9Sstevel@tonic-gate
1003*7c478bd9Sstevel@tonic-gate/* 0x0168	 194 */		add	%o7,1,%g3
1004*7c478bd9Sstevel@tonic-gate/* 0x016c	 191 */		sllx	%o3,2,%g5
1005*7c478bd9Sstevel@tonic-gate/* 0x0170	 194 */		add	%o7,2,%o1
1006*7c478bd9Sstevel@tonic-gate/* 0x0174	 191 */		sra	%g3,0,%o0
1007*7c478bd9Sstevel@tonic-gate/* 0x0178	     */		ld	[%i2+%g5],%o2
1008*7c478bd9Sstevel@tonic-gate/* 0x017c	 192 */		fmovs	%f8,%f6
1009*7c478bd9Sstevel@tonic-gate/* 0x0180	 191 */		sllx	%o0,2,%o4
1010*7c478bd9Sstevel@tonic-gate/* 0x0184	 193 */		fmovs	%f8,%f0
1011*7c478bd9Sstevel@tonic-gate/* 0x0188	 194 */		add	%l0,2,%o5
1012*7c478bd9Sstevel@tonic-gate/* 0x018c	 191 */		sra	%o1,0,%l7
1013*7c478bd9Sstevel@tonic-gate/* 0x0190	 194 */		fmovs	%f8,%f2
1014*7c478bd9Sstevel@tonic-gate/* 0x0194	 193 */		and	%o2,%l2,%g4
1015*7c478bd9Sstevel@tonic-gate/* 0x0198	     */		st	%g4,[%sp+2227]
1016*7c478bd9Sstevel@tonic-gate/* 0x019c	 194 */		srl	%o2,16,%o2
1017*7c478bd9Sstevel@tonic-gate/* 0x01a0	     */		add	%l0,3,%g4
1018*7c478bd9Sstevel@tonic-gate/* 0x01a4	 191 */		ld	[%i2+%o4],%o7
1019*7c478bd9Sstevel@tonic-gate/* 0x01a8	 193 */		sra	%l0,0,%l0
1020*7c478bd9Sstevel@tonic-gate/* 0x01ac	 190 */		sub	%l1,4,%g3
1021*7c478bd9Sstevel@tonic-gate/* 0x01b0	 194 */		st	%o2,[%sp+2223]
1022*7c478bd9Sstevel@tonic-gate/* 0x01b4	 191 */		sllx	%l7,2,%o2
1023*7c478bd9Sstevel@tonic-gate/* 0x01b8	 192 */		ld	[%i2+%g5],%f7
1024*7c478bd9Sstevel@tonic-gate/* 0x01bc	     */		sllx	%o3,3,%o3
1025*7c478bd9Sstevel@tonic-gate/* 0x01c0	 193 */		and	%o7,%l2,%g5
1026*7c478bd9Sstevel@tonic-gate/* 0x01c4	 194 */		srl	%o7,16,%o7
1027*7c478bd9Sstevel@tonic-gate/* 0x01c8	     */		sra	%g2,0,%g2
1028*7c478bd9Sstevel@tonic-gate/* 0x01cc	 192 */		fsubd	%f6,%f8,%f4
1029*7c478bd9Sstevel@tonic-gate/* 0x01d0	 193 */		ld	[%sp+2227],%f1
1030*7c478bd9Sstevel@tonic-gate/* 0x01d4	 194 */		sllx	%g2,3,%g2
1031*7c478bd9Sstevel@tonic-gate/* 0x01d8	 193 */		st	%g5,[%sp+2227]
1032*7c478bd9Sstevel@tonic-gate/* 0x01dc	 191 */		ld	[%i2+%o2],%g5
1033*7c478bd9Sstevel@tonic-gate/* 0x01e0	 193 */		fsubd	%f0,%f8,%f0
1034*7c478bd9Sstevel@tonic-gate/* 0x01e4	 194 */		ld	[%sp+2223],%f3
1035*7c478bd9Sstevel@tonic-gate/* 0x01e8	     */		st	%o7,[%sp+2223]
1036*7c478bd9Sstevel@tonic-gate/* 0x01ec	 193 */		sllx	%l0,3,%o7
1037*7c478bd9Sstevel@tonic-gate/* 0x01f0	 192 */		std	%f4,[%i0+%o3]
1038*7c478bd9Sstevel@tonic-gate/* 0x01f4	 193 */		std	%f0,[%i1+%o7]
1039*7c478bd9Sstevel@tonic-gate/* 0x01f8	 194 */		fsubd	%f2,%f8,%f0
1040*7c478bd9Sstevel@tonic-gate/* 0x01fc	 192 */		ld	[%i2+%o4],%f11
1041*7c478bd9Sstevel@tonic-gate/* 0x0200	 194 */		std	%f0,[%i1+%g2]
1042*7c478bd9Sstevel@tonic-gate                       .L900000508:
1043*7c478bd9Sstevel@tonic-gate/* 0x0204	 193 */		ld	[%sp+2227],%f7
1044*7c478bd9Sstevel@tonic-gate/* 0x0208	 190 */		nop ! volatile
1045*7c478bd9Sstevel@tonic-gate/* 0x020c	     */		nop ! volatile
1046*7c478bd9Sstevel@tonic-gate/* 0x0210	     */		nop ! volatile
1047*7c478bd9Sstevel@tonic-gate/* 0x0214	     */		nop ! volatile
1048*7c478bd9Sstevel@tonic-gate/* 0x0218	 194 */		add	%o1,1,%o1
1049*7c478bd9Sstevel@tonic-gate/* 0x021c	     */		ld	[%sp+2223],%f1
1050*7c478bd9Sstevel@tonic-gate/* 0x0220	 191 */		sra	%o1,0,%g2
1051*7c478bd9Sstevel@tonic-gate/* 0x0224	     */		sllx	%g2,2,%o3
1052*7c478bd9Sstevel@tonic-gate/* 0x0228	 193 */		and	%g5,%l2,%o4
1053*7c478bd9Sstevel@tonic-gate/* 0x022c	 194 */		srl	%g5,16,%o7
1054*7c478bd9Sstevel@tonic-gate/* 0x0230	 193 */		st	%o4,[%sp+2227]
1055*7c478bd9Sstevel@tonic-gate/* 0x0234	     */		fmovs	%f8,%f6
1056*7c478bd9Sstevel@tonic-gate/* 0x0238	 192 */		fmovs	%f8,%f10
1057*7c478bd9Sstevel@tonic-gate/* 0x023c	 193 */		sra	%o5,0,%o4
1058*7c478bd9Sstevel@tonic-gate/* 0x0240	 191 */		ld	[%i2+%o3],%g5
1059*7c478bd9Sstevel@tonic-gate/* 0x0244	 194 */		st	%o7,[%sp+2223]
1060*7c478bd9Sstevel@tonic-gate/* 0x0248	 192 */		fsubd	%f10,%f8,%f4
1061*7c478bd9Sstevel@tonic-gate/* 0x024c	 193 */		sllx	%o4,3,%o4
1062*7c478bd9Sstevel@tonic-gate/* 0x0250	     */		fsubd	%f6,%f8,%f6
1063*7c478bd9Sstevel@tonic-gate/* 0x0254	 192 */		sllx	%o0,3,%o0
1064*7c478bd9Sstevel@tonic-gate/* 0x0258	     */		ld	[%i2+%o2],%f3
1065*7c478bd9Sstevel@tonic-gate/* 0x025c	     */		std	%f4,[%i0+%o0]
1066*7c478bd9Sstevel@tonic-gate/* 0x0260	 194 */		sra	%g4,0,%o0
1067*7c478bd9Sstevel@tonic-gate/* 0x0264	     */		add	%o5,2,%o2
1068*7c478bd9Sstevel@tonic-gate/* 0x0268	     */		fmovs	%f8,%f0
1069*7c478bd9Sstevel@tonic-gate/* 0x026c	 193 */		std	%f6,[%i1+%o4]
1070*7c478bd9Sstevel@tonic-gate/* 0x0270	 194 */		sllx	%o0,3,%o0
1071*7c478bd9Sstevel@tonic-gate/* 0x0274	     */		add	%g4,2,%o4
1072*7c478bd9Sstevel@tonic-gate/* 0x0278	     */		fsubd	%f0,%f8,%f0
1073*7c478bd9Sstevel@tonic-gate/* 0x027c	     */		std	%f0,[%i1+%o0]
1074*7c478bd9Sstevel@tonic-gate/* 0x0280	 193 */		ld	[%sp+2227],%f1
1075*7c478bd9Sstevel@tonic-gate/* 0x0284	 190 */		nop ! volatile
1076*7c478bd9Sstevel@tonic-gate/* 0x0288	     */		nop ! volatile
1077*7c478bd9Sstevel@tonic-gate/* 0x028c	     */		nop ! volatile
1078*7c478bd9Sstevel@tonic-gate/* 0x0290	     */		nop ! volatile
1079*7c478bd9Sstevel@tonic-gate/* 0x0294	 194 */		add	%o1,1,%o1
1080*7c478bd9Sstevel@tonic-gate/* 0x0298	     */		ld	[%sp+2223],%f5
1081*7c478bd9Sstevel@tonic-gate/* 0x029c	 191 */		sra	%o1,0,%o0
1082*7c478bd9Sstevel@tonic-gate/* 0x02a0	     */		sllx	%o0,2,%g4
1083*7c478bd9Sstevel@tonic-gate/* 0x02a4	 193 */		and	%g5,%l2,%o5
1084*7c478bd9Sstevel@tonic-gate/* 0x02a8	 194 */		srl	%g5,16,%o7
1085*7c478bd9Sstevel@tonic-gate/* 0x02ac	 193 */		st	%o5,[%sp+2227]
1086*7c478bd9Sstevel@tonic-gate/* 0x02b0	     */		fmovs	%f8,%f0
1087*7c478bd9Sstevel@tonic-gate/* 0x02b4	 192 */		fmovs	%f8,%f2
1088*7c478bd9Sstevel@tonic-gate/* 0x02b8	 193 */		sra	%o2,0,%o5
1089*7c478bd9Sstevel@tonic-gate/* 0x02bc	 191 */		ld	[%i2+%g4],%g5
1090*7c478bd9Sstevel@tonic-gate/* 0x02c0	 194 */		st	%o7,[%sp+2223]
1091*7c478bd9Sstevel@tonic-gate/* 0x02c4	 192 */		fsubd	%f2,%f8,%f2
1092*7c478bd9Sstevel@tonic-gate/* 0x02c8	 193 */		sllx	%o5,3,%o5
1093*7c478bd9Sstevel@tonic-gate/* 0x02cc	     */		fsubd	%f0,%f8,%f0
1094*7c478bd9Sstevel@tonic-gate/* 0x02d0	 192 */		sllx	%l7,3,%o7
1095*7c478bd9Sstevel@tonic-gate/* 0x02d4	     */		ld	[%i2+%o3],%f7
1096*7c478bd9Sstevel@tonic-gate/* 0x02d8	     */		std	%f2,[%i0+%o7]
1097*7c478bd9Sstevel@tonic-gate/* 0x02dc	 194 */		sra	%o4,0,%o7
1098*7c478bd9Sstevel@tonic-gate/* 0x02e0	     */		add	%o2,2,%o3
1099*7c478bd9Sstevel@tonic-gate/* 0x02e4	     */		fmovs	%f8,%f4
1100*7c478bd9Sstevel@tonic-gate/* 0x02e8	 193 */		std	%f0,[%i1+%o5]
1101*7c478bd9Sstevel@tonic-gate/* 0x02ec	 194 */		sllx	%o7,3,%o2
1102*7c478bd9Sstevel@tonic-gate/* 0x02f0	     */		add	%o4,2,%o4
1103*7c478bd9Sstevel@tonic-gate/* 0x02f4	     */		fsubd	%f4,%f8,%f0
1104*7c478bd9Sstevel@tonic-gate/* 0x02f8	     */		std	%f0,[%i1+%o2]
1105*7c478bd9Sstevel@tonic-gate/* 0x02fc	 193 */		ld	[%sp+2227],%f1
1106*7c478bd9Sstevel@tonic-gate/* 0x0300	 190 */		nop ! volatile
1107*7c478bd9Sstevel@tonic-gate/* 0x0304	     */		nop ! volatile
1108*7c478bd9Sstevel@tonic-gate/* 0x0308	     */		nop ! volatile
1109*7c478bd9Sstevel@tonic-gate/* 0x030c	     */		nop ! volatile
1110*7c478bd9Sstevel@tonic-gate/* 0x0310	 194 */		add	%o1,1,%o1
1111*7c478bd9Sstevel@tonic-gate/* 0x0314	     */		ld	[%sp+2223],%f3
1112*7c478bd9Sstevel@tonic-gate/* 0x0318	 191 */		sra	%o1,0,%l7
1113*7c478bd9Sstevel@tonic-gate/* 0x031c	     */		sllx	%l7,2,%o2
1114*7c478bd9Sstevel@tonic-gate/* 0x0320	 193 */		and	%g5,%l2,%o5
1115*7c478bd9Sstevel@tonic-gate/* 0x0324	 194 */		srl	%g5,16,%o7
1116*7c478bd9Sstevel@tonic-gate/* 0x0328	 193 */		st	%o5,[%sp+2227]
1117*7c478bd9Sstevel@tonic-gate/* 0x032c	     */		fmovs	%f8,%f0
1118*7c478bd9Sstevel@tonic-gate/* 0x0330	 192 */		fmovs	%f8,%f6
1119*7c478bd9Sstevel@tonic-gate/* 0x0334	 193 */		sra	%o3,0,%o5
1120*7c478bd9Sstevel@tonic-gate/* 0x0338	 191 */		ld	[%i2+%o2],%g5
1121*7c478bd9Sstevel@tonic-gate/* 0x033c	 194 */		st	%o7,[%sp+2223]
1122*7c478bd9Sstevel@tonic-gate/* 0x0340	 192 */		fsubd	%f6,%f8,%f4
1123*7c478bd9Sstevel@tonic-gate/* 0x0344	 193 */		sllx	%o5,3,%o7
1124*7c478bd9Sstevel@tonic-gate/* 0x0348	     */		fsubd	%f0,%f8,%f0
1125*7c478bd9Sstevel@tonic-gate/* 0x034c	 192 */		sllx	%g2,3,%g2
1126*7c478bd9Sstevel@tonic-gate/* 0x0350	     */		ld	[%i2+%g4],%f11
1127*7c478bd9Sstevel@tonic-gate/* 0x0354	     */		std	%f4,[%i0+%g2]
1128*7c478bd9Sstevel@tonic-gate/* 0x0358	 194 */		sra	%o4,0,%g2
1129*7c478bd9Sstevel@tonic-gate/* 0x035c	     */		add	%o3,2,%o5
1130*7c478bd9Sstevel@tonic-gate/* 0x0360	     */		fmovs	%f8,%f2
1131*7c478bd9Sstevel@tonic-gate/* 0x0364	 193 */		std	%f0,[%i1+%o7]
1132*7c478bd9Sstevel@tonic-gate/* 0x0368	 194 */		sllx	%g2,3,%g2
1133*7c478bd9Sstevel@tonic-gate/* 0x036c	     */		add	%o4,2,%g4
1134*7c478bd9Sstevel@tonic-gate/* 0x0370	     */		fsubd	%f2,%f8,%f0
1135*7c478bd9Sstevel@tonic-gate/* 0x0374	     */		cmp	%o1,%g3
1136*7c478bd9Sstevel@tonic-gate/* 0x0378	     */		bl,pt	%icc,.L900000508
1137*7c478bd9Sstevel@tonic-gate/* 0x037c	     */		std	%f0,[%i1+%g2]
1138*7c478bd9Sstevel@tonic-gate                       .L900000511:
1139*7c478bd9Sstevel@tonic-gate/* 0x0380	 194 */		add	%o1,1,%o7
1140*7c478bd9Sstevel@tonic-gate/* 0x0384	 193 */		ld	[%sp+2227],%f1
1141*7c478bd9Sstevel@tonic-gate/* 0x0388	 194 */		add	%o3,4,%g3
1142*7c478bd9Sstevel@tonic-gate/* 0x038c	 192 */		fmovs	%f8,%f10
1143*7c478bd9Sstevel@tonic-gate/* 0x0390	 191 */		sra	%o7,0,%o4
1144*7c478bd9Sstevel@tonic-gate/* 0x0394	 193 */		and	%g5,%l2,%g2
1145*7c478bd9Sstevel@tonic-gate/* 0x0398	     */		st	%g2,[%sp+2227]
1146*7c478bd9Sstevel@tonic-gate/* 0x039c	 194 */		fmovs	%f8,%f2
1147*7c478bd9Sstevel@tonic-gate/* 0x03a0	 191 */		sllx	%o4,2,%o3
1148*7c478bd9Sstevel@tonic-gate/* 0x03a4	 193 */		fmovs	%f8,%f0
1149*7c478bd9Sstevel@tonic-gate/* 0x03a8	 194 */		add	%g3,4,%l0
1150*7c478bd9Sstevel@tonic-gate/* 0x03ac	     */		srl	%g5,16,%g2
1151*7c478bd9Sstevel@tonic-gate/* 0x03b0	 191 */		ld	[%i2+%o3],%o1
1152*7c478bd9Sstevel@tonic-gate/* 0x03b4	 192 */		fmovs	%f8,%f4
1153*7c478bd9Sstevel@tonic-gate/* 0x03b8	 194 */		add	%g4,2,%g5
1154*7c478bd9Sstevel@tonic-gate/* 0x03bc	     */		add	%o7,1,%o7
1155*7c478bd9Sstevel@tonic-gate/* 0x03c0	     */		ld	[%sp+2223],%f3
1156*7c478bd9Sstevel@tonic-gate/* 0x03c4	     */		sra	%g4,0,%g4
1157*7c478bd9Sstevel@tonic-gate/* 0x03c8	 192 */		fsubd	%f10,%f8,%f6
1158*7c478bd9Sstevel@tonic-gate/* 0x03cc	 194 */		st	%g2,[%sp+2223]
1159*7c478bd9Sstevel@tonic-gate/* 0x03d0	 193 */		sra	%o5,0,%g2
1160*7c478bd9Sstevel@tonic-gate/* 0x03d4	     */		fsubd	%f0,%f8,%f0
1161*7c478bd9Sstevel@tonic-gate/* 0x03d8	 192 */		sllx	%o0,3,%o5
1162*7c478bd9Sstevel@tonic-gate/* 0x03dc	     */		ld	[%i2+%o2],%f5
1163*7c478bd9Sstevel@tonic-gate/* 0x03e0	 193 */		and	%o1,%l2,%o0
1164*7c478bd9Sstevel@tonic-gate/* 0x03e4	     */		sllx	%g2,3,%g2
1165*7c478bd9Sstevel@tonic-gate/* 0x03e8	 192 */		std	%f6,[%i0+%o5]
1166*7c478bd9Sstevel@tonic-gate/* 0x03ec	 194 */		add	%g3,2,%o2
1167*7c478bd9Sstevel@tonic-gate/* 0x03f0	 193 */		std	%f0,[%i1+%g2]
1168*7c478bd9Sstevel@tonic-gate/* 0x03f4	 194 */		fsubd	%f2,%f8,%f0
1169*7c478bd9Sstevel@tonic-gate/* 0x03f8	     */		sllx	%g4,3,%g4
1170*7c478bd9Sstevel@tonic-gate/* 0x03fc	 193 */		sra	%g3,0,%g2
1171*7c478bd9Sstevel@tonic-gate/* 0x0400	 194 */		std	%f0,[%i1+%g4]
1172*7c478bd9Sstevel@tonic-gate/* 0x0404	 192 */		fsubd	%f4,%f8,%f4
1173*7c478bd9Sstevel@tonic-gate/* 0x0408	 194 */		srl	%o1,16,%o1
1174*7c478bd9Sstevel@tonic-gate/* 0x040c	     */		ld	[%sp+2223],%f3
1175*7c478bd9Sstevel@tonic-gate/* 0x0410	     */		add	%g5,2,%o5
1176*7c478bd9Sstevel@tonic-gate/* 0x0414	 193 */		ld	[%sp+2227],%f1
1177*7c478bd9Sstevel@tonic-gate/* 0x0418	 192 */		sllx	%l7,3,%g3
1178*7c478bd9Sstevel@tonic-gate/* 0x041c	 194 */		cmp	%o7,%l1
1179*7c478bd9Sstevel@tonic-gate/* 0x0420	 193 */		st	%o0,[%sp+2227]
1180*7c478bd9Sstevel@tonic-gate/* 0x0424	     */		sllx	%g2,3,%g4
1181*7c478bd9Sstevel@tonic-gate/* 0x0428	 194 */		add	%g5,4,%g2
1182*7c478bd9Sstevel@tonic-gate/* 0x042c	 193 */		fmovs	%f8,%f0
1183*7c478bd9Sstevel@tonic-gate/* 0x0430	 194 */		st	%o1,[%sp+2223]
1184*7c478bd9Sstevel@tonic-gate/* 0x0434	     */		sra	%g5,0,%g5
1185*7c478bd9Sstevel@tonic-gate/* 0x0438	     */		fmovs	%f8,%f2
1186*7c478bd9Sstevel@tonic-gate/* 0x043c	 192 */		std	%f4,[%i0+%g3]
1187*7c478bd9Sstevel@tonic-gate/* 0x0440	 194 */		sllx	%g5,3,%g5
1188*7c478bd9Sstevel@tonic-gate/* 0x0444	 192 */		ld	[%i2+%o3],%f7
1189*7c478bd9Sstevel@tonic-gate/* 0x0448	 193 */		sra	%o2,0,%o0
1190*7c478bd9Sstevel@tonic-gate/* 0x044c	     */		fsubd	%f0,%f8,%f0
1191*7c478bd9Sstevel@tonic-gate/* 0x0450	     */		std	%f0,[%i1+%g4]
1192*7c478bd9Sstevel@tonic-gate/* 0x0454	 192 */		sllx	%o4,3,%o1
1193*7c478bd9Sstevel@tonic-gate/* 0x0458	 194 */		fsubd	%f2,%f8,%f0
1194*7c478bd9Sstevel@tonic-gate/* 0x045c	     */		std	%f0,[%i1+%g5]
1195*7c478bd9Sstevel@tonic-gate/* 0x0460	 193 */		sllx	%o0,3,%o0
1196*7c478bd9Sstevel@tonic-gate/* 0x0464	 194 */		ld	[%sp+2223],%f3
1197*7c478bd9Sstevel@tonic-gate/* 0x0468	     */		sra	%o5,0,%o2
1198*7c478bd9Sstevel@tonic-gate/* 0x046c	 193 */		ld	[%sp+2227],%f1
1199*7c478bd9Sstevel@tonic-gate/* 0x0470	 194 */		sllx	%o2,3,%g3
1200*7c478bd9Sstevel@tonic-gate/* 0x0474	 192 */		fmovs	%f8,%f6
1201*7c478bd9Sstevel@tonic-gate/* 0x0478	 193 */		fmovs	%f8,%f0
1202*7c478bd9Sstevel@tonic-gate/* 0x047c	 194 */		fmovs	%f8,%f2
1203*7c478bd9Sstevel@tonic-gate/* 0x0480	 192 */		fsubd	%f6,%f8,%f4
1204*7c478bd9Sstevel@tonic-gate/* 0x0484	     */		std	%f4,[%i0+%o1]
1205*7c478bd9Sstevel@tonic-gate/* 0x0488	 193 */		fsubd	%f0,%f8,%f0
1206*7c478bd9Sstevel@tonic-gate/* 0x048c	     */		std	%f0,[%i1+%o0]
1207*7c478bd9Sstevel@tonic-gate/* 0x0490	 194 */		fsubd	%f2,%f8,%f0
1208*7c478bd9Sstevel@tonic-gate/* 0x0494	     */		bge,pn	%icc,.L77000217
1209*7c478bd9Sstevel@tonic-gate/* 0x0498	     */		std	%f0,[%i1+%g3]
1210*7c478bd9Sstevel@tonic-gate                       .L77000214:
1211*7c478bd9Sstevel@tonic-gate/* 0x049c	 191 */		sra	%o7,0,%g3
1212*7c478bd9Sstevel@tonic-gate                       .L900000513:
1213*7c478bd9Sstevel@tonic-gate/* 0x04a0	 192 */		ldd	[%l6],%f8
1214*7c478bd9Sstevel@tonic-gate/* 0x04a4	 191 */		sllx	%g3,2,%g4
1215*7c478bd9Sstevel@tonic-gate/* 0x04a8	 194 */		add	%o7,1,%o7
1216*7c478bd9Sstevel@tonic-gate/* 0x04ac	 192 */		ld	[%i2+%g4],%f1
1217*7c478bd9Sstevel@tonic-gate/* 0x04b0	 193 */		sra	%l0,0,%g5
1218*7c478bd9Sstevel@tonic-gate/* 0x04b4	 194 */		cmp	%o7,%l1
1219*7c478bd9Sstevel@tonic-gate/* 0x04b8	 191 */		ld	[%i2+%g4],%g4
1220*7c478bd9Sstevel@tonic-gate/* 0x04bc	 192 */		sllx	%g3,3,%g3
1221*7c478bd9Sstevel@tonic-gate/* 0x04c0	 194 */		add	%l0,2,%l0
1222*7c478bd9Sstevel@tonic-gate/* 0x04c4	 192 */		fmovs	%f8,%f0
1223*7c478bd9Sstevel@tonic-gate/* 0x04c8	 193 */		sllx	%g5,3,%o0
1224*7c478bd9Sstevel@tonic-gate/* 0x04cc	     */		and	%g4,%l2,%g5
1225*7c478bd9Sstevel@tonic-gate/* 0x04d0	 192 */		fsubd	%f0,%f8,%f0
1226*7c478bd9Sstevel@tonic-gate/* 0x04d4	     */		std	%f0,[%i0+%g3]
1227*7c478bd9Sstevel@tonic-gate/* 0x04d8	 194 */		srl	%g4,16,%g3
1228*7c478bd9Sstevel@tonic-gate/* 0x04dc	 193 */		st	%g5,[%sp+2227]
1229*7c478bd9Sstevel@tonic-gate/* 0x04e0	 194 */		sra	%g2,0,%g4
1230*7c478bd9Sstevel@tonic-gate/* 0x04e4	     */		add	%g2,2,%g2
1231*7c478bd9Sstevel@tonic-gate/* 0x04e8	     */		sllx	%g4,3,%g4
1232*7c478bd9Sstevel@tonic-gate/* 0x04ec	 193 */		fmovs	%f8,%f0
1233*7c478bd9Sstevel@tonic-gate/* 0x04f0	     */		ld	[%sp+2227],%f1
1234*7c478bd9Sstevel@tonic-gate/* 0x04f4	     */		fsubd	%f0,%f8,%f0
1235*7c478bd9Sstevel@tonic-gate/* 0x04f8	     */		std	%f0,[%i1+%o0]
1236*7c478bd9Sstevel@tonic-gate/* 0x04fc	 194 */		st	%g3,[%sp+2223]
1237*7c478bd9Sstevel@tonic-gate/* 0x0500	     */		fmovs	%f8,%f0
1238*7c478bd9Sstevel@tonic-gate/* 0x0504	     */		ld	[%sp+2223],%f1
1239*7c478bd9Sstevel@tonic-gate/* 0x0508	     */		fsubd	%f0,%f8,%f0
1240*7c478bd9Sstevel@tonic-gate/* 0x050c	     */		std	%f0,[%i1+%g4]
1241*7c478bd9Sstevel@tonic-gate/* 0x0510	     */		bl,pt	%icc,.L900000513
1242*7c478bd9Sstevel@tonic-gate/* 0x0514	     */		sra	%o7,0,%g3
1243*7c478bd9Sstevel@tonic-gate                       .L77000217:
1244*7c478bd9Sstevel@tonic-gate/* 0x0518	     */		ret	! Result =
1245*7c478bd9Sstevel@tonic-gate/* 0x051c	     */		restore	%g0,%g0,%g0
1246*7c478bd9Sstevel@tonic-gate/* 0x0520	   0 */		.type	conv_i32_to_d32_and_d16,2
1247*7c478bd9Sstevel@tonic-gate/* 0x0520	   0 */		.size	conv_i32_to_d32_and_d16,(.-conv_i32_to_d32_and_d16)
1248*7c478bd9Sstevel@tonic-gate
1249*7c478bd9Sstevel@tonic-gate	.section	".text",#alloc,#execinstr
1250*7c478bd9Sstevel@tonic-gate/* 000000	   0 */		.align	4
1251*7c478bd9Sstevel@tonic-gate
1252*7c478bd9Sstevel@tonic-gate!  195		      !	}
1253*7c478bd9Sstevel@tonic-gate!  196		      !}
1254*7c478bd9Sstevel@tonic-gate!  199		      !static void
1255*7c478bd9Sstevel@tonic-gate!  200		      !adjust_montf_result(uint32_t *i32, uint32_t *nint, int len)
1256*7c478bd9Sstevel@tonic-gate!  201		      !{
1257*7c478bd9Sstevel@tonic-gate
1258*7c478bd9Sstevel@tonic-gate!
1259*7c478bd9Sstevel@tonic-gate! SUBROUTINE adjust_montf_result
1260*7c478bd9Sstevel@tonic-gate!
1261*7c478bd9Sstevel@tonic-gate! OFFSET    SOURCE LINE	LABEL	INSTRUCTION
1262*7c478bd9Sstevel@tonic-gate
1263*7c478bd9Sstevel@tonic-gate                       adjust_montf_result:
1264*7c478bd9Sstevel@tonic-gate/* 000000	 201 */		sra	%o2,0,%o3
1265*7c478bd9Sstevel@tonic-gate/* 0x0004	     */		or	%g0,%o0,%o2
1266*7c478bd9Sstevel@tonic-gate
1267*7c478bd9Sstevel@tonic-gate!  202		      !	int64_t acc;
1268*7c478bd9Sstevel@tonic-gate!  203		      !	int i;
1269*7c478bd9Sstevel@tonic-gate!  205		      !	if (i32[len] > 0)
1270*7c478bd9Sstevel@tonic-gate
1271*7c478bd9Sstevel@tonic-gate/* 0x0008	 205 */		sllx	%o3,2,%o0
1272*7c478bd9Sstevel@tonic-gate/* 0x000c	     */		ld	[%o2+%o0],%o0
1273*7c478bd9Sstevel@tonic-gate/* 0x0010	     */		cmp	%o0,0
1274*7c478bd9Sstevel@tonic-gate/* 0x0014	     */		bgu,pn	%icc,.L77000263
1275*7c478bd9Sstevel@tonic-gate/* 0x0018	 208 */		subcc	%o3,1,%o5
1276*7c478bd9Sstevel@tonic-gate/* 0x001c	     */		bneg,pn	%icc,.L77000263
1277*7c478bd9Sstevel@tonic-gate/* 0x0020	 209 */		sra	%o5,0,%o0
1278*7c478bd9Sstevel@tonic-gate
1279*7c478bd9Sstevel@tonic-gate!  206		      !		i = -1;
1280*7c478bd9Sstevel@tonic-gate!  207		      !	else {
1281*7c478bd9Sstevel@tonic-gate!  208		      !		for (i = len - 1; i >= 0; i--) {
1282*7c478bd9Sstevel@tonic-gate!  209		      !			if (i32[i] != nint[i]) break;
1283*7c478bd9Sstevel@tonic-gate
1284*7c478bd9Sstevel@tonic-gate                       .L900000612:
1285*7c478bd9Sstevel@tonic-gate/* 0x0024	 209 */		sllx	%o0,2,%o0
1286*7c478bd9Sstevel@tonic-gate/* 0x0028	     */		ld	[%o2+%o0],%o4
1287*7c478bd9Sstevel@tonic-gate/* 0x002c	     */		ld	[%o1+%o0],%o0
1288*7c478bd9Sstevel@tonic-gate/* 0x0030	     */		cmp	%o4,%o0
1289*7c478bd9Sstevel@tonic-gate/* 0x0034	     */		bne,pn	%icc,.L77000248
1290*7c478bd9Sstevel@tonic-gate/* 0x0038	     */		nop
1291*7c478bd9Sstevel@tonic-gate/* 0x003c	     */		subcc	%o5,1,%o5
1292*7c478bd9Sstevel@tonic-gate/* 0x0040	     */		bpos,pt	%icc,.L900000612
1293*7c478bd9Sstevel@tonic-gate/* 0x0044	     */		sra	%o5,0,%o0
1294*7c478bd9Sstevel@tonic-gate                       .L900000605:
1295*7c478bd9Sstevel@tonic-gate/* 0x0048	 209 */		ba	.L900000611
1296*7c478bd9Sstevel@tonic-gate/* 0x004c	 214 */		cmp	%o3,0
1297*7c478bd9Sstevel@tonic-gate                       .L77000248:
1298*7c478bd9Sstevel@tonic-gate/* 0x0050	 209 */		bleu,pt	%icc,.L77000256
1299*7c478bd9Sstevel@tonic-gate/* 0x0054	     */		nop
1300*7c478bd9Sstevel@tonic-gate
1301*7c478bd9Sstevel@tonic-gate!  210		      !		}
1302*7c478bd9Sstevel@tonic-gate!  211		      !	}
1303*7c478bd9Sstevel@tonic-gate!  212		      !	if ((i < 0) || (i32[i] > nint[i])) {
1304*7c478bd9Sstevel@tonic-gate!  213		      !		acc = 0;
1305*7c478bd9Sstevel@tonic-gate!  214		      !		for (i = 0; i < len; i++) {
1306*7c478bd9Sstevel@tonic-gate
1307*7c478bd9Sstevel@tonic-gate                       .L77000263:
1308*7c478bd9Sstevel@tonic-gate/* 0x0058	 214 */		cmp	%o3,0
1309*7c478bd9Sstevel@tonic-gate                       .L900000611:
1310*7c478bd9Sstevel@tonic-gate/* 0x005c	 214 */		ble,pt	%icc,.L77000256
1311*7c478bd9Sstevel@tonic-gate/* 0x0060	     */		nop
1312*7c478bd9Sstevel@tonic-gate/* 0x0064	 209 */		or	%g0,-1,%o4
1313*7c478bd9Sstevel@tonic-gate/* 0x0068	 214 */		or	%g0,%o3,%o0
1314*7c478bd9Sstevel@tonic-gate/* 0x006c	 209 */		sub	%o3,1,%g2
1315*7c478bd9Sstevel@tonic-gate/* 0x0070	 214 */		or	%g0,0,%o3
1316*7c478bd9Sstevel@tonic-gate/* 0x0074	 209 */		srl	%o4,0,%g3
1317*7c478bd9Sstevel@tonic-gate/* 0x0078	 214 */		cmp	%o0,4
1318*7c478bd9Sstevel@tonic-gate/* 0x007c	 213 */		or	%g0,0,%o5
1319*7c478bd9Sstevel@tonic-gate/* 0x0080	 214 */		bl,pn	%icc,.L77000264
1320*7c478bd9Sstevel@tonic-gate/* 0x0084	     */		or	%g0,%o1,%o4
1321*7c478bd9Sstevel@tonic-gate
1322*7c478bd9Sstevel@tonic-gate!  215		      !			acc = acc + (uint64_t)(i32[i]) - (uint64_t)(nint[i]);
1323*7c478bd9Sstevel@tonic-gate
1324*7c478bd9Sstevel@tonic-gate/* 0x0088	 215 */		ld	[%o2+4],%g5
1325*7c478bd9Sstevel@tonic-gate
1326*7c478bd9Sstevel@tonic-gate!  216		      !			i32[i] = acc & 0xffffffff;
1327*7c478bd9Sstevel@tonic-gate!  217		      !			acc = acc >> 32;
1328*7c478bd9Sstevel@tonic-gate
1329*7c478bd9Sstevel@tonic-gate/* 0x008c	 217 */		add	%o1,4,%o4
1330*7c478bd9Sstevel@tonic-gate/* 0x0090	     */		add	%o2,8,%o2
1331*7c478bd9Sstevel@tonic-gate/* 0x0094	 214 */		sub	%o0,2,%g4
1332*7c478bd9Sstevel@tonic-gate/* 0x0098	 215 */		ld	[%o2-8],%o1
1333*7c478bd9Sstevel@tonic-gate/* 0x009c	 217 */		or	%g0,2,%o3
1334*7c478bd9Sstevel@tonic-gate/* 0x00a0	 215 */		ld	[%o4-4],%o0
1335*7c478bd9Sstevel@tonic-gate/* 0x00a4	 214 */		sub	%o1,%o0,%o0
1336*7c478bd9Sstevel@tonic-gate/* 0x00a8	     */		or	%g0,%o0,%o1
1337*7c478bd9Sstevel@tonic-gate/* 0x00ac	 216 */		and	%o0,%g3,%o0
1338*7c478bd9Sstevel@tonic-gate/* 0x00b0	     */		st	%o0,[%o2-8]
1339*7c478bd9Sstevel@tonic-gate/* 0x00b4	 217 */		srax	%o1,32,%o0
1340*7c478bd9Sstevel@tonic-gate                       .L900000606:
1341*7c478bd9Sstevel@tonic-gate/* 0x00b8	 217 */		add	%o3,1,%o3
1342*7c478bd9Sstevel@tonic-gate/* 0x00bc	 215 */		ld	[%o4],%o1
1343*7c478bd9Sstevel@tonic-gate/* 0x00c0	 217 */		add	%o4,4,%o4
1344*7c478bd9Sstevel@tonic-gate/* 0x00c4	     */		cmp	%o3,%g4
1345*7c478bd9Sstevel@tonic-gate/* 0x00c8	     */		add	%o2,4,%o2
1346*7c478bd9Sstevel@tonic-gate/* 0x00cc	 214 */		sub	%g5,%o1,%o1
1347*7c478bd9Sstevel@tonic-gate/* 0x00d0	     */		add	%o1,%o0,%o1
1348*7c478bd9Sstevel@tonic-gate/* 0x00d4	 216 */		and	%o1,%g3,%o0
1349*7c478bd9Sstevel@tonic-gate/* 0x00d8	 215 */		ld	[%o2-4],%g5
1350*7c478bd9Sstevel@tonic-gate/* 0x00dc	 216 */		st	%o0,[%o2-8]
1351*7c478bd9Sstevel@tonic-gate/* 0x00e0	 217 */		ble,pt	%icc,.L900000606
1352*7c478bd9Sstevel@tonic-gate/* 0x00e4	     */		srax	%o1,32,%o0
1353*7c478bd9Sstevel@tonic-gate                       .L900000609:
1354*7c478bd9Sstevel@tonic-gate/* 0x00e8	 215 */		ld	[%o4],%o1
1355*7c478bd9Sstevel@tonic-gate/* 0x00ec	 217 */		add	%o4,8,%o4
1356*7c478bd9Sstevel@tonic-gate/* 0x00f0	     */		add	%o3,1,%o3
1357*7c478bd9Sstevel@tonic-gate/* 0x00f4	 215 */		ld	[%o2],%o5
1358*7c478bd9Sstevel@tonic-gate/* 0x00f8	 217 */		add	%o2,4,%o2
1359*7c478bd9Sstevel@tonic-gate/* 0x00fc	     */		cmp	%o3,%g2
1360*7c478bd9Sstevel@tonic-gate/* 0x0100	 214 */		sub	%g5,%o1,%o1
1361*7c478bd9Sstevel@tonic-gate/* 0x0104	     */		add	%o1,%o0,%o1
1362*7c478bd9Sstevel@tonic-gate/* 0x0108	 216 */		and	%o1,%g3,%o0
1363*7c478bd9Sstevel@tonic-gate/* 0x010c	     */		st	%o0,[%o2-8]
1364*7c478bd9Sstevel@tonic-gate/* 0x0110	 215 */		ld	[%o4-4],%o0
1365*7c478bd9Sstevel@tonic-gate/* 0x0114	 217 */		srax	%o1,32,%o1
1366*7c478bd9Sstevel@tonic-gate/* 0x0118	 214 */		sub	%o5,%o0,%o0
1367*7c478bd9Sstevel@tonic-gate/* 0x011c	     */		add	%o0,%o1,%o1
1368*7c478bd9Sstevel@tonic-gate/* 0x0120	 216 */		and	%o1,%g3,%o0
1369*7c478bd9Sstevel@tonic-gate/* 0x0124	     */		st	%o0,[%o2-4]
1370*7c478bd9Sstevel@tonic-gate/* 0x0128	 217 */		bg,pn	%icc,.L77000256
1371*7c478bd9Sstevel@tonic-gate/* 0x012c	     */		srax	%o1,32,%o5
1372*7c478bd9Sstevel@tonic-gate                       .L77000264:
1373*7c478bd9Sstevel@tonic-gate/* 0x0130	 215 */		ld	[%o2],%o0
1374*7c478bd9Sstevel@tonic-gate                       .L900000610:
1375*7c478bd9Sstevel@tonic-gate/* 0x0134	 215 */		ld	[%o4],%o1
1376*7c478bd9Sstevel@tonic-gate/* 0x0138	     */		add	%o5,%o0,%o0
1377*7c478bd9Sstevel@tonic-gate/* 0x013c	 217 */		add	%o3,1,%o3
1378*7c478bd9Sstevel@tonic-gate/* 0x0140	     */		add	%o4,4,%o4
1379*7c478bd9Sstevel@tonic-gate/* 0x0144	     */		cmp	%o3,%g2
1380*7c478bd9Sstevel@tonic-gate/* 0x0148	 215 */		sub	%o0,%o1,%o1
1381*7c478bd9Sstevel@tonic-gate/* 0x014c	 216 */		and	%o1,%g3,%o0
1382*7c478bd9Sstevel@tonic-gate/* 0x0150	     */		st	%o0,[%o2]
1383*7c478bd9Sstevel@tonic-gate/* 0x0154	 217 */		add	%o2,4,%o2
1384*7c478bd9Sstevel@tonic-gate/* 0x0158	     */		srax	%o1,32,%o5
1385*7c478bd9Sstevel@tonic-gate/* 0x015c	     */		ble,a,pt	%icc,.L900000610
1386*7c478bd9Sstevel@tonic-gate/* 0x0160	     */		ld	[%o2],%o0
1387*7c478bd9Sstevel@tonic-gate                       .L77000256:
1388*7c478bd9Sstevel@tonic-gate/* 0x0164	     */		retl	! Result =
1389*7c478bd9Sstevel@tonic-gate/* 0x0168	     */		nop
1390*7c478bd9Sstevel@tonic-gate/* 0x016c	   0 */		.type	adjust_montf_result,2
1391*7c478bd9Sstevel@tonic-gate/* 0x016c	   0 */		.size	adjust_montf_result,(.-adjust_montf_result)
1392*7c478bd9Sstevel@tonic-gate
1393*7c478bd9Sstevel@tonic-gate	.section	".text",#alloc,#execinstr
1394*7c478bd9Sstevel@tonic-gate/* 000000	   0 */		.align	8
1395*7c478bd9Sstevel@tonic-gate/* 000000	     */		.skip	24
1396*7c478bd9Sstevel@tonic-gate/* 0x0018	     */		.align	4
1397*7c478bd9Sstevel@tonic-gate
1398*7c478bd9Sstevel@tonic-gate!  218		      !		}
1399*7c478bd9Sstevel@tonic-gate!  219		      !	}
1400*7c478bd9Sstevel@tonic-gate!  220		      !}
1401*7c478bd9Sstevel@tonic-gate!  223		      !/*
1402*7c478bd9Sstevel@tonic-gate!  224		      ! * the lengths of the input arrays should be at least the following:
1403*7c478bd9Sstevel@tonic-gate!  225		      ! * result[nlen+1], dm1[nlen], dm2[2*nlen+1], dt[4*nlen+2], dn[nlen], nint[nlen]
1404*7c478bd9Sstevel@tonic-gate!  226		      ! * all of them should be different from one another
1405*7c478bd9Sstevel@tonic-gate!  227		      ! */
1406*7c478bd9Sstevel@tonic-gate!  228		      !void mont_mulf_noconv(uint32_t *result,
1407*7c478bd9Sstevel@tonic-gate!  229		      !			double *dm1, double *dm2, double *dt,
1408*7c478bd9Sstevel@tonic-gate!  230		      !			double *dn, uint32_t *nint,
1409*7c478bd9Sstevel@tonic-gate!  231		      !			int nlen, double dn0)
1410*7c478bd9Sstevel@tonic-gate!  232		      !{
1411*7c478bd9Sstevel@tonic-gate
1412*7c478bd9Sstevel@tonic-gate!
1413*7c478bd9Sstevel@tonic-gate! SUBROUTINE mont_mulf_noconv
1414*7c478bd9Sstevel@tonic-gate!
1415*7c478bd9Sstevel@tonic-gate! OFFSET    SOURCE LINE	LABEL	INSTRUCTION
1416*7c478bd9Sstevel@tonic-gate
1417*7c478bd9Sstevel@tonic-gate                       	.global mont_mulf_noconv
1418*7c478bd9Sstevel@tonic-gate                       mont_mulf_noconv:
1419*7c478bd9Sstevel@tonic-gate/* 000000	 232 */		save	%sp,-224,%sp
1420*7c478bd9Sstevel@tonic-gate                       .L900000738:
1421*7c478bd9Sstevel@tonic-gate/* 0x0004	 232 */		call	.+8
1422*7c478bd9Sstevel@tonic-gate/* 0x0008	     */		sethi	/*X*/%hi(_GLOBAL_OFFSET_TABLE_-(.L900000738-.)),%g5
1423*7c478bd9Sstevel@tonic-gate/* 0x000c	   0 */		sethi	%hi(Zero),%g2
1424*7c478bd9Sstevel@tonic-gate/* 0x0010	 232 */		ldx	[%fp+2223],%g3
1425*7c478bd9Sstevel@tonic-gate/* 0x0014	     */		fmovd	%f14,%f42
1426*7c478bd9Sstevel@tonic-gate/* 0x0018	     */		add	%g5,/*X*/%lo(_GLOBAL_OFFSET_TABLE_-(.L900000738-.)),%g5
1427*7c478bd9Sstevel@tonic-gate/* 0x001c	   0 */		add	%g2,%lo(Zero),%g2
1428*7c478bd9Sstevel@tonic-gate/* 0x0020	 232 */		sra	%g3,0,%l4
1429*7c478bd9Sstevel@tonic-gate/* 0x0024	     */		add	%g5,%o7,%o1
1430*7c478bd9Sstevel@tonic-gate
1431*7c478bd9Sstevel@tonic-gate!  233		      !	int i, j, jj;
1432*7c478bd9Sstevel@tonic-gate!  234		      !	double digit, m2j, a, b;
1433*7c478bd9Sstevel@tonic-gate!  235		      !	double *pdm1, *pdm2, *pdn, *pdtj, pdn_0, pdm1_0;
1434*7c478bd9Sstevel@tonic-gate!  237		      !	pdm1 = &(dm1[0]);
1435*7c478bd9Sstevel@tonic-gate!  238		      !	pdm2 = &(dm2[0]);
1436*7c478bd9Sstevel@tonic-gate!  239		      !	pdn = &(dn[0]);
1437*7c478bd9Sstevel@tonic-gate!  240		      !	pdm2[2 * nlen] = Zero;
1438*7c478bd9Sstevel@tonic-gate
1439*7c478bd9Sstevel@tonic-gate/* 0x0028	 240 */		sll	%l4,1,%g3
1440*7c478bd9Sstevel@tonic-gate/* 0x002c	   0 */		ldx	[%o1+%g2],%o7
1441*7c478bd9Sstevel@tonic-gate/* 0x0030	 232 */		or	%g0,%i2,%l3
1442*7c478bd9Sstevel@tonic-gate/* 0x0034	 240 */		sra	%g3,0,%g2
1443*7c478bd9Sstevel@tonic-gate/* 0x0038	 232 */		or	%g0,%i0,%l6
1444*7c478bd9Sstevel@tonic-gate/* 0x003c	 240 */		sllx	%g2,3,%i2
1445*7c478bd9Sstevel@tonic-gate/* 0x0040	     */		ldd	[%o7],%f0
1446*7c478bd9Sstevel@tonic-gate/* 0x0044	 232 */		or	%g0,%i3,%l0
1447*7c478bd9Sstevel@tonic-gate/* 0x0048	     */		or	%g0,%i5,%i0
1448*7c478bd9Sstevel@tonic-gate
1449*7c478bd9Sstevel@tonic-gate!  242		      !	if (nlen != 16) {
1450*7c478bd9Sstevel@tonic-gate
1451*7c478bd9Sstevel@tonic-gate/* 0x004c	 242 */		cmp	%l4,16
1452*7c478bd9Sstevel@tonic-gate/* 0x0050	     */		be,pn	%icc,.L77000362
1453*7c478bd9Sstevel@tonic-gate/* 0x0054	     */		std	%f0,[%l3+%i2]
1454*7c478bd9Sstevel@tonic-gate
1455*7c478bd9Sstevel@tonic-gate!  243		      !		for (i = 0; i < 4 * nlen + 2; i++)
1456*7c478bd9Sstevel@tonic-gate
1457*7c478bd9Sstevel@tonic-gate/* 0x0058	 243 */		sll	%l4,2,%g4
1458*7c478bd9Sstevel@tonic-gate/* 0x005c	 232 */		or	%g0,%i1,%l5
1459*7c478bd9Sstevel@tonic-gate/* 0x0060	 243 */		add	%g4,2,%g2
1460*7c478bd9Sstevel@tonic-gate/* 0x0064	 232 */		or	%g0,%i4,%l7
1461*7c478bd9Sstevel@tonic-gate/* 0x0068	 243 */		cmp	%g2,0
1462*7c478bd9Sstevel@tonic-gate/* 0x006c	     */		ble,a,pt	%icc,.L900000752
1463*7c478bd9Sstevel@tonic-gate/* 0x0070	 245 */		ldd	[%i1],%f4
1464*7c478bd9Sstevel@tonic-gate/* 0x0074	 243 */		add	%g4,1,%o0
1465*7c478bd9Sstevel@tonic-gate/* 0x0078	     */		or	%g0,0,%g4
1466*7c478bd9Sstevel@tonic-gate
1467*7c478bd9Sstevel@tonic-gate!  244		      !			dt[i] = Zero;
1468*7c478bd9Sstevel@tonic-gate!  245		      !		a = dt[0] = pdm1[0] * pdm2[0];
1469*7c478bd9Sstevel@tonic-gate!  246		      !		digit = mod(lower32(a, Zero) * dn0, TwoToMinus16, TwoTo16);
1470*7c478bd9Sstevel@tonic-gate!  248		      !		pdtj = &(dt[0]);
1471*7c478bd9Sstevel@tonic-gate!  249		      !		for (j = jj = 0; j < 2 * nlen; j++, jj++, pdtj++) {
1472*7c478bd9Sstevel@tonic-gate!  250		      !			m2j = pdm2[j];
1473*7c478bd9Sstevel@tonic-gate!  251		      !			a = pdtj[0] + pdn[0] * digit;
1474*7c478bd9Sstevel@tonic-gate!  252		      !			b = pdtj[1] + pdm1[0] * pdm2[j + 1] + a * TwoToMinus16;
1475*7c478bd9Sstevel@tonic-gate!  253		      !			pdtj[1] = b;
1476*7c478bd9Sstevel@tonic-gate!  255		      !#pragma pipeloop(0)
1477*7c478bd9Sstevel@tonic-gate!  256		      !			for (i = 1; i < nlen; i++) {
1478*7c478bd9Sstevel@tonic-gate!  257		      !				pdtj[2 * i] += pdm1[i] * m2j + pdn[i] * digit;
1479*7c478bd9Sstevel@tonic-gate!  258		      !			}
1480*7c478bd9Sstevel@tonic-gate!  259		      !			if (jj == 30) {
1481*7c478bd9Sstevel@tonic-gate!  260		      !				cleanup(dt, j / 2 + 1, 2 * nlen + 1);
1482*7c478bd9Sstevel@tonic-gate!  261		      !				jj = 0;
1483*7c478bd9Sstevel@tonic-gate!  262		      !			}
1484*7c478bd9Sstevel@tonic-gate!  264		      !			digit = mod(lower32(b, Zero) * dn0,
1485*7c478bd9Sstevel@tonic-gate!  265		      !				    TwoToMinus16, TwoTo16);
1486*7c478bd9Sstevel@tonic-gate!  266		      !		}
1487*7c478bd9Sstevel@tonic-gate!  267		      !	} else {
1488*7c478bd9Sstevel@tonic-gate!  268		      !		a = dt[0] = pdm1[0] * pdm2[0];
1489*7c478bd9Sstevel@tonic-gate!  270		      !		dt[65] = dt[64] = dt[63] = dt[62] = dt[61] = dt[60] =
1490*7c478bd9Sstevel@tonic-gate!  271		      !			dt[59] = dt[58] = dt[57] = dt[56] = dt[55] =
1491*7c478bd9Sstevel@tonic-gate!  272		      !			dt[54] = dt[53] = dt[52] = dt[51] = dt[50] =
1492*7c478bd9Sstevel@tonic-gate!  273		      !			dt[49] = dt[48] = dt[47] = dt[46] = dt[45] =
1493*7c478bd9Sstevel@tonic-gate!  274		      !			dt[44] = dt[43] = dt[42] = dt[41] = dt[40] =
1494*7c478bd9Sstevel@tonic-gate!  275		      !			dt[39] = dt[38] = dt[37] = dt[36] = dt[35] =
1495*7c478bd9Sstevel@tonic-gate!  276		      !			dt[34] = dt[33] = dt[32] = dt[31] = dt[30] =
1496*7c478bd9Sstevel@tonic-gate!  277		      !			dt[29] = dt[28] = dt[27] = dt[26] = dt[25] =
1497*7c478bd9Sstevel@tonic-gate!  278		      !			dt[24] = dt[23] = dt[22] = dt[21] = dt[20] =
1498*7c478bd9Sstevel@tonic-gate!  279		      !			dt[19] = dt[18] = dt[17] = dt[16] = dt[15] =
1499*7c478bd9Sstevel@tonic-gate!  280		      !			dt[14] = dt[13] = dt[12] = dt[11] = dt[10] =
1500*7c478bd9Sstevel@tonic-gate!  281		      !			dt[9] = dt[8] = dt[7] = dt[6] = dt[5] = dt[4] =
1501*7c478bd9Sstevel@tonic-gate!  282		      !			dt[3] = dt[2] = dt[1] = Zero;
1502*7c478bd9Sstevel@tonic-gate!  284		      !		pdn_0 = pdn[0];
1503*7c478bd9Sstevel@tonic-gate!  285		      !		pdm1_0 = pdm1[0];
1504*7c478bd9Sstevel@tonic-gate!  287		      !		digit = mod(lower32(a, Zero) * dn0, TwoToMinus16, TwoTo16);
1505*7c478bd9Sstevel@tonic-gate!  288		      !		pdtj = &(dt[0]);
1506*7c478bd9Sstevel@tonic-gate!  290		      !		for (j = 0; j < 32; j++, pdtj++) {
1507*7c478bd9Sstevel@tonic-gate
1508*7c478bd9Sstevel@tonic-gate/* 0x007c	 290 */		add	%o0,1,%g2
1509*7c478bd9Sstevel@tonic-gate/* 0x0080	     */		cmp	%g2,3
1510*7c478bd9Sstevel@tonic-gate/* 0x0084	     */		bl,pn	%icc,.L77000363
1511*7c478bd9Sstevel@tonic-gate/* 0x0088	     */		or	%g0,%i3,%g5
1512*7c478bd9Sstevel@tonic-gate/* 0x008c	 244 */		std	%f0,[%i3]
1513*7c478bd9Sstevel@tonic-gate/* 0x0090	     */		add	%i3,8,%g5
1514*7c478bd9Sstevel@tonic-gate/* 0x0094	 290 */		sub	%o0,1,%g2
1515*7c478bd9Sstevel@tonic-gate/* 0x0098	 244 */		or	%g0,1,%g4
1516*7c478bd9Sstevel@tonic-gate                       .L900000722:
1517*7c478bd9Sstevel@tonic-gate/* 0x009c	 244 */		std	%f0,[%g5]
1518*7c478bd9Sstevel@tonic-gate/* 0x00a0	     */		add	%g4,2,%g4
1519*7c478bd9Sstevel@tonic-gate/* 0x00a4	     */		add	%g5,16,%g5
1520*7c478bd9Sstevel@tonic-gate/* 0x00a8	     */		cmp	%g4,%g2
1521*7c478bd9Sstevel@tonic-gate/* 0x00ac	     */		ble,pt	%icc,.L900000722
1522*7c478bd9Sstevel@tonic-gate/* 0x00b0	     */		std	%f0,[%g5-8]
1523*7c478bd9Sstevel@tonic-gate                       .L900000725:
1524*7c478bd9Sstevel@tonic-gate/* 0x00b4	 244 */		cmp	%g4,%o0
1525*7c478bd9Sstevel@tonic-gate/* 0x00b8	     */		bg,pn	%icc,.L77000368
1526*7c478bd9Sstevel@tonic-gate/* 0x00bc	     */		nop ! volatile
1527*7c478bd9Sstevel@tonic-gate                       .L77000363:
1528*7c478bd9Sstevel@tonic-gate/* 0x00c0	 244 */		ldd	[%o7],%f0
1529*7c478bd9Sstevel@tonic-gate                       .L900000751:
1530*7c478bd9Sstevel@tonic-gate/* 0x00c4	 244 */		std	%f0,[%g5]
1531*7c478bd9Sstevel@tonic-gate/* 0x00c8	     */		add	%g4,1,%g4
1532*7c478bd9Sstevel@tonic-gate/* 0x00cc	     */		add	%g5,8,%g5
1533*7c478bd9Sstevel@tonic-gate/* 0x00d0	     */		cmp	%g4,%o0
1534*7c478bd9Sstevel@tonic-gate/* 0x00d4	     */		ble,a,pt	%icc,.L900000751
1535*7c478bd9Sstevel@tonic-gate/* 0x00d8	     */		ldd	[%o7],%f0
1536*7c478bd9Sstevel@tonic-gate                       .L77000368:
1537*7c478bd9Sstevel@tonic-gate/* 0x00dc	 245 */		ldd	[%i1],%f4
1538*7c478bd9Sstevel@tonic-gate                       .L900000752:
1539*7c478bd9Sstevel@tonic-gate/* 0x00e0	 249 */		cmp	%g3,0
1540*7c478bd9Sstevel@tonic-gate/* 0x00e4	 260 */		add	%g3,1,%g2
1541*7c478bd9Sstevel@tonic-gate/* 0x00e8	 245 */		ldd	[%l3],%f0
1542*7c478bd9Sstevel@tonic-gate/* 0x00ec	 260 */		sll	%g2,1,%i1
1543*7c478bd9Sstevel@tonic-gate/* 0x00f0	 248 */		or	%g0,%i3,%o4
1544*7c478bd9Sstevel@tonic-gate/* 0x00f4	 246 */		ldd	[%o7],%f2
1545*7c478bd9Sstevel@tonic-gate/* 0x00f8	 260 */		add	%l5,8,%g2
1546*7c478bd9Sstevel@tonic-gate/* 0x00fc	 249 */		or	%g0,0,%i4
1547*7c478bd9Sstevel@tonic-gate/* 0x0100	 245 */		fmuld	%f4,%f0,%f0
1548*7c478bd9Sstevel@tonic-gate/* 0x0104	     */		std	%f0,[%i3]
1549*7c478bd9Sstevel@tonic-gate/* 0x0108	 243 */		sub	%g3,1,%i3
1550*7c478bd9Sstevel@tonic-gate/* 0x010c	 246 */		ldd	[%o7-8],%f28
1551*7c478bd9Sstevel@tonic-gate/* 0x0110	 260 */		add	%l7,8,%g3
1552*7c478bd9Sstevel@tonic-gate/* 0x0114	 249 */		or	%g0,0,%l1
1553*7c478bd9Sstevel@tonic-gate/* 0x0118	 246 */		ldd	[%o7-16],%f30
1554*7c478bd9Sstevel@tonic-gate/* 0x011c	 260 */		sub	%l4,1,%o5
1555*7c478bd9Sstevel@tonic-gate/* 0x0120	     */		or	%g0,1,%l2
1556*7c478bd9Sstevel@tonic-gate/* 0x0124	     */		fdtox	%f0,%f4
1557*7c478bd9Sstevel@tonic-gate/* 0x0128	     */		fmovs	%f2,%f4
1558*7c478bd9Sstevel@tonic-gate/* 0x012c	     */		fxtod	%f4,%f0
1559*7c478bd9Sstevel@tonic-gate/* 0x0130	 246 */		fmuld	%f0,%f14,%f0
1560*7c478bd9Sstevel@tonic-gate/* 0x0134	     */		fmuld	%f0,%f28,%f2
1561*7c478bd9Sstevel@tonic-gate/* 0x0138	     */		fdtox	%f2,%f2
1562*7c478bd9Sstevel@tonic-gate/* 0x013c	     */		fxtod	%f2,%f2
1563*7c478bd9Sstevel@tonic-gate/* 0x0140	     */		fmuld	%f2,%f30,%f2
1564*7c478bd9Sstevel@tonic-gate/* 0x0144	     */		fsubd	%f0,%f2,%f22
1565*7c478bd9Sstevel@tonic-gate/* 0x0148	 249 */		ble,pt	%icc,.L900000745
1566*7c478bd9Sstevel@tonic-gate/* 0x014c	 324 */		add	%l0,%i2,%g4
1567*7c478bd9Sstevel@tonic-gate/* 0x0150	 252 */		ldd	[%l7],%f0
1568*7c478bd9Sstevel@tonic-gate/* 0x0154	 260 */		stx	%g3,[%sp+2223]
1569*7c478bd9Sstevel@tonic-gate/* 0x0158	     */		stx	%g2,[%sp+2231]
1570*7c478bd9Sstevel@tonic-gate                       .L900000746:
1571*7c478bd9Sstevel@tonic-gate/* 0x015c	 252 */		sra	%l2,0,%g2
1572*7c478bd9Sstevel@tonic-gate/* 0x0160	     */		fmuld	%f0,%f22,%f4
1573*7c478bd9Sstevel@tonic-gate/* 0x0164	     */		ldd	[%l5],%f2
1574*7c478bd9Sstevel@tonic-gate/* 0x0168	     */		sllx	%g2,3,%g2
1575*7c478bd9Sstevel@tonic-gate/* 0x016c	     */		ldd	[%o4],%f6
1576*7c478bd9Sstevel@tonic-gate/* 0x0170	 256 */		cmp	%l4,1
1577*7c478bd9Sstevel@tonic-gate/* 0x0174	 252 */		ldd	[%l3+%g2],%f0
1578*7c478bd9Sstevel@tonic-gate/* 0x0178	 250 */		sra	%l1,0,%g2
1579*7c478bd9Sstevel@tonic-gate/* 0x017c	 256 */		or	%g0,1,%g4
1580*7c478bd9Sstevel@tonic-gate/* 0x0180	 252 */		faddd	%f6,%f4,%f6
1581*7c478bd9Sstevel@tonic-gate/* 0x0184	 250 */		sllx	%g2,3,%g2
1582*7c478bd9Sstevel@tonic-gate/* 0x0188	 260 */		ldx	[%sp+2231],%g5
1583*7c478bd9Sstevel@tonic-gate/* 0x018c	 252 */		fmuld	%f2,%f0,%f0
1584*7c478bd9Sstevel@tonic-gate/* 0x0190	     */		ldd	[%o4+8],%f2
1585*7c478bd9Sstevel@tonic-gate/* 0x0194	 257 */		or	%g0,32,%o1
1586*7c478bd9Sstevel@tonic-gate/* 0x0198	 250 */		ldd	[%l3+%g2],%f24
1587*7c478bd9Sstevel@tonic-gate/* 0x019c	 256 */		sub	%l4,3,%i5
1588*7c478bd9Sstevel@tonic-gate/* 0x01a0	 257 */		or	%g0,16,%o2
1589*7c478bd9Sstevel@tonic-gate/* 0x01a4	 260 */		ldx	[%sp+2223],%g3
1590*7c478bd9Sstevel@tonic-gate/* 0x01a8	 257 */		or	%g0,6,%o3
1591*7c478bd9Sstevel@tonic-gate/* 0x01ac	 252 */		faddd	%f2,%f0,%f0
1592*7c478bd9Sstevel@tonic-gate/* 0x01b0	     */		fmuld	%f6,%f28,%f2
1593*7c478bd9Sstevel@tonic-gate/* 0x01b4	     */		faddd	%f0,%f2,%f26
1594*7c478bd9Sstevel@tonic-gate/* 0x01b8	 253 */		std	%f26,[%o4+8]
1595*7c478bd9Sstevel@tonic-gate/* 0x01bc	 256 */		ble,pt	%icc,.L900000750
1596*7c478bd9Sstevel@tonic-gate/* 0x01c0	 259 */		cmp	%i4,30
1597*7c478bd9Sstevel@tonic-gate/* 0x01c4	 256 */		cmp	%o5,7
1598*7c478bd9Sstevel@tonic-gate/* 0x01c8	     */		bl,pn	%icc,.L77000367
1599*7c478bd9Sstevel@tonic-gate/* 0x01cc	     */		or	%g0,2,%o0
1600*7c478bd9Sstevel@tonic-gate/* 0x01d0	 257 */		ldd	[%l5+8],%f4
1601*7c478bd9Sstevel@tonic-gate/* 0x01d4	     */		add	%l7,32,%g3
1602*7c478bd9Sstevel@tonic-gate/* 0x01d8	     */		add	%l5,40,%g5
1603*7c478bd9Sstevel@tonic-gate/* 0x01dc	     */		ldd	[%l7+8],%f0
1604*7c478bd9Sstevel@tonic-gate/* 0x01e0	     */		or	%g0,5,%g4
1605*7c478bd9Sstevel@tonic-gate/* 0x01e4	     */		or	%g0,6,%o0
1606*7c478bd9Sstevel@tonic-gate/* 0x01e8	     */		ldd	[%l5+16],%f2
1607*7c478bd9Sstevel@tonic-gate/* 0x01ec	     */		fmuld	%f4,%f24,%f10
1608*7c478bd9Sstevel@tonic-gate/* 0x01f0	     */		ldd	[%l7+16],%f8
1609*7c478bd9Sstevel@tonic-gate/* 0x01f4	     */		fmuld	%f0,%f22,%f0
1610*7c478bd9Sstevel@tonic-gate/* 0x01f8	     */		ldd	[%o4+16],%f14
1611*7c478bd9Sstevel@tonic-gate/* 0x01fc	     */		fmuld	%f2,%f24,%f4
1612*7c478bd9Sstevel@tonic-gate/* 0x0200	     */		ldd	[%l5+24],%f2
1613*7c478bd9Sstevel@tonic-gate/* 0x0204	     */		ldd	[%l7+24],%f6
1614*7c478bd9Sstevel@tonic-gate/* 0x0208	     */		faddd	%f10,%f0,%f10
1615*7c478bd9Sstevel@tonic-gate/* 0x020c	     */		ldd	[%o4+%o1],%f12
1616*7c478bd9Sstevel@tonic-gate/* 0x0210	     */		ldd	[%l5+32],%f0
1617*7c478bd9Sstevel@tonic-gate                       .L900000734:
1618*7c478bd9Sstevel@tonic-gate/* 0x0214	 257 */		sllx	%o0,3,%g2
1619*7c478bd9Sstevel@tonic-gate/* 0x0218	     */		add	%g4,3,%g4
1620*7c478bd9Sstevel@tonic-gate/* 0x021c	     */		ldd	[%g3],%f16
1621*7c478bd9Sstevel@tonic-gate/* 0x0220	     */		fmuld	%f8,%f22,%f8
1622*7c478bd9Sstevel@tonic-gate/* 0x0224	     */		add	%o3,2,%o0
1623*7c478bd9Sstevel@tonic-gate/* 0x0228	     */		cmp	%g4,%i5
1624*7c478bd9Sstevel@tonic-gate/* 0x022c	     */		ldd	[%o4+%g2],%f18
1625*7c478bd9Sstevel@tonic-gate/* 0x0230	     */		sra	%o0,0,%o3
1626*7c478bd9Sstevel@tonic-gate/* 0x0234	     */		add	%g3,24,%g3
1627*7c478bd9Sstevel@tonic-gate/* 0x0238	     */		ldd	[%g5],%f20
1628*7c478bd9Sstevel@tonic-gate/* 0x023c	     */		faddd	%f14,%f10,%f10
1629*7c478bd9Sstevel@tonic-gate/* 0x0240	     */		std	%f10,[%o4+%o2]
1630*7c478bd9Sstevel@tonic-gate/* 0x0244	     */		faddd	%f4,%f8,%f4
1631*7c478bd9Sstevel@tonic-gate/* 0x0248	     */		add	%g5,24,%g5
1632*7c478bd9Sstevel@tonic-gate/* 0x024c	     */		fmuld	%f2,%f24,%f10
1633*7c478bd9Sstevel@tonic-gate/* 0x0250	     */		fmuld	%f6,%f22,%f6
1634*7c478bd9Sstevel@tonic-gate/* 0x0254	     */		sllx	%o3,3,%o2
1635*7c478bd9Sstevel@tonic-gate/* 0x0258	     */		ldd	[%g3-16],%f8
1636*7c478bd9Sstevel@tonic-gate/* 0x025c	     */		add	%o0,2,%o0
1637*7c478bd9Sstevel@tonic-gate/* 0x0260	     */		ldd	[%o4+%o2],%f14
1638*7c478bd9Sstevel@tonic-gate/* 0x0264	     */		sra	%o0,0,%o3
1639*7c478bd9Sstevel@tonic-gate/* 0x0268	     */		faddd	%f12,%f4,%f4
1640*7c478bd9Sstevel@tonic-gate/* 0x026c	     */		ldd	[%g5-16],%f2
1641*7c478bd9Sstevel@tonic-gate/* 0x0270	     */		std	%f4,[%o4+%o1]
1642*7c478bd9Sstevel@tonic-gate/* 0x0274	     */		faddd	%f10,%f6,%f4
1643*7c478bd9Sstevel@tonic-gate/* 0x0278	     */		fmuld	%f0,%f24,%f10
1644*7c478bd9Sstevel@tonic-gate/* 0x027c	     */		fmuld	%f16,%f22,%f16
1645*7c478bd9Sstevel@tonic-gate/* 0x0280	     */		sllx	%o3,3,%o1
1646*7c478bd9Sstevel@tonic-gate/* 0x0284	     */		ldd	[%g3-8],%f6
1647*7c478bd9Sstevel@tonic-gate/* 0x0288	     */		add	%o0,2,%o3
1648*7c478bd9Sstevel@tonic-gate/* 0x028c	     */		ldd	[%o4+%o1],%f12
1649*7c478bd9Sstevel@tonic-gate/* 0x0290	     */		sra	%o3,0,%o0
1650*7c478bd9Sstevel@tonic-gate/* 0x0294	     */		faddd	%f18,%f4,%f4
1651*7c478bd9Sstevel@tonic-gate/* 0x0298	     */		ldd	[%g5-8],%f0
1652*7c478bd9Sstevel@tonic-gate/* 0x029c	     */		std	%f4,[%o4+%g2]
1653*7c478bd9Sstevel@tonic-gate/* 0x02a0	     */		faddd	%f10,%f16,%f10
1654*7c478bd9Sstevel@tonic-gate/* 0x02a4	     */		ble,pt	%icc,.L900000734
1655*7c478bd9Sstevel@tonic-gate/* 0x02a8	     */		fmuld	%f20,%f24,%f4
1656*7c478bd9Sstevel@tonic-gate                       .L900000737:
1657*7c478bd9Sstevel@tonic-gate/* 0x02ac	 257 */		fmuld	%f8,%f22,%f8
1658*7c478bd9Sstevel@tonic-gate/* 0x02b0	     */		ldd	[%g3],%f16
1659*7c478bd9Sstevel@tonic-gate/* 0x02b4	     */		sllx	%o0,3,%g2
1660*7c478bd9Sstevel@tonic-gate/* 0x02b8	     */		faddd	%f14,%f10,%f10
1661*7c478bd9Sstevel@tonic-gate/* 0x02bc	     */		ldd	[%o4+%g2],%f14
1662*7c478bd9Sstevel@tonic-gate/* 0x02c0	     */		fmuld	%f2,%f24,%f2
1663*7c478bd9Sstevel@tonic-gate/* 0x02c4	     */		add	%o3,2,%o0
1664*7c478bd9Sstevel@tonic-gate/* 0x02c8	     */		fmuld	%f6,%f22,%f6
1665*7c478bd9Sstevel@tonic-gate/* 0x02cc	     */		std	%f10,[%o4+%o2]
1666*7c478bd9Sstevel@tonic-gate/* 0x02d0	     */		sra	%o0,0,%o2
1667*7c478bd9Sstevel@tonic-gate/* 0x02d4	     */		faddd	%f4,%f8,%f4
1668*7c478bd9Sstevel@tonic-gate/* 0x02d8	     */		fmuld	%f0,%f24,%f0
1669*7c478bd9Sstevel@tonic-gate/* 0x02dc	     */		sllx	%o2,3,%o2
1670*7c478bd9Sstevel@tonic-gate/* 0x02e0	     */		fmuld	%f16,%f22,%f8
1671*7c478bd9Sstevel@tonic-gate/* 0x02e4	     */		cmp	%g4,%o5
1672*7c478bd9Sstevel@tonic-gate/* 0x02e8	     */		add	%o3,4,%o0
1673*7c478bd9Sstevel@tonic-gate/* 0x02ec	     */		faddd	%f2,%f6,%f2
1674*7c478bd9Sstevel@tonic-gate/* 0x02f0	     */		add	%g3,8,%g3
1675*7c478bd9Sstevel@tonic-gate/* 0x02f4	     */		ldd	[%o4+%o2],%f10
1676*7c478bd9Sstevel@tonic-gate/* 0x02f8	     */		faddd	%f12,%f4,%f4
1677*7c478bd9Sstevel@tonic-gate/* 0x02fc	     */		faddd	%f0,%f8,%f0
1678*7c478bd9Sstevel@tonic-gate/* 0x0300	     */		std	%f4,[%o4+%o1]
1679*7c478bd9Sstevel@tonic-gate/* 0x0304	     */		faddd	%f14,%f2,%f2
1680*7c478bd9Sstevel@tonic-gate/* 0x0308	     */		std	%f2,[%o4+%g2]
1681*7c478bd9Sstevel@tonic-gate/* 0x030c	     */		faddd	%f10,%f0,%f0
1682*7c478bd9Sstevel@tonic-gate/* 0x0310	     */		bg,pn	%icc,.L77000296
1683*7c478bd9Sstevel@tonic-gate/* 0x0314	     */		std	%f0,[%o4+%o2]
1684*7c478bd9Sstevel@tonic-gate                       .L77000367:
1685*7c478bd9Sstevel@tonic-gate/* 0x0318	 257 */		ldd	[%g5],%f2
1686*7c478bd9Sstevel@tonic-gate                       .L900000749:
1687*7c478bd9Sstevel@tonic-gate/* 0x031c	 257 */		ldd	[%g3],%f0
1688*7c478bd9Sstevel@tonic-gate/* 0x0320	     */		fmuld	%f2,%f24,%f2
1689*7c478bd9Sstevel@tonic-gate/* 0x0324	     */		sra	%o0,0,%g2
1690*7c478bd9Sstevel@tonic-gate/* 0x0328	     */		sllx	%g2,3,%g2
1691*7c478bd9Sstevel@tonic-gate/* 0x032c	     */		add	%g4,1,%g4
1692*7c478bd9Sstevel@tonic-gate/* 0x0330	     */		fmuld	%f0,%f22,%f0
1693*7c478bd9Sstevel@tonic-gate/* 0x0334	     */		ldd	[%o4+%g2],%f4
1694*7c478bd9Sstevel@tonic-gate/* 0x0338	     */		add	%g5,8,%g5
1695*7c478bd9Sstevel@tonic-gate/* 0x033c	     */		add	%g3,8,%g3
1696*7c478bd9Sstevel@tonic-gate/* 0x0340	     */		add	%o0,2,%o0
1697*7c478bd9Sstevel@tonic-gate/* 0x0344	     */		cmp	%g4,%o5
1698*7c478bd9Sstevel@tonic-gate/* 0x0348	     */		faddd	%f2,%f0,%f0
1699*7c478bd9Sstevel@tonic-gate/* 0x034c	     */		faddd	%f4,%f0,%f0
1700*7c478bd9Sstevel@tonic-gate/* 0x0350	     */		std	%f0,[%o4+%g2]
1701*7c478bd9Sstevel@tonic-gate/* 0x0354	     */		ble,a,pt	%icc,.L900000749
1702*7c478bd9Sstevel@tonic-gate/* 0x0358	     */		ldd	[%g5],%f2
1703*7c478bd9Sstevel@tonic-gate                       .L77000296:
1704*7c478bd9Sstevel@tonic-gate/* 0x035c	 259 */		cmp	%i4,30
1705*7c478bd9Sstevel@tonic-gate                       .L900000750:
1706*7c478bd9Sstevel@tonic-gate/* 0x0360	 259 */		bne,a,pt	%icc,.L900000748
1707*7c478bd9Sstevel@tonic-gate/* 0x0364	     */		fdtox	%f26,%f0
1708*7c478bd9Sstevel@tonic-gate/* 0x0368	 260 */		srl	%l1,31,%g2
1709*7c478bd9Sstevel@tonic-gate/* 0x036c	     */		ldd	[%o7],%f12
1710*7c478bd9Sstevel@tonic-gate/* 0x0370	 259 */		sub	%i1,1,%o0
1711*7c478bd9Sstevel@tonic-gate/* 0x0374	 260 */		add	%l1,%g2,%g2
1712*7c478bd9Sstevel@tonic-gate/* 0x0378	     */		sra	%g2,1,%g2
1713*7c478bd9Sstevel@tonic-gate/* 0x037c	     */		fmovd	%f12,%f10
1714*7c478bd9Sstevel@tonic-gate/* 0x0380	     */		add	%g2,1,%g2
1715*7c478bd9Sstevel@tonic-gate/* 0x0384	     */		sll	%g2,1,%g2
1716*7c478bd9Sstevel@tonic-gate/* 0x0388	     */		cmp	%g2,%i1
1717*7c478bd9Sstevel@tonic-gate/* 0x038c	     */		bge,pt	%icc,.L77000298
1718*7c478bd9Sstevel@tonic-gate/* 0x0390	 261 */		or	%g0,0,%i4
1719*7c478bd9Sstevel@tonic-gate/* 0x0394	 260 */		or	%g0,%g2,%g4
1720*7c478bd9Sstevel@tonic-gate/* 0x0398	 259 */		add	%g2,1,%g5
1721*7c478bd9Sstevel@tonic-gate/* 0x039c	 260 */		sra	%g4,0,%g2
1722*7c478bd9Sstevel@tonic-gate                       .L900000747:
1723*7c478bd9Sstevel@tonic-gate/* 0x03a0	 260 */		sllx	%g2,3,%g2
1724*7c478bd9Sstevel@tonic-gate/* 0x03a4	     */		ldd	[%o7],%f4
1725*7c478bd9Sstevel@tonic-gate/* 0x03a8	     */		add	%g4,2,%g4
1726*7c478bd9Sstevel@tonic-gate/* 0x03ac	     */		sra	%g5,0,%g3
1727*7c478bd9Sstevel@tonic-gate/* 0x03b0	     */		ldd	[%l0+%g2],%f6
1728*7c478bd9Sstevel@tonic-gate/* 0x03b4	     */		add	%g5,2,%g5
1729*7c478bd9Sstevel@tonic-gate/* 0x03b8	     */		sllx	%g3,3,%g3
1730*7c478bd9Sstevel@tonic-gate/* 0x03bc	     */		cmp	%g4,%o0
1731*7c478bd9Sstevel@tonic-gate/* 0x03c0	     */		ldd	[%l0+%g3],%f8
1732*7c478bd9Sstevel@tonic-gate/* 0x03c4	     */		fdtox	%f6,%f0
1733*7c478bd9Sstevel@tonic-gate/* 0x03c8	     */		fdtox	%f8,%f2
1734*7c478bd9Sstevel@tonic-gate/* 0x03cc	     */		fmovs	%f4,%f0
1735*7c478bd9Sstevel@tonic-gate/* 0x03d0	     */		fmovs	%f4,%f2
1736*7c478bd9Sstevel@tonic-gate/* 0x03d4	     */		fxtod	%f0,%f0
1737*7c478bd9Sstevel@tonic-gate/* 0x03d8	     */		fdtox	%f6,%f4
1738*7c478bd9Sstevel@tonic-gate/* 0x03dc	     */		fxtod	%f2,%f2
1739*7c478bd9Sstevel@tonic-gate/* 0x03e0	     */		fdtox	%f8,%f6
1740*7c478bd9Sstevel@tonic-gate/* 0x03e4	     */		faddd	%f0,%f10,%f0
1741*7c478bd9Sstevel@tonic-gate/* 0x03e8	     */		std	%f0,[%l0+%g2]
1742*7c478bd9Sstevel@tonic-gate/* 0x03ec	     */		faddd	%f2,%f12,%f0
1743*7c478bd9Sstevel@tonic-gate/* 0x03f0	     */		std	%f0,[%l0+%g3]
1744*7c478bd9Sstevel@tonic-gate/* 0x03f4	     */		fitod	%f4,%f10
1745*7c478bd9Sstevel@tonic-gate/* 0x03f8	     */		fitod	%f6,%f12
1746*7c478bd9Sstevel@tonic-gate/* 0x03fc	     */		ble,pt	%icc,.L900000747
1747*7c478bd9Sstevel@tonic-gate/* 0x0400	     */		sra	%g4,0,%g2
1748*7c478bd9Sstevel@tonic-gate                       .L77000316:
1749*7c478bd9Sstevel@tonic-gate/* 0x0404	 261 */		or	%g0,0,%i4
1750*7c478bd9Sstevel@tonic-gate                       .L77000298:
1751*7c478bd9Sstevel@tonic-gate/* 0x0408	     */		fdtox	%f26,%f0
1752*7c478bd9Sstevel@tonic-gate                       .L900000748:
1753*7c478bd9Sstevel@tonic-gate/* 0x040c	 265 */		ldd	[%o7],%f2
1754*7c478bd9Sstevel@tonic-gate/* 0x0410	     */		add	%l1,1,%l1
1755*7c478bd9Sstevel@tonic-gate/* 0x0414	     */		add	%l2,1,%l2
1756*7c478bd9Sstevel@tonic-gate/* 0x0418	     */		add	%i4,1,%i4
1757*7c478bd9Sstevel@tonic-gate/* 0x041c	     */		add	%o4,8,%o4
1758*7c478bd9Sstevel@tonic-gate/* 0x0420	     */		cmp	%l1,%i3
1759*7c478bd9Sstevel@tonic-gate/* 0x0424	     */		fmovs	%f2,%f0
1760*7c478bd9Sstevel@tonic-gate/* 0x0428	     */		fxtod	%f0,%f0
1761*7c478bd9Sstevel@tonic-gate/* 0x042c	     */		fmuld	%f0,%f42,%f0
1762*7c478bd9Sstevel@tonic-gate/* 0x0430	     */		fmuld	%f0,%f28,%f2
1763*7c478bd9Sstevel@tonic-gate/* 0x0434	     */		fdtox	%f2,%f2
1764*7c478bd9Sstevel@tonic-gate/* 0x0438	     */		fxtod	%f2,%f2
1765*7c478bd9Sstevel@tonic-gate/* 0x043c	     */		fmuld	%f2,%f30,%f2
1766*7c478bd9Sstevel@tonic-gate/* 0x0440	     */		fsubd	%f0,%f2,%f22
1767*7c478bd9Sstevel@tonic-gate/* 0x0444	     */		ble,a,pt	%icc,.L900000746
1768*7c478bd9Sstevel@tonic-gate/* 0x0448	 252 */		ldd	[%l7],%f0
1769*7c478bd9Sstevel@tonic-gate                       .L900000721:
1770*7c478bd9Sstevel@tonic-gate/* 0x044c	 265 */		ba	.L900000745
1771*7c478bd9Sstevel@tonic-gate/* 0x0450	 324 */		add	%l0,%i2,%g4
1772*7c478bd9Sstevel@tonic-gate                       .L77000362:
1773*7c478bd9Sstevel@tonic-gate/* 0x0454	 268 */		ldd	[%i1],%f4
1774*7c478bd9Sstevel@tonic-gate/* 0x0458	 290 */		or	%g0,1,%g5
1775*7c478bd9Sstevel@tonic-gate/* 0x045c	 288 */		or	%g0,%i3,%g4
1776*7c478bd9Sstevel@tonic-gate/* 0x0460	 268 */		ldd	[%l3],%f2
1777*7c478bd9Sstevel@tonic-gate/* 0x0464	 282 */		std	%f0,[%i3+8]
1778*7c478bd9Sstevel@tonic-gate/* 0x0468	     */		std	%f0,[%i3+16]
1779*7c478bd9Sstevel@tonic-gate/* 0x046c	 268 */		fmuld	%f4,%f2,%f2
1780*7c478bd9Sstevel@tonic-gate/* 0x0470	     */		std	%f2,[%i3]
1781*7c478bd9Sstevel@tonic-gate/* 0x0474	 282 */		std	%f0,[%i3+24]
1782*7c478bd9Sstevel@tonic-gate/* 0x0478	     */		std	%f0,[%i3+32]
1783*7c478bd9Sstevel@tonic-gate/* 0x047c	     */		fdtox	%f2,%f2
1784*7c478bd9Sstevel@tonic-gate/* 0x0480	     */		std	%f0,[%i3+40]
1785*7c478bd9Sstevel@tonic-gate/* 0x0484	     */		std	%f0,[%i3+48]
1786*7c478bd9Sstevel@tonic-gate/* 0x0488	     */		std	%f0,[%i3+56]
1787*7c478bd9Sstevel@tonic-gate/* 0x048c	     */		std	%f0,[%i3+64]
1788*7c478bd9Sstevel@tonic-gate/* 0x0490	     */		fmovs	%f0,%f2
1789*7c478bd9Sstevel@tonic-gate/* 0x0494	     */		std	%f0,[%i3+72]
1790*7c478bd9Sstevel@tonic-gate/* 0x0498	     */		std	%f0,[%i3+80]
1791*7c478bd9Sstevel@tonic-gate/* 0x049c	     */		fxtod	%f2,%f2
1792*7c478bd9Sstevel@tonic-gate/* 0x04a0	     */		std	%f0,[%i3+88]
1793*7c478bd9Sstevel@tonic-gate/* 0x04a4	     */		std	%f0,[%i3+96]
1794*7c478bd9Sstevel@tonic-gate/* 0x04a8	     */		std	%f0,[%i3+104]
1795*7c478bd9Sstevel@tonic-gate/* 0x04ac	     */		std	%f0,[%i3+112]
1796*7c478bd9Sstevel@tonic-gate/* 0x04b0	     */		std	%f0,[%i3+120]
1797*7c478bd9Sstevel@tonic-gate/* 0x04b4	     */		std	%f0,[%i3+128]
1798*7c478bd9Sstevel@tonic-gate/* 0x04b8	     */		std	%f0,[%i3+136]
1799*7c478bd9Sstevel@tonic-gate/* 0x04bc	     */		std	%f0,[%i3+144]
1800*7c478bd9Sstevel@tonic-gate/* 0x04c0	     */		std	%f0,[%i3+152]
1801*7c478bd9Sstevel@tonic-gate/* 0x04c4	     */		std	%f0,[%i3+160]
1802*7c478bd9Sstevel@tonic-gate/* 0x04c8	     */		std	%f0,[%i3+168]
1803*7c478bd9Sstevel@tonic-gate/* 0x04cc	     */		std	%f0,[%i3+176]
1804*7c478bd9Sstevel@tonic-gate/* 0x04d0	     */		std	%f0,[%i3+184]
1805*7c478bd9Sstevel@tonic-gate/* 0x04d4	     */		std	%f0,[%i3+192]
1806*7c478bd9Sstevel@tonic-gate/* 0x04d8	     */		std	%f0,[%i3+200]
1807*7c478bd9Sstevel@tonic-gate/* 0x04dc	     */		std	%f0,[%i3+208]
1808*7c478bd9Sstevel@tonic-gate/* 0x04e0	     */		std	%f0,[%i3+216]
1809*7c478bd9Sstevel@tonic-gate/* 0x04e4	     */		std	%f0,[%i3+224]
1810*7c478bd9Sstevel@tonic-gate/* 0x04e8	     */		std	%f0,[%i3+232]
1811*7c478bd9Sstevel@tonic-gate/* 0x04ec	     */		std	%f0,[%i3+240]
1812*7c478bd9Sstevel@tonic-gate/* 0x04f0	     */		std	%f0,[%i3+248]
1813*7c478bd9Sstevel@tonic-gate/* 0x04f4	 287 */		fmuld	%f2,%f14,%f6
1814*7c478bd9Sstevel@tonic-gate
1815*7c478bd9Sstevel@tonic-gate!  292		      !			m2j = pdm2[j];
1816*7c478bd9Sstevel@tonic-gate!  293		      !			a = pdtj[0] + pdn_0 * digit;
1817*7c478bd9Sstevel@tonic-gate!  294		      !			b = pdtj[1] + pdm1_0 * pdm2[j + 1] + a * TwoToMinus16;
1818*7c478bd9Sstevel@tonic-gate
1819*7c478bd9Sstevel@tonic-gate/* 0x04f8	 294 */		sra	%g5,0,%g2
1820*7c478bd9Sstevel@tonic-gate/* 0x04fc	 282 */		std	%f0,[%i3+256]
1821*7c478bd9Sstevel@tonic-gate/* 0x0500	 290 */		or	%g0,0,%g3
1822*7c478bd9Sstevel@tonic-gate/* 0x0504	 282 */		std	%f0,[%i3+264]
1823*7c478bd9Sstevel@tonic-gate/* 0x0508	     */		std	%f0,[%i3+272]
1824*7c478bd9Sstevel@tonic-gate/* 0x050c	     */		std	%f0,[%i3+280]
1825*7c478bd9Sstevel@tonic-gate/* 0x0510	     */		std	%f0,[%i3+288]
1826*7c478bd9Sstevel@tonic-gate/* 0x0514	     */		std	%f0,[%i3+296]
1827*7c478bd9Sstevel@tonic-gate/* 0x0518	     */		std	%f0,[%i3+304]
1828*7c478bd9Sstevel@tonic-gate/* 0x051c	     */		std	%f0,[%i3+312]
1829*7c478bd9Sstevel@tonic-gate/* 0x0520	     */		std	%f0,[%i3+320]
1830*7c478bd9Sstevel@tonic-gate/* 0x0524	     */		std	%f0,[%i3+328]
1831*7c478bd9Sstevel@tonic-gate/* 0x0528	     */		std	%f0,[%i3+336]
1832*7c478bd9Sstevel@tonic-gate/* 0x052c	     */		std	%f0,[%i3+344]
1833*7c478bd9Sstevel@tonic-gate/* 0x0530	     */		std	%f0,[%i3+352]
1834*7c478bd9Sstevel@tonic-gate/* 0x0534	     */		std	%f0,[%i3+360]
1835*7c478bd9Sstevel@tonic-gate/* 0x0538	     */		std	%f0,[%i3+368]
1836*7c478bd9Sstevel@tonic-gate/* 0x053c	     */		std	%f0,[%i3+376]
1837*7c478bd9Sstevel@tonic-gate/* 0x0540	     */		std	%f0,[%i3+384]
1838*7c478bd9Sstevel@tonic-gate/* 0x0544	     */		std	%f0,[%i3+392]
1839*7c478bd9Sstevel@tonic-gate/* 0x0548	     */		std	%f0,[%i3+400]
1840*7c478bd9Sstevel@tonic-gate/* 0x054c	     */		std	%f0,[%i3+408]
1841*7c478bd9Sstevel@tonic-gate/* 0x0550	 287 */		ldd	[%o7-8],%f44
1842*7c478bd9Sstevel@tonic-gate/* 0x0554	     */		ldd	[%o7-16],%f46
1843*7c478bd9Sstevel@tonic-gate/* 0x0558	 282 */		std	%f0,[%i3+416]
1844*7c478bd9Sstevel@tonic-gate/* 0x055c	     */		fmuld	%f6,%f44,%f4
1845*7c478bd9Sstevel@tonic-gate/* 0x0560	     */		std	%f0,[%i3+424]
1846*7c478bd9Sstevel@tonic-gate/* 0x0564	     */		std	%f0,[%i3+432]
1847*7c478bd9Sstevel@tonic-gate/* 0x0568	     */		std	%f0,[%i3+440]
1848*7c478bd9Sstevel@tonic-gate/* 0x056c	     */		fdtox	%f4,%f2
1849*7c478bd9Sstevel@tonic-gate/* 0x0570	     */		std	%f0,[%i3+448]
1850*7c478bd9Sstevel@tonic-gate/* 0x0574	     */		std	%f0,[%i3+456]
1851*7c478bd9Sstevel@tonic-gate/* 0x0578	     */		std	%f0,[%i3+464]
1852*7c478bd9Sstevel@tonic-gate/* 0x057c	     */		fxtod	%f2,%f2
1853*7c478bd9Sstevel@tonic-gate/* 0x0580	     */		std	%f0,[%i3+472]
1854*7c478bd9Sstevel@tonic-gate/* 0x0584	     */		std	%f0,[%i3+480]
1855*7c478bd9Sstevel@tonic-gate/* 0x0588	     */		std	%f0,[%i3+488]
1856*7c478bd9Sstevel@tonic-gate/* 0x058c	     */		fmuld	%f2,%f46,%f2
1857*7c478bd9Sstevel@tonic-gate/* 0x0590	     */		std	%f0,[%i3+496]
1858*7c478bd9Sstevel@tonic-gate/* 0x0594	     */		std	%f0,[%i3+504]
1859*7c478bd9Sstevel@tonic-gate/* 0x0598	     */		std	%f0,[%i3+512]
1860*7c478bd9Sstevel@tonic-gate/* 0x059c	     */		fsubd	%f6,%f2,%f38
1861*7c478bd9Sstevel@tonic-gate/* 0x05a0	     */		std	%f0,[%i3+520]
1862*7c478bd9Sstevel@tonic-gate/* 0x05a4	 284 */		ldd	[%i4],%f36
1863*7c478bd9Sstevel@tonic-gate/* 0x05a8	 285 */		ldd	[%i1],%f40
1864*7c478bd9Sstevel@tonic-gate                       .L900000744:
1865*7c478bd9Sstevel@tonic-gate
1866*7c478bd9Sstevel@tonic-gate
1867*7c478bd9Sstevel@tonic-gate
1868*7c478bd9Sstevel@tonic-gate
1869*7c478bd9Sstevel@tonic-gate	fmovd %f38,%f0
1870*7c478bd9Sstevel@tonic-gate	fmovd %f42,%f18
1871*7c478bd9Sstevel@tonic-gate	ldd [%i4],%f2
1872*7c478bd9Sstevel@tonic-gate	ldd [%g4],%f8
1873*7c478bd9Sstevel@tonic-gate	ldd [%i1],%f10
1874*7c478bd9Sstevel@tonic-gate	ldd [%o7-8],%f14
1875*7c478bd9Sstevel@tonic-gate	ldd [%o7-16],%f16
1876*7c478bd9Sstevel@tonic-gate	ldd [%l3],%f24
1877*7c478bd9Sstevel@tonic-gate
1878*7c478bd9Sstevel@tonic-gate	ldd [%i1+8],%f26
1879*7c478bd9Sstevel@tonic-gate	ldd [%i1+16],%f40
1880*7c478bd9Sstevel@tonic-gate	ldd [%i1+48],%f46
1881*7c478bd9Sstevel@tonic-gate	ldd [%i1+56],%f30
1882*7c478bd9Sstevel@tonic-gate	ldd [%i1+64],%f54
1883*7c478bd9Sstevel@tonic-gate	ldd [%i1+104],%f34
1884*7c478bd9Sstevel@tonic-gate	ldd [%i1+112],%f58
1885*7c478bd9Sstevel@tonic-gate
1886*7c478bd9Sstevel@tonic-gate	ldd [%i4+8],%f28
1887*7c478bd9Sstevel@tonic-gate	ldd [%i4+104],%f38
1888*7c478bd9Sstevel@tonic-gate	ldd [%i4+112],%f60
1889*7c478bd9Sstevel@tonic-gate
1890*7c478bd9Sstevel@tonic-gate
1891*7c478bd9Sstevel@tonic-gate	.L99999999:
1892*7c478bd9Sstevel@tonic-gate!1
1893*7c478bd9Sstevel@tonic-gate	ldd	[%i1+24],%f32
1894*7c478bd9Sstevel@tonic-gate	fmuld	%f0,%f2,%f4
1895*7c478bd9Sstevel@tonic-gate!2
1896*7c478bd9Sstevel@tonic-gate	ldd	[%i4+24],%f36
1897*7c478bd9Sstevel@tonic-gate	fmuld	%f26,%f24,%f20
1898*7c478bd9Sstevel@tonic-gate!3
1899*7c478bd9Sstevel@tonic-gate	ldd	[%i1+40],%f42
1900*7c478bd9Sstevel@tonic-gate	fmuld	%f28,%f0,%f22
1901*7c478bd9Sstevel@tonic-gate!4
1902*7c478bd9Sstevel@tonic-gate	ldd	[%i4+40],%f44
1903*7c478bd9Sstevel@tonic-gate	fmuld	%f32,%f24,%f32
1904*7c478bd9Sstevel@tonic-gate!5
1905*7c478bd9Sstevel@tonic-gate	ldd	[%l3+8],%f6
1906*7c478bd9Sstevel@tonic-gate	faddd	%f4,%f8,%f4
1907*7c478bd9Sstevel@tonic-gate	fmuld	%f36,%f0,%f36
1908*7c478bd9Sstevel@tonic-gate!6
1909*7c478bd9Sstevel@tonic-gate	add	%l3,8,%l3
1910*7c478bd9Sstevel@tonic-gate	ldd	[%i4+56],%f50
1911*7c478bd9Sstevel@tonic-gate	fmuld	%f42,%f24,%f42
1912*7c478bd9Sstevel@tonic-gate!7
1913*7c478bd9Sstevel@tonic-gate	ldd	[%i1+72],%f52
1914*7c478bd9Sstevel@tonic-gate	faddd	%f20,%f22,%f20
1915*7c478bd9Sstevel@tonic-gate	fmuld	%f44,%f0,%f44
1916*7c478bd9Sstevel@tonic-gate!8
1917*7c478bd9Sstevel@tonic-gate	ldd	[%g4+16],%f22
1918*7c478bd9Sstevel@tonic-gate	fmuld	%f10,%f6,%f12
1919*7c478bd9Sstevel@tonic-gate!9
1920*7c478bd9Sstevel@tonic-gate	ldd	[%i4+72],%f56
1921*7c478bd9Sstevel@tonic-gate	faddd	%f32,%f36,%f32
1922*7c478bd9Sstevel@tonic-gate	fmuld	%f14,%f4,%f4
1923*7c478bd9Sstevel@tonic-gate!10
1924*7c478bd9Sstevel@tonic-gate	ldd	[%g4+48],%f36
1925*7c478bd9Sstevel@tonic-gate	fmuld	%f30,%f24,%f48
1926*7c478bd9Sstevel@tonic-gate!11
1927*7c478bd9Sstevel@tonic-gate	ldd	[%g4+8],%f8
1928*7c478bd9Sstevel@tonic-gate	faddd	%f20,%f22,%f20
1929*7c478bd9Sstevel@tonic-gate	fmuld	%f50,%f0,%f50
1930*7c478bd9Sstevel@tonic-gate!12
1931*7c478bd9Sstevel@tonic-gate	std	%f20,[%g4+16]
1932*7c478bd9Sstevel@tonic-gate	faddd	%f42,%f44,%f42
1933*7c478bd9Sstevel@tonic-gate	fmuld	%f52,%f24,%f52
1934*7c478bd9Sstevel@tonic-gate!13
1935*7c478bd9Sstevel@tonic-gate	ldd	[%g4+80],%f44
1936*7c478bd9Sstevel@tonic-gate	faddd	%f4,%f12,%f4
1937*7c478bd9Sstevel@tonic-gate	fmuld	%f56,%f0,%f56
1938*7c478bd9Sstevel@tonic-gate!14
1939*7c478bd9Sstevel@tonic-gate	ldd	[%i1+88],%f20
1940*7c478bd9Sstevel@tonic-gate	faddd	%f32,%f36,%f32
1941*7c478bd9Sstevel@tonic-gate!15
1942*7c478bd9Sstevel@tonic-gate	ldd	[%i4+88],%f22
1943*7c478bd9Sstevel@tonic-gate	faddd	%f48,%f50,%f48
1944*7c478bd9Sstevel@tonic-gate!16
1945*7c478bd9Sstevel@tonic-gate	ldd	[%g4+112],%f50
1946*7c478bd9Sstevel@tonic-gate	faddd	%f52,%f56,%f52
1947*7c478bd9Sstevel@tonic-gate!17
1948*7c478bd9Sstevel@tonic-gate	ldd	[%g4+144],%f56
1949*7c478bd9Sstevel@tonic-gate	faddd	%f4,%f8,%f8
1950*7c478bd9Sstevel@tonic-gate	fmuld	%f20,%f24,%f20
1951*7c478bd9Sstevel@tonic-gate!18
1952*7c478bd9Sstevel@tonic-gate	std	%f32,[%g4+48]
1953*7c478bd9Sstevel@tonic-gate	faddd	%f42,%f44,%f42
1954*7c478bd9Sstevel@tonic-gate	fmuld	%f22,%f0,%f22
1955*7c478bd9Sstevel@tonic-gate!19
1956*7c478bd9Sstevel@tonic-gate	std	%f42,[%g4+80]
1957*7c478bd9Sstevel@tonic-gate	faddd	%f48,%f50,%f48
1958*7c478bd9Sstevel@tonic-gate	fmuld	%f34,%f24,%f32
1959*7c478bd9Sstevel@tonic-gate!20
1960*7c478bd9Sstevel@tonic-gate	std	%f48,[%g4+112]
1961*7c478bd9Sstevel@tonic-gate	faddd	%f52,%f56,%f52
1962*7c478bd9Sstevel@tonic-gate	fmuld	%f38,%f0,%f36
1963*7c478bd9Sstevel@tonic-gate!21
1964*7c478bd9Sstevel@tonic-gate	ldd	[%i1+120],%f42
1965*7c478bd9Sstevel@tonic-gate	fdtox	%f8,%f4
1966*7c478bd9Sstevel@tonic-gate!22
1967*7c478bd9Sstevel@tonic-gate	std	%f52,[%g4+144]
1968*7c478bd9Sstevel@tonic-gate	faddd	%f20,%f22,%f20
1969*7c478bd9Sstevel@tonic-gate!23
1970*7c478bd9Sstevel@tonic-gate	ldd	[%i4+120],%f44
1971*7c478bd9Sstevel@tonic-gate!24
1972*7c478bd9Sstevel@tonic-gate	ldd	[%g4+176],%f22
1973*7c478bd9Sstevel@tonic-gate	faddd	%f32,%f36,%f32
1974*7c478bd9Sstevel@tonic-gate	fmuld	%f42,%f24,%f42
1975*7c478bd9Sstevel@tonic-gate!25
1976*7c478bd9Sstevel@tonic-gate	ldd	[%i4+16],%f50
1977*7c478bd9Sstevel@tonic-gate	fmovs	%f17,%f4
1978*7c478bd9Sstevel@tonic-gate!26
1979*7c478bd9Sstevel@tonic-gate	ldd	[%i1+32],%f52
1980*7c478bd9Sstevel@tonic-gate	fmuld	%f44,%f0,%f44
1981*7c478bd9Sstevel@tonic-gate!27
1982*7c478bd9Sstevel@tonic-gate	ldd	[%i4+32],%f56
1983*7c478bd9Sstevel@tonic-gate	fmuld	%f40,%f24,%f48
1984*7c478bd9Sstevel@tonic-gate!28
1985*7c478bd9Sstevel@tonic-gate	ldd	[%g4+208],%f36
1986*7c478bd9Sstevel@tonic-gate	faddd	%f20,%f22,%f20
1987*7c478bd9Sstevel@tonic-gate	fmuld	%f50,%f0,%f50
1988*7c478bd9Sstevel@tonic-gate!29
1989*7c478bd9Sstevel@tonic-gate	std	%f20,[%g4+176]
1990*7c478bd9Sstevel@tonic-gate	fxtod	%f4,%f4
1991*7c478bd9Sstevel@tonic-gate	fmuld	%f52,%f24,%f52
1992*7c478bd9Sstevel@tonic-gate!30
1993*7c478bd9Sstevel@tonic-gate	ldd	[%i4+48],%f22
1994*7c478bd9Sstevel@tonic-gate	faddd	%f42,%f44,%f42
1995*7c478bd9Sstevel@tonic-gate	fmuld	%f56,%f0,%f56
1996*7c478bd9Sstevel@tonic-gate!31
1997*7c478bd9Sstevel@tonic-gate	ldd	[%g4+240],%f44
1998*7c478bd9Sstevel@tonic-gate	faddd	%f32,%f36,%f32
1999*7c478bd9Sstevel@tonic-gate!32
2000*7c478bd9Sstevel@tonic-gate	std	%f32,[%g4+208]
2001*7c478bd9Sstevel@tonic-gate	faddd	%f48,%f50,%f48
2002*7c478bd9Sstevel@tonic-gate	fmuld	%f46,%f24,%f20
2003*7c478bd9Sstevel@tonic-gate!33
2004*7c478bd9Sstevel@tonic-gate	ldd	[%g4+32],%f50
2005*7c478bd9Sstevel@tonic-gate	fmuld	%f4,%f18,%f12
2006*7c478bd9Sstevel@tonic-gate!34
2007*7c478bd9Sstevel@tonic-gate	ldd	[%i4+64],%f36
2008*7c478bd9Sstevel@tonic-gate	faddd	%f52,%f56,%f52
2009*7c478bd9Sstevel@tonic-gate	fmuld	%f22,%f0,%f22
2010*7c478bd9Sstevel@tonic-gate!35
2011*7c478bd9Sstevel@tonic-gate	ldd	[%g4+64],%f56
2012*7c478bd9Sstevel@tonic-gate	faddd	%f42,%f44,%f42
2013*7c478bd9Sstevel@tonic-gate!36
2014*7c478bd9Sstevel@tonic-gate	std	%f42,[%g4+240]
2015*7c478bd9Sstevel@tonic-gate	faddd	%f48,%f50,%f48
2016*7c478bd9Sstevel@tonic-gate	fmuld	%f54,%f24,%f32
2017*7c478bd9Sstevel@tonic-gate!37
2018*7c478bd9Sstevel@tonic-gate	std	%f48,[%g4+32]
2019*7c478bd9Sstevel@tonic-gate	fmuld	%f12,%f14,%f4
2020*7c478bd9Sstevel@tonic-gate!38
2021*7c478bd9Sstevel@tonic-gate	ldd	[%i1+80],%f42
2022*7c478bd9Sstevel@tonic-gate	faddd	%f52,%f56,%f56	! yes, tmp52!
2023*7c478bd9Sstevel@tonic-gate	fmuld	%f36,%f0,%f36
2024*7c478bd9Sstevel@tonic-gate!39
2025*7c478bd9Sstevel@tonic-gate	ldd	[%i4+80],%f44
2026*7c478bd9Sstevel@tonic-gate	faddd	%f20,%f22,%f20
2027*7c478bd9Sstevel@tonic-gate!40
2028*7c478bd9Sstevel@tonic-gate	ldd	[%i1+96],%f48
2029*7c478bd9Sstevel@tonic-gate	fmuld	%f58,%f24,%f52
2030*7c478bd9Sstevel@tonic-gate!41
2031*7c478bd9Sstevel@tonic-gate	ldd	[%i4+96],%f50
2032*7c478bd9Sstevel@tonic-gate	fdtox	%f4,%f4
2033*7c478bd9Sstevel@tonic-gate	fmuld	%f42,%f24,%f42
2034*7c478bd9Sstevel@tonic-gate!42
2035*7c478bd9Sstevel@tonic-gate	std	%f56,[%g4+64]	! yes, tmp52!
2036*7c478bd9Sstevel@tonic-gate	faddd	%f32,%f36,%f32
2037*7c478bd9Sstevel@tonic-gate	fmuld	%f44,%f0,%f44
2038*7c478bd9Sstevel@tonic-gate!43
2039*7c478bd9Sstevel@tonic-gate	ldd	[%g4+96],%f22
2040*7c478bd9Sstevel@tonic-gate	fmuld	%f48,%f24,%f48
2041*7c478bd9Sstevel@tonic-gate!44
2042*7c478bd9Sstevel@tonic-gate	ldd	[%g4+128],%f36
2043*7c478bd9Sstevel@tonic-gate	fmovd	%f6,%f24
2044*7c478bd9Sstevel@tonic-gate	fmuld	%f50,%f0,%f50
2045*7c478bd9Sstevel@tonic-gate!45
2046*7c478bd9Sstevel@tonic-gate	fxtod	%f4,%f4
2047*7c478bd9Sstevel@tonic-gate	fmuld	%f60,%f0,%f56
2048*7c478bd9Sstevel@tonic-gate!46
2049*7c478bd9Sstevel@tonic-gate	add	%g4,8,%g4
2050*7c478bd9Sstevel@tonic-gate	faddd	%f42,%f44,%f42
2051*7c478bd9Sstevel@tonic-gate!47
2052*7c478bd9Sstevel@tonic-gate	ldd	[%g4+160-8],%f44
2053*7c478bd9Sstevel@tonic-gate	faddd	%f20,%f22,%f20
2054*7c478bd9Sstevel@tonic-gate!48
2055*7c478bd9Sstevel@tonic-gate	std	%f20,[%g4+96-8]
2056*7c478bd9Sstevel@tonic-gate	faddd	%f48,%f50,%f48
2057*7c478bd9Sstevel@tonic-gate!49
2058*7c478bd9Sstevel@tonic-gate	ldd	[%g4+192-8],%f50
2059*7c478bd9Sstevel@tonic-gate	faddd	%f52,%f56,%f52
2060*7c478bd9Sstevel@tonic-gate	fmuld	%f4,%f16,%f4
2061*7c478bd9Sstevel@tonic-gate!50
2062*7c478bd9Sstevel@tonic-gate	ldd	[%g4+224-8],%f56
2063*7c478bd9Sstevel@tonic-gate	faddd	%f32,%f36,%f32
2064*7c478bd9Sstevel@tonic-gate!51
2065*7c478bd9Sstevel@tonic-gate	std	%f32,[%g4+128-8]
2066*7c478bd9Sstevel@tonic-gate	faddd	%f42,%f44,%f42
2067*7c478bd9Sstevel@tonic-gate!52
2068*7c478bd9Sstevel@tonic-gate	add	%g3,1,%g3
2069*7c478bd9Sstevel@tonic-gate	std	%f42,[%g4+160-8]
2070*7c478bd9Sstevel@tonic-gate	faddd	%f48,%f50,%f48
2071*7c478bd9Sstevel@tonic-gate!53
2072*7c478bd9Sstevel@tonic-gate	cmp	%g3,31
2073*7c478bd9Sstevel@tonic-gate	std	%f48,[%g4+192-8]
2074*7c478bd9Sstevel@tonic-gate	fsubd	%f12,%f4,%f0
2075*7c478bd9Sstevel@tonic-gate!54
2076*7c478bd9Sstevel@tonic-gate	faddd	%f52,%f56,%f52
2077*7c478bd9Sstevel@tonic-gate	ble,pt	%icc,.L99999999
2078*7c478bd9Sstevel@tonic-gate	std	%f52,[%g4+224-8]
2079*7c478bd9Sstevel@tonic-gate!55
2080*7c478bd9Sstevel@tonic-gate	std %f8,[%g4]
2081*7c478bd9Sstevel@tonic-gate
2082*7c478bd9Sstevel@tonic-gate
2083*7c478bd9Sstevel@tonic-gate
2084*7c478bd9Sstevel@tonic-gate
2085*7c478bd9Sstevel@tonic-gate
2086*7c478bd9Sstevel@tonic-gate
2087*7c478bd9Sstevel@tonic-gate
2088*7c478bd9Sstevel@tonic-gate!  321		      !		}
2089*7c478bd9Sstevel@tonic-gate!  322		      !	}
2090*7c478bd9Sstevel@tonic-gate!  324		      !	conv_d16_to_i32(result, dt + 2 * nlen, (int64_t *)dt, nlen + 1);
2091*7c478bd9Sstevel@tonic-gate
2092*7c478bd9Sstevel@tonic-gate                       .L77000371:
2093*7c478bd9Sstevel@tonic-gate/* 0x0808	 324 */		add	%l0,%i2,%g4
2094*7c478bd9Sstevel@tonic-gate                       .L900000745:
2095*7c478bd9Sstevel@tonic-gate/* 0x080c	 324 */		ldd	[%l0+%i2],%f0
2096*7c478bd9Sstevel@tonic-gate/* 0x0810	   0 */		or	%g0,-1,%l3
2097*7c478bd9Sstevel@tonic-gate/* 0x0814	 324 */		ldd	[%g4+8],%f2
2098*7c478bd9Sstevel@tonic-gate/* 0x0818	     */		or	%g0,0,%i2
2099*7c478bd9Sstevel@tonic-gate/* 0x081c	     */		or	%g0,0,%o5
2100*7c478bd9Sstevel@tonic-gate/* 0x0820	     */		fdtox	%f0,%f0
2101*7c478bd9Sstevel@tonic-gate/* 0x0824	     */		std	%f0,[%sp+2263]
2102*7c478bd9Sstevel@tonic-gate/* 0x0828	     */		cmp	%l4,0
2103*7c478bd9Sstevel@tonic-gate/* 0x082c	     */		fdtox	%f2,%f0
2104*7c478bd9Sstevel@tonic-gate/* 0x0830	     */		std	%f0,[%sp+2255]
2105*7c478bd9Sstevel@tonic-gate/* 0x0834	 320 */		srl	%l3,0,%l2
2106*7c478bd9Sstevel@tonic-gate/* 0x0838	     */		or	%g0,2,%o0
2107*7c478bd9Sstevel@tonic-gate/* 0x083c	     */		sub	%l4,1,%l0
2108*7c478bd9Sstevel@tonic-gate/* 0x0840	     */		or	%g0,%l6,%o7
2109*7c478bd9Sstevel@tonic-gate/* 0x0844	 324 */		or	%g0,32,%o3
2110*7c478bd9Sstevel@tonic-gate/* 0x0848	     */		or	%g0,16,%g3
2111*7c478bd9Sstevel@tonic-gate/* 0x084c	     */		or	%g0,40,%o4
2112*7c478bd9Sstevel@tonic-gate/* 0x0850	     */		ldx	[%sp+2255],%g5
2113*7c478bd9Sstevel@tonic-gate/* 0x0854	     */		or	%g0,9,%i3
2114*7c478bd9Sstevel@tonic-gate/* 0x0858	     */		or	%g0,8,%i4
2115*7c478bd9Sstevel@tonic-gate/* 0x085c	     */		ldx	[%sp+2263],%o1
2116*7c478bd9Sstevel@tonic-gate/* 0x0860	     */		ble,pt	%icc,.L900000743
2117*7c478bd9Sstevel@tonic-gate/* 0x0864	 320 */		sethi	%hi(0xfc00),%g2
2118*7c478bd9Sstevel@tonic-gate/* 0x0868	     */		sethi	%hi(0xfc00),%g2
2119*7c478bd9Sstevel@tonic-gate/* 0x086c	 324 */		cmp	%l4,7
2120*7c478bd9Sstevel@tonic-gate/* 0x0870	 320 */		add	%g2,1023,%l1
2121*7c478bd9Sstevel@tonic-gate/* 0x0874	 324 */		bl,pn	%icc,.L77000372
2122*7c478bd9Sstevel@tonic-gate/* 0x0878	     */		or	%g0,3,%o2
2123*7c478bd9Sstevel@tonic-gate/* 0x087c	     */		ldd	[%g4+16],%f0
2124*7c478bd9Sstevel@tonic-gate/* 0x0880	     */		srax	%g5,16,%o2
2125*7c478bd9Sstevel@tonic-gate/* 0x0884	     */		and	%g5,%l1,%g3
2126*7c478bd9Sstevel@tonic-gate/* 0x0888	     */		ldd	[%g4+24],%f2
2127*7c478bd9Sstevel@tonic-gate/* 0x088c	     */		sllx	%g3,16,%o0
2128*7c478bd9Sstevel@tonic-gate/* 0x0890	     */		and	%o1,%l2,%i1
2129*7c478bd9Sstevel@tonic-gate/* 0x0894	     */		fdtox	%f0,%f0
2130*7c478bd9Sstevel@tonic-gate/* 0x0898	     */		std	%f0,[%sp+2247]
2131*7c478bd9Sstevel@tonic-gate/* 0x089c	     */		add	%i1,%o0,%i1
2132*7c478bd9Sstevel@tonic-gate/* 0x08a0	     */		fdtox	%f2,%f0
2133*7c478bd9Sstevel@tonic-gate/* 0x08a4	     */		std	%f0,[%sp+2239]
2134*7c478bd9Sstevel@tonic-gate/* 0x08a8	     */		or	%g0,48,%g3
2135*7c478bd9Sstevel@tonic-gate/* 0x08ac	     */		ldd	[%g4+%o4],%f2
2136*7c478bd9Sstevel@tonic-gate/* 0x08b0	     */		or	%g0,56,%o4
2137*7c478bd9Sstevel@tonic-gate/* 0x08b4	     */		or	%g0,3,%o5
2138*7c478bd9Sstevel@tonic-gate/* 0x08b8	     */		ldd	[%g4+%o3],%f0
2139*7c478bd9Sstevel@tonic-gate/* 0x08bc	     */		sub	%l4,4,%o3
2140*7c478bd9Sstevel@tonic-gate/* 0x08c0	     */		fdtox	%f2,%f2
2141*7c478bd9Sstevel@tonic-gate/* 0x08c4	     */		ldx	[%sp+2247],%g2
2142*7c478bd9Sstevel@tonic-gate/* 0x08c8	     */		fdtox	%f0,%f0
2143*7c478bd9Sstevel@tonic-gate/* 0x08cc	     */		std	%f0,[%sp+2247]
2144*7c478bd9Sstevel@tonic-gate/* 0x08d0	     */		srax	%g2,32,%l7
2145*7c478bd9Sstevel@tonic-gate/* 0x08d4	     */		ldd	[%g4+%g3],%f0
2146*7c478bd9Sstevel@tonic-gate/* 0x08d8	     */		and	%g2,%l2,%g2
2147*7c478bd9Sstevel@tonic-gate/* 0x08dc	     */		srax	%o1,32,%g3
2148*7c478bd9Sstevel@tonic-gate/* 0x08e0	     */		ldx	[%sp+2239],%o0
2149*7c478bd9Sstevel@tonic-gate/* 0x08e4	     */		std	%f2,[%sp+2239]
2150*7c478bd9Sstevel@tonic-gate/* 0x08e8	     */		srax	%o0,16,%i2
2151*7c478bd9Sstevel@tonic-gate/* 0x08ec	     */		ldd	[%g4+%o4],%f2
2152*7c478bd9Sstevel@tonic-gate/* 0x08f0	     */		and	%o0,%l1,%g5
2153*7c478bd9Sstevel@tonic-gate/* 0x08f4	     */		srax	%i1,32,%o4
2154*7c478bd9Sstevel@tonic-gate/* 0x08f8	     */		ldx	[%sp+2247],%l5
2155*7c478bd9Sstevel@tonic-gate                       .L900000726:
2156*7c478bd9Sstevel@tonic-gate/* 0x08fc	 324 */		sra	%i4,0,%o0
2157*7c478bd9Sstevel@tonic-gate/* 0x0900	     */		add	%o2,%o4,%o1
2158*7c478bd9Sstevel@tonic-gate/* 0x0904	     */		ldx	[%sp+2239],%o2
2159*7c478bd9Sstevel@tonic-gate/* 0x0908	     */		fdtox	%f0,%f0
2160*7c478bd9Sstevel@tonic-gate/* 0x090c	     */		std	%f0,[%sp+2247]
2161*7c478bd9Sstevel@tonic-gate/* 0x0910	     */		sllx	%o0,3,%o0
2162*7c478bd9Sstevel@tonic-gate/* 0x0914	     */		add	%g3,%o1,%o1
2163*7c478bd9Sstevel@tonic-gate/* 0x0918	     */		sra	%i3,0,%g3
2164*7c478bd9Sstevel@tonic-gate/* 0x091c	     */		and	%i1,%l2,%o4
2165*7c478bd9Sstevel@tonic-gate/* 0x0920	     */		ldd	[%g4+%o0],%f0
2166*7c478bd9Sstevel@tonic-gate/* 0x0924	     */		fdtox	%f2,%f2
2167*7c478bd9Sstevel@tonic-gate/* 0x0928	     */		std	%f2,[%sp+2239]
2168*7c478bd9Sstevel@tonic-gate/* 0x092c	     */		sllx	%g3,3,%g3
2169*7c478bd9Sstevel@tonic-gate/* 0x0930	     */		add	%i3,2,%o0
2170*7c478bd9Sstevel@tonic-gate/* 0x0934	     */		sllx	%g5,16,%i1
2171*7c478bd9Sstevel@tonic-gate/* 0x0938	     */		add	%i4,2,%g5
2172*7c478bd9Sstevel@tonic-gate/* 0x093c	     */		ldd	[%g4+%g3],%f2
2173*7c478bd9Sstevel@tonic-gate/* 0x0940	     */		st	%o4,[%o7]
2174*7c478bd9Sstevel@tonic-gate/* 0x0944	     */		add	%g2,%i1,%g2
2175*7c478bd9Sstevel@tonic-gate/* 0x0948	     */		add	%o5,3,%o5
2176*7c478bd9Sstevel@tonic-gate/* 0x094c	     */		add	%g2,%o1,%g3
2177*7c478bd9Sstevel@tonic-gate/* 0x0950	     */		srax	%l5,32,%g2
2178*7c478bd9Sstevel@tonic-gate/* 0x0954	     */		and	%l5,%l2,%i1
2179*7c478bd9Sstevel@tonic-gate/* 0x0958	     */		srax	%g3,32,%l5
2180*7c478bd9Sstevel@tonic-gate/* 0x095c	     */		ldx	[%sp+2247],%o4
2181*7c478bd9Sstevel@tonic-gate/* 0x0960	     */		srax	%o2,16,%o1
2182*7c478bd9Sstevel@tonic-gate/* 0x0964	     */		and	%o2,%l1,%i3
2183*7c478bd9Sstevel@tonic-gate/* 0x0968	     */		sra	%g5,0,%o2
2184*7c478bd9Sstevel@tonic-gate/* 0x096c	     */		add	%i2,%l5,%i2
2185*7c478bd9Sstevel@tonic-gate/* 0x0970	     */		ldx	[%sp+2239],%l5
2186*7c478bd9Sstevel@tonic-gate/* 0x0974	     */		fdtox	%f0,%f0
2187*7c478bd9Sstevel@tonic-gate/* 0x0978	     */		std	%f0,[%sp+2247]
2188*7c478bd9Sstevel@tonic-gate/* 0x097c	     */		sllx	%o2,3,%o2
2189*7c478bd9Sstevel@tonic-gate/* 0x0980	     */		add	%l7,%i2,%i2
2190*7c478bd9Sstevel@tonic-gate/* 0x0984	     */		sra	%o0,0,%l7
2191*7c478bd9Sstevel@tonic-gate/* 0x0988	     */		and	%g3,%l2,%g3
2192*7c478bd9Sstevel@tonic-gate/* 0x098c	     */		ldd	[%g4+%o2],%f0
2193*7c478bd9Sstevel@tonic-gate/* 0x0990	     */		fdtox	%f2,%f2
2194*7c478bd9Sstevel@tonic-gate/* 0x0994	     */		std	%f2,[%sp+2239]
2195*7c478bd9Sstevel@tonic-gate/* 0x0998	     */		sllx	%l7,3,%o2
2196*7c478bd9Sstevel@tonic-gate/* 0x099c	     */		add	%o0,2,%o0
2197*7c478bd9Sstevel@tonic-gate/* 0x09a0	     */		sllx	%i3,16,%l7
2198*7c478bd9Sstevel@tonic-gate/* 0x09a4	     */		add	%i4,4,%g5
2199*7c478bd9Sstevel@tonic-gate/* 0x09a8	     */		ldd	[%g4+%o2],%f2
2200*7c478bd9Sstevel@tonic-gate/* 0x09ac	     */		st	%g3,[%o7+4]
2201*7c478bd9Sstevel@tonic-gate/* 0x09b0	     */		add	%i1,%l7,%g3
2202*7c478bd9Sstevel@tonic-gate/* 0x09b4	     */		cmp	%o5,%o3
2203*7c478bd9Sstevel@tonic-gate/* 0x09b8	     */		add	%g3,%i2,%i1
2204*7c478bd9Sstevel@tonic-gate/* 0x09bc	     */		srax	%o4,32,%g3
2205*7c478bd9Sstevel@tonic-gate/* 0x09c0	     */		and	%o4,%l2,%l7
2206*7c478bd9Sstevel@tonic-gate/* 0x09c4	     */		srax	%i1,32,%i2
2207*7c478bd9Sstevel@tonic-gate/* 0x09c8	     */		ldx	[%sp+2247],%o4
2208*7c478bd9Sstevel@tonic-gate/* 0x09cc	     */		srax	%l5,16,%o2
2209*7c478bd9Sstevel@tonic-gate/* 0x09d0	     */		and	%l5,%l1,%l5
2210*7c478bd9Sstevel@tonic-gate/* 0x09d4	     */		sra	%g5,0,%i3
2211*7c478bd9Sstevel@tonic-gate/* 0x09d8	     */		add	%o1,%i2,%i2
2212*7c478bd9Sstevel@tonic-gate/* 0x09dc	     */		ldx	[%sp+2239],%o1
2213*7c478bd9Sstevel@tonic-gate/* 0x09e0	     */		fdtox	%f0,%f0
2214*7c478bd9Sstevel@tonic-gate/* 0x09e4	     */		std	%f0,[%sp+2247]
2215*7c478bd9Sstevel@tonic-gate/* 0x09e8	     */		sllx	%i3,3,%i3
2216*7c478bd9Sstevel@tonic-gate/* 0x09ec	     */		add	%g2,%i2,%g2
2217*7c478bd9Sstevel@tonic-gate/* 0x09f0	     */		sra	%o0,0,%i2
2218*7c478bd9Sstevel@tonic-gate/* 0x09f4	     */		and	%i1,%l2,%i1
2219*7c478bd9Sstevel@tonic-gate/* 0x09f8	     */		ldd	[%g4+%i3],%f0
2220*7c478bd9Sstevel@tonic-gate/* 0x09fc	     */		fdtox	%f2,%f2
2221*7c478bd9Sstevel@tonic-gate/* 0x0a00	     */		std	%f2,[%sp+2239]
2222*7c478bd9Sstevel@tonic-gate/* 0x0a04	     */		sllx	%i2,3,%i2
2223*7c478bd9Sstevel@tonic-gate/* 0x0a08	     */		add	%o0,2,%i3
2224*7c478bd9Sstevel@tonic-gate/* 0x0a0c	     */		sllx	%l5,16,%o0
2225*7c478bd9Sstevel@tonic-gate/* 0x0a10	     */		add	%i4,6,%i4
2226*7c478bd9Sstevel@tonic-gate/* 0x0a14	     */		ldd	[%g4+%i2],%f2
2227*7c478bd9Sstevel@tonic-gate/* 0x0a18	     */		st	%i1,[%o7+8]
2228*7c478bd9Sstevel@tonic-gate/* 0x0a1c	     */		add	%l7,%o0,%g5
2229*7c478bd9Sstevel@tonic-gate/* 0x0a20	     */		add	%o7,12,%o7
2230*7c478bd9Sstevel@tonic-gate/* 0x0a24	     */		add	%g5,%g2,%i1
2231*7c478bd9Sstevel@tonic-gate/* 0x0a28	     */		srax	%o4,32,%l7
2232*7c478bd9Sstevel@tonic-gate/* 0x0a2c	     */		and	%o4,%l2,%g2
2233*7c478bd9Sstevel@tonic-gate/* 0x0a30	     */		srax	%i1,32,%o4
2234*7c478bd9Sstevel@tonic-gate/* 0x0a34	     */		ldx	[%sp+2247],%l5
2235*7c478bd9Sstevel@tonic-gate/* 0x0a38	     */		srax	%o1,16,%i2
2236*7c478bd9Sstevel@tonic-gate/* 0x0a3c	     */		ble,pt	%icc,.L900000726
2237*7c478bd9Sstevel@tonic-gate/* 0x0a40	     */		and	%o1,%l1,%g5
2238*7c478bd9Sstevel@tonic-gate                       .L900000729:
2239*7c478bd9Sstevel@tonic-gate/* 0x0a44	 324 */		sllx	%g5,16,%g5
2240*7c478bd9Sstevel@tonic-gate/* 0x0a48	     */		ldx	[%sp+2239],%o1
2241*7c478bd9Sstevel@tonic-gate/* 0x0a4c	     */		add	%o2,%o4,%o0
2242*7c478bd9Sstevel@tonic-gate/* 0x0a50	     */		add	%g3,%o0,%g3
2243*7c478bd9Sstevel@tonic-gate/* 0x0a54	     */		add	%g2,%g5,%g2
2244*7c478bd9Sstevel@tonic-gate/* 0x0a58	     */		fdtox	%f2,%f2
2245*7c478bd9Sstevel@tonic-gate/* 0x0a5c	     */		sra	%i3,0,%g5
2246*7c478bd9Sstevel@tonic-gate/* 0x0a60	     */		std	%f2,[%sp+2239]
2247*7c478bd9Sstevel@tonic-gate/* 0x0a64	     */		add	%g2,%g3,%o2
2248*7c478bd9Sstevel@tonic-gate/* 0x0a68	     */		sra	%i4,0,%g2
2249*7c478bd9Sstevel@tonic-gate/* 0x0a6c	     */		and	%o1,%l1,%o0
2250*7c478bd9Sstevel@tonic-gate/* 0x0a70	     */		fdtox	%f0,%f0
2251*7c478bd9Sstevel@tonic-gate/* 0x0a74	     */		srax	%o2,32,%g3
2252*7c478bd9Sstevel@tonic-gate/* 0x0a78	     */		std	%f0,[%sp+2247]
2253*7c478bd9Sstevel@tonic-gate/* 0x0a7c	     */		add	%o5,1,%o5
2254*7c478bd9Sstevel@tonic-gate/* 0x0a80	     */		sllx	%g2,3,%g2
2255*7c478bd9Sstevel@tonic-gate/* 0x0a84	     */		add	%i2,%g3,%g3
2256*7c478bd9Sstevel@tonic-gate/* 0x0a88	     */		sllx	%g5,3,%g5
2257*7c478bd9Sstevel@tonic-gate/* 0x0a8c	     */		ldd	[%g4+%g2],%f0
2258*7c478bd9Sstevel@tonic-gate/* 0x0a90	     */		and	%l5,%l2,%i2
2259*7c478bd9Sstevel@tonic-gate/* 0x0a94	     */		sllx	%o0,16,%g2
2260*7c478bd9Sstevel@tonic-gate/* 0x0a98	     */		ldd	[%g4+%g5],%f2
2261*7c478bd9Sstevel@tonic-gate/* 0x0a9c	     */		add	%l7,%g3,%g3
2262*7c478bd9Sstevel@tonic-gate/* 0x0aa0	     */		srax	%o1,16,%o1
2263*7c478bd9Sstevel@tonic-gate/* 0x0aa4	     */		ldx	[%sp+2239],%o3
2264*7c478bd9Sstevel@tonic-gate/* 0x0aa8	     */		add	%i2,%g2,%g2
2265*7c478bd9Sstevel@tonic-gate/* 0x0aac	     */		srax	%l5,32,%l5
2266*7c478bd9Sstevel@tonic-gate/* 0x0ab0	     */		ldx	[%sp+2247],%o4
2267*7c478bd9Sstevel@tonic-gate/* 0x0ab4	     */		add	%g2,%g3,%g2
2268*7c478bd9Sstevel@tonic-gate/* 0x0ab8	     */		srax	%g2,32,%g5
2269*7c478bd9Sstevel@tonic-gate/* 0x0abc	     */		and	%o3,%l1,%g3
2270*7c478bd9Sstevel@tonic-gate/* 0x0ac0	     */		fdtox	%f0,%f0
2271*7c478bd9Sstevel@tonic-gate/* 0x0ac4	     */		sllx	%g3,16,%g3
2272*7c478bd9Sstevel@tonic-gate/* 0x0ac8	     */		std	%f0,[%sp+2247]
2273*7c478bd9Sstevel@tonic-gate/* 0x0acc	     */		and	%o4,%l2,%o0
2274*7c478bd9Sstevel@tonic-gate/* 0x0ad0	     */		srax	%o3,16,%o3
2275*7c478bd9Sstevel@tonic-gate/* 0x0ad4	     */		add	%o1,%g5,%g5
2276*7c478bd9Sstevel@tonic-gate/* 0x0ad8	     */		fdtox	%f2,%f2
2277*7c478bd9Sstevel@tonic-gate/* 0x0adc	     */		std	%f2,[%sp+2239]
2278*7c478bd9Sstevel@tonic-gate/* 0x0ae0	     */		srax	%o4,32,%o4
2279*7c478bd9Sstevel@tonic-gate/* 0x0ae4	     */		add	%o0,%g3,%g3
2280*7c478bd9Sstevel@tonic-gate/* 0x0ae8	     */		add	%l5,%g5,%l5
2281*7c478bd9Sstevel@tonic-gate/* 0x0aec	     */		and	%o2,%l2,%o0
2282*7c478bd9Sstevel@tonic-gate/* 0x0af0	     */		st	%o0,[%o7+4]
2283*7c478bd9Sstevel@tonic-gate/* 0x0af4	     */		ldx	[%sp+2247],%o1
2284*7c478bd9Sstevel@tonic-gate/* 0x0af8	     */		and	%i1,%l2,%l7
2285*7c478bd9Sstevel@tonic-gate/* 0x0afc	     */		add	%g3,%l5,%g3
2286*7c478bd9Sstevel@tonic-gate/* 0x0b00	     */		st	%l7,[%o7]
2287*7c478bd9Sstevel@tonic-gate/* 0x0b04	     */		srax	%g3,32,%l5
2288*7c478bd9Sstevel@tonic-gate/* 0x0b08	     */		add	%o7,16,%o7
2289*7c478bd9Sstevel@tonic-gate/* 0x0b0c	     */		ldx	[%sp+2239],%g5
2290*7c478bd9Sstevel@tonic-gate/* 0x0b10	     */		and	%g2,%l2,%g2
2291*7c478bd9Sstevel@tonic-gate/* 0x0b14	     */		add	%o3,%l5,%o3
2292*7c478bd9Sstevel@tonic-gate/* 0x0b18	     */		st	%g2,[%o7-8]
2293*7c478bd9Sstevel@tonic-gate/* 0x0b1c	     */		and	%g3,%l2,%g2
2294*7c478bd9Sstevel@tonic-gate/* 0x0b20	     */		cmp	%o5,%l0
2295*7c478bd9Sstevel@tonic-gate/* 0x0b24	     */		st	%g2,[%o7-4]
2296*7c478bd9Sstevel@tonic-gate/* 0x0b28	     */		bg,pn	%icc,.L77000319
2297*7c478bd9Sstevel@tonic-gate/* 0x0b2c	     */		add	%o4,%o3,%i2
2298*7c478bd9Sstevel@tonic-gate/* 0x0b30	     */		add	%i3,2,%o2
2299*7c478bd9Sstevel@tonic-gate/* 0x0b34	     */		add	%i4,2,%o0
2300*7c478bd9Sstevel@tonic-gate                       .L77000372:
2301*7c478bd9Sstevel@tonic-gate/* 0x0b38	 324 */		sra	%o0,0,%g2
2302*7c478bd9Sstevel@tonic-gate                       .L900000742:
2303*7c478bd9Sstevel@tonic-gate/* 0x0b3c	 324 */		sllx	%g2,3,%g2
2304*7c478bd9Sstevel@tonic-gate/* 0x0b40	     */		and	%g5,%l1,%o4
2305*7c478bd9Sstevel@tonic-gate/* 0x0b44	     */		sra	%o2,0,%o3
2306*7c478bd9Sstevel@tonic-gate/* 0x0b48	     */		ldd	[%g4+%g2],%f0
2307*7c478bd9Sstevel@tonic-gate/* 0x0b4c	     */		and	%o1,%l2,%g3
2308*7c478bd9Sstevel@tonic-gate/* 0x0b50	     */		sllx	%o3,3,%o3
2309*7c478bd9Sstevel@tonic-gate/* 0x0b54	     */		add	%i2,%g3,%g3
2310*7c478bd9Sstevel@tonic-gate/* 0x0b58	     */		sllx	%o4,16,%g2
2311*7c478bd9Sstevel@tonic-gate/* 0x0b5c	     */		ldd	[%g4+%o3],%f2
2312*7c478bd9Sstevel@tonic-gate/* 0x0b60	     */		fdtox	%f0,%f0
2313*7c478bd9Sstevel@tonic-gate/* 0x0b64	     */		srax	%g5,16,%o4
2314*7c478bd9Sstevel@tonic-gate/* 0x0b68	     */		std	%f0,[%sp+2247]
2315*7c478bd9Sstevel@tonic-gate/* 0x0b6c	     */		add	%g3,%g2,%g2
2316*7c478bd9Sstevel@tonic-gate/* 0x0b70	     */		srax	%g2,32,%o3
2317*7c478bd9Sstevel@tonic-gate/* 0x0b74	     */		and	%g2,%l2,%g3
2318*7c478bd9Sstevel@tonic-gate/* 0x0b78	     */		fdtox	%f2,%f0
2319*7c478bd9Sstevel@tonic-gate/* 0x0b7c	     */		srax	%o1,32,%o1
2320*7c478bd9Sstevel@tonic-gate/* 0x0b80	     */		std	%f0,[%sp+2239]
2321*7c478bd9Sstevel@tonic-gate/* 0x0b84	     */		add	%o4,%o3,%o3
2322*7c478bd9Sstevel@tonic-gate/* 0x0b88	     */		st	%g3,[%o7]
2323*7c478bd9Sstevel@tonic-gate/* 0x0b8c	     */		add	%o5,1,%o5
2324*7c478bd9Sstevel@tonic-gate/* 0x0b90	     */		add	%o1,%o3,%i2
2325*7c478bd9Sstevel@tonic-gate/* 0x0b94	     */		ldx	[%sp+2247],%g2
2326*7c478bd9Sstevel@tonic-gate/* 0x0b98	     */		add	%o0,2,%o0
2327*7c478bd9Sstevel@tonic-gate/* 0x0b9c	     */		add	%o2,2,%o2
2328*7c478bd9Sstevel@tonic-gate/* 0x0ba0	     */		ldx	[%sp+2239],%g5
2329*7c478bd9Sstevel@tonic-gate/* 0x0ba4	     */		add	%o7,4,%o7
2330*7c478bd9Sstevel@tonic-gate/* 0x0ba8	     */		cmp	%o5,%l0
2331*7c478bd9Sstevel@tonic-gate/* 0x0bac	     */		or	%g0,%g2,%o1
2332*7c478bd9Sstevel@tonic-gate/* 0x0bb0	     */		ble,pt	%icc,.L900000742
2333*7c478bd9Sstevel@tonic-gate/* 0x0bb4	     */		sra	%o0,0,%g2
2334*7c478bd9Sstevel@tonic-gate                       .L77000319:
2335*7c478bd9Sstevel@tonic-gate/* 0x0bb8	 320 */		sethi	%hi(0xfc00),%g2
2336*7c478bd9Sstevel@tonic-gate                       .L900000743:
2337*7c478bd9Sstevel@tonic-gate/* 0x0bbc	 320 */		srl	%l3,0,%o0
2338*7c478bd9Sstevel@tonic-gate/* 0x0bc0	     */		add	%g2,1023,%g2
2339*7c478bd9Sstevel@tonic-gate/* 0x0bc4	     */		and	%g5,%g2,%g2
2340*7c478bd9Sstevel@tonic-gate/* 0x0bc8	     */		and	%o1,%o0,%g3
2341*7c478bd9Sstevel@tonic-gate/* 0x0bcc	     */		sllx	%g2,16,%g2
2342*7c478bd9Sstevel@tonic-gate/* 0x0bd0	     */		add	%i2,%g3,%g3
2343*7c478bd9Sstevel@tonic-gate/* 0x0bd4	     */		sra	%o5,0,%g4
2344*7c478bd9Sstevel@tonic-gate/* 0x0bd8	     */		add	%g3,%g2,%g2
2345*7c478bd9Sstevel@tonic-gate/* 0x0bdc	     */		sllx	%g4,2,%g3
2346*7c478bd9Sstevel@tonic-gate/* 0x0be0	     */		and	%g2,%o0,%g2
2347*7c478bd9Sstevel@tonic-gate/* 0x0be4	     */		st	%g2,[%l6+%g3]
2348*7c478bd9Sstevel@tonic-gate
2349*7c478bd9Sstevel@tonic-gate!  325		      !	adjust_montf_result(result, nint, nlen);
2350*7c478bd9Sstevel@tonic-gate
2351*7c478bd9Sstevel@tonic-gate/* 0x0be8	 325 */		sllx	%l4,2,%g2
2352*7c478bd9Sstevel@tonic-gate/* 0x0bec	     */		ld	[%l6+%g2],%g2
2353*7c478bd9Sstevel@tonic-gate/* 0x0bf0	     */		cmp	%g2,0
2354*7c478bd9Sstevel@tonic-gate/* 0x0bf4	     */		bgu,pn	%icc,.L77000369
2355*7c478bd9Sstevel@tonic-gate/* 0x0bf8	     */		subcc	%l4,1,%g4
2356*7c478bd9Sstevel@tonic-gate/* 0x0bfc	     */		bneg,pn	%icc,.L77000369
2357*7c478bd9Sstevel@tonic-gate/* 0x0c00	     */		sra	%g4,0,%g2
2358*7c478bd9Sstevel@tonic-gate                       .L900000741:
2359*7c478bd9Sstevel@tonic-gate/* 0x0c04	 325 */		sllx	%g2,2,%g2
2360*7c478bd9Sstevel@tonic-gate/* 0x0c08	     */		ld	[%l6+%g2],%g3
2361*7c478bd9Sstevel@tonic-gate/* 0x0c0c	     */		ld	[%i0+%g2],%g2
2362*7c478bd9Sstevel@tonic-gate/* 0x0c10	     */		cmp	%g3,%g2
2363*7c478bd9Sstevel@tonic-gate/* 0x0c14	     */		bne,pn	%icc,.L77000328
2364*7c478bd9Sstevel@tonic-gate/* 0x0c18	     */		nop
2365*7c478bd9Sstevel@tonic-gate/* 0x0c1c	     */		subcc	%g4,1,%g4
2366*7c478bd9Sstevel@tonic-gate/* 0x0c20	     */		bpos,pt	%icc,.L900000741
2367*7c478bd9Sstevel@tonic-gate/* 0x0c24	     */		sra	%g4,0,%g2
2368*7c478bd9Sstevel@tonic-gate                       .L900000720:
2369*7c478bd9Sstevel@tonic-gate/* 0x0c28	 325 */		ba	.L900000740
2370*7c478bd9Sstevel@tonic-gate/* 0x0c2c	 249 */		cmp	%l4,0
2371*7c478bd9Sstevel@tonic-gate                       .L77000328:
2372*7c478bd9Sstevel@tonic-gate/* 0x0c30	 325 */		bleu,pt	%icc,.L77000307
2373*7c478bd9Sstevel@tonic-gate/* 0x0c34	     */		nop
2374*7c478bd9Sstevel@tonic-gate                       .L77000369:
2375*7c478bd9Sstevel@tonic-gate/* 0x0c38	 249 */		cmp	%l4,0
2376*7c478bd9Sstevel@tonic-gate                       .L900000740:
2377*7c478bd9Sstevel@tonic-gate/* 0x0c3c	 249 */		ble,pt	%icc,.L77000307
2378*7c478bd9Sstevel@tonic-gate/* 0x0c40	     */		nop
2379*7c478bd9Sstevel@tonic-gate/* 0x0c44	     */		or	%g0,0,%g5
2380*7c478bd9Sstevel@tonic-gate/* 0x0c48	     */		or	%g0,0,%g3
2381*7c478bd9Sstevel@tonic-gate/* 0x0c4c	 325 */		or	%g0,%l6,%o1
2382*7c478bd9Sstevel@tonic-gate/* 0x0c50	     */		sub	%l4,1,%g4
2383*7c478bd9Sstevel@tonic-gate/* 0x0c54	 249 */		cmp	%l4,4
2384*7c478bd9Sstevel@tonic-gate/* 0x0c58	     */		bl,pn	%icc,.L77000370
2385*7c478bd9Sstevel@tonic-gate/* 0x0c5c	     */		or	%g0,%i0,%o3
2386*7c478bd9Sstevel@tonic-gate/* 0x0c60	     */		ld	[%l6],%o2
2387*7c478bd9Sstevel@tonic-gate/* 0x0c64	     */		add	%i0,4,%o3
2388*7c478bd9Sstevel@tonic-gate/* 0x0c68	     */		add	%l6,8,%o1
2389*7c478bd9Sstevel@tonic-gate/* 0x0c6c	     */		ld	[%i0],%g2
2390*7c478bd9Sstevel@tonic-gate/* 0x0c70	     */		sub	%l4,2,%o4
2391*7c478bd9Sstevel@tonic-gate/* 0x0c74	     */		or	%g0,2,%g3
2392*7c478bd9Sstevel@tonic-gate/* 0x0c78	     */		ld	[%l6+4],%o5
2393*7c478bd9Sstevel@tonic-gate/* 0x0c7c	     */		sub	%o2,%g2,%g2
2394*7c478bd9Sstevel@tonic-gate/* 0x0c80	     */		or	%g0,%g2,%g5
2395*7c478bd9Sstevel@tonic-gate/* 0x0c84	     */		and	%g2,%o0,%g2
2396*7c478bd9Sstevel@tonic-gate/* 0x0c88	     */		st	%g2,[%l6]
2397*7c478bd9Sstevel@tonic-gate/* 0x0c8c	     */		srax	%g5,32,%g2
2398*7c478bd9Sstevel@tonic-gate                       .L900000730:
2399*7c478bd9Sstevel@tonic-gate/* 0x0c90	 249 */		add	%g3,1,%g3
2400*7c478bd9Sstevel@tonic-gate/* 0x0c94	     */		ld	[%o3],%g5
2401*7c478bd9Sstevel@tonic-gate/* 0x0c98	     */		add	%o3,4,%o3
2402*7c478bd9Sstevel@tonic-gate/* 0x0c9c	     */		cmp	%g3,%o4
2403*7c478bd9Sstevel@tonic-gate/* 0x0ca0	     */		add	%o1,4,%o1
2404*7c478bd9Sstevel@tonic-gate/* 0x0ca4	     */		sub	%o5,%g5,%g5
2405*7c478bd9Sstevel@tonic-gate/* 0x0ca8	     */		add	%g5,%g2,%g5
2406*7c478bd9Sstevel@tonic-gate/* 0x0cac	     */		and	%g5,%o0,%g2
2407*7c478bd9Sstevel@tonic-gate/* 0x0cb0	     */		ld	[%o1-4],%o5
2408*7c478bd9Sstevel@tonic-gate/* 0x0cb4	     */		st	%g2,[%o1-8]
2409*7c478bd9Sstevel@tonic-gate/* 0x0cb8	     */		ble,pt	%icc,.L900000730
2410*7c478bd9Sstevel@tonic-gate/* 0x0cbc	     */		srax	%g5,32,%g2
2411*7c478bd9Sstevel@tonic-gate                       .L900000733:
2412*7c478bd9Sstevel@tonic-gate/* 0x0cc0	 249 */		ld	[%o3],%g5
2413*7c478bd9Sstevel@tonic-gate/* 0x0cc4	     */		add	%o3,8,%o3
2414*7c478bd9Sstevel@tonic-gate/* 0x0cc8	     */		add	%g3,1,%g3
2415*7c478bd9Sstevel@tonic-gate/* 0x0ccc	     */		ld	[%o1],%o2
2416*7c478bd9Sstevel@tonic-gate/* 0x0cd0	     */		add	%o1,4,%o1
2417*7c478bd9Sstevel@tonic-gate/* 0x0cd4	     */		cmp	%g3,%g4
2418*7c478bd9Sstevel@tonic-gate/* 0x0cd8	     */		sub	%o5,%g5,%g5
2419*7c478bd9Sstevel@tonic-gate/* 0x0cdc	     */		add	%g5,%g2,%g5
2420*7c478bd9Sstevel@tonic-gate/* 0x0ce0	     */		and	%g5,%o0,%g2
2421*7c478bd9Sstevel@tonic-gate/* 0x0ce4	     */		st	%g2,[%o1-8]
2422*7c478bd9Sstevel@tonic-gate/* 0x0ce8	     */		ld	[%o3-4],%g2
2423*7c478bd9Sstevel@tonic-gate/* 0x0cec	     */		srax	%g5,32,%g5
2424*7c478bd9Sstevel@tonic-gate/* 0x0cf0	     */		sub	%o2,%g2,%g2
2425*7c478bd9Sstevel@tonic-gate/* 0x0cf4	     */		add	%g2,%g5,%g5
2426*7c478bd9Sstevel@tonic-gate/* 0x0cf8	     */		and	%g5,%o0,%g2
2427*7c478bd9Sstevel@tonic-gate/* 0x0cfc	     */		st	%g2,[%o1-4]
2428*7c478bd9Sstevel@tonic-gate/* 0x0d00	     */		bg,pn	%icc,.L77000307
2429*7c478bd9Sstevel@tonic-gate/* 0x0d04	     */		srax	%g5,32,%g5
2430*7c478bd9Sstevel@tonic-gate                       .L77000370:
2431*7c478bd9Sstevel@tonic-gate/* 0x0d08	 249 */		ld	[%o1],%g2
2432*7c478bd9Sstevel@tonic-gate                       .L900000739:
2433*7c478bd9Sstevel@tonic-gate/* 0x0d0c	 249 */		ld	[%o3],%o2
2434*7c478bd9Sstevel@tonic-gate/* 0x0d10	     */		add	%g5,%g2,%g2
2435*7c478bd9Sstevel@tonic-gate/* 0x0d14	     */		add	%g3,1,%g3
2436*7c478bd9Sstevel@tonic-gate/* 0x0d18	     */		add	%o3,4,%o3
2437*7c478bd9Sstevel@tonic-gate/* 0x0d1c	     */		cmp	%g3,%g4
2438*7c478bd9Sstevel@tonic-gate/* 0x0d20	     */		sub	%g2,%o2,%g5
2439*7c478bd9Sstevel@tonic-gate/* 0x0d24	     */		and	%g5,%o0,%g2
2440*7c478bd9Sstevel@tonic-gate/* 0x0d28	     */		st	%g2,[%o1]
2441*7c478bd9Sstevel@tonic-gate/* 0x0d2c	     */		add	%o1,4,%o1
2442*7c478bd9Sstevel@tonic-gate/* 0x0d30	     */		srax	%g5,32,%g5
2443*7c478bd9Sstevel@tonic-gate/* 0x0d34	     */		ble,a,pt	%icc,.L900000739
2444*7c478bd9Sstevel@tonic-gate/* 0x0d38	     */		ld	[%o1],%g2
2445*7c478bd9Sstevel@tonic-gate                       .L77000307:
2446*7c478bd9Sstevel@tonic-gate/* 0x0d3c	     */		ret	! Result =
2447*7c478bd9Sstevel@tonic-gate/* 0x0d40	     */		restore	%g0,%g0,%g0
2448*7c478bd9Sstevel@tonic-gate/* 0x0d44	   0 */		.type	mont_mulf_noconv,2
2449*7c478bd9Sstevel@tonic-gate/* 0x0d44	   0 */		.size	mont_mulf_noconv,(.-mont_mulf_noconv)
2450*7c478bd9Sstevel@tonic-gate
2451*7c478bd9Sstevel@tonic-gate! Begin Disassembling Stabs
2452*7c478bd9Sstevel@tonic-gate	.xstabs	".stab.index","Xa ; O ; P ; V=3.1 ; R=Sun WorkShop 6 update 1 C 5.2 Patch 109513-02 2001/02/04",60,0,0,0	! (/tmp/acompAAAnPa4q5:1)
2453*7c478bd9Sstevel@tonic-gate	.xstabs	".stab.index","/home/ferenc/venus/userland/rsa; /ws/cpg-tools/SUNWspro/SC6.1/bin/../WS6U1/bin/cc -DRF_INLINE_MACROS -fast -xarch=v9 -xO5 -xstrconst -xdepend -Xa -xchip=ultra2 -KPIC -Wc,-Qrm-Qd -Wc,-Qrm-Qf -Wc,-assembly -V -c conv_v9.il -o mont_mulf.o  mont_mulf.c -W0,-xp",52,0,0,0	! (/tmp/acompAAAnPa4q5:2)
2454*7c478bd9Sstevel@tonic-gate! End Disassembling Stabs
2455*7c478bd9Sstevel@tonic-gate
2456*7c478bd9Sstevel@tonic-gate! Begin Disassembling Ident
2457*7c478bd9Sstevel@tonic-gate	.ident	"cg: Sun WorkShop 6 update 1 Compiler Common 6.1 Patch 109505-04 2001/03/07"	! (NO SOURCE LINE)
2458*7c478bd9Sstevel@tonic-gate	.ident	"@(#)mont_mulf.c\t1.2\t01/09/24 SMI"	! (/tmp/acompAAAnPa4q5:4)
2459*7c478bd9Sstevel@tonic-gate	.ident	"@(#)types.h\t1.66\t00/02/14 SMI"	! (/tmp/acompAAAnPa4q5:5)
2460*7c478bd9Sstevel@tonic-gate	.ident	"@(#)isa_defs.h\t1.20\t99/05/04 SMI"	! (/tmp/acompAAAnPa4q5:6)
2461*7c478bd9Sstevel@tonic-gate	.ident	"@(#)feature_tests.h\t1.18\t99/07/26 SMI"	! (/tmp/acompAAAnPa4q5:7)
2462*7c478bd9Sstevel@tonic-gate	.ident	"@(#)machtypes.h\t1.13\t99/05/04 SMI"	! (/tmp/acompAAAnPa4q5:8)
2463*7c478bd9Sstevel@tonic-gate	.ident	"@(#)int_types.h\t1.6\t97/08/20 SMI"	! (/tmp/acompAAAnPa4q5:9)
2464*7c478bd9Sstevel@tonic-gate	.ident	"@(#)select.h\t1.16\t98/04/27 SMI"	! (/tmp/acompAAAnPa4q5:10)
2465*7c478bd9Sstevel@tonic-gate	.ident	"@(#)time.h\t2.66\t01/01/17 SMI"	! (/tmp/acompAAAnPa4q5:11)
2466*7c478bd9Sstevel@tonic-gate	.ident	"@(#)time.h\t1.39\t99/08/10 SMI"	! (/tmp/acompAAAnPa4q5:12)
2467*7c478bd9Sstevel@tonic-gate	.ident	"@(#)time_iso.h\t1.1\t99/08/09 SMI"	! (/tmp/acompAAAnPa4q5:13)
2468*7c478bd9Sstevel@tonic-gate	.ident	"@(#)time_impl.h\t1.5\t99/10/05 SMI"	! (/tmp/acompAAAnPa4q5:14)
2469*7c478bd9Sstevel@tonic-gate	.ident	"@(#)math.h\t2.10\t99/07/29 SMI"	! (/tmp/acompAAAnPa4q5:15)
2470*7c478bd9Sstevel@tonic-gate	.ident	"@(#)math_iso.h\t1.1\t99/07/30 SMI"	! (/tmp/acompAAAnPa4q5:16)
2471*7c478bd9Sstevel@tonic-gate	.ident	"@(#)floatingpoint.h\t2.5\t99/06/22 SMI"	! (/tmp/acompAAAnPa4q5:17)
2472*7c478bd9Sstevel@tonic-gate	.ident	"@(#)stdio_tag.h\t1.3\t98/04/20 SMI"	! (/tmp/acompAAAnPa4q5:18)
2473*7c478bd9Sstevel@tonic-gate	.ident	"@(#)ieeefp.h\t2.8 99/10/29"	! (/tmp/acompAAAnPa4q5:19)
2474*7c478bd9Sstevel@tonic-gate	.ident	"acomp: Sun WorkShop 6 update 1 C 5.2 Patch 109513-02 2001/02/04"	! (/tmp/acompAAAnPa4q5:47)
2475*7c478bd9Sstevel@tonic-gate! End Disassembling Ident
2476