1*25c28e83SPiotr Jasiukajtis/*
2*25c28e83SPiotr Jasiukajtis * CDDL HEADER START
3*25c28e83SPiotr Jasiukajtis *
4*25c28e83SPiotr Jasiukajtis * The contents of this file are subject to the terms of the
5*25c28e83SPiotr Jasiukajtis * Common Development and Distribution License (the "License").
6*25c28e83SPiotr Jasiukajtis * You may not use this file except in compliance with the License.
7*25c28e83SPiotr Jasiukajtis *
8*25c28e83SPiotr Jasiukajtis * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9*25c28e83SPiotr Jasiukajtis * or http://www.opensolaris.org/os/licensing.
10*25c28e83SPiotr Jasiukajtis * See the License for the specific language governing permissions
11*25c28e83SPiotr Jasiukajtis * and limitations under the License.
12*25c28e83SPiotr Jasiukajtis *
13*25c28e83SPiotr Jasiukajtis * When distributing Covered Code, include this CDDL HEADER in each
14*25c28e83SPiotr Jasiukajtis * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15*25c28e83SPiotr Jasiukajtis * If applicable, add the following below this CDDL HEADER, with the
16*25c28e83SPiotr Jasiukajtis * fields enclosed by brackets "[]" replaced with your own identifying
17*25c28e83SPiotr Jasiukajtis * information: Portions Copyright [yyyy] [name of copyright owner]
18*25c28e83SPiotr Jasiukajtis *
19*25c28e83SPiotr Jasiukajtis * CDDL HEADER END
20*25c28e83SPiotr Jasiukajtis */
21*25c28e83SPiotr Jasiukajtis/*
22*25c28e83SPiotr Jasiukajtis * Copyright 2011 Nexenta Systems, Inc.  All rights reserved.
23*25c28e83SPiotr Jasiukajtis */
24*25c28e83SPiotr Jasiukajtis/*
25*25c28e83SPiotr Jasiukajtis * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
26*25c28e83SPiotr Jasiukajtis * Use is subject to license terms.
27*25c28e83SPiotr Jasiukajtis */
28*25c28e83SPiotr Jasiukajtis
29*25c28e83SPiotr Jasiukajtis	.file	"__vsinf.S"
30*25c28e83SPiotr Jasiukajtis
31*25c28e83SPiotr Jasiukajtis#include "libm.h"
32*25c28e83SPiotr Jasiukajtis
33*25c28e83SPiotr Jasiukajtis	RO_DATA
34*25c28e83SPiotr Jasiukajtis	.align	64
35*25c28e83SPiotr Jasiukajtisconstants:
36*25c28e83SPiotr Jasiukajtis	.word	0xbfc55554,0x60000000
37*25c28e83SPiotr Jasiukajtis	.word	0x3f811077,0xe0000000
38*25c28e83SPiotr Jasiukajtis	.word	0xbf29956b,0x60000000
39*25c28e83SPiotr Jasiukajtis	.word	0x3ff00000,0x00000000
40*25c28e83SPiotr Jasiukajtis	.word	0xbfe00000,0x00000000
41*25c28e83SPiotr Jasiukajtis	.word	0x3fa55554,0xa0000000
42*25c28e83SPiotr Jasiukajtis	.word	0xbf56c0c1,0xe0000000
43*25c28e83SPiotr Jasiukajtis	.word	0x3ef99e24,0xe0000000
44*25c28e83SPiotr Jasiukajtis	.word	0x3fe45f30,0x6dc9c883
45*25c28e83SPiotr Jasiukajtis	.word	0x43380000,0x00000000
46*25c28e83SPiotr Jasiukajtis	.word	0x3ff921fb,0x54400000
47*25c28e83SPiotr Jasiukajtis	.word	0x3dd0b461,0x1a626331
48*25c28e83SPiotr Jasiukajtis	.word	0x3f490fdb,0
49*25c28e83SPiotr Jasiukajtis	.word	0x49c90fdb,0
50*25c28e83SPiotr Jasiukajtis	.word	0x7f800000,0
51*25c28e83SPiotr Jasiukajtis	.word	0x80000000,0
52*25c28e83SPiotr Jasiukajtis
53*25c28e83SPiotr Jasiukajtis#define S0		0x0
54*25c28e83SPiotr Jasiukajtis#define S1		0x08
55*25c28e83SPiotr Jasiukajtis#define S2		0x10
56*25c28e83SPiotr Jasiukajtis#define one		0x18
57*25c28e83SPiotr Jasiukajtis#define mhalf		0x20
58*25c28e83SPiotr Jasiukajtis#define C0		0x28
59*25c28e83SPiotr Jasiukajtis#define C1		0x30
60*25c28e83SPiotr Jasiukajtis#define C2		0x38
61*25c28e83SPiotr Jasiukajtis#define invpio2		0x40
62*25c28e83SPiotr Jasiukajtis#define round		0x48
63*25c28e83SPiotr Jasiukajtis#define pio2_1		0x50
64*25c28e83SPiotr Jasiukajtis#define pio2_t		0x58
65*25c28e83SPiotr Jasiukajtis#define thresh1		0x60
66*25c28e83SPiotr Jasiukajtis#define thresh2		0x68
67*25c28e83SPiotr Jasiukajtis#define inf		0x70
68*25c28e83SPiotr Jasiukajtis#define signbit		0x78
69*25c28e83SPiotr Jasiukajtis
70*25c28e83SPiotr Jasiukajtis! local storage indices
71*25c28e83SPiotr Jasiukajtis
72*25c28e83SPiotr Jasiukajtis#define xsave		STACK_BIAS-0x8
73*25c28e83SPiotr Jasiukajtis#define ysave		STACK_BIAS-0x10
74*25c28e83SPiotr Jasiukajtis#define nsave		STACK_BIAS-0x14
75*25c28e83SPiotr Jasiukajtis#define sxsave		STACK_BIAS-0x18
76*25c28e83SPiotr Jasiukajtis#define sysave		STACK_BIAS-0x1c
77*25c28e83SPiotr Jasiukajtis#define junk		STACK_BIAS-0x20
78*25c28e83SPiotr Jasiukajtis#define n3		STACK_BIAS-0x24
79*25c28e83SPiotr Jasiukajtis#define n2		STACK_BIAS-0x28
80*25c28e83SPiotr Jasiukajtis#define n1		STACK_BIAS-0x2c
81*25c28e83SPiotr Jasiukajtis#define n0		STACK_BIAS-0x30
82*25c28e83SPiotr Jasiukajtis! sizeof temp storage - must be a multiple of 16 for V9
83*25c28e83SPiotr Jasiukajtis#define tmps		0x30
84*25c28e83SPiotr Jasiukajtis
85*25c28e83SPiotr Jasiukajtis! register use
86*25c28e83SPiotr Jasiukajtis
87*25c28e83SPiotr Jasiukajtis! i0  n
88*25c28e83SPiotr Jasiukajtis! i1  x
89*25c28e83SPiotr Jasiukajtis! i2  stridex
90*25c28e83SPiotr Jasiukajtis! i3  y
91*25c28e83SPiotr Jasiukajtis! i4  stridey
92*25c28e83SPiotr Jasiukajtis! i5  biguns
93*25c28e83SPiotr Jasiukajtis
94*25c28e83SPiotr Jasiukajtis! l0  n0
95*25c28e83SPiotr Jasiukajtis! l1  n1
96*25c28e83SPiotr Jasiukajtis! l2  n2
97*25c28e83SPiotr Jasiukajtis! l3  n3
98*25c28e83SPiotr Jasiukajtis! l4
99*25c28e83SPiotr Jasiukajtis! l5
100*25c28e83SPiotr Jasiukajtis! l6
101*25c28e83SPiotr Jasiukajtis! l7
102*25c28e83SPiotr Jasiukajtis
103*25c28e83SPiotr Jasiukajtis! the following are 64-bit registers in both V8+ and V9
104*25c28e83SPiotr Jasiukajtis
105*25c28e83SPiotr Jasiukajtis! g1
106*25c28e83SPiotr Jasiukajtis! g5
107*25c28e83SPiotr Jasiukajtis
108*25c28e83SPiotr Jasiukajtis! o0  py0
109*25c28e83SPiotr Jasiukajtis! o1  py1
110*25c28e83SPiotr Jasiukajtis! o2  py2
111*25c28e83SPiotr Jasiukajtis! o3  py3
112*25c28e83SPiotr Jasiukajtis! o4
113*25c28e83SPiotr Jasiukajtis! o5
114*25c28e83SPiotr Jasiukajtis! o7
115*25c28e83SPiotr Jasiukajtis
116*25c28e83SPiotr Jasiukajtis! f0  x0
117*25c28e83SPiotr Jasiukajtis! f2  x1
118*25c28e83SPiotr Jasiukajtis! f4  x2
119*25c28e83SPiotr Jasiukajtis! f6  x3
120*25c28e83SPiotr Jasiukajtis! f8  thresh1 (pi/4)
121*25c28e83SPiotr Jasiukajtis! f10 y0
122*25c28e83SPiotr Jasiukajtis! f12 y1
123*25c28e83SPiotr Jasiukajtis! f14 y2
124*25c28e83SPiotr Jasiukajtis! f16 y3
125*25c28e83SPiotr Jasiukajtis! f18 thresh2 (2^19 pi)
126*25c28e83SPiotr Jasiukajtis! f20
127*25c28e83SPiotr Jasiukajtis! f22
128*25c28e83SPiotr Jasiukajtis! f24
129*25c28e83SPiotr Jasiukajtis! f26
130*25c28e83SPiotr Jasiukajtis! f28 signbit
131*25c28e83SPiotr Jasiukajtis! f30
132*25c28e83SPiotr Jasiukajtis! f32
133*25c28e83SPiotr Jasiukajtis! f34
134*25c28e83SPiotr Jasiukajtis! f36
135*25c28e83SPiotr Jasiukajtis! f38 inf
136*25c28e83SPiotr Jasiukajtis! f40 S0
137*25c28e83SPiotr Jasiukajtis! f42 S1
138*25c28e83SPiotr Jasiukajtis! f44 S2
139*25c28e83SPiotr Jasiukajtis! f46 one
140*25c28e83SPiotr Jasiukajtis! f48 mhalf
141*25c28e83SPiotr Jasiukajtis! f50 C0
142*25c28e83SPiotr Jasiukajtis! f52 C1
143*25c28e83SPiotr Jasiukajtis! f54 C2
144*25c28e83SPiotr Jasiukajtis! f56 invpio2
145*25c28e83SPiotr Jasiukajtis! f58 round
146*25c28e83SPiotr Jasiukajtis! f60 pio2_1
147*25c28e83SPiotr Jasiukajtis! f62 pio2_t
148*25c28e83SPiotr Jasiukajtis
149*25c28e83SPiotr Jasiukajtis	ENTRY(__vsinf)
150*25c28e83SPiotr Jasiukajtis	save	%sp,-SA(MINFRAME)-tmps,%sp
151*25c28e83SPiotr Jasiukajtis	PIC_SETUP(l7)
152*25c28e83SPiotr Jasiukajtis	PIC_SET(l7,constants,l1)
153*25c28e83SPiotr Jasiukajtis	mov	%l1,%g1
154*25c28e83SPiotr Jasiukajtis	wr	%g0,0x82,%asi		! set %asi for non-faulting loads
155*25c28e83SPiotr Jasiukajtis#ifdef __sparcv9
156*25c28e83SPiotr Jasiukajtis	stx	%i1,[%fp+xsave]		! save arguments
157*25c28e83SPiotr Jasiukajtis	stx	%i3,[%fp+ysave]
158*25c28e83SPiotr Jasiukajtis#else
159*25c28e83SPiotr Jasiukajtis	st	%i1,[%fp+xsave]		! save arguments
160*25c28e83SPiotr Jasiukajtis	st	%i3,[%fp+ysave]
161*25c28e83SPiotr Jasiukajtis#endif
162*25c28e83SPiotr Jasiukajtis	st	%i0,[%fp+nsave]
163*25c28e83SPiotr Jasiukajtis	st	%i2,[%fp+sxsave]
164*25c28e83SPiotr Jasiukajtis	st	%i4,[%fp+sysave]
165*25c28e83SPiotr Jasiukajtis	mov	0,%i5			! biguns = 0
166*25c28e83SPiotr Jasiukajtis	ldd	[%g1+S0],%f40		! load constants
167*25c28e83SPiotr Jasiukajtis	ldd	[%g1+S1],%f42
168*25c28e83SPiotr Jasiukajtis	ldd	[%g1+S2],%f44
169*25c28e83SPiotr Jasiukajtis	ldd	[%g1+one],%f46
170*25c28e83SPiotr Jasiukajtis	ldd	[%g1+mhalf],%f48
171*25c28e83SPiotr Jasiukajtis	ldd	[%g1+C0],%f50
172*25c28e83SPiotr Jasiukajtis	ldd	[%g1+C1],%f52
173*25c28e83SPiotr Jasiukajtis	ldd	[%g1+C2],%f54
174*25c28e83SPiotr Jasiukajtis	ldd	[%g1+invpio2],%f56
175*25c28e83SPiotr Jasiukajtis	ldd	[%g1+round],%f58
176*25c28e83SPiotr Jasiukajtis	ldd	[%g1+pio2_1],%f60
177*25c28e83SPiotr Jasiukajtis	ldd	[%g1+pio2_t],%f62
178*25c28e83SPiotr Jasiukajtis	ldd	[%g1+thresh1],%f8
179*25c28e83SPiotr Jasiukajtis	ldd	[%g1+thresh2],%f18
180*25c28e83SPiotr Jasiukajtis	ldd	[%g1+inf],%f38
181*25c28e83SPiotr Jasiukajtis	ldd	[%g1+signbit],%f28
182*25c28e83SPiotr Jasiukajtis	sll	%i2,2,%i2		! scale strides
183*25c28e83SPiotr Jasiukajtis	sll	%i4,2,%i4
184*25c28e83SPiotr Jasiukajtis	fzero	%f10			! loop prologue
185*25c28e83SPiotr Jasiukajtis	add	%fp,junk,%o0
186*25c28e83SPiotr Jasiukajtis	fzero	%f12
187*25c28e83SPiotr Jasiukajtis	add	%fp,junk,%o1
188*25c28e83SPiotr Jasiukajtis	fzero	%f14
189*25c28e83SPiotr Jasiukajtis	add	%fp,junk,%o2
190*25c28e83SPiotr Jasiukajtis	fzero	%f16
191*25c28e83SPiotr Jasiukajtis	ba	.start
192*25c28e83SPiotr Jasiukajtis	add	%fp,junk,%o3
193*25c28e83SPiotr Jasiukajtis
194*25c28e83SPiotr Jasiukajtis! 16-byte aligned
195*25c28e83SPiotr Jasiukajtis	.align	16
196*25c28e83SPiotr Jasiukajtis.start:
197*25c28e83SPiotr Jasiukajtis	ld	[%i1],%f0		! *x
198*25c28e83SPiotr Jasiukajtis	add	%i1,%i2,%i1		! x += stridex
199*25c28e83SPiotr Jasiukajtis	addcc	%i0,-1,%i0
200*25c28e83SPiotr Jasiukajtis	fdtos	%f10,%f10
201*25c28e83SPiotr Jasiukajtis
202*25c28e83SPiotr Jasiukajtis	st	%f10,[%o0]
203*25c28e83SPiotr Jasiukajtis	mov	%i3,%o0			! py0 = y
204*25c28e83SPiotr Jasiukajtis	ble,pn	%icc,.last1
205*25c28e83SPiotr Jasiukajtis! delay slot
206*25c28e83SPiotr Jasiukajtis	add	%i3,%i4,%i3		! y += stridey
207*25c28e83SPiotr Jasiukajtis
208*25c28e83SPiotr Jasiukajtis	ld	[%i1],%f2		! *x
209*25c28e83SPiotr Jasiukajtis	add	%i1,%i2,%i1		! x += stridex
210*25c28e83SPiotr Jasiukajtis	addcc	%i0,-1,%i0
211*25c28e83SPiotr Jasiukajtis	fdtos	%f12,%f12
212*25c28e83SPiotr Jasiukajtis
213*25c28e83SPiotr Jasiukajtis	st	%f12,[%o1]
214*25c28e83SPiotr Jasiukajtis	mov	%i3,%o1			! py1 = y
215*25c28e83SPiotr Jasiukajtis	ble,pn	%icc,.last2
216*25c28e83SPiotr Jasiukajtis! delay slot
217*25c28e83SPiotr Jasiukajtis	add	%i3,%i4,%i3		! y += stridey
218*25c28e83SPiotr Jasiukajtis
219*25c28e83SPiotr Jasiukajtis	ld	[%i1],%f4		! *x
220*25c28e83SPiotr Jasiukajtis	add	%i1,%i2,%i1		! x += stridex
221*25c28e83SPiotr Jasiukajtis	addcc	%i0,-1,%i0
222*25c28e83SPiotr Jasiukajtis	fdtos	%f14,%f14
223*25c28e83SPiotr Jasiukajtis
224*25c28e83SPiotr Jasiukajtis	st	%f14,[%o2]
225*25c28e83SPiotr Jasiukajtis	mov	%i3,%o2			! py2 = y
226*25c28e83SPiotr Jasiukajtis	ble,pn	%icc,.last3
227*25c28e83SPiotr Jasiukajtis! delay slot
228*25c28e83SPiotr Jasiukajtis	add	%i3,%i4,%i3		! y += stridey
229*25c28e83SPiotr Jasiukajtis
230*25c28e83SPiotr Jasiukajtis	ld	[%i1],%f6		! *x
231*25c28e83SPiotr Jasiukajtis	add	%i1,%i2,%i1		! x += stridex
232*25c28e83SPiotr Jasiukajtis	nop
233*25c28e83SPiotr Jasiukajtis	fdtos	%f16,%f16
234*25c28e83SPiotr Jasiukajtis
235*25c28e83SPiotr Jasiukajtis	st	%f16,[%o3]
236*25c28e83SPiotr Jasiukajtis	mov	%i3,%o3			! py3 = y
237*25c28e83SPiotr Jasiukajtis	add	%i3,%i4,%i3		! y += stridey
238*25c28e83SPiotr Jasiukajtis.cont:
239*25c28e83SPiotr Jasiukajtis	fabsd	%f0,%f30
240*25c28e83SPiotr Jasiukajtis
241*25c28e83SPiotr Jasiukajtis	fabsd	%f2,%f32
242*25c28e83SPiotr Jasiukajtis
243*25c28e83SPiotr Jasiukajtis	fabsd	%f4,%f34
244*25c28e83SPiotr Jasiukajtis
245*25c28e83SPiotr Jasiukajtis	fabsd	%f6,%f36
246*25c28e83SPiotr Jasiukajtis	fcmple32 %f30,%f18,%l0
247*25c28e83SPiotr Jasiukajtis
248*25c28e83SPiotr Jasiukajtis	fcmple32 %f32,%f18,%l1
249*25c28e83SPiotr Jasiukajtis
250*25c28e83SPiotr Jasiukajtis	fcmple32 %f34,%f18,%l2
251*25c28e83SPiotr Jasiukajtis
252*25c28e83SPiotr Jasiukajtis	fcmple32 %f36,%f18,%l3
253*25c28e83SPiotr Jasiukajtis	nop
254*25c28e83SPiotr Jasiukajtis
255*25c28e83SPiotr Jasiukajtis! 16-byte aligned
256*25c28e83SPiotr Jasiukajtis	andcc	%l0,2,%g0
257*25c28e83SPiotr Jasiukajtis	bz,pn	%icc,.range0		! branch if > 2^19 pi
258*25c28e83SPiotr Jasiukajtis! delay slot
259*25c28e83SPiotr Jasiukajtis	fcmple32 %f30,%f8,%l0
260*25c28e83SPiotr Jasiukajtis
261*25c28e83SPiotr Jasiukajtis.check1:
262*25c28e83SPiotr Jasiukajtis	andcc	%l1,2,%g0
263*25c28e83SPiotr Jasiukajtis	bz,pn	%icc,.range1		! branch if > 2^19 pi
264*25c28e83SPiotr Jasiukajtis! delay slot
265*25c28e83SPiotr Jasiukajtis	fcmple32 %f32,%f8,%l1
266*25c28e83SPiotr Jasiukajtis
267*25c28e83SPiotr Jasiukajtis.check2:
268*25c28e83SPiotr Jasiukajtis	andcc	%l2,2,%g0
269*25c28e83SPiotr Jasiukajtis	bz,pn	%icc,.range2		! branch if > 2^19 pi
270*25c28e83SPiotr Jasiukajtis! delay slot
271*25c28e83SPiotr Jasiukajtis	fcmple32 %f34,%f8,%l2
272*25c28e83SPiotr Jasiukajtis
273*25c28e83SPiotr Jasiukajtis.check3:
274*25c28e83SPiotr Jasiukajtis	andcc	%l3,2,%g0
275*25c28e83SPiotr Jasiukajtis	bz,pn	%icc,.range3		! branch if > 2^19 pi
276*25c28e83SPiotr Jasiukajtis! delay slot
277*25c28e83SPiotr Jasiukajtis	fcmple32 %f36,%f8,%l3
278*25c28e83SPiotr Jasiukajtis
279*25c28e83SPiotr Jasiukajtis.checkprimary:
280*25c28e83SPiotr Jasiukajtis	fsmuld	%f0,%f0,%f30
281*25c28e83SPiotr Jasiukajtis	fstod	%f0,%f0
282*25c28e83SPiotr Jasiukajtis
283*25c28e83SPiotr Jasiukajtis	fsmuld	%f2,%f2,%f32
284*25c28e83SPiotr Jasiukajtis	fstod	%f2,%f2
285*25c28e83SPiotr Jasiukajtis	and	%l0,%l1,%o4
286*25c28e83SPiotr Jasiukajtis
287*25c28e83SPiotr Jasiukajtis	fsmuld	%f4,%f4,%f34
288*25c28e83SPiotr Jasiukajtis	fstod	%f4,%f4
289*25c28e83SPiotr Jasiukajtis
290*25c28e83SPiotr Jasiukajtis	fsmuld	%f6,%f6,%f36
291*25c28e83SPiotr Jasiukajtis	fstod	%f6,%f6
292*25c28e83SPiotr Jasiukajtis	and	%l2,%l3,%o5
293*25c28e83SPiotr Jasiukajtis
294*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f44,%f10
295*25c28e83SPiotr Jasiukajtis	and	%o4,%o5,%o5
296*25c28e83SPiotr Jasiukajtis
297*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f44,%f12
298*25c28e83SPiotr Jasiukajtis	andcc	%o5,2,%g0
299*25c28e83SPiotr Jasiukajtis	bz,pn	%icc,.medium		! branch if any argument is > pi/4
300*25c28e83SPiotr Jasiukajtis! delay slot
301*25c28e83SPiotr Jasiukajtis	nop
302*25c28e83SPiotr Jasiukajtis
303*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f44,%f14
304*25c28e83SPiotr Jasiukajtis
305*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f44,%f16
306*25c28e83SPiotr Jasiukajtis
307*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f40,%f20
308*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f42,%f10
309*25c28e83SPiotr Jasiukajtis
310*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f40,%f22
311*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f42,%f12
312*25c28e83SPiotr Jasiukajtis
313*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f40,%f24
314*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f42,%f14
315*25c28e83SPiotr Jasiukajtis
316*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f40,%f26
317*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f42,%f16
318*25c28e83SPiotr Jasiukajtis
319*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f30,%f30
320*25c28e83SPiotr Jasiukajtis	faddd	%f20,%f46,%f20
321*25c28e83SPiotr Jasiukajtis
322*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f32,%f32
323*25c28e83SPiotr Jasiukajtis	faddd	%f22,%f46,%f22
324*25c28e83SPiotr Jasiukajtis
325*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f34,%f34
326*25c28e83SPiotr Jasiukajtis	faddd	%f24,%f46,%f24
327*25c28e83SPiotr Jasiukajtis
328*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f36,%f36
329*25c28e83SPiotr Jasiukajtis	faddd	%f26,%f46,%f26
330*25c28e83SPiotr Jasiukajtis
331*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f10,%f10
332*25c28e83SPiotr Jasiukajtis
333*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f12,%f12
334*25c28e83SPiotr Jasiukajtis
335*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f14,%f14
336*25c28e83SPiotr Jasiukajtis
337*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f16,%f16
338*25c28e83SPiotr Jasiukajtis
339*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f20,%f10
340*25c28e83SPiotr Jasiukajtis
341*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f22,%f12
342*25c28e83SPiotr Jasiukajtis
343*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f24,%f14
344*25c28e83SPiotr Jasiukajtis
345*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f26,%f16
346*25c28e83SPiotr Jasiukajtis
347*25c28e83SPiotr Jasiukajtis	fmuld	%f0,%f10,%f10
348*25c28e83SPiotr Jasiukajtis
349*25c28e83SPiotr Jasiukajtis	fmuld	%f2,%f12,%f12
350*25c28e83SPiotr Jasiukajtis
351*25c28e83SPiotr Jasiukajtis	fmuld	%f4,%f14,%f14
352*25c28e83SPiotr Jasiukajtis
353*25c28e83SPiotr Jasiukajtis	addcc	%i0,-1,%i0
354*25c28e83SPiotr Jasiukajtis	bg,pt	%icc,.start
355*25c28e83SPiotr Jasiukajtis! delay slot
356*25c28e83SPiotr Jasiukajtis	fmuld	%f6,%f16,%f16
357*25c28e83SPiotr Jasiukajtis
358*25c28e83SPiotr Jasiukajtis	ba,pt	%icc,.end
359*25c28e83SPiotr Jasiukajtis! delay slot
360*25c28e83SPiotr Jasiukajtis	nop
361*25c28e83SPiotr Jasiukajtis
362*25c28e83SPiotr Jasiukajtis
363*25c28e83SPiotr Jasiukajtis	.align	16
364*25c28e83SPiotr Jasiukajtis.medium:
365*25c28e83SPiotr Jasiukajtis	fmuld	%f0,%f56,%f10
366*25c28e83SPiotr Jasiukajtis
367*25c28e83SPiotr Jasiukajtis	fmuld	%f2,%f56,%f12
368*25c28e83SPiotr Jasiukajtis
369*25c28e83SPiotr Jasiukajtis	fmuld	%f4,%f56,%f14
370*25c28e83SPiotr Jasiukajtis
371*25c28e83SPiotr Jasiukajtis	fmuld	%f6,%f56,%f16
372*25c28e83SPiotr Jasiukajtis
373*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f58,%f10
374*25c28e83SPiotr Jasiukajtis	st	%f11,[%fp+n0]
375*25c28e83SPiotr Jasiukajtis
376*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f58,%f12
377*25c28e83SPiotr Jasiukajtis	st	%f13,[%fp+n1]
378*25c28e83SPiotr Jasiukajtis
379*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f58,%f14
380*25c28e83SPiotr Jasiukajtis	st	%f15,[%fp+n2]
381*25c28e83SPiotr Jasiukajtis
382*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f58,%f16
383*25c28e83SPiotr Jasiukajtis	st	%f17,[%fp+n3]
384*25c28e83SPiotr Jasiukajtis
385*25c28e83SPiotr Jasiukajtis	fsubd	%f10,%f58,%f10
386*25c28e83SPiotr Jasiukajtis
387*25c28e83SPiotr Jasiukajtis	fsubd	%f12,%f58,%f12
388*25c28e83SPiotr Jasiukajtis
389*25c28e83SPiotr Jasiukajtis	fsubd	%f14,%f58,%f14
390*25c28e83SPiotr Jasiukajtis
391*25c28e83SPiotr Jasiukajtis	fsubd	%f16,%f58,%f16
392*25c28e83SPiotr Jasiukajtis
393*25c28e83SPiotr Jasiukajtis	fmuld	%f10,%f60,%f20
394*25c28e83SPiotr Jasiukajtis	ld	[%fp+n0],%l0
395*25c28e83SPiotr Jasiukajtis
396*25c28e83SPiotr Jasiukajtis	fmuld	%f12,%f60,%f22
397*25c28e83SPiotr Jasiukajtis	ld	[%fp+n1],%l1
398*25c28e83SPiotr Jasiukajtis
399*25c28e83SPiotr Jasiukajtis	fmuld	%f14,%f60,%f24
400*25c28e83SPiotr Jasiukajtis	ld	[%fp+n2],%l2
401*25c28e83SPiotr Jasiukajtis
402*25c28e83SPiotr Jasiukajtis	fmuld	%f16,%f60,%f26
403*25c28e83SPiotr Jasiukajtis	ld	[%fp+n3],%l3
404*25c28e83SPiotr Jasiukajtis
405*25c28e83SPiotr Jasiukajtis	fsubd	%f0,%f20,%f0
406*25c28e83SPiotr Jasiukajtis	fmuld	%f10,%f62,%f30
407*25c28e83SPiotr Jasiukajtis
408*25c28e83SPiotr Jasiukajtis	fsubd	%f2,%f22,%f2
409*25c28e83SPiotr Jasiukajtis	fmuld	%f12,%f62,%f32
410*25c28e83SPiotr Jasiukajtis
411*25c28e83SPiotr Jasiukajtis	fsubd	%f4,%f24,%f4
412*25c28e83SPiotr Jasiukajtis	fmuld	%f14,%f62,%f34
413*25c28e83SPiotr Jasiukajtis
414*25c28e83SPiotr Jasiukajtis	fsubd	%f6,%f26,%f6
415*25c28e83SPiotr Jasiukajtis	fmuld	%f16,%f62,%f36
416*25c28e83SPiotr Jasiukajtis
417*25c28e83SPiotr Jasiukajtis	fsubd	%f0,%f30,%f0
418*25c28e83SPiotr Jasiukajtis
419*25c28e83SPiotr Jasiukajtis	fsubd	%f2,%f32,%f2
420*25c28e83SPiotr Jasiukajtis
421*25c28e83SPiotr Jasiukajtis	fsubd	%f4,%f34,%f4
422*25c28e83SPiotr Jasiukajtis
423*25c28e83SPiotr Jasiukajtis	fsubd	%f6,%f36,%f6
424*25c28e83SPiotr Jasiukajtis	andcc	%l0,1,%g0
425*25c28e83SPiotr Jasiukajtis
426*25c28e83SPiotr Jasiukajtis	fmuld	%f0,%f0,%f30
427*25c28e83SPiotr Jasiukajtis	bz,pn	%icc,.case8
428*25c28e83SPiotr Jasiukajtis! delay slot
429*25c28e83SPiotr Jasiukajtis	andcc	%l1,1,%g0
430*25c28e83SPiotr Jasiukajtis
431*25c28e83SPiotr Jasiukajtis	fmuld	%f2,%f2,%f32
432*25c28e83SPiotr Jasiukajtis	bz,pn	%icc,.case4
433*25c28e83SPiotr Jasiukajtis! delay slot
434*25c28e83SPiotr Jasiukajtis	andcc	%l2,1,%g0
435*25c28e83SPiotr Jasiukajtis
436*25c28e83SPiotr Jasiukajtis	fmuld	%f4,%f4,%f34
437*25c28e83SPiotr Jasiukajtis	bz,pn	%icc,.case2
438*25c28e83SPiotr Jasiukajtis! delay slot
439*25c28e83SPiotr Jasiukajtis	andcc	%l3,1,%g0
440*25c28e83SPiotr Jasiukajtis
441*25c28e83SPiotr Jasiukajtis	fmuld	%f6,%f6,%f36
442*25c28e83SPiotr Jasiukajtis	bz,pn	%icc,.case1
443*25c28e83SPiotr Jasiukajtis! delay slot
444*25c28e83SPiotr Jasiukajtis	nop
445*25c28e83SPiotr Jasiukajtis
446*25c28e83SPiotr Jasiukajtis!.case0:
447*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f54,%f10		! cos(x0)
448*25c28e83SPiotr Jasiukajtis	fzero	%f0
449*25c28e83SPiotr Jasiukajtis
450*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f54,%f12		! cos(x1)
451*25c28e83SPiotr Jasiukajtis	fzero	%f2
452*25c28e83SPiotr Jasiukajtis
453*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f54,%f14		! cos(x2)
454*25c28e83SPiotr Jasiukajtis	fzero	%f4
455*25c28e83SPiotr Jasiukajtis
456*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f54,%f16		! cos(x3)
457*25c28e83SPiotr Jasiukajtis	fzero	%f6
458*25c28e83SPiotr Jasiukajtis
459*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f48,%f20
460*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f52,%f10
461*25c28e83SPiotr Jasiukajtis
462*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f48,%f22
463*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f52,%f12
464*25c28e83SPiotr Jasiukajtis
465*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f48,%f24
466*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f52,%f14
467*25c28e83SPiotr Jasiukajtis
468*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f48,%f26
469*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f52,%f16
470*25c28e83SPiotr Jasiukajtis
471*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f10,%f10
472*25c28e83SPiotr Jasiukajtis	faddd	%f20,%f46,%f20
473*25c28e83SPiotr Jasiukajtis
474*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f12,%f12
475*25c28e83SPiotr Jasiukajtis	faddd	%f22,%f46,%f22
476*25c28e83SPiotr Jasiukajtis
477*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f14,%f14
478*25c28e83SPiotr Jasiukajtis	faddd	%f24,%f46,%f24
479*25c28e83SPiotr Jasiukajtis
480*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f16,%f16
481*25c28e83SPiotr Jasiukajtis	faddd	%f26,%f46,%f26
482*25c28e83SPiotr Jasiukajtis
483*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f30,%f30
484*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f50,%f10
485*25c28e83SPiotr Jasiukajtis	and	%l0,2,%g1
486*25c28e83SPiotr Jasiukajtis
487*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f32,%f32
488*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f50,%f12
489*25c28e83SPiotr Jasiukajtis	and	%l1,2,%g5
490*25c28e83SPiotr Jasiukajtis
491*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f34,%f34
492*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f50,%f14
493*25c28e83SPiotr Jasiukajtis	and	%l2,2,%o4
494*25c28e83SPiotr Jasiukajtis
495*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f36,%f36
496*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f50,%f16
497*25c28e83SPiotr Jasiukajtis	and	%l3,2,%o5
498*25c28e83SPiotr Jasiukajtis
499*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f10,%f10
500*25c28e83SPiotr Jasiukajtis	fmovrdnz %g1,%f28,%f0
501*25c28e83SPiotr Jasiukajtis
502*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f12,%f12
503*25c28e83SPiotr Jasiukajtis	fmovrdnz %g5,%f28,%f2
504*25c28e83SPiotr Jasiukajtis
505*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f14,%f14
506*25c28e83SPiotr Jasiukajtis	fmovrdnz %o4,%f28,%f4
507*25c28e83SPiotr Jasiukajtis
508*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f16,%f16
509*25c28e83SPiotr Jasiukajtis	fmovrdnz %o5,%f28,%f6
510*25c28e83SPiotr Jasiukajtis
511*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f20,%f10
512*25c28e83SPiotr Jasiukajtis
513*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f22,%f12
514*25c28e83SPiotr Jasiukajtis
515*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f24,%f14
516*25c28e83SPiotr Jasiukajtis
517*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f26,%f16
518*25c28e83SPiotr Jasiukajtis
519*25c28e83SPiotr Jasiukajtis	fxor	%f10,%f0,%f10
520*25c28e83SPiotr Jasiukajtis
521*25c28e83SPiotr Jasiukajtis	fxor	%f12,%f2,%f12
522*25c28e83SPiotr Jasiukajtis
523*25c28e83SPiotr Jasiukajtis	fxor	%f14,%f4,%f14
524*25c28e83SPiotr Jasiukajtis
525*25c28e83SPiotr Jasiukajtis	addcc	%i0,-1,%i0
526*25c28e83SPiotr Jasiukajtis	bg,pt	%icc,.start
527*25c28e83SPiotr Jasiukajtis! delay slot
528*25c28e83SPiotr Jasiukajtis	fxor	%f16,%f6,%f16
529*25c28e83SPiotr Jasiukajtis
530*25c28e83SPiotr Jasiukajtis	ba,pt	%icc,.end
531*25c28e83SPiotr Jasiukajtis! delay slot
532*25c28e83SPiotr Jasiukajtis	nop
533*25c28e83SPiotr Jasiukajtis
534*25c28e83SPiotr Jasiukajtis	.align	16
535*25c28e83SPiotr Jasiukajtis.case1:
536*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f54,%f10		! cos(x0)
537*25c28e83SPiotr Jasiukajtis	fzero	%f0
538*25c28e83SPiotr Jasiukajtis
539*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f54,%f12		! cos(x1)
540*25c28e83SPiotr Jasiukajtis	fzero	%f2
541*25c28e83SPiotr Jasiukajtis
542*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f54,%f14		! cos(x2)
543*25c28e83SPiotr Jasiukajtis	fzero	%f4
544*25c28e83SPiotr Jasiukajtis
545*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f44,%f16		! sin(x3)
546*25c28e83SPiotr Jasiukajtis
547*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f48,%f20
548*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f52,%f10
549*25c28e83SPiotr Jasiukajtis
550*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f48,%f22
551*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f52,%f12
552*25c28e83SPiotr Jasiukajtis
553*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f48,%f24
554*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f52,%f14
555*25c28e83SPiotr Jasiukajtis
556*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f40,%f26
557*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f42,%f16
558*25c28e83SPiotr Jasiukajtis
559*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f10,%f10
560*25c28e83SPiotr Jasiukajtis	faddd	%f20,%f46,%f20
561*25c28e83SPiotr Jasiukajtis
562*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f12,%f12
563*25c28e83SPiotr Jasiukajtis	faddd	%f22,%f46,%f22
564*25c28e83SPiotr Jasiukajtis
565*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f14,%f14
566*25c28e83SPiotr Jasiukajtis	faddd	%f24,%f46,%f24
567*25c28e83SPiotr Jasiukajtis
568*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f36,%f36
569*25c28e83SPiotr Jasiukajtis	faddd	%f26,%f46,%f26
570*25c28e83SPiotr Jasiukajtis
571*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f30,%f30
572*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f50,%f10
573*25c28e83SPiotr Jasiukajtis	and	%l0,2,%g1
574*25c28e83SPiotr Jasiukajtis
575*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f32,%f32
576*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f50,%f12
577*25c28e83SPiotr Jasiukajtis	and	%l1,2,%g5
578*25c28e83SPiotr Jasiukajtis
579*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f34,%f34
580*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f50,%f14
581*25c28e83SPiotr Jasiukajtis	and	%l2,2,%o4
582*25c28e83SPiotr Jasiukajtis
583*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f16,%f16
584*25c28e83SPiotr Jasiukajtis	fzero	%f36
585*25c28e83SPiotr Jasiukajtis
586*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f10,%f10
587*25c28e83SPiotr Jasiukajtis	fmovrdnz %g1,%f28,%f0
588*25c28e83SPiotr Jasiukajtis
589*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f12,%f12
590*25c28e83SPiotr Jasiukajtis	fmovrdnz %g5,%f28,%f2
591*25c28e83SPiotr Jasiukajtis
592*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f14,%f14
593*25c28e83SPiotr Jasiukajtis	fmovrdnz %o4,%f28,%f4
594*25c28e83SPiotr Jasiukajtis
595*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f26,%f16
596*25c28e83SPiotr Jasiukajtis	and	%l3,2,%o5
597*25c28e83SPiotr Jasiukajtis
598*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f20,%f10
599*25c28e83SPiotr Jasiukajtis
600*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f22,%f12
601*25c28e83SPiotr Jasiukajtis
602*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f24,%f14
603*25c28e83SPiotr Jasiukajtis
604*25c28e83SPiotr Jasiukajtis	fmuld	%f6,%f16,%f16
605*25c28e83SPiotr Jasiukajtis	fmovrdnz %o5,%f28,%f36
606*25c28e83SPiotr Jasiukajtis
607*25c28e83SPiotr Jasiukajtis	fxor	%f10,%f0,%f10
608*25c28e83SPiotr Jasiukajtis
609*25c28e83SPiotr Jasiukajtis	fxor	%f12,%f2,%f12
610*25c28e83SPiotr Jasiukajtis
611*25c28e83SPiotr Jasiukajtis	fxor	%f14,%f4,%f14
612*25c28e83SPiotr Jasiukajtis
613*25c28e83SPiotr Jasiukajtis	addcc	%i0,-1,%i0
614*25c28e83SPiotr Jasiukajtis	bg,pt	%icc,.start
615*25c28e83SPiotr Jasiukajtis! delay slot
616*25c28e83SPiotr Jasiukajtis	fxor	%f16,%f36,%f16
617*25c28e83SPiotr Jasiukajtis
618*25c28e83SPiotr Jasiukajtis	ba,pt	%icc,.end
619*25c28e83SPiotr Jasiukajtis! delay slot
620*25c28e83SPiotr Jasiukajtis	nop
621*25c28e83SPiotr Jasiukajtis
622*25c28e83SPiotr Jasiukajtis	.align	16
623*25c28e83SPiotr Jasiukajtis.case2:
624*25c28e83SPiotr Jasiukajtis	fmuld	%f6,%f6,%f36
625*25c28e83SPiotr Jasiukajtis	bz,pn	%icc,.case3
626*25c28e83SPiotr Jasiukajtis! delay slot
627*25c28e83SPiotr Jasiukajtis	nop
628*25c28e83SPiotr Jasiukajtis
629*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f54,%f10		! cos(x0)
630*25c28e83SPiotr Jasiukajtis	fzero	%f0
631*25c28e83SPiotr Jasiukajtis
632*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f54,%f12		! cos(x1)
633*25c28e83SPiotr Jasiukajtis	fzero	%f2
634*25c28e83SPiotr Jasiukajtis
635*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f44,%f14		! sin(x2)
636*25c28e83SPiotr Jasiukajtis
637*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f54,%f16		! cos(x3)
638*25c28e83SPiotr Jasiukajtis	fzero	%f6
639*25c28e83SPiotr Jasiukajtis
640*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f48,%f20
641*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f52,%f10
642*25c28e83SPiotr Jasiukajtis
643*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f48,%f22
644*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f52,%f12
645*25c28e83SPiotr Jasiukajtis
646*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f40,%f24
647*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f42,%f14
648*25c28e83SPiotr Jasiukajtis
649*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f48,%f26
650*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f52,%f16
651*25c28e83SPiotr Jasiukajtis
652*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f10,%f10
653*25c28e83SPiotr Jasiukajtis	faddd	%f20,%f46,%f20
654*25c28e83SPiotr Jasiukajtis
655*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f12,%f12
656*25c28e83SPiotr Jasiukajtis	faddd	%f22,%f46,%f22
657*25c28e83SPiotr Jasiukajtis
658*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f34,%f34
659*25c28e83SPiotr Jasiukajtis	faddd	%f24,%f46,%f24
660*25c28e83SPiotr Jasiukajtis
661*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f16,%f16
662*25c28e83SPiotr Jasiukajtis	faddd	%f26,%f46,%f26
663*25c28e83SPiotr Jasiukajtis
664*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f30,%f30
665*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f50,%f10
666*25c28e83SPiotr Jasiukajtis	and	%l0,2,%g1
667*25c28e83SPiotr Jasiukajtis
668*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f32,%f32
669*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f50,%f12
670*25c28e83SPiotr Jasiukajtis	and	%l1,2,%g5
671*25c28e83SPiotr Jasiukajtis
672*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f14,%f14
673*25c28e83SPiotr Jasiukajtis	fzero	%f34
674*25c28e83SPiotr Jasiukajtis
675*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f36,%f36
676*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f50,%f16
677*25c28e83SPiotr Jasiukajtis	and	%l3,2,%o5
678*25c28e83SPiotr Jasiukajtis
679*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f10,%f10
680*25c28e83SPiotr Jasiukajtis	fmovrdnz %g1,%f28,%f0
681*25c28e83SPiotr Jasiukajtis
682*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f12,%f12
683*25c28e83SPiotr Jasiukajtis	fmovrdnz %g5,%f28,%f2
684*25c28e83SPiotr Jasiukajtis
685*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f24,%f14
686*25c28e83SPiotr Jasiukajtis	and	%l2,2,%o4
687*25c28e83SPiotr Jasiukajtis
688*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f16,%f16
689*25c28e83SPiotr Jasiukajtis	fmovrdnz %o5,%f28,%f6
690*25c28e83SPiotr Jasiukajtis
691*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f20,%f10
692*25c28e83SPiotr Jasiukajtis
693*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f22,%f12
694*25c28e83SPiotr Jasiukajtis
695*25c28e83SPiotr Jasiukajtis	fmuld	%f4,%f14,%f14
696*25c28e83SPiotr Jasiukajtis	fmovrdnz %o4,%f28,%f34
697*25c28e83SPiotr Jasiukajtis
698*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f26,%f16
699*25c28e83SPiotr Jasiukajtis
700*25c28e83SPiotr Jasiukajtis	fxor	%f10,%f0,%f10
701*25c28e83SPiotr Jasiukajtis
702*25c28e83SPiotr Jasiukajtis	fxor	%f12,%f2,%f12
703*25c28e83SPiotr Jasiukajtis
704*25c28e83SPiotr Jasiukajtis	fxor	%f14,%f34,%f14
705*25c28e83SPiotr Jasiukajtis
706*25c28e83SPiotr Jasiukajtis	addcc	%i0,-1,%i0
707*25c28e83SPiotr Jasiukajtis	bg,pt	%icc,.start
708*25c28e83SPiotr Jasiukajtis! delay slot
709*25c28e83SPiotr Jasiukajtis	fxor	%f16,%f6,%f16
710*25c28e83SPiotr Jasiukajtis
711*25c28e83SPiotr Jasiukajtis	ba,pt	%icc,.end
712*25c28e83SPiotr Jasiukajtis! delay slot
713*25c28e83SPiotr Jasiukajtis	nop
714*25c28e83SPiotr Jasiukajtis
715*25c28e83SPiotr Jasiukajtis	.align	16
716*25c28e83SPiotr Jasiukajtis.case3:
717*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f54,%f10		! cos(x0)
718*25c28e83SPiotr Jasiukajtis	fzero	%f0
719*25c28e83SPiotr Jasiukajtis
720*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f54,%f12		! cos(x1)
721*25c28e83SPiotr Jasiukajtis	fzero	%f2
722*25c28e83SPiotr Jasiukajtis
723*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f44,%f14		! sin(x2)
724*25c28e83SPiotr Jasiukajtis
725*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f44,%f16		! sin(x3)
726*25c28e83SPiotr Jasiukajtis
727*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f48,%f20
728*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f52,%f10
729*25c28e83SPiotr Jasiukajtis
730*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f48,%f22
731*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f52,%f12
732*25c28e83SPiotr Jasiukajtis
733*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f40,%f24
734*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f42,%f14
735*25c28e83SPiotr Jasiukajtis
736*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f40,%f26
737*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f42,%f16
738*25c28e83SPiotr Jasiukajtis
739*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f10,%f10
740*25c28e83SPiotr Jasiukajtis	faddd	%f20,%f46,%f20
741*25c28e83SPiotr Jasiukajtis
742*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f12,%f12
743*25c28e83SPiotr Jasiukajtis	faddd	%f22,%f46,%f22
744*25c28e83SPiotr Jasiukajtis
745*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f34,%f34
746*25c28e83SPiotr Jasiukajtis	faddd	%f24,%f46,%f24
747*25c28e83SPiotr Jasiukajtis
748*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f36,%f36
749*25c28e83SPiotr Jasiukajtis	faddd	%f26,%f46,%f26
750*25c28e83SPiotr Jasiukajtis
751*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f30,%f30
752*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f50,%f10
753*25c28e83SPiotr Jasiukajtis	and	%l0,2,%g1
754*25c28e83SPiotr Jasiukajtis
755*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f32,%f32
756*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f50,%f12
757*25c28e83SPiotr Jasiukajtis	and	%l1,2,%g5
758*25c28e83SPiotr Jasiukajtis
759*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f14,%f14
760*25c28e83SPiotr Jasiukajtis	fzero	%f34
761*25c28e83SPiotr Jasiukajtis
762*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f16,%f16
763*25c28e83SPiotr Jasiukajtis	fzero	%f36
764*25c28e83SPiotr Jasiukajtis
765*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f10,%f10
766*25c28e83SPiotr Jasiukajtis	fmovrdnz %g1,%f28,%f0
767*25c28e83SPiotr Jasiukajtis
768*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f12,%f12
769*25c28e83SPiotr Jasiukajtis	fmovrdnz %g5,%f28,%f2
770*25c28e83SPiotr Jasiukajtis
771*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f24,%f14
772*25c28e83SPiotr Jasiukajtis	and	%l2,2,%o4
773*25c28e83SPiotr Jasiukajtis
774*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f26,%f16
775*25c28e83SPiotr Jasiukajtis	and	%l3,2,%o5
776*25c28e83SPiotr Jasiukajtis
777*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f20,%f10
778*25c28e83SPiotr Jasiukajtis
779*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f22,%f12
780*25c28e83SPiotr Jasiukajtis
781*25c28e83SPiotr Jasiukajtis	fmuld	%f4,%f14,%f14
782*25c28e83SPiotr Jasiukajtis	fmovrdnz %o4,%f28,%f34
783*25c28e83SPiotr Jasiukajtis
784*25c28e83SPiotr Jasiukajtis	fmuld	%f6,%f16,%f16
785*25c28e83SPiotr Jasiukajtis	fmovrdnz %o5,%f28,%f36
786*25c28e83SPiotr Jasiukajtis
787*25c28e83SPiotr Jasiukajtis	fxor	%f10,%f0,%f10
788*25c28e83SPiotr Jasiukajtis
789*25c28e83SPiotr Jasiukajtis	fxor	%f12,%f2,%f12
790*25c28e83SPiotr Jasiukajtis
791*25c28e83SPiotr Jasiukajtis	fxor	%f14,%f34,%f14
792*25c28e83SPiotr Jasiukajtis
793*25c28e83SPiotr Jasiukajtis	addcc	%i0,-1,%i0
794*25c28e83SPiotr Jasiukajtis	bg,pt	%icc,.start
795*25c28e83SPiotr Jasiukajtis! delay slot
796*25c28e83SPiotr Jasiukajtis	fxor	%f16,%f36,%f16
797*25c28e83SPiotr Jasiukajtis
798*25c28e83SPiotr Jasiukajtis	ba,pt	%icc,.end
799*25c28e83SPiotr Jasiukajtis! delay slot
800*25c28e83SPiotr Jasiukajtis	nop
801*25c28e83SPiotr Jasiukajtis
802*25c28e83SPiotr Jasiukajtis	.align	16
803*25c28e83SPiotr Jasiukajtis.case4:
804*25c28e83SPiotr Jasiukajtis	fmuld	%f4,%f4,%f34
805*25c28e83SPiotr Jasiukajtis	bz,pn	%icc,.case6
806*25c28e83SPiotr Jasiukajtis! delay slot
807*25c28e83SPiotr Jasiukajtis	andcc	%l3,1,%g0
808*25c28e83SPiotr Jasiukajtis
809*25c28e83SPiotr Jasiukajtis	fmuld	%f6,%f6,%f36
810*25c28e83SPiotr Jasiukajtis	bz,pn	%icc,.case5
811*25c28e83SPiotr Jasiukajtis! delay slot
812*25c28e83SPiotr Jasiukajtis	nop
813*25c28e83SPiotr Jasiukajtis
814*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f54,%f10		! cos(x0)
815*25c28e83SPiotr Jasiukajtis	fzero	%f0
816*25c28e83SPiotr Jasiukajtis
817*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f44,%f12		! sin(x1)
818*25c28e83SPiotr Jasiukajtis
819*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f54,%f14		! cos(x2)
820*25c28e83SPiotr Jasiukajtis	fzero	%f4
821*25c28e83SPiotr Jasiukajtis
822*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f54,%f16		! cos(x3)
823*25c28e83SPiotr Jasiukajtis	fzero	%f6
824*25c28e83SPiotr Jasiukajtis
825*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f48,%f20
826*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f52,%f10
827*25c28e83SPiotr Jasiukajtis
828*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f40,%f22
829*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f42,%f12
830*25c28e83SPiotr Jasiukajtis
831*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f48,%f24
832*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f52,%f14
833*25c28e83SPiotr Jasiukajtis
834*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f48,%f26
835*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f52,%f16
836*25c28e83SPiotr Jasiukajtis
837*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f10,%f10
838*25c28e83SPiotr Jasiukajtis	faddd	%f20,%f46,%f20
839*25c28e83SPiotr Jasiukajtis
840*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f32,%f32
841*25c28e83SPiotr Jasiukajtis	faddd	%f22,%f46,%f22
842*25c28e83SPiotr Jasiukajtis
843*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f14,%f14
844*25c28e83SPiotr Jasiukajtis	faddd	%f24,%f46,%f24
845*25c28e83SPiotr Jasiukajtis
846*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f16,%f16
847*25c28e83SPiotr Jasiukajtis	faddd	%f26,%f46,%f26
848*25c28e83SPiotr Jasiukajtis
849*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f30,%f30
850*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f50,%f10
851*25c28e83SPiotr Jasiukajtis	and	%l0,2,%g1
852*25c28e83SPiotr Jasiukajtis
853*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f12,%f12
854*25c28e83SPiotr Jasiukajtis	fzero	%f32
855*25c28e83SPiotr Jasiukajtis
856*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f34,%f34
857*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f50,%f14
858*25c28e83SPiotr Jasiukajtis	and	%l2,2,%o4
859*25c28e83SPiotr Jasiukajtis
860*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f36,%f36
861*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f50,%f16
862*25c28e83SPiotr Jasiukajtis	and	%l3,2,%o5
863*25c28e83SPiotr Jasiukajtis
864*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f10,%f10
865*25c28e83SPiotr Jasiukajtis	fmovrdnz %g1,%f28,%f0
866*25c28e83SPiotr Jasiukajtis
867*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f22,%f12
868*25c28e83SPiotr Jasiukajtis	and	%l1,2,%g5
869*25c28e83SPiotr Jasiukajtis
870*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f14,%f14
871*25c28e83SPiotr Jasiukajtis	fmovrdnz %o4,%f28,%f4
872*25c28e83SPiotr Jasiukajtis
873*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f16,%f16
874*25c28e83SPiotr Jasiukajtis	fmovrdnz %o5,%f28,%f6
875*25c28e83SPiotr Jasiukajtis
876*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f20,%f10
877*25c28e83SPiotr Jasiukajtis
878*25c28e83SPiotr Jasiukajtis	fmuld	%f2,%f12,%f12
879*25c28e83SPiotr Jasiukajtis	fmovrdnz %g5,%f28,%f32
880*25c28e83SPiotr Jasiukajtis
881*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f24,%f14
882*25c28e83SPiotr Jasiukajtis
883*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f26,%f16
884*25c28e83SPiotr Jasiukajtis
885*25c28e83SPiotr Jasiukajtis	fxor	%f10,%f0,%f10
886*25c28e83SPiotr Jasiukajtis
887*25c28e83SPiotr Jasiukajtis	fxor	%f12,%f32,%f12
888*25c28e83SPiotr Jasiukajtis
889*25c28e83SPiotr Jasiukajtis	fxor	%f14,%f4,%f14
890*25c28e83SPiotr Jasiukajtis
891*25c28e83SPiotr Jasiukajtis	addcc	%i0,-1,%i0
892*25c28e83SPiotr Jasiukajtis	bg,pt	%icc,.start
893*25c28e83SPiotr Jasiukajtis! delay slot
894*25c28e83SPiotr Jasiukajtis	fxor	%f16,%f6,%f16
895*25c28e83SPiotr Jasiukajtis
896*25c28e83SPiotr Jasiukajtis	ba,pt	%icc,.end
897*25c28e83SPiotr Jasiukajtis! delay slot
898*25c28e83SPiotr Jasiukajtis	nop
899*25c28e83SPiotr Jasiukajtis
900*25c28e83SPiotr Jasiukajtis	.align	16
901*25c28e83SPiotr Jasiukajtis.case5:
902*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f54,%f10		! cos(x0)
903*25c28e83SPiotr Jasiukajtis	fzero	%f0
904*25c28e83SPiotr Jasiukajtis
905*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f44,%f12		! sin(x1)
906*25c28e83SPiotr Jasiukajtis
907*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f54,%f14		! cos(x2)
908*25c28e83SPiotr Jasiukajtis	fzero	%f4
909*25c28e83SPiotr Jasiukajtis
910*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f44,%f16		! sin(x3)
911*25c28e83SPiotr Jasiukajtis
912*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f48,%f20
913*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f52,%f10
914*25c28e83SPiotr Jasiukajtis
915*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f40,%f22
916*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f42,%f12
917*25c28e83SPiotr Jasiukajtis
918*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f48,%f24
919*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f52,%f14
920*25c28e83SPiotr Jasiukajtis
921*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f40,%f26
922*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f42,%f16
923*25c28e83SPiotr Jasiukajtis
924*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f10,%f10
925*25c28e83SPiotr Jasiukajtis	faddd	%f20,%f46,%f20
926*25c28e83SPiotr Jasiukajtis
927*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f32,%f32
928*25c28e83SPiotr Jasiukajtis	faddd	%f22,%f46,%f22
929*25c28e83SPiotr Jasiukajtis
930*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f14,%f14
931*25c28e83SPiotr Jasiukajtis	faddd	%f24,%f46,%f24
932*25c28e83SPiotr Jasiukajtis
933*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f36,%f36
934*25c28e83SPiotr Jasiukajtis	faddd	%f26,%f46,%f26
935*25c28e83SPiotr Jasiukajtis
936*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f30,%f30
937*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f50,%f10
938*25c28e83SPiotr Jasiukajtis	and	%l0,2,%g1
939*25c28e83SPiotr Jasiukajtis
940*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f12,%f12
941*25c28e83SPiotr Jasiukajtis	fzero	%f32
942*25c28e83SPiotr Jasiukajtis
943*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f34,%f34
944*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f50,%f14
945*25c28e83SPiotr Jasiukajtis	and	%l2,2,%o4
946*25c28e83SPiotr Jasiukajtis
947*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f16,%f16
948*25c28e83SPiotr Jasiukajtis	fzero	%f36
949*25c28e83SPiotr Jasiukajtis
950*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f10,%f10
951*25c28e83SPiotr Jasiukajtis	fmovrdnz %g1,%f28,%f0
952*25c28e83SPiotr Jasiukajtis
953*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f22,%f12
954*25c28e83SPiotr Jasiukajtis	and	%l1,2,%g5
955*25c28e83SPiotr Jasiukajtis
956*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f14,%f14
957*25c28e83SPiotr Jasiukajtis	fmovrdnz %o4,%f28,%f4
958*25c28e83SPiotr Jasiukajtis
959*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f26,%f16
960*25c28e83SPiotr Jasiukajtis	and	%l3,2,%o5
961*25c28e83SPiotr Jasiukajtis
962*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f20,%f10
963*25c28e83SPiotr Jasiukajtis
964*25c28e83SPiotr Jasiukajtis	fmuld	%f2,%f12,%f12
965*25c28e83SPiotr Jasiukajtis	fmovrdnz %g5,%f28,%f32
966*25c28e83SPiotr Jasiukajtis
967*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f24,%f14
968*25c28e83SPiotr Jasiukajtis
969*25c28e83SPiotr Jasiukajtis	fmuld	%f6,%f16,%f16
970*25c28e83SPiotr Jasiukajtis	fmovrdnz %o5,%f28,%f36
971*25c28e83SPiotr Jasiukajtis
972*25c28e83SPiotr Jasiukajtis	fxor	%f10,%f0,%f10
973*25c28e83SPiotr Jasiukajtis
974*25c28e83SPiotr Jasiukajtis	fxor	%f12,%f32,%f12
975*25c28e83SPiotr Jasiukajtis
976*25c28e83SPiotr Jasiukajtis	fxor	%f14,%f4,%f14
977*25c28e83SPiotr Jasiukajtis
978*25c28e83SPiotr Jasiukajtis	addcc	%i0,-1,%i0
979*25c28e83SPiotr Jasiukajtis	bg,pt	%icc,.start
980*25c28e83SPiotr Jasiukajtis! delay slot
981*25c28e83SPiotr Jasiukajtis	fxor	%f16,%f36,%f16
982*25c28e83SPiotr Jasiukajtis
983*25c28e83SPiotr Jasiukajtis	ba,pt	%icc,.end
984*25c28e83SPiotr Jasiukajtis! delay slot
985*25c28e83SPiotr Jasiukajtis	nop
986*25c28e83SPiotr Jasiukajtis
987*25c28e83SPiotr Jasiukajtis	.align	16
988*25c28e83SPiotr Jasiukajtis.case6:
989*25c28e83SPiotr Jasiukajtis	fmuld	%f6,%f6,%f36
990*25c28e83SPiotr Jasiukajtis	bz,pn	%icc,.case7
991*25c28e83SPiotr Jasiukajtis! delay slot
992*25c28e83SPiotr Jasiukajtis	nop
993*25c28e83SPiotr Jasiukajtis
994*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f54,%f10		! cos(x0)
995*25c28e83SPiotr Jasiukajtis	fzero	%f0
996*25c28e83SPiotr Jasiukajtis
997*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f44,%f12		! sin(x1)
998*25c28e83SPiotr Jasiukajtis
999*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f44,%f14		! sin(x2)
1000*25c28e83SPiotr Jasiukajtis
1001*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f54,%f16		! cos(x3)
1002*25c28e83SPiotr Jasiukajtis	fzero	%f6
1003*25c28e83SPiotr Jasiukajtis
1004*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f48,%f20
1005*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f52,%f10
1006*25c28e83SPiotr Jasiukajtis
1007*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f40,%f22
1008*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f42,%f12
1009*25c28e83SPiotr Jasiukajtis
1010*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f40,%f24
1011*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f42,%f14
1012*25c28e83SPiotr Jasiukajtis
1013*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f48,%f26
1014*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f52,%f16
1015*25c28e83SPiotr Jasiukajtis
1016*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f10,%f10
1017*25c28e83SPiotr Jasiukajtis	faddd	%f20,%f46,%f20
1018*25c28e83SPiotr Jasiukajtis
1019*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f32,%f32
1020*25c28e83SPiotr Jasiukajtis	faddd	%f22,%f46,%f22
1021*25c28e83SPiotr Jasiukajtis
1022*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f34,%f34
1023*25c28e83SPiotr Jasiukajtis	faddd	%f24,%f46,%f24
1024*25c28e83SPiotr Jasiukajtis
1025*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f16,%f16
1026*25c28e83SPiotr Jasiukajtis	faddd	%f26,%f46,%f26
1027*25c28e83SPiotr Jasiukajtis
1028*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f30,%f30
1029*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f50,%f10
1030*25c28e83SPiotr Jasiukajtis	and	%l0,2,%g1
1031*25c28e83SPiotr Jasiukajtis
1032*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f12,%f12
1033*25c28e83SPiotr Jasiukajtis	fzero	%f32
1034*25c28e83SPiotr Jasiukajtis
1035*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f14,%f14
1036*25c28e83SPiotr Jasiukajtis	fzero	%f34
1037*25c28e83SPiotr Jasiukajtis
1038*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f36,%f36
1039*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f50,%f16
1040*25c28e83SPiotr Jasiukajtis	and	%l3,2,%o5
1041*25c28e83SPiotr Jasiukajtis
1042*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f10,%f10
1043*25c28e83SPiotr Jasiukajtis	fmovrdnz %g1,%f28,%f0
1044*25c28e83SPiotr Jasiukajtis
1045*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f22,%f12
1046*25c28e83SPiotr Jasiukajtis	and	%l1,2,%g5
1047*25c28e83SPiotr Jasiukajtis
1048*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f24,%f14
1049*25c28e83SPiotr Jasiukajtis	and	%l2,2,%o4
1050*25c28e83SPiotr Jasiukajtis
1051*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f16,%f16
1052*25c28e83SPiotr Jasiukajtis	fmovrdnz %o5,%f28,%f6
1053*25c28e83SPiotr Jasiukajtis
1054*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f20,%f10
1055*25c28e83SPiotr Jasiukajtis
1056*25c28e83SPiotr Jasiukajtis	fmuld	%f2,%f12,%f12
1057*25c28e83SPiotr Jasiukajtis	fmovrdnz %g5,%f28,%f32
1058*25c28e83SPiotr Jasiukajtis
1059*25c28e83SPiotr Jasiukajtis	fmuld	%f4,%f14,%f14
1060*25c28e83SPiotr Jasiukajtis	fmovrdnz %o4,%f28,%f34
1061*25c28e83SPiotr Jasiukajtis
1062*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f26,%f16
1063*25c28e83SPiotr Jasiukajtis
1064*25c28e83SPiotr Jasiukajtis	fxor	%f10,%f0,%f10
1065*25c28e83SPiotr Jasiukajtis
1066*25c28e83SPiotr Jasiukajtis	fxor	%f12,%f32,%f12
1067*25c28e83SPiotr Jasiukajtis
1068*25c28e83SPiotr Jasiukajtis	fxor	%f14,%f34,%f14
1069*25c28e83SPiotr Jasiukajtis
1070*25c28e83SPiotr Jasiukajtis	addcc	%i0,-1,%i0
1071*25c28e83SPiotr Jasiukajtis	bg,pt	%icc,.start
1072*25c28e83SPiotr Jasiukajtis! delay slot
1073*25c28e83SPiotr Jasiukajtis	fxor	%f16,%f6,%f16
1074*25c28e83SPiotr Jasiukajtis
1075*25c28e83SPiotr Jasiukajtis	ba,pt	%icc,.end
1076*25c28e83SPiotr Jasiukajtis! delay slot
1077*25c28e83SPiotr Jasiukajtis	nop
1078*25c28e83SPiotr Jasiukajtis
1079*25c28e83SPiotr Jasiukajtis	.align	16
1080*25c28e83SPiotr Jasiukajtis.case7:
1081*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f54,%f10		! cos(x0)
1082*25c28e83SPiotr Jasiukajtis	fzero	%f0
1083*25c28e83SPiotr Jasiukajtis
1084*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f44,%f12		! sin(x1)
1085*25c28e83SPiotr Jasiukajtis
1086*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f44,%f14		! sin(x2)
1087*25c28e83SPiotr Jasiukajtis
1088*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f44,%f16		! sin(x3)
1089*25c28e83SPiotr Jasiukajtis
1090*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f48,%f20
1091*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f52,%f10
1092*25c28e83SPiotr Jasiukajtis
1093*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f40,%f22
1094*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f42,%f12
1095*25c28e83SPiotr Jasiukajtis
1096*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f40,%f24
1097*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f42,%f14
1098*25c28e83SPiotr Jasiukajtis
1099*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f40,%f26
1100*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f42,%f16
1101*25c28e83SPiotr Jasiukajtis
1102*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f10,%f10
1103*25c28e83SPiotr Jasiukajtis	faddd	%f20,%f46,%f20
1104*25c28e83SPiotr Jasiukajtis
1105*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f32,%f32
1106*25c28e83SPiotr Jasiukajtis	faddd	%f22,%f46,%f22
1107*25c28e83SPiotr Jasiukajtis
1108*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f34,%f34
1109*25c28e83SPiotr Jasiukajtis	faddd	%f24,%f46,%f24
1110*25c28e83SPiotr Jasiukajtis
1111*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f36,%f36
1112*25c28e83SPiotr Jasiukajtis	faddd	%f26,%f46,%f26
1113*25c28e83SPiotr Jasiukajtis
1114*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f30,%f30
1115*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f50,%f10
1116*25c28e83SPiotr Jasiukajtis	and	%l0,2,%g1
1117*25c28e83SPiotr Jasiukajtis
1118*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f12,%f12
1119*25c28e83SPiotr Jasiukajtis	fzero	%f32
1120*25c28e83SPiotr Jasiukajtis
1121*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f14,%f14
1122*25c28e83SPiotr Jasiukajtis	fzero	%f34
1123*25c28e83SPiotr Jasiukajtis
1124*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f16,%f16
1125*25c28e83SPiotr Jasiukajtis	fzero	%f36
1126*25c28e83SPiotr Jasiukajtis
1127*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f10,%f10
1128*25c28e83SPiotr Jasiukajtis	fmovrdnz %g1,%f28,%f0
1129*25c28e83SPiotr Jasiukajtis
1130*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f22,%f12
1131*25c28e83SPiotr Jasiukajtis	and	%l1,2,%g5
1132*25c28e83SPiotr Jasiukajtis
1133*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f24,%f14
1134*25c28e83SPiotr Jasiukajtis	and	%l2,2,%o4
1135*25c28e83SPiotr Jasiukajtis
1136*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f26,%f16
1137*25c28e83SPiotr Jasiukajtis	and	%l3,2,%o5
1138*25c28e83SPiotr Jasiukajtis
1139*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f20,%f10
1140*25c28e83SPiotr Jasiukajtis
1141*25c28e83SPiotr Jasiukajtis	fmuld	%f2,%f12,%f12
1142*25c28e83SPiotr Jasiukajtis	fmovrdnz %g5,%f28,%f32
1143*25c28e83SPiotr Jasiukajtis
1144*25c28e83SPiotr Jasiukajtis	fmuld	%f4,%f14,%f14
1145*25c28e83SPiotr Jasiukajtis	fmovrdnz %o4,%f28,%f34
1146*25c28e83SPiotr Jasiukajtis
1147*25c28e83SPiotr Jasiukajtis	fmuld	%f6,%f16,%f16
1148*25c28e83SPiotr Jasiukajtis	fmovrdnz %o5,%f28,%f36
1149*25c28e83SPiotr Jasiukajtis
1150*25c28e83SPiotr Jasiukajtis	fxor	%f10,%f0,%f10
1151*25c28e83SPiotr Jasiukajtis
1152*25c28e83SPiotr Jasiukajtis	fxor	%f12,%f32,%f12
1153*25c28e83SPiotr Jasiukajtis
1154*25c28e83SPiotr Jasiukajtis	fxor	%f14,%f34,%f14
1155*25c28e83SPiotr Jasiukajtis
1156*25c28e83SPiotr Jasiukajtis	addcc	%i0,-1,%i0
1157*25c28e83SPiotr Jasiukajtis	bg,pt	%icc,.start
1158*25c28e83SPiotr Jasiukajtis! delay slot
1159*25c28e83SPiotr Jasiukajtis	fxor	%f16,%f36,%f16
1160*25c28e83SPiotr Jasiukajtis
1161*25c28e83SPiotr Jasiukajtis	ba,pt	%icc,.end
1162*25c28e83SPiotr Jasiukajtis! delay slot
1163*25c28e83SPiotr Jasiukajtis	nop
1164*25c28e83SPiotr Jasiukajtis
1165*25c28e83SPiotr Jasiukajtis
1166*25c28e83SPiotr Jasiukajtis	.align	16
1167*25c28e83SPiotr Jasiukajtis.case8:
1168*25c28e83SPiotr Jasiukajtis	fmuld	%f2,%f2,%f32
1169*25c28e83SPiotr Jasiukajtis	bz,pn	%icc,.case12
1170*25c28e83SPiotr Jasiukajtis! delay slot
1171*25c28e83SPiotr Jasiukajtis	andcc	%l2,1,%g0
1172*25c28e83SPiotr Jasiukajtis
1173*25c28e83SPiotr Jasiukajtis	fmuld	%f4,%f4,%f34
1174*25c28e83SPiotr Jasiukajtis	bz,pn	%icc,.case10
1175*25c28e83SPiotr Jasiukajtis! delay slot
1176*25c28e83SPiotr Jasiukajtis	andcc	%l3,1,%g0
1177*25c28e83SPiotr Jasiukajtis
1178*25c28e83SPiotr Jasiukajtis	fmuld	%f6,%f6,%f36
1179*25c28e83SPiotr Jasiukajtis	bz,pn	%icc,.case9
1180*25c28e83SPiotr Jasiukajtis! delay slot
1181*25c28e83SPiotr Jasiukajtis	nop
1182*25c28e83SPiotr Jasiukajtis
1183*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f44,%f10		! sin(x0)
1184*25c28e83SPiotr Jasiukajtis
1185*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f54,%f12		! cos(x1)
1186*25c28e83SPiotr Jasiukajtis	fzero	%f2
1187*25c28e83SPiotr Jasiukajtis
1188*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f54,%f14		! cos(x2)
1189*25c28e83SPiotr Jasiukajtis	fzero	%f4
1190*25c28e83SPiotr Jasiukajtis
1191*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f54,%f16		! cos(x3)
1192*25c28e83SPiotr Jasiukajtis	fzero	%f6
1193*25c28e83SPiotr Jasiukajtis
1194*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f40,%f20
1195*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f42,%f10
1196*25c28e83SPiotr Jasiukajtis
1197*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f48,%f22
1198*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f52,%f12
1199*25c28e83SPiotr Jasiukajtis
1200*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f48,%f24
1201*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f52,%f14
1202*25c28e83SPiotr Jasiukajtis
1203*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f48,%f26
1204*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f52,%f16
1205*25c28e83SPiotr Jasiukajtis
1206*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f30,%f30
1207*25c28e83SPiotr Jasiukajtis	faddd	%f20,%f46,%f20
1208*25c28e83SPiotr Jasiukajtis
1209*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f12,%f12
1210*25c28e83SPiotr Jasiukajtis	faddd	%f22,%f46,%f22
1211*25c28e83SPiotr Jasiukajtis
1212*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f14,%f14
1213*25c28e83SPiotr Jasiukajtis	faddd	%f24,%f46,%f24
1214*25c28e83SPiotr Jasiukajtis
1215*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f16,%f16
1216*25c28e83SPiotr Jasiukajtis	faddd	%f26,%f46,%f26
1217*25c28e83SPiotr Jasiukajtis
1218*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f10,%f10
1219*25c28e83SPiotr Jasiukajtis	fzero	%f30
1220*25c28e83SPiotr Jasiukajtis
1221*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f32,%f32
1222*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f50,%f12
1223*25c28e83SPiotr Jasiukajtis	and	%l1,2,%g5
1224*25c28e83SPiotr Jasiukajtis
1225*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f34,%f34
1226*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f50,%f14
1227*25c28e83SPiotr Jasiukajtis	and	%l2,2,%o4
1228*25c28e83SPiotr Jasiukajtis
1229*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f36,%f36
1230*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f50,%f16
1231*25c28e83SPiotr Jasiukajtis	and	%l3,2,%o5
1232*25c28e83SPiotr Jasiukajtis
1233*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f20,%f10
1234*25c28e83SPiotr Jasiukajtis	and	%l0,2,%g1
1235*25c28e83SPiotr Jasiukajtis
1236*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f12,%f12
1237*25c28e83SPiotr Jasiukajtis	fmovrdnz %g5,%f28,%f2
1238*25c28e83SPiotr Jasiukajtis
1239*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f14,%f14
1240*25c28e83SPiotr Jasiukajtis	fmovrdnz %o4,%f28,%f4
1241*25c28e83SPiotr Jasiukajtis
1242*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f16,%f16
1243*25c28e83SPiotr Jasiukajtis	fmovrdnz %o5,%f28,%f6
1244*25c28e83SPiotr Jasiukajtis
1245*25c28e83SPiotr Jasiukajtis	fmuld	%f0,%f10,%f10
1246*25c28e83SPiotr Jasiukajtis	fmovrdnz %g1,%f28,%f30
1247*25c28e83SPiotr Jasiukajtis
1248*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f22,%f12
1249*25c28e83SPiotr Jasiukajtis
1250*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f24,%f14
1251*25c28e83SPiotr Jasiukajtis
1252*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f26,%f16
1253*25c28e83SPiotr Jasiukajtis
1254*25c28e83SPiotr Jasiukajtis	fxor	%f10,%f30,%f10
1255*25c28e83SPiotr Jasiukajtis
1256*25c28e83SPiotr Jasiukajtis	fxor	%f12,%f2,%f12
1257*25c28e83SPiotr Jasiukajtis
1258*25c28e83SPiotr Jasiukajtis	fxor	%f14,%f4,%f14
1259*25c28e83SPiotr Jasiukajtis
1260*25c28e83SPiotr Jasiukajtis	addcc	%i0,-1,%i0
1261*25c28e83SPiotr Jasiukajtis	bg,pt	%icc,.start
1262*25c28e83SPiotr Jasiukajtis! delay slot
1263*25c28e83SPiotr Jasiukajtis	fxor	%f16,%f6,%f16
1264*25c28e83SPiotr Jasiukajtis
1265*25c28e83SPiotr Jasiukajtis	ba,pt	%icc,.end
1266*25c28e83SPiotr Jasiukajtis! delay slot
1267*25c28e83SPiotr Jasiukajtis	nop
1268*25c28e83SPiotr Jasiukajtis
1269*25c28e83SPiotr Jasiukajtis	.align	16
1270*25c28e83SPiotr Jasiukajtis.case9:
1271*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f44,%f10		! sin(x0)
1272*25c28e83SPiotr Jasiukajtis
1273*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f54,%f12		! cos(x1)
1274*25c28e83SPiotr Jasiukajtis	fzero	%f2
1275*25c28e83SPiotr Jasiukajtis
1276*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f54,%f14		! cos(x2)
1277*25c28e83SPiotr Jasiukajtis	fzero	%f4
1278*25c28e83SPiotr Jasiukajtis
1279*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f44,%f16		! sin(x3)
1280*25c28e83SPiotr Jasiukajtis
1281*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f40,%f20
1282*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f42,%f10
1283*25c28e83SPiotr Jasiukajtis
1284*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f48,%f22
1285*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f52,%f12
1286*25c28e83SPiotr Jasiukajtis
1287*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f48,%f24
1288*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f52,%f14
1289*25c28e83SPiotr Jasiukajtis
1290*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f40,%f26
1291*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f42,%f16
1292*25c28e83SPiotr Jasiukajtis
1293*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f30,%f30
1294*25c28e83SPiotr Jasiukajtis	faddd	%f20,%f46,%f20
1295*25c28e83SPiotr Jasiukajtis
1296*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f12,%f12
1297*25c28e83SPiotr Jasiukajtis	faddd	%f22,%f46,%f22
1298*25c28e83SPiotr Jasiukajtis
1299*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f14,%f14
1300*25c28e83SPiotr Jasiukajtis	faddd	%f24,%f46,%f24
1301*25c28e83SPiotr Jasiukajtis
1302*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f36,%f36
1303*25c28e83SPiotr Jasiukajtis	faddd	%f26,%f46,%f26
1304*25c28e83SPiotr Jasiukajtis
1305*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f10,%f10
1306*25c28e83SPiotr Jasiukajtis	fzero	%f30
1307*25c28e83SPiotr Jasiukajtis
1308*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f32,%f32
1309*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f50,%f12
1310*25c28e83SPiotr Jasiukajtis	and	%l1,2,%g5
1311*25c28e83SPiotr Jasiukajtis
1312*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f34,%f34
1313*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f50,%f14
1314*25c28e83SPiotr Jasiukajtis	and	%l2,2,%o4
1315*25c28e83SPiotr Jasiukajtis
1316*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f16,%f16
1317*25c28e83SPiotr Jasiukajtis	fzero	%f36
1318*25c28e83SPiotr Jasiukajtis
1319*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f20,%f10
1320*25c28e83SPiotr Jasiukajtis	and	%l0,2,%g1
1321*25c28e83SPiotr Jasiukajtis
1322*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f12,%f12
1323*25c28e83SPiotr Jasiukajtis	fmovrdnz %g5,%f28,%f2
1324*25c28e83SPiotr Jasiukajtis
1325*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f14,%f14
1326*25c28e83SPiotr Jasiukajtis	fmovrdnz %o4,%f28,%f4
1327*25c28e83SPiotr Jasiukajtis
1328*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f26,%f16
1329*25c28e83SPiotr Jasiukajtis	and	%l3,2,%o5
1330*25c28e83SPiotr Jasiukajtis
1331*25c28e83SPiotr Jasiukajtis	fmuld	%f0,%f10,%f10
1332*25c28e83SPiotr Jasiukajtis	fmovrdnz %g1,%f28,%f30
1333*25c28e83SPiotr Jasiukajtis
1334*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f22,%f12
1335*25c28e83SPiotr Jasiukajtis
1336*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f24,%f14
1337*25c28e83SPiotr Jasiukajtis
1338*25c28e83SPiotr Jasiukajtis	fmuld	%f6,%f16,%f16
1339*25c28e83SPiotr Jasiukajtis	fmovrdnz %o5,%f28,%f36
1340*25c28e83SPiotr Jasiukajtis
1341*25c28e83SPiotr Jasiukajtis	fxor	%f10,%f30,%f10
1342*25c28e83SPiotr Jasiukajtis
1343*25c28e83SPiotr Jasiukajtis	fxor	%f12,%f2,%f12
1344*25c28e83SPiotr Jasiukajtis
1345*25c28e83SPiotr Jasiukajtis	fxor	%f14,%f4,%f14
1346*25c28e83SPiotr Jasiukajtis
1347*25c28e83SPiotr Jasiukajtis	addcc	%i0,-1,%i0
1348*25c28e83SPiotr Jasiukajtis	bg,pt	%icc,.start
1349*25c28e83SPiotr Jasiukajtis! delay slot
1350*25c28e83SPiotr Jasiukajtis	fxor	%f16,%f36,%f16
1351*25c28e83SPiotr Jasiukajtis
1352*25c28e83SPiotr Jasiukajtis	ba,pt	%icc,.end
1353*25c28e83SPiotr Jasiukajtis! delay slot
1354*25c28e83SPiotr Jasiukajtis	nop
1355*25c28e83SPiotr Jasiukajtis
1356*25c28e83SPiotr Jasiukajtis	.align	16
1357*25c28e83SPiotr Jasiukajtis.case10:
1358*25c28e83SPiotr Jasiukajtis	fmuld	%f6,%f6,%f36
1359*25c28e83SPiotr Jasiukajtis	bz,pn	%icc,.case11
1360*25c28e83SPiotr Jasiukajtis! delay slot
1361*25c28e83SPiotr Jasiukajtis	nop
1362*25c28e83SPiotr Jasiukajtis
1363*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f44,%f10		! sin(x0)
1364*25c28e83SPiotr Jasiukajtis
1365*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f54,%f12		! cos(x1)
1366*25c28e83SPiotr Jasiukajtis	fzero	%f2
1367*25c28e83SPiotr Jasiukajtis
1368*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f44,%f14		! sin(x2)
1369*25c28e83SPiotr Jasiukajtis
1370*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f54,%f16		! cos(x3)
1371*25c28e83SPiotr Jasiukajtis	fzero	%f6
1372*25c28e83SPiotr Jasiukajtis
1373*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f40,%f20
1374*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f42,%f10
1375*25c28e83SPiotr Jasiukajtis
1376*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f48,%f22
1377*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f52,%f12
1378*25c28e83SPiotr Jasiukajtis
1379*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f40,%f24
1380*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f42,%f14
1381*25c28e83SPiotr Jasiukajtis
1382*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f48,%f26
1383*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f52,%f16
1384*25c28e83SPiotr Jasiukajtis
1385*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f30,%f30
1386*25c28e83SPiotr Jasiukajtis	faddd	%f20,%f46,%f20
1387*25c28e83SPiotr Jasiukajtis
1388*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f12,%f12
1389*25c28e83SPiotr Jasiukajtis	faddd	%f22,%f46,%f22
1390*25c28e83SPiotr Jasiukajtis
1391*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f34,%f34
1392*25c28e83SPiotr Jasiukajtis	faddd	%f24,%f46,%f24
1393*25c28e83SPiotr Jasiukajtis
1394*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f16,%f16
1395*25c28e83SPiotr Jasiukajtis	faddd	%f26,%f46,%f26
1396*25c28e83SPiotr Jasiukajtis
1397*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f10,%f10
1398*25c28e83SPiotr Jasiukajtis	fzero	%f30
1399*25c28e83SPiotr Jasiukajtis
1400*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f32,%f32
1401*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f50,%f12
1402*25c28e83SPiotr Jasiukajtis	and	%l1,2,%g5
1403*25c28e83SPiotr Jasiukajtis
1404*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f14,%f14
1405*25c28e83SPiotr Jasiukajtis	fzero	%f34
1406*25c28e83SPiotr Jasiukajtis
1407*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f36,%f36
1408*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f50,%f16
1409*25c28e83SPiotr Jasiukajtis	and	%l3,2,%o5
1410*25c28e83SPiotr Jasiukajtis
1411*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f20,%f10
1412*25c28e83SPiotr Jasiukajtis	and	%l0,2,%g1
1413*25c28e83SPiotr Jasiukajtis
1414*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f12,%f12
1415*25c28e83SPiotr Jasiukajtis	fmovrdnz %g5,%f28,%f2
1416*25c28e83SPiotr Jasiukajtis
1417*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f24,%f14
1418*25c28e83SPiotr Jasiukajtis	and	%l2,2,%o4
1419*25c28e83SPiotr Jasiukajtis
1420*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f16,%f16
1421*25c28e83SPiotr Jasiukajtis	fmovrdnz %o5,%f28,%f6
1422*25c28e83SPiotr Jasiukajtis
1423*25c28e83SPiotr Jasiukajtis	fmuld	%f0,%f10,%f10
1424*25c28e83SPiotr Jasiukajtis	fmovrdnz %g1,%f28,%f30
1425*25c28e83SPiotr Jasiukajtis
1426*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f22,%f12
1427*25c28e83SPiotr Jasiukajtis
1428*25c28e83SPiotr Jasiukajtis	fmuld	%f4,%f14,%f14
1429*25c28e83SPiotr Jasiukajtis	fmovrdnz %o4,%f28,%f34
1430*25c28e83SPiotr Jasiukajtis
1431*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f26,%f16
1432*25c28e83SPiotr Jasiukajtis
1433*25c28e83SPiotr Jasiukajtis	fxor	%f10,%f30,%f10
1434*25c28e83SPiotr Jasiukajtis
1435*25c28e83SPiotr Jasiukajtis	fxor	%f12,%f2,%f12
1436*25c28e83SPiotr Jasiukajtis
1437*25c28e83SPiotr Jasiukajtis	fxor	%f14,%f34,%f14
1438*25c28e83SPiotr Jasiukajtis
1439*25c28e83SPiotr Jasiukajtis	addcc	%i0,-1,%i0
1440*25c28e83SPiotr Jasiukajtis	bg,pt	%icc,.start
1441*25c28e83SPiotr Jasiukajtis! delay slot
1442*25c28e83SPiotr Jasiukajtis	fxor	%f16,%f6,%f16
1443*25c28e83SPiotr Jasiukajtis
1444*25c28e83SPiotr Jasiukajtis	ba,pt	%icc,.end
1445*25c28e83SPiotr Jasiukajtis! delay slot
1446*25c28e83SPiotr Jasiukajtis	nop
1447*25c28e83SPiotr Jasiukajtis
1448*25c28e83SPiotr Jasiukajtis	.align	16
1449*25c28e83SPiotr Jasiukajtis.case11:
1450*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f44,%f10		! sin(x0)
1451*25c28e83SPiotr Jasiukajtis
1452*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f54,%f12		! cos(x1)
1453*25c28e83SPiotr Jasiukajtis	fzero	%f2
1454*25c28e83SPiotr Jasiukajtis
1455*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f44,%f14		! sin(x2)
1456*25c28e83SPiotr Jasiukajtis
1457*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f44,%f16		! sin(x3)
1458*25c28e83SPiotr Jasiukajtis
1459*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f40,%f20
1460*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f42,%f10
1461*25c28e83SPiotr Jasiukajtis
1462*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f48,%f22
1463*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f52,%f12
1464*25c28e83SPiotr Jasiukajtis
1465*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f40,%f24
1466*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f42,%f14
1467*25c28e83SPiotr Jasiukajtis
1468*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f40,%f26
1469*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f42,%f16
1470*25c28e83SPiotr Jasiukajtis
1471*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f30,%f30
1472*25c28e83SPiotr Jasiukajtis	faddd	%f20,%f46,%f20
1473*25c28e83SPiotr Jasiukajtis
1474*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f12,%f12
1475*25c28e83SPiotr Jasiukajtis	faddd	%f22,%f46,%f22
1476*25c28e83SPiotr Jasiukajtis
1477*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f34,%f34
1478*25c28e83SPiotr Jasiukajtis	faddd	%f24,%f46,%f24
1479*25c28e83SPiotr Jasiukajtis
1480*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f36,%f36
1481*25c28e83SPiotr Jasiukajtis	faddd	%f26,%f46,%f26
1482*25c28e83SPiotr Jasiukajtis
1483*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f10,%f10
1484*25c28e83SPiotr Jasiukajtis	fzero	%f30
1485*25c28e83SPiotr Jasiukajtis
1486*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f32,%f32
1487*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f50,%f12
1488*25c28e83SPiotr Jasiukajtis	and	%l1,2,%g5
1489*25c28e83SPiotr Jasiukajtis
1490*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f14,%f14
1491*25c28e83SPiotr Jasiukajtis	fzero	%f34
1492*25c28e83SPiotr Jasiukajtis
1493*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f16,%f16
1494*25c28e83SPiotr Jasiukajtis	fzero	%f36
1495*25c28e83SPiotr Jasiukajtis
1496*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f20,%f10
1497*25c28e83SPiotr Jasiukajtis	and	%l0,2,%g1
1498*25c28e83SPiotr Jasiukajtis
1499*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f12,%f12
1500*25c28e83SPiotr Jasiukajtis	fmovrdnz %g5,%f28,%f2
1501*25c28e83SPiotr Jasiukajtis
1502*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f24,%f14
1503*25c28e83SPiotr Jasiukajtis	and	%l2,2,%o4
1504*25c28e83SPiotr Jasiukajtis
1505*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f26,%f16
1506*25c28e83SPiotr Jasiukajtis	and	%l3,2,%o5
1507*25c28e83SPiotr Jasiukajtis
1508*25c28e83SPiotr Jasiukajtis	fmuld	%f0,%f10,%f10
1509*25c28e83SPiotr Jasiukajtis	fmovrdnz %g1,%f28,%f30
1510*25c28e83SPiotr Jasiukajtis
1511*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f22,%f12
1512*25c28e83SPiotr Jasiukajtis
1513*25c28e83SPiotr Jasiukajtis	fmuld	%f4,%f14,%f14
1514*25c28e83SPiotr Jasiukajtis	fmovrdnz %o4,%f28,%f34
1515*25c28e83SPiotr Jasiukajtis
1516*25c28e83SPiotr Jasiukajtis	fmuld	%f6,%f16,%f16
1517*25c28e83SPiotr Jasiukajtis	fmovrdnz %o5,%f28,%f36
1518*25c28e83SPiotr Jasiukajtis
1519*25c28e83SPiotr Jasiukajtis	fxor	%f10,%f30,%f10
1520*25c28e83SPiotr Jasiukajtis
1521*25c28e83SPiotr Jasiukajtis	fxor	%f12,%f2,%f12
1522*25c28e83SPiotr Jasiukajtis
1523*25c28e83SPiotr Jasiukajtis	fxor	%f14,%f34,%f14
1524*25c28e83SPiotr Jasiukajtis
1525*25c28e83SPiotr Jasiukajtis	addcc	%i0,-1,%i0
1526*25c28e83SPiotr Jasiukajtis	bg,pt	%icc,.start
1527*25c28e83SPiotr Jasiukajtis! delay slot
1528*25c28e83SPiotr Jasiukajtis	fxor	%f16,%f36,%f16
1529*25c28e83SPiotr Jasiukajtis
1530*25c28e83SPiotr Jasiukajtis	ba,pt	%icc,.end
1531*25c28e83SPiotr Jasiukajtis! delay slot
1532*25c28e83SPiotr Jasiukajtis	nop
1533*25c28e83SPiotr Jasiukajtis
1534*25c28e83SPiotr Jasiukajtis	.align	16
1535*25c28e83SPiotr Jasiukajtis.case12:
1536*25c28e83SPiotr Jasiukajtis	fmuld	%f4,%f4,%f34
1537*25c28e83SPiotr Jasiukajtis	bz,pn	%icc,.case14
1538*25c28e83SPiotr Jasiukajtis! delay slot
1539*25c28e83SPiotr Jasiukajtis	andcc	%l3,1,%g0
1540*25c28e83SPiotr Jasiukajtis
1541*25c28e83SPiotr Jasiukajtis	fmuld	%f6,%f6,%f36
1542*25c28e83SPiotr Jasiukajtis	bz,pn	%icc,.case13
1543*25c28e83SPiotr Jasiukajtis! delay slot
1544*25c28e83SPiotr Jasiukajtis	nop
1545*25c28e83SPiotr Jasiukajtis
1546*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f44,%f10		! sin(x0)
1547*25c28e83SPiotr Jasiukajtis
1548*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f44,%f12		! sin(x1)
1549*25c28e83SPiotr Jasiukajtis
1550*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f54,%f14		! cos(x2)
1551*25c28e83SPiotr Jasiukajtis	fzero	%f4
1552*25c28e83SPiotr Jasiukajtis
1553*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f54,%f16		! cos(x3)
1554*25c28e83SPiotr Jasiukajtis	fzero	%f6
1555*25c28e83SPiotr Jasiukajtis
1556*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f40,%f20
1557*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f42,%f10
1558*25c28e83SPiotr Jasiukajtis
1559*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f40,%f22
1560*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f42,%f12
1561*25c28e83SPiotr Jasiukajtis
1562*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f48,%f24
1563*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f52,%f14
1564*25c28e83SPiotr Jasiukajtis
1565*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f48,%f26
1566*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f52,%f16
1567*25c28e83SPiotr Jasiukajtis
1568*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f30,%f30
1569*25c28e83SPiotr Jasiukajtis	faddd	%f20,%f46,%f20
1570*25c28e83SPiotr Jasiukajtis
1571*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f32,%f32
1572*25c28e83SPiotr Jasiukajtis	faddd	%f22,%f46,%f22
1573*25c28e83SPiotr Jasiukajtis
1574*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f14,%f14
1575*25c28e83SPiotr Jasiukajtis	faddd	%f24,%f46,%f24
1576*25c28e83SPiotr Jasiukajtis
1577*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f16,%f16
1578*25c28e83SPiotr Jasiukajtis	faddd	%f26,%f46,%f26
1579*25c28e83SPiotr Jasiukajtis
1580*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f10,%f10
1581*25c28e83SPiotr Jasiukajtis	fzero	%f30
1582*25c28e83SPiotr Jasiukajtis
1583*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f12,%f12
1584*25c28e83SPiotr Jasiukajtis	fzero	%f32
1585*25c28e83SPiotr Jasiukajtis
1586*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f34,%f34
1587*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f50,%f14
1588*25c28e83SPiotr Jasiukajtis	and	%l2,2,%o4
1589*25c28e83SPiotr Jasiukajtis
1590*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f36,%f36
1591*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f50,%f16
1592*25c28e83SPiotr Jasiukajtis	and	%l3,2,%o5
1593*25c28e83SPiotr Jasiukajtis
1594*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f20,%f10
1595*25c28e83SPiotr Jasiukajtis	and	%l0,2,%g1
1596*25c28e83SPiotr Jasiukajtis
1597*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f22,%f12
1598*25c28e83SPiotr Jasiukajtis	and	%l1,2,%g5
1599*25c28e83SPiotr Jasiukajtis
1600*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f14,%f14
1601*25c28e83SPiotr Jasiukajtis	fmovrdnz %o4,%f28,%f4
1602*25c28e83SPiotr Jasiukajtis
1603*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f16,%f16
1604*25c28e83SPiotr Jasiukajtis	fmovrdnz %o5,%f28,%f6
1605*25c28e83SPiotr Jasiukajtis
1606*25c28e83SPiotr Jasiukajtis	fmuld	%f0,%f10,%f10
1607*25c28e83SPiotr Jasiukajtis	fmovrdnz %g1,%f28,%f30
1608*25c28e83SPiotr Jasiukajtis
1609*25c28e83SPiotr Jasiukajtis	fmuld	%f2,%f12,%f12
1610*25c28e83SPiotr Jasiukajtis	fmovrdnz %g5,%f28,%f32
1611*25c28e83SPiotr Jasiukajtis
1612*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f24,%f14
1613*25c28e83SPiotr Jasiukajtis
1614*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f26,%f16
1615*25c28e83SPiotr Jasiukajtis
1616*25c28e83SPiotr Jasiukajtis	fxor	%f10,%f30,%f10
1617*25c28e83SPiotr Jasiukajtis
1618*25c28e83SPiotr Jasiukajtis	fxor	%f12,%f32,%f12
1619*25c28e83SPiotr Jasiukajtis
1620*25c28e83SPiotr Jasiukajtis	fxor	%f14,%f4,%f14
1621*25c28e83SPiotr Jasiukajtis
1622*25c28e83SPiotr Jasiukajtis	addcc	%i0,-1,%i0
1623*25c28e83SPiotr Jasiukajtis	bg,pt	%icc,.start
1624*25c28e83SPiotr Jasiukajtis! delay slot
1625*25c28e83SPiotr Jasiukajtis	fxor	%f16,%f6,%f16
1626*25c28e83SPiotr Jasiukajtis
1627*25c28e83SPiotr Jasiukajtis	ba,pt	%icc,.end
1628*25c28e83SPiotr Jasiukajtis! delay slot
1629*25c28e83SPiotr Jasiukajtis	nop
1630*25c28e83SPiotr Jasiukajtis
1631*25c28e83SPiotr Jasiukajtis	.align	16
1632*25c28e83SPiotr Jasiukajtis.case13:
1633*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f44,%f10		! sin(x0)
1634*25c28e83SPiotr Jasiukajtis
1635*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f44,%f12		! sin(x1)
1636*25c28e83SPiotr Jasiukajtis
1637*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f54,%f14		! cos(x2)
1638*25c28e83SPiotr Jasiukajtis	fzero	%f4
1639*25c28e83SPiotr Jasiukajtis
1640*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f44,%f16		! sin(x3)
1641*25c28e83SPiotr Jasiukajtis
1642*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f40,%f20
1643*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f42,%f10
1644*25c28e83SPiotr Jasiukajtis
1645*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f40,%f22
1646*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f42,%f12
1647*25c28e83SPiotr Jasiukajtis
1648*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f48,%f24
1649*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f52,%f14
1650*25c28e83SPiotr Jasiukajtis
1651*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f40,%f26
1652*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f42,%f16
1653*25c28e83SPiotr Jasiukajtis
1654*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f30,%f30
1655*25c28e83SPiotr Jasiukajtis	faddd	%f20,%f46,%f20
1656*25c28e83SPiotr Jasiukajtis
1657*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f32,%f32
1658*25c28e83SPiotr Jasiukajtis	faddd	%f22,%f46,%f22
1659*25c28e83SPiotr Jasiukajtis
1660*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f14,%f14
1661*25c28e83SPiotr Jasiukajtis	faddd	%f24,%f46,%f24
1662*25c28e83SPiotr Jasiukajtis
1663*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f36,%f36
1664*25c28e83SPiotr Jasiukajtis	faddd	%f26,%f46,%f26
1665*25c28e83SPiotr Jasiukajtis
1666*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f10,%f10
1667*25c28e83SPiotr Jasiukajtis	fzero	%f30
1668*25c28e83SPiotr Jasiukajtis
1669*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f12,%f12
1670*25c28e83SPiotr Jasiukajtis	fzero	%f32
1671*25c28e83SPiotr Jasiukajtis
1672*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f34,%f34
1673*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f50,%f14
1674*25c28e83SPiotr Jasiukajtis	and	%l2,2,%o4
1675*25c28e83SPiotr Jasiukajtis
1676*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f16,%f16
1677*25c28e83SPiotr Jasiukajtis	fzero	%f36
1678*25c28e83SPiotr Jasiukajtis
1679*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f20,%f10
1680*25c28e83SPiotr Jasiukajtis	and	%l0,2,%g1
1681*25c28e83SPiotr Jasiukajtis
1682*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f22,%f12
1683*25c28e83SPiotr Jasiukajtis	and	%l1,2,%g5
1684*25c28e83SPiotr Jasiukajtis
1685*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f14,%f14
1686*25c28e83SPiotr Jasiukajtis	fmovrdnz %o4,%f28,%f4
1687*25c28e83SPiotr Jasiukajtis
1688*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f26,%f16
1689*25c28e83SPiotr Jasiukajtis	and	%l3,2,%o5
1690*25c28e83SPiotr Jasiukajtis
1691*25c28e83SPiotr Jasiukajtis	fmuld	%f0,%f10,%f10
1692*25c28e83SPiotr Jasiukajtis	fmovrdnz %g1,%f28,%f30
1693*25c28e83SPiotr Jasiukajtis
1694*25c28e83SPiotr Jasiukajtis	fmuld	%f2,%f12,%f12
1695*25c28e83SPiotr Jasiukajtis	fmovrdnz %g5,%f28,%f32
1696*25c28e83SPiotr Jasiukajtis
1697*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f24,%f14
1698*25c28e83SPiotr Jasiukajtis
1699*25c28e83SPiotr Jasiukajtis	fmuld	%f6,%f16,%f16
1700*25c28e83SPiotr Jasiukajtis	fmovrdnz %o5,%f28,%f36
1701*25c28e83SPiotr Jasiukajtis
1702*25c28e83SPiotr Jasiukajtis	fxor	%f10,%f30,%f10
1703*25c28e83SPiotr Jasiukajtis
1704*25c28e83SPiotr Jasiukajtis	fxor	%f12,%f32,%f12
1705*25c28e83SPiotr Jasiukajtis
1706*25c28e83SPiotr Jasiukajtis	fxor	%f14,%f4,%f14
1707*25c28e83SPiotr Jasiukajtis
1708*25c28e83SPiotr Jasiukajtis	addcc	%i0,-1,%i0
1709*25c28e83SPiotr Jasiukajtis	bg,pt	%icc,.start
1710*25c28e83SPiotr Jasiukajtis! delay slot
1711*25c28e83SPiotr Jasiukajtis	fxor	%f16,%f36,%f16
1712*25c28e83SPiotr Jasiukajtis
1713*25c28e83SPiotr Jasiukajtis	ba,pt	%icc,.end
1714*25c28e83SPiotr Jasiukajtis! delay slot
1715*25c28e83SPiotr Jasiukajtis	nop
1716*25c28e83SPiotr Jasiukajtis
1717*25c28e83SPiotr Jasiukajtis	.align	16
1718*25c28e83SPiotr Jasiukajtis.case14:
1719*25c28e83SPiotr Jasiukajtis	fmuld	%f6,%f6,%f36
1720*25c28e83SPiotr Jasiukajtis	bz,pn	%icc,.case15
1721*25c28e83SPiotr Jasiukajtis! delay slot
1722*25c28e83SPiotr Jasiukajtis	nop
1723*25c28e83SPiotr Jasiukajtis
1724*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f44,%f10		! sin(x0)
1725*25c28e83SPiotr Jasiukajtis
1726*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f44,%f12		! sin(x1)
1727*25c28e83SPiotr Jasiukajtis
1728*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f44,%f14		! sin(x2)
1729*25c28e83SPiotr Jasiukajtis
1730*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f54,%f16		! cos(x3)
1731*25c28e83SPiotr Jasiukajtis	fzero	%f6
1732*25c28e83SPiotr Jasiukajtis
1733*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f40,%f20
1734*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f42,%f10
1735*25c28e83SPiotr Jasiukajtis
1736*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f40,%f22
1737*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f42,%f12
1738*25c28e83SPiotr Jasiukajtis
1739*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f40,%f24
1740*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f42,%f14
1741*25c28e83SPiotr Jasiukajtis
1742*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f48,%f26
1743*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f52,%f16
1744*25c28e83SPiotr Jasiukajtis
1745*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f30,%f30
1746*25c28e83SPiotr Jasiukajtis	faddd	%f20,%f46,%f20
1747*25c28e83SPiotr Jasiukajtis
1748*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f32,%f32
1749*25c28e83SPiotr Jasiukajtis	faddd	%f22,%f46,%f22
1750*25c28e83SPiotr Jasiukajtis
1751*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f34,%f34
1752*25c28e83SPiotr Jasiukajtis	faddd	%f24,%f46,%f24
1753*25c28e83SPiotr Jasiukajtis
1754*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f16,%f16
1755*25c28e83SPiotr Jasiukajtis	faddd	%f26,%f46,%f26
1756*25c28e83SPiotr Jasiukajtis
1757*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f10,%f10
1758*25c28e83SPiotr Jasiukajtis	fzero	%f30
1759*25c28e83SPiotr Jasiukajtis
1760*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f12,%f12
1761*25c28e83SPiotr Jasiukajtis	fzero	%f32
1762*25c28e83SPiotr Jasiukajtis
1763*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f14,%f14
1764*25c28e83SPiotr Jasiukajtis	fzero	%f34
1765*25c28e83SPiotr Jasiukajtis
1766*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f36,%f36
1767*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f50,%f16
1768*25c28e83SPiotr Jasiukajtis	and	%l3,2,%o5
1769*25c28e83SPiotr Jasiukajtis
1770*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f20,%f10
1771*25c28e83SPiotr Jasiukajtis	and	%l0,2,%g1
1772*25c28e83SPiotr Jasiukajtis
1773*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f22,%f12
1774*25c28e83SPiotr Jasiukajtis	and	%l1,2,%g5
1775*25c28e83SPiotr Jasiukajtis
1776*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f24,%f14
1777*25c28e83SPiotr Jasiukajtis	and	%l2,2,%o4
1778*25c28e83SPiotr Jasiukajtis
1779*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f16,%f16
1780*25c28e83SPiotr Jasiukajtis	fmovrdnz %o5,%f28,%f6
1781*25c28e83SPiotr Jasiukajtis
1782*25c28e83SPiotr Jasiukajtis	fmuld	%f0,%f10,%f10
1783*25c28e83SPiotr Jasiukajtis	fmovrdnz %g1,%f28,%f30
1784*25c28e83SPiotr Jasiukajtis
1785*25c28e83SPiotr Jasiukajtis	fmuld	%f2,%f12,%f12
1786*25c28e83SPiotr Jasiukajtis	fmovrdnz %g5,%f28,%f32
1787*25c28e83SPiotr Jasiukajtis
1788*25c28e83SPiotr Jasiukajtis	fmuld	%f4,%f14,%f14
1789*25c28e83SPiotr Jasiukajtis	fmovrdnz %o4,%f28,%f34
1790*25c28e83SPiotr Jasiukajtis
1791*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f26,%f16
1792*25c28e83SPiotr Jasiukajtis
1793*25c28e83SPiotr Jasiukajtis	fxor	%f10,%f30,%f10
1794*25c28e83SPiotr Jasiukajtis
1795*25c28e83SPiotr Jasiukajtis	fxor	%f12,%f32,%f12
1796*25c28e83SPiotr Jasiukajtis
1797*25c28e83SPiotr Jasiukajtis	fxor	%f14,%f34,%f14
1798*25c28e83SPiotr Jasiukajtis
1799*25c28e83SPiotr Jasiukajtis	addcc	%i0,-1,%i0
1800*25c28e83SPiotr Jasiukajtis	bg,pt	%icc,.start
1801*25c28e83SPiotr Jasiukajtis! delay slot
1802*25c28e83SPiotr Jasiukajtis	fxor	%f16,%f6,%f16
1803*25c28e83SPiotr Jasiukajtis
1804*25c28e83SPiotr Jasiukajtis	ba,pt	%icc,.end
1805*25c28e83SPiotr Jasiukajtis! delay slot
1806*25c28e83SPiotr Jasiukajtis	nop
1807*25c28e83SPiotr Jasiukajtis
1808*25c28e83SPiotr Jasiukajtis	.align	16
1809*25c28e83SPiotr Jasiukajtis.case15:
1810*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f44,%f10		! sin(x0)
1811*25c28e83SPiotr Jasiukajtis
1812*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f44,%f12		! sin(x1)
1813*25c28e83SPiotr Jasiukajtis
1814*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f44,%f14		! sin(x2)
1815*25c28e83SPiotr Jasiukajtis
1816*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f44,%f16		! sin(x3)
1817*25c28e83SPiotr Jasiukajtis
1818*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f40,%f20
1819*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f42,%f10
1820*25c28e83SPiotr Jasiukajtis
1821*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f40,%f22
1822*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f42,%f12
1823*25c28e83SPiotr Jasiukajtis
1824*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f40,%f24
1825*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f42,%f14
1826*25c28e83SPiotr Jasiukajtis
1827*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f40,%f26
1828*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f42,%f16
1829*25c28e83SPiotr Jasiukajtis
1830*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f30,%f30
1831*25c28e83SPiotr Jasiukajtis	faddd	%f20,%f46,%f20
1832*25c28e83SPiotr Jasiukajtis
1833*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f32,%f32
1834*25c28e83SPiotr Jasiukajtis	faddd	%f22,%f46,%f22
1835*25c28e83SPiotr Jasiukajtis
1836*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f34,%f34
1837*25c28e83SPiotr Jasiukajtis	faddd	%f24,%f46,%f24
1838*25c28e83SPiotr Jasiukajtis
1839*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f36,%f36
1840*25c28e83SPiotr Jasiukajtis	faddd	%f26,%f46,%f26
1841*25c28e83SPiotr Jasiukajtis
1842*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f10,%f10
1843*25c28e83SPiotr Jasiukajtis	fzero	%f30
1844*25c28e83SPiotr Jasiukajtis
1845*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f12,%f12
1846*25c28e83SPiotr Jasiukajtis	fzero	%f32
1847*25c28e83SPiotr Jasiukajtis
1848*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f14,%f14
1849*25c28e83SPiotr Jasiukajtis	fzero	%f34
1850*25c28e83SPiotr Jasiukajtis
1851*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f16,%f16
1852*25c28e83SPiotr Jasiukajtis	fzero	%f36
1853*25c28e83SPiotr Jasiukajtis
1854*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f20,%f10
1855*25c28e83SPiotr Jasiukajtis	and	%l0,2,%g1
1856*25c28e83SPiotr Jasiukajtis
1857*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f22,%f12
1858*25c28e83SPiotr Jasiukajtis	and	%l1,2,%g5
1859*25c28e83SPiotr Jasiukajtis
1860*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f24,%f14
1861*25c28e83SPiotr Jasiukajtis	and	%l2,2,%o4
1862*25c28e83SPiotr Jasiukajtis
1863*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f26,%f16
1864*25c28e83SPiotr Jasiukajtis	and	%l3,2,%o5
1865*25c28e83SPiotr Jasiukajtis
1866*25c28e83SPiotr Jasiukajtis	fmuld	%f0,%f10,%f10
1867*25c28e83SPiotr Jasiukajtis	fmovrdnz %g1,%f28,%f30
1868*25c28e83SPiotr Jasiukajtis
1869*25c28e83SPiotr Jasiukajtis	fmuld	%f2,%f12,%f12
1870*25c28e83SPiotr Jasiukajtis	fmovrdnz %g5,%f28,%f32
1871*25c28e83SPiotr Jasiukajtis
1872*25c28e83SPiotr Jasiukajtis	fmuld	%f4,%f14,%f14
1873*25c28e83SPiotr Jasiukajtis	fmovrdnz %o4,%f28,%f34
1874*25c28e83SPiotr Jasiukajtis
1875*25c28e83SPiotr Jasiukajtis	fmuld	%f6,%f16,%f16
1876*25c28e83SPiotr Jasiukajtis	fmovrdnz %o5,%f28,%f36
1877*25c28e83SPiotr Jasiukajtis
1878*25c28e83SPiotr Jasiukajtis	fxor	%f10,%f30,%f10
1879*25c28e83SPiotr Jasiukajtis
1880*25c28e83SPiotr Jasiukajtis	fxor	%f12,%f32,%f12
1881*25c28e83SPiotr Jasiukajtis
1882*25c28e83SPiotr Jasiukajtis	fxor	%f14,%f34,%f14
1883*25c28e83SPiotr Jasiukajtis
1884*25c28e83SPiotr Jasiukajtis	addcc	%i0,-1,%i0
1885*25c28e83SPiotr Jasiukajtis	bg,pt	%icc,.start
1886*25c28e83SPiotr Jasiukajtis! delay slot
1887*25c28e83SPiotr Jasiukajtis	fxor	%f16,%f36,%f16
1888*25c28e83SPiotr Jasiukajtis
1889*25c28e83SPiotr Jasiukajtis	ba,pt	%icc,.end
1890*25c28e83SPiotr Jasiukajtis! delay slot
1891*25c28e83SPiotr Jasiukajtis	nop
1892*25c28e83SPiotr Jasiukajtis
1893*25c28e83SPiotr Jasiukajtis
1894*25c28e83SPiotr Jasiukajtis	.align	32
1895*25c28e83SPiotr Jasiukajtis.end:
1896*25c28e83SPiotr Jasiukajtis	fdtos	%f10,%f10
1897*25c28e83SPiotr Jasiukajtis	st	%f10,[%o0]
1898*25c28e83SPiotr Jasiukajtis	fdtos	%f12,%f12
1899*25c28e83SPiotr Jasiukajtis	st	%f12,[%o1]
1900*25c28e83SPiotr Jasiukajtis	fdtos	%f14,%f14
1901*25c28e83SPiotr Jasiukajtis	st	%f14,[%o2]
1902*25c28e83SPiotr Jasiukajtis	fdtos	%f16,%f16
1903*25c28e83SPiotr Jasiukajtis	tst	%i5			! check for huge arguments remaining
1904*25c28e83SPiotr Jasiukajtis	be,pt	%icc,.exit
1905*25c28e83SPiotr Jasiukajtis! delay slot
1906*25c28e83SPiotr Jasiukajtis	st	%f16,[%o3]
1907*25c28e83SPiotr Jasiukajtis#ifdef __sparcv9
1908*25c28e83SPiotr Jasiukajtis	ldx	[%fp+xsave],%o1
1909*25c28e83SPiotr Jasiukajtis	ldx	[%fp+ysave],%o3
1910*25c28e83SPiotr Jasiukajtis#else
1911*25c28e83SPiotr Jasiukajtis	ld	[%fp+xsave],%o1
1912*25c28e83SPiotr Jasiukajtis	ld	[%fp+ysave],%o3
1913*25c28e83SPiotr Jasiukajtis#endif
1914*25c28e83SPiotr Jasiukajtis	ld	[%fp+nsave],%o0
1915*25c28e83SPiotr Jasiukajtis	ld	[%fp+sxsave],%o2
1916*25c28e83SPiotr Jasiukajtis	ld	[%fp+sysave],%o4
1917*25c28e83SPiotr Jasiukajtis	sra	%o2,0,%o2		! sign-extend for V9
1918*25c28e83SPiotr Jasiukajtis	call	__vlibm_vsin_bigf
1919*25c28e83SPiotr Jasiukajtis	sra	%o4,0,%o4		! delay slot
1920*25c28e83SPiotr Jasiukajtis
1921*25c28e83SPiotr Jasiukajtis.exit:
1922*25c28e83SPiotr Jasiukajtis	ret
1923*25c28e83SPiotr Jasiukajtis	restore
1924*25c28e83SPiotr Jasiukajtis
1925*25c28e83SPiotr Jasiukajtis
1926*25c28e83SPiotr Jasiukajtis	.align	32
1927*25c28e83SPiotr Jasiukajtis.last1:
1928*25c28e83SPiotr Jasiukajtis	fdtos	%f12,%f12
1929*25c28e83SPiotr Jasiukajtis	st	%f12,[%o1]
1930*25c28e83SPiotr Jasiukajtis	fzeros	%f2
1931*25c28e83SPiotr Jasiukajtis	add	%fp,junk,%o1
1932*25c28e83SPiotr Jasiukajtis.last2:
1933*25c28e83SPiotr Jasiukajtis	fdtos	%f14,%f14
1934*25c28e83SPiotr Jasiukajtis	st	%f14,[%o2]
1935*25c28e83SPiotr Jasiukajtis	fzeros	%f4
1936*25c28e83SPiotr Jasiukajtis	add	%fp,junk,%o2
1937*25c28e83SPiotr Jasiukajtis.last3:
1938*25c28e83SPiotr Jasiukajtis	fdtos	%f16,%f16
1939*25c28e83SPiotr Jasiukajtis	st	%f16,[%o3]
1940*25c28e83SPiotr Jasiukajtis	fzeros	%f6
1941*25c28e83SPiotr Jasiukajtis	ba,pt	%icc,.cont
1942*25c28e83SPiotr Jasiukajtis! delay slot
1943*25c28e83SPiotr Jasiukajtis	add	%fp,junk,%o3
1944*25c28e83SPiotr Jasiukajtis
1945*25c28e83SPiotr Jasiukajtis
1946*25c28e83SPiotr Jasiukajtis	.align	16
1947*25c28e83SPiotr Jasiukajtis.range0:
1948*25c28e83SPiotr Jasiukajtis	fcmpgt32 %f38,%f30,%l0
1949*25c28e83SPiotr Jasiukajtis	andcc	%l0,2,%g0
1950*25c28e83SPiotr Jasiukajtis	bnz,a,pt %icc,1f		! branch if finite
1951*25c28e83SPiotr Jasiukajtis! delay slot, squashed if branch not taken
1952*25c28e83SPiotr Jasiukajtis	mov	1,%i5			! set biguns
1953*25c28e83SPiotr Jasiukajtis	fzeros	%f1
1954*25c28e83SPiotr Jasiukajtis	fmuls	%f0,%f1,%f0
1955*25c28e83SPiotr Jasiukajtis	st	%f0,[%o0]
1956*25c28e83SPiotr Jasiukajtis1:
1957*25c28e83SPiotr Jasiukajtis	addcc	%i0,-1,%i0
1958*25c28e83SPiotr Jasiukajtis	ble,pn	%icc,1f
1959*25c28e83SPiotr Jasiukajtis! delay slot
1960*25c28e83SPiotr Jasiukajtis	nop
1961*25c28e83SPiotr Jasiukajtis	ld	[%i1],%f0
1962*25c28e83SPiotr Jasiukajtis	add	%i1,%i2,%i1
1963*25c28e83SPiotr Jasiukajtis	mov	%i3,%o0
1964*25c28e83SPiotr Jasiukajtis	add	%i3,%i4,%i3
1965*25c28e83SPiotr Jasiukajtis	fabsd	%f0,%f30
1966*25c28e83SPiotr Jasiukajtis	fcmple32 %f30,%f18,%l0
1967*25c28e83SPiotr Jasiukajtis	andcc	%l0,2,%g0
1968*25c28e83SPiotr Jasiukajtis	bz,pn	%icc,.range0
1969*25c28e83SPiotr Jasiukajtis! delay slot
1970*25c28e83SPiotr Jasiukajtis	nop
1971*25c28e83SPiotr Jasiukajtis	ba,pt	%icc,.check1
1972*25c28e83SPiotr Jasiukajtis! delay slot
1973*25c28e83SPiotr Jasiukajtis	fcmple32 %f30,%f8,%l0
1974*25c28e83SPiotr Jasiukajtis1:
1975*25c28e83SPiotr Jasiukajtis	fzero	%f0			! set up dummy argument
1976*25c28e83SPiotr Jasiukajtis	add	%fp,junk,%o0
1977*25c28e83SPiotr Jasiukajtis	mov	2,%l0
1978*25c28e83SPiotr Jasiukajtis	ba,pt	%icc,.check1
1979*25c28e83SPiotr Jasiukajtis! delay slot
1980*25c28e83SPiotr Jasiukajtis	fzero	%f30
1981*25c28e83SPiotr Jasiukajtis
1982*25c28e83SPiotr Jasiukajtis
1983*25c28e83SPiotr Jasiukajtis	.align	16
1984*25c28e83SPiotr Jasiukajtis.range1:
1985*25c28e83SPiotr Jasiukajtis	fcmpgt32 %f38,%f32,%l1
1986*25c28e83SPiotr Jasiukajtis	andcc	%l1,2,%g0
1987*25c28e83SPiotr Jasiukajtis	bnz,a,pt %icc,1f		! branch if finite
1988*25c28e83SPiotr Jasiukajtis! delay slot, squashed if branch not taken
1989*25c28e83SPiotr Jasiukajtis	mov	1,%i5			! set biguns
1990*25c28e83SPiotr Jasiukajtis	fzeros	%f3
1991*25c28e83SPiotr Jasiukajtis	fmuls	%f2,%f3,%f2
1992*25c28e83SPiotr Jasiukajtis	st	%f2,[%o1]
1993*25c28e83SPiotr Jasiukajtis1:
1994*25c28e83SPiotr Jasiukajtis	addcc	%i0,-1,%i0
1995*25c28e83SPiotr Jasiukajtis	ble,pn	%icc,1f
1996*25c28e83SPiotr Jasiukajtis! delay slot
1997*25c28e83SPiotr Jasiukajtis	nop
1998*25c28e83SPiotr Jasiukajtis	ld	[%i1],%f2
1999*25c28e83SPiotr Jasiukajtis	add	%i1,%i2,%i1
2000*25c28e83SPiotr Jasiukajtis	mov	%i3,%o1
2001*25c28e83SPiotr Jasiukajtis	add	%i3,%i4,%i3
2002*25c28e83SPiotr Jasiukajtis	fabsd	%f2,%f32
2003*25c28e83SPiotr Jasiukajtis	fcmple32 %f32,%f18,%l1
2004*25c28e83SPiotr Jasiukajtis	andcc	%l1,2,%g0
2005*25c28e83SPiotr Jasiukajtis	bz,pn	%icc,.range1
2006*25c28e83SPiotr Jasiukajtis! delay slot
2007*25c28e83SPiotr Jasiukajtis	nop
2008*25c28e83SPiotr Jasiukajtis	ba,pt	%icc,.check2
2009*25c28e83SPiotr Jasiukajtis! delay slot
2010*25c28e83SPiotr Jasiukajtis	fcmple32 %f32,%f8,%l1
2011*25c28e83SPiotr Jasiukajtis1:
2012*25c28e83SPiotr Jasiukajtis	fzero	%f2			! set up dummy argument
2013*25c28e83SPiotr Jasiukajtis	add	%fp,junk,%o1
2014*25c28e83SPiotr Jasiukajtis	mov	2,%l1
2015*25c28e83SPiotr Jasiukajtis	ba,pt	%icc,.check2
2016*25c28e83SPiotr Jasiukajtis! delay slot
2017*25c28e83SPiotr Jasiukajtis	fzero	%f32
2018*25c28e83SPiotr Jasiukajtis
2019*25c28e83SPiotr Jasiukajtis
2020*25c28e83SPiotr Jasiukajtis	.align	16
2021*25c28e83SPiotr Jasiukajtis.range2:
2022*25c28e83SPiotr Jasiukajtis	fcmpgt32 %f38,%f34,%l2
2023*25c28e83SPiotr Jasiukajtis	andcc	%l2,2,%g0
2024*25c28e83SPiotr Jasiukajtis	bnz,a,pt %icc,1f		! branch if finite
2025*25c28e83SPiotr Jasiukajtis! delay slot, squashed if branch not taken
2026*25c28e83SPiotr Jasiukajtis	mov	1,%i5			! set biguns
2027*25c28e83SPiotr Jasiukajtis	fzeros	%f5
2028*25c28e83SPiotr Jasiukajtis	fmuls	%f4,%f5,%f4
2029*25c28e83SPiotr Jasiukajtis	st	%f4,[%o2]
2030*25c28e83SPiotr Jasiukajtis1:
2031*25c28e83SPiotr Jasiukajtis	addcc	%i0,-1,%i0
2032*25c28e83SPiotr Jasiukajtis	ble,pn	%icc,1f
2033*25c28e83SPiotr Jasiukajtis! delay slot
2034*25c28e83SPiotr Jasiukajtis	nop
2035*25c28e83SPiotr Jasiukajtis	ld	[%i1],%f4
2036*25c28e83SPiotr Jasiukajtis	add	%i1,%i2,%i1
2037*25c28e83SPiotr Jasiukajtis	mov	%i3,%o2
2038*25c28e83SPiotr Jasiukajtis	add	%i3,%i4,%i3
2039*25c28e83SPiotr Jasiukajtis	fabsd	%f4,%f34
2040*25c28e83SPiotr Jasiukajtis	fcmple32 %f34,%f18,%l2
2041*25c28e83SPiotr Jasiukajtis	andcc	%l2,2,%g0
2042*25c28e83SPiotr Jasiukajtis	bz,pn	%icc,.range2
2043*25c28e83SPiotr Jasiukajtis! delay slot
2044*25c28e83SPiotr Jasiukajtis	nop
2045*25c28e83SPiotr Jasiukajtis	ba,pt	%icc,.check3
2046*25c28e83SPiotr Jasiukajtis! delay slot
2047*25c28e83SPiotr Jasiukajtis	fcmple32 %f34,%f8,%l2
2048*25c28e83SPiotr Jasiukajtis1:
2049*25c28e83SPiotr Jasiukajtis	fzero	%f4			! set up dummy argument
2050*25c28e83SPiotr Jasiukajtis	add	%fp,junk,%o2
2051*25c28e83SPiotr Jasiukajtis	mov	2,%l2
2052*25c28e83SPiotr Jasiukajtis	ba,pt	%icc,.check3
2053*25c28e83SPiotr Jasiukajtis! delay slot
2054*25c28e83SPiotr Jasiukajtis	fzero	%f34
2055*25c28e83SPiotr Jasiukajtis
2056*25c28e83SPiotr Jasiukajtis
2057*25c28e83SPiotr Jasiukajtis	.align	16
2058*25c28e83SPiotr Jasiukajtis.range3:
2059*25c28e83SPiotr Jasiukajtis	fcmpgt32 %f38,%f36,%l3
2060*25c28e83SPiotr Jasiukajtis	andcc	%l3,2,%g0
2061*25c28e83SPiotr Jasiukajtis	bnz,a,pt %icc,1f		! branch if finite
2062*25c28e83SPiotr Jasiukajtis! delay slot, squashed if branch not taken
2063*25c28e83SPiotr Jasiukajtis	mov	1,%i5			! set biguns
2064*25c28e83SPiotr Jasiukajtis	fzeros	%f7
2065*25c28e83SPiotr Jasiukajtis	fmuls	%f6,%f7,%f6
2066*25c28e83SPiotr Jasiukajtis	st	%f6,[%o3]
2067*25c28e83SPiotr Jasiukajtis1:
2068*25c28e83SPiotr Jasiukajtis	addcc	%i0,-1,%i0
2069*25c28e83SPiotr Jasiukajtis	ble,pn	%icc,1f
2070*25c28e83SPiotr Jasiukajtis! delay slot
2071*25c28e83SPiotr Jasiukajtis	nop
2072*25c28e83SPiotr Jasiukajtis	ld	[%i1],%f6
2073*25c28e83SPiotr Jasiukajtis	add	%i1,%i2,%i1
2074*25c28e83SPiotr Jasiukajtis	mov	%i3,%o3
2075*25c28e83SPiotr Jasiukajtis	add	%i3,%i4,%i3
2076*25c28e83SPiotr Jasiukajtis	fabsd	%f6,%f36
2077*25c28e83SPiotr Jasiukajtis	fcmple32 %f36,%f18,%l3
2078*25c28e83SPiotr Jasiukajtis	andcc	%l3,2,%g0
2079*25c28e83SPiotr Jasiukajtis	bz,pn	%icc,.range3
2080*25c28e83SPiotr Jasiukajtis! delay slot
2081*25c28e83SPiotr Jasiukajtis	nop
2082*25c28e83SPiotr Jasiukajtis	ba,pt	%icc,.checkprimary
2083*25c28e83SPiotr Jasiukajtis! delay slot
2084*25c28e83SPiotr Jasiukajtis	fcmple32 %f36,%f8,%l3
2085*25c28e83SPiotr Jasiukajtis1:
2086*25c28e83SPiotr Jasiukajtis	fzero	%f6			! set up dummy argument
2087*25c28e83SPiotr Jasiukajtis	add	%fp,junk,%o3
2088*25c28e83SPiotr Jasiukajtis	mov	2,%l3
2089*25c28e83SPiotr Jasiukajtis	ba,pt	%icc,.checkprimary
2090*25c28e83SPiotr Jasiukajtis! delay slot
2091*25c28e83SPiotr Jasiukajtis	fzero	%f36
2092*25c28e83SPiotr Jasiukajtis
2093*25c28e83SPiotr Jasiukajtis	SET_SIZE(__vsinf)
2094*25c28e83SPiotr Jasiukajtis
2095