xref: /illumos-gate/usr/src/lib/libmvec/common/vis/__vcosf.S (revision 55fea89dcaa64928bed4327112404dcb3e07b79f)
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	"__vcosf.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(__vcosf)
150*25c28e83SPiotr Jasiukajtis	save	%sp,-SA(MINFRAME)-tmps,%sp
151*25c28e83SPiotr Jasiukajtis	PIC_SETUP(l7)
152*25c28e83SPiotr Jasiukajtis	PIC_SET(l7,constants,l0)
153*25c28e83SPiotr Jasiukajtis	mov	%l0,%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	.align	16
195*25c28e83SPiotr Jasiukajtis! 16-byte aligned
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,%f54,%f10
295*25c28e83SPiotr Jasiukajtis	and	%o4,%o5,%o5
296*25c28e83SPiotr Jasiukajtis
297*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f54,%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,%f54,%f14
304*25c28e83SPiotr Jasiukajtis
305*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f54,%f16
306*25c28e83SPiotr Jasiukajtis
307*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f48,%f20
308*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f52,%f10
309*25c28e83SPiotr Jasiukajtis
310*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f48,%f22
311*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f52,%f12
312*25c28e83SPiotr Jasiukajtis
313*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f48,%f24
314*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f52,%f14
315*25c28e83SPiotr Jasiukajtis
316*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f48,%f26
317*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f52,%f16
318*25c28e83SPiotr Jasiukajtis
319*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f10,%f10
320*25c28e83SPiotr Jasiukajtis	faddd	%f20,%f46,%f20
321*25c28e83SPiotr Jasiukajtis
322*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f12,%f12
323*25c28e83SPiotr Jasiukajtis	faddd	%f22,%f46,%f22
324*25c28e83SPiotr Jasiukajtis
325*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f14,%f14
326*25c28e83SPiotr Jasiukajtis	faddd	%f24,%f46,%f24
327*25c28e83SPiotr Jasiukajtis
328*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f16,%f16
329*25c28e83SPiotr Jasiukajtis	faddd	%f26,%f46,%f26
330*25c28e83SPiotr Jasiukajtis
331*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f30,%f30
332*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f50,%f10
333*25c28e83SPiotr Jasiukajtis
334*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f32,%f32
335*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f50,%f12
336*25c28e83SPiotr Jasiukajtis
337*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f34,%f34
338*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f50,%f14
339*25c28e83SPiotr Jasiukajtis
340*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f36,%f36
341*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f50,%f16
342*25c28e83SPiotr Jasiukajtis
343*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f10,%f10
344*25c28e83SPiotr Jasiukajtis
345*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f12,%f12
346*25c28e83SPiotr Jasiukajtis
347*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f14,%f14
348*25c28e83SPiotr Jasiukajtis
349*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f16,%f16
350*25c28e83SPiotr Jasiukajtis
351*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f20,%f10
352*25c28e83SPiotr Jasiukajtis
353*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f22,%f12
354*25c28e83SPiotr Jasiukajtis
355*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f24,%f14
356*25c28e83SPiotr Jasiukajtis
357*25c28e83SPiotr Jasiukajtis	addcc	%i0,-1,%i0
358*25c28e83SPiotr Jasiukajtis	bg,pt	%icc,.start
359*25c28e83SPiotr Jasiukajtis! delay slot
360*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f26,%f16
361*25c28e83SPiotr Jasiukajtis
362*25c28e83SPiotr Jasiukajtis	ba,pt	%icc,.end
363*25c28e83SPiotr Jasiukajtis! delay slot
364*25c28e83SPiotr Jasiukajtis	nop
365*25c28e83SPiotr Jasiukajtis
366*25c28e83SPiotr Jasiukajtis
367*25c28e83SPiotr Jasiukajtis	.align	16
368*25c28e83SPiotr Jasiukajtis.medium:
369*25c28e83SPiotr Jasiukajtis	fmuld	%f0,%f56,%f10
370*25c28e83SPiotr Jasiukajtis
371*25c28e83SPiotr Jasiukajtis	fmuld	%f2,%f56,%f12
372*25c28e83SPiotr Jasiukajtis
373*25c28e83SPiotr Jasiukajtis	fmuld	%f4,%f56,%f14
374*25c28e83SPiotr Jasiukajtis
375*25c28e83SPiotr Jasiukajtis	fmuld	%f6,%f56,%f16
376*25c28e83SPiotr Jasiukajtis
377*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f58,%f10
378*25c28e83SPiotr Jasiukajtis	st	%f11,[%fp+n0]
379*25c28e83SPiotr Jasiukajtis
380*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f58,%f12
381*25c28e83SPiotr Jasiukajtis	st	%f13,[%fp+n1]
382*25c28e83SPiotr Jasiukajtis
383*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f58,%f14
384*25c28e83SPiotr Jasiukajtis	st	%f15,[%fp+n2]
385*25c28e83SPiotr Jasiukajtis
386*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f58,%f16
387*25c28e83SPiotr Jasiukajtis	st	%f17,[%fp+n3]
388*25c28e83SPiotr Jasiukajtis
389*25c28e83SPiotr Jasiukajtis	fsubd	%f10,%f58,%f10
390*25c28e83SPiotr Jasiukajtis
391*25c28e83SPiotr Jasiukajtis	fsubd	%f12,%f58,%f12
392*25c28e83SPiotr Jasiukajtis
393*25c28e83SPiotr Jasiukajtis	fsubd	%f14,%f58,%f14
394*25c28e83SPiotr Jasiukajtis
395*25c28e83SPiotr Jasiukajtis	fsubd	%f16,%f58,%f16
396*25c28e83SPiotr Jasiukajtis
397*25c28e83SPiotr Jasiukajtis	fmuld	%f10,%f60,%f20
398*25c28e83SPiotr Jasiukajtis	ld	[%fp+n0],%l0
399*25c28e83SPiotr Jasiukajtis
400*25c28e83SPiotr Jasiukajtis	fmuld	%f12,%f60,%f22
401*25c28e83SPiotr Jasiukajtis	ld	[%fp+n1],%l1
402*25c28e83SPiotr Jasiukajtis
403*25c28e83SPiotr Jasiukajtis	fmuld	%f14,%f60,%f24
404*25c28e83SPiotr Jasiukajtis	ld	[%fp+n2],%l2
405*25c28e83SPiotr Jasiukajtis
406*25c28e83SPiotr Jasiukajtis	fmuld	%f16,%f60,%f26
407*25c28e83SPiotr Jasiukajtis	ld	[%fp+n3],%l3
408*25c28e83SPiotr Jasiukajtis
409*25c28e83SPiotr Jasiukajtis	fsubd	%f0,%f20,%f0
410*25c28e83SPiotr Jasiukajtis	fmuld	%f10,%f62,%f30
411*25c28e83SPiotr Jasiukajtis	add	%l0,1,%l0
412*25c28e83SPiotr Jasiukajtis
413*25c28e83SPiotr Jasiukajtis	fsubd	%f2,%f22,%f2
414*25c28e83SPiotr Jasiukajtis	fmuld	%f12,%f62,%f32
415*25c28e83SPiotr Jasiukajtis	add	%l1,1,%l1
416*25c28e83SPiotr Jasiukajtis
417*25c28e83SPiotr Jasiukajtis	fsubd	%f4,%f24,%f4
418*25c28e83SPiotr Jasiukajtis	fmuld	%f14,%f62,%f34
419*25c28e83SPiotr Jasiukajtis	add	%l2,1,%l2
420*25c28e83SPiotr Jasiukajtis
421*25c28e83SPiotr Jasiukajtis	fsubd	%f6,%f26,%f6
422*25c28e83SPiotr Jasiukajtis	fmuld	%f16,%f62,%f36
423*25c28e83SPiotr Jasiukajtis	add	%l3,1,%l3
424*25c28e83SPiotr Jasiukajtis
425*25c28e83SPiotr Jasiukajtis	fsubd	%f0,%f30,%f0
426*25c28e83SPiotr Jasiukajtis
427*25c28e83SPiotr Jasiukajtis	fsubd	%f2,%f32,%f2
428*25c28e83SPiotr Jasiukajtis
429*25c28e83SPiotr Jasiukajtis	fsubd	%f4,%f34,%f4
430*25c28e83SPiotr Jasiukajtis
431*25c28e83SPiotr Jasiukajtis	fsubd	%f6,%f36,%f6
432*25c28e83SPiotr Jasiukajtis	andcc	%l0,1,%g0
433*25c28e83SPiotr Jasiukajtis
434*25c28e83SPiotr Jasiukajtis	fmuld	%f0,%f0,%f30
435*25c28e83SPiotr Jasiukajtis	bz,pn	%icc,.case8
436*25c28e83SPiotr Jasiukajtis! delay slot
437*25c28e83SPiotr Jasiukajtis	andcc	%l1,1,%g0
438*25c28e83SPiotr Jasiukajtis
439*25c28e83SPiotr Jasiukajtis	fmuld	%f2,%f2,%f32
440*25c28e83SPiotr Jasiukajtis	bz,pn	%icc,.case4
441*25c28e83SPiotr Jasiukajtis! delay slot
442*25c28e83SPiotr Jasiukajtis	andcc	%l2,1,%g0
443*25c28e83SPiotr Jasiukajtis
444*25c28e83SPiotr Jasiukajtis	fmuld	%f4,%f4,%f34
445*25c28e83SPiotr Jasiukajtis	bz,pn	%icc,.case2
446*25c28e83SPiotr Jasiukajtis! delay slot
447*25c28e83SPiotr Jasiukajtis	andcc	%l3,1,%g0
448*25c28e83SPiotr Jasiukajtis
449*25c28e83SPiotr Jasiukajtis	fmuld	%f6,%f6,%f36
450*25c28e83SPiotr Jasiukajtis	bz,pn	%icc,.case1
451*25c28e83SPiotr Jasiukajtis! delay slot
452*25c28e83SPiotr Jasiukajtis	nop
453*25c28e83SPiotr Jasiukajtis
454*25c28e83SPiotr Jasiukajtis!.case0:
455*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f54,%f10		! cos(x0)
456*25c28e83SPiotr Jasiukajtis	fzero	%f0
457*25c28e83SPiotr Jasiukajtis
458*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f54,%f12		! cos(x1)
459*25c28e83SPiotr Jasiukajtis	fzero	%f2
460*25c28e83SPiotr Jasiukajtis
461*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f54,%f14		! cos(x2)
462*25c28e83SPiotr Jasiukajtis	fzero	%f4
463*25c28e83SPiotr Jasiukajtis
464*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f54,%f16		! cos(x3)
465*25c28e83SPiotr Jasiukajtis	fzero	%f6
466*25c28e83SPiotr Jasiukajtis
467*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f48,%f20
468*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f52,%f10
469*25c28e83SPiotr Jasiukajtis
470*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f48,%f22
471*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f52,%f12
472*25c28e83SPiotr Jasiukajtis
473*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f48,%f24
474*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f52,%f14
475*25c28e83SPiotr Jasiukajtis
476*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f48,%f26
477*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f52,%f16
478*25c28e83SPiotr Jasiukajtis
479*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f10,%f10
480*25c28e83SPiotr Jasiukajtis	faddd	%f20,%f46,%f20
481*25c28e83SPiotr Jasiukajtis
482*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f12,%f12
483*25c28e83SPiotr Jasiukajtis	faddd	%f22,%f46,%f22
484*25c28e83SPiotr Jasiukajtis
485*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f14,%f14
486*25c28e83SPiotr Jasiukajtis	faddd	%f24,%f46,%f24
487*25c28e83SPiotr Jasiukajtis
488*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f16,%f16
489*25c28e83SPiotr Jasiukajtis	faddd	%f26,%f46,%f26
490*25c28e83SPiotr Jasiukajtis
491*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f30,%f30
492*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f50,%f10
493*25c28e83SPiotr Jasiukajtis	and	%l0,2,%g1
494*25c28e83SPiotr Jasiukajtis
495*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f32,%f32
496*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f50,%f12
497*25c28e83SPiotr Jasiukajtis	and	%l1,2,%g5
498*25c28e83SPiotr Jasiukajtis
499*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f34,%f34
500*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f50,%f14
501*25c28e83SPiotr Jasiukajtis	and	%l2,2,%o4
502*25c28e83SPiotr Jasiukajtis
503*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f36,%f36
504*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f50,%f16
505*25c28e83SPiotr Jasiukajtis	and	%l3,2,%o5
506*25c28e83SPiotr Jasiukajtis
507*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f10,%f10
508*25c28e83SPiotr Jasiukajtis	fmovrdnz %g1,%f28,%f0
509*25c28e83SPiotr Jasiukajtis
510*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f12,%f12
511*25c28e83SPiotr Jasiukajtis	fmovrdnz %g5,%f28,%f2
512*25c28e83SPiotr Jasiukajtis
513*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f14,%f14
514*25c28e83SPiotr Jasiukajtis	fmovrdnz %o4,%f28,%f4
515*25c28e83SPiotr Jasiukajtis
516*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f16,%f16
517*25c28e83SPiotr Jasiukajtis	fmovrdnz %o5,%f28,%f6
518*25c28e83SPiotr Jasiukajtis
519*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f20,%f10
520*25c28e83SPiotr Jasiukajtis
521*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f22,%f12
522*25c28e83SPiotr Jasiukajtis
523*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f24,%f14
524*25c28e83SPiotr Jasiukajtis
525*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f26,%f16
526*25c28e83SPiotr Jasiukajtis
527*25c28e83SPiotr Jasiukajtis	fxor	%f10,%f0,%f10
528*25c28e83SPiotr Jasiukajtis
529*25c28e83SPiotr Jasiukajtis	fxor	%f12,%f2,%f12
530*25c28e83SPiotr Jasiukajtis
531*25c28e83SPiotr Jasiukajtis	fxor	%f14,%f4,%f14
532*25c28e83SPiotr Jasiukajtis
533*25c28e83SPiotr Jasiukajtis	addcc	%i0,-1,%i0
534*25c28e83SPiotr Jasiukajtis	bg,pt	%icc,.start
535*25c28e83SPiotr Jasiukajtis! delay slot
536*25c28e83SPiotr Jasiukajtis	fxor	%f16,%f6,%f16
537*25c28e83SPiotr Jasiukajtis
538*25c28e83SPiotr Jasiukajtis	ba,pt	%icc,.end
539*25c28e83SPiotr Jasiukajtis! delay slot
540*25c28e83SPiotr Jasiukajtis	nop
541*25c28e83SPiotr Jasiukajtis
542*25c28e83SPiotr Jasiukajtis	.align	16
543*25c28e83SPiotr Jasiukajtis.case1:
544*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f54,%f10		! cos(x0)
545*25c28e83SPiotr Jasiukajtis	fzero	%f0
546*25c28e83SPiotr Jasiukajtis
547*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f54,%f12		! cos(x1)
548*25c28e83SPiotr Jasiukajtis	fzero	%f2
549*25c28e83SPiotr Jasiukajtis
550*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f54,%f14		! cos(x2)
551*25c28e83SPiotr Jasiukajtis	fzero	%f4
552*25c28e83SPiotr Jasiukajtis
553*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f44,%f16		! sin(x3)
554*25c28e83SPiotr Jasiukajtis
555*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f48,%f20
556*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f52,%f10
557*25c28e83SPiotr Jasiukajtis
558*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f48,%f22
559*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f52,%f12
560*25c28e83SPiotr Jasiukajtis
561*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f48,%f24
562*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f52,%f14
563*25c28e83SPiotr Jasiukajtis
564*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f40,%f26
565*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f42,%f16
566*25c28e83SPiotr Jasiukajtis
567*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f10,%f10
568*25c28e83SPiotr Jasiukajtis	faddd	%f20,%f46,%f20
569*25c28e83SPiotr Jasiukajtis
570*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f12,%f12
571*25c28e83SPiotr Jasiukajtis	faddd	%f22,%f46,%f22
572*25c28e83SPiotr Jasiukajtis
573*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f14,%f14
574*25c28e83SPiotr Jasiukajtis	faddd	%f24,%f46,%f24
575*25c28e83SPiotr Jasiukajtis
576*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f36,%f36
577*25c28e83SPiotr Jasiukajtis	faddd	%f26,%f46,%f26
578*25c28e83SPiotr Jasiukajtis
579*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f30,%f30
580*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f50,%f10
581*25c28e83SPiotr Jasiukajtis	and	%l0,2,%g1
582*25c28e83SPiotr Jasiukajtis
583*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f32,%f32
584*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f50,%f12
585*25c28e83SPiotr Jasiukajtis	and	%l1,2,%g5
586*25c28e83SPiotr Jasiukajtis
587*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f34,%f34
588*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f50,%f14
589*25c28e83SPiotr Jasiukajtis	and	%l2,2,%o4
590*25c28e83SPiotr Jasiukajtis
591*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f16,%f16
592*25c28e83SPiotr Jasiukajtis	fzero	%f36
593*25c28e83SPiotr Jasiukajtis
594*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f10,%f10
595*25c28e83SPiotr Jasiukajtis	fmovrdnz %g1,%f28,%f0
596*25c28e83SPiotr Jasiukajtis
597*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f12,%f12
598*25c28e83SPiotr Jasiukajtis	fmovrdnz %g5,%f28,%f2
599*25c28e83SPiotr Jasiukajtis
600*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f14,%f14
601*25c28e83SPiotr Jasiukajtis	fmovrdnz %o4,%f28,%f4
602*25c28e83SPiotr Jasiukajtis
603*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f26,%f16
604*25c28e83SPiotr Jasiukajtis	and	%l3,2,%o5
605*25c28e83SPiotr Jasiukajtis
606*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f20,%f10
607*25c28e83SPiotr Jasiukajtis
608*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f22,%f12
609*25c28e83SPiotr Jasiukajtis
610*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f24,%f14
611*25c28e83SPiotr Jasiukajtis
612*25c28e83SPiotr Jasiukajtis	fmuld	%f6,%f16,%f16
613*25c28e83SPiotr Jasiukajtis	fmovrdnz %o5,%f28,%f36
614*25c28e83SPiotr Jasiukajtis
615*25c28e83SPiotr Jasiukajtis	fxor	%f10,%f0,%f10
616*25c28e83SPiotr Jasiukajtis
617*25c28e83SPiotr Jasiukajtis	fxor	%f12,%f2,%f12
618*25c28e83SPiotr Jasiukajtis
619*25c28e83SPiotr Jasiukajtis	fxor	%f14,%f4,%f14
620*25c28e83SPiotr Jasiukajtis
621*25c28e83SPiotr Jasiukajtis	addcc	%i0,-1,%i0
622*25c28e83SPiotr Jasiukajtis	bg,pt	%icc,.start
623*25c28e83SPiotr Jasiukajtis! delay slot
624*25c28e83SPiotr Jasiukajtis	fxor	%f16,%f36,%f16
625*25c28e83SPiotr Jasiukajtis
626*25c28e83SPiotr Jasiukajtis	ba,pt	%icc,.end
627*25c28e83SPiotr Jasiukajtis! delay slot
628*25c28e83SPiotr Jasiukajtis	nop
629*25c28e83SPiotr Jasiukajtis
630*25c28e83SPiotr Jasiukajtis	.align	16
631*25c28e83SPiotr Jasiukajtis.case2:
632*25c28e83SPiotr Jasiukajtis	fmuld	%f6,%f6,%f36
633*25c28e83SPiotr Jasiukajtis	bz,pn	%icc,.case3
634*25c28e83SPiotr Jasiukajtis! delay slot
635*25c28e83SPiotr Jasiukajtis	nop
636*25c28e83SPiotr Jasiukajtis
637*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f54,%f10		! cos(x0)
638*25c28e83SPiotr Jasiukajtis	fzero	%f0
639*25c28e83SPiotr Jasiukajtis
640*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f54,%f12		! cos(x1)
641*25c28e83SPiotr Jasiukajtis	fzero	%f2
642*25c28e83SPiotr Jasiukajtis
643*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f44,%f14		! sin(x2)
644*25c28e83SPiotr Jasiukajtis
645*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f54,%f16		! cos(x3)
646*25c28e83SPiotr Jasiukajtis	fzero	%f6
647*25c28e83SPiotr Jasiukajtis
648*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f48,%f20
649*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f52,%f10
650*25c28e83SPiotr Jasiukajtis
651*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f48,%f22
652*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f52,%f12
653*25c28e83SPiotr Jasiukajtis
654*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f40,%f24
655*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f42,%f14
656*25c28e83SPiotr Jasiukajtis
657*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f48,%f26
658*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f52,%f16
659*25c28e83SPiotr Jasiukajtis
660*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f10,%f10
661*25c28e83SPiotr Jasiukajtis	faddd	%f20,%f46,%f20
662*25c28e83SPiotr Jasiukajtis
663*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f12,%f12
664*25c28e83SPiotr Jasiukajtis	faddd	%f22,%f46,%f22
665*25c28e83SPiotr Jasiukajtis
666*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f34,%f34
667*25c28e83SPiotr Jasiukajtis	faddd	%f24,%f46,%f24
668*25c28e83SPiotr Jasiukajtis
669*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f16,%f16
670*25c28e83SPiotr Jasiukajtis	faddd	%f26,%f46,%f26
671*25c28e83SPiotr Jasiukajtis
672*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f30,%f30
673*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f50,%f10
674*25c28e83SPiotr Jasiukajtis	and	%l0,2,%g1
675*25c28e83SPiotr Jasiukajtis
676*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f32,%f32
677*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f50,%f12
678*25c28e83SPiotr Jasiukajtis	and	%l1,2,%g5
679*25c28e83SPiotr Jasiukajtis
680*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f14,%f14
681*25c28e83SPiotr Jasiukajtis	fzero	%f34
682*25c28e83SPiotr Jasiukajtis
683*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f36,%f36
684*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f50,%f16
685*25c28e83SPiotr Jasiukajtis	and	%l3,2,%o5
686*25c28e83SPiotr Jasiukajtis
687*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f10,%f10
688*25c28e83SPiotr Jasiukajtis	fmovrdnz %g1,%f28,%f0
689*25c28e83SPiotr Jasiukajtis
690*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f12,%f12
691*25c28e83SPiotr Jasiukajtis	fmovrdnz %g5,%f28,%f2
692*25c28e83SPiotr Jasiukajtis
693*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f24,%f14
694*25c28e83SPiotr Jasiukajtis	and	%l2,2,%o4
695*25c28e83SPiotr Jasiukajtis
696*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f16,%f16
697*25c28e83SPiotr Jasiukajtis	fmovrdnz %o5,%f28,%f6
698*25c28e83SPiotr Jasiukajtis
699*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f20,%f10
700*25c28e83SPiotr Jasiukajtis
701*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f22,%f12
702*25c28e83SPiotr Jasiukajtis
703*25c28e83SPiotr Jasiukajtis	fmuld	%f4,%f14,%f14
704*25c28e83SPiotr Jasiukajtis	fmovrdnz %o4,%f28,%f34
705*25c28e83SPiotr Jasiukajtis
706*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f26,%f16
707*25c28e83SPiotr Jasiukajtis
708*25c28e83SPiotr Jasiukajtis	fxor	%f10,%f0,%f10
709*25c28e83SPiotr Jasiukajtis
710*25c28e83SPiotr Jasiukajtis	fxor	%f12,%f2,%f12
711*25c28e83SPiotr Jasiukajtis
712*25c28e83SPiotr Jasiukajtis	fxor	%f14,%f34,%f14
713*25c28e83SPiotr Jasiukajtis
714*25c28e83SPiotr Jasiukajtis	addcc	%i0,-1,%i0
715*25c28e83SPiotr Jasiukajtis	bg,pt	%icc,.start
716*25c28e83SPiotr Jasiukajtis! delay slot
717*25c28e83SPiotr Jasiukajtis	fxor	%f16,%f6,%f16
718*25c28e83SPiotr Jasiukajtis
719*25c28e83SPiotr Jasiukajtis	ba,pt	%icc,.end
720*25c28e83SPiotr Jasiukajtis! delay slot
721*25c28e83SPiotr Jasiukajtis	nop
722*25c28e83SPiotr Jasiukajtis
723*25c28e83SPiotr Jasiukajtis	.align	16
724*25c28e83SPiotr Jasiukajtis.case3:
725*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f54,%f10		! cos(x0)
726*25c28e83SPiotr Jasiukajtis	fzero	%f0
727*25c28e83SPiotr Jasiukajtis
728*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f54,%f12		! cos(x1)
729*25c28e83SPiotr Jasiukajtis	fzero	%f2
730*25c28e83SPiotr Jasiukajtis
731*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f44,%f14		! sin(x2)
732*25c28e83SPiotr Jasiukajtis
733*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f44,%f16		! sin(x3)
734*25c28e83SPiotr Jasiukajtis
735*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f48,%f20
736*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f52,%f10
737*25c28e83SPiotr Jasiukajtis
738*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f48,%f22
739*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f52,%f12
740*25c28e83SPiotr Jasiukajtis
741*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f40,%f24
742*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f42,%f14
743*25c28e83SPiotr Jasiukajtis
744*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f40,%f26
745*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f42,%f16
746*25c28e83SPiotr Jasiukajtis
747*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f10,%f10
748*25c28e83SPiotr Jasiukajtis	faddd	%f20,%f46,%f20
749*25c28e83SPiotr Jasiukajtis
750*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f12,%f12
751*25c28e83SPiotr Jasiukajtis	faddd	%f22,%f46,%f22
752*25c28e83SPiotr Jasiukajtis
753*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f34,%f34
754*25c28e83SPiotr Jasiukajtis	faddd	%f24,%f46,%f24
755*25c28e83SPiotr Jasiukajtis
756*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f36,%f36
757*25c28e83SPiotr Jasiukajtis	faddd	%f26,%f46,%f26
758*25c28e83SPiotr Jasiukajtis
759*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f30,%f30
760*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f50,%f10
761*25c28e83SPiotr Jasiukajtis	and	%l0,2,%g1
762*25c28e83SPiotr Jasiukajtis
763*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f32,%f32
764*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f50,%f12
765*25c28e83SPiotr Jasiukajtis	and	%l1,2,%g5
766*25c28e83SPiotr Jasiukajtis
767*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f14,%f14
768*25c28e83SPiotr Jasiukajtis	fzero	%f34
769*25c28e83SPiotr Jasiukajtis
770*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f16,%f16
771*25c28e83SPiotr Jasiukajtis	fzero	%f36
772*25c28e83SPiotr Jasiukajtis
773*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f10,%f10
774*25c28e83SPiotr Jasiukajtis	fmovrdnz %g1,%f28,%f0
775*25c28e83SPiotr Jasiukajtis
776*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f12,%f12
777*25c28e83SPiotr Jasiukajtis	fmovrdnz %g5,%f28,%f2
778*25c28e83SPiotr Jasiukajtis
779*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f24,%f14
780*25c28e83SPiotr Jasiukajtis	and	%l2,2,%o4
781*25c28e83SPiotr Jasiukajtis
782*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f26,%f16
783*25c28e83SPiotr Jasiukajtis	and	%l3,2,%o5
784*25c28e83SPiotr Jasiukajtis
785*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f20,%f10
786*25c28e83SPiotr Jasiukajtis
787*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f22,%f12
788*25c28e83SPiotr Jasiukajtis
789*25c28e83SPiotr Jasiukajtis	fmuld	%f4,%f14,%f14
790*25c28e83SPiotr Jasiukajtis	fmovrdnz %o4,%f28,%f34
791*25c28e83SPiotr Jasiukajtis
792*25c28e83SPiotr Jasiukajtis	fmuld	%f6,%f16,%f16
793*25c28e83SPiotr Jasiukajtis	fmovrdnz %o5,%f28,%f36
794*25c28e83SPiotr Jasiukajtis
795*25c28e83SPiotr Jasiukajtis	fxor	%f10,%f0,%f10
796*25c28e83SPiotr Jasiukajtis
797*25c28e83SPiotr Jasiukajtis	fxor	%f12,%f2,%f12
798*25c28e83SPiotr Jasiukajtis
799*25c28e83SPiotr Jasiukajtis	fxor	%f14,%f34,%f14
800*25c28e83SPiotr Jasiukajtis
801*25c28e83SPiotr Jasiukajtis	addcc	%i0,-1,%i0
802*25c28e83SPiotr Jasiukajtis	bg,pt	%icc,.start
803*25c28e83SPiotr Jasiukajtis! delay slot
804*25c28e83SPiotr Jasiukajtis	fxor	%f16,%f36,%f16
805*25c28e83SPiotr Jasiukajtis
806*25c28e83SPiotr Jasiukajtis	ba,pt	%icc,.end
807*25c28e83SPiotr Jasiukajtis! delay slot
808*25c28e83SPiotr Jasiukajtis	nop
809*25c28e83SPiotr Jasiukajtis
810*25c28e83SPiotr Jasiukajtis	.align	16
811*25c28e83SPiotr Jasiukajtis.case4:
812*25c28e83SPiotr Jasiukajtis	fmuld	%f4,%f4,%f34
813*25c28e83SPiotr Jasiukajtis	bz,pn	%icc,.case6
814*25c28e83SPiotr Jasiukajtis! delay slot
815*25c28e83SPiotr Jasiukajtis	andcc	%l3,1,%g0
816*25c28e83SPiotr Jasiukajtis
817*25c28e83SPiotr Jasiukajtis	fmuld	%f6,%f6,%f36
818*25c28e83SPiotr Jasiukajtis	bz,pn	%icc,.case5
819*25c28e83SPiotr Jasiukajtis! delay slot
820*25c28e83SPiotr Jasiukajtis	nop
821*25c28e83SPiotr Jasiukajtis
822*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f54,%f10		! cos(x0)
823*25c28e83SPiotr Jasiukajtis	fzero	%f0
824*25c28e83SPiotr Jasiukajtis
825*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f44,%f12		! sin(x1)
826*25c28e83SPiotr Jasiukajtis
827*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f54,%f14		! cos(x2)
828*25c28e83SPiotr Jasiukajtis	fzero	%f4
829*25c28e83SPiotr Jasiukajtis
830*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f54,%f16		! cos(x3)
831*25c28e83SPiotr Jasiukajtis	fzero	%f6
832*25c28e83SPiotr Jasiukajtis
833*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f48,%f20
834*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f52,%f10
835*25c28e83SPiotr Jasiukajtis
836*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f40,%f22
837*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f42,%f12
838*25c28e83SPiotr Jasiukajtis
839*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f48,%f24
840*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f52,%f14
841*25c28e83SPiotr Jasiukajtis
842*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f48,%f26
843*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f52,%f16
844*25c28e83SPiotr Jasiukajtis
845*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f10,%f10
846*25c28e83SPiotr Jasiukajtis	faddd	%f20,%f46,%f20
847*25c28e83SPiotr Jasiukajtis
848*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f32,%f32
849*25c28e83SPiotr Jasiukajtis	faddd	%f22,%f46,%f22
850*25c28e83SPiotr Jasiukajtis
851*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f14,%f14
852*25c28e83SPiotr Jasiukajtis	faddd	%f24,%f46,%f24
853*25c28e83SPiotr Jasiukajtis
854*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f16,%f16
855*25c28e83SPiotr Jasiukajtis	faddd	%f26,%f46,%f26
856*25c28e83SPiotr Jasiukajtis
857*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f30,%f30
858*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f50,%f10
859*25c28e83SPiotr Jasiukajtis	and	%l0,2,%g1
860*25c28e83SPiotr Jasiukajtis
861*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f12,%f12
862*25c28e83SPiotr Jasiukajtis	fzero	%f32
863*25c28e83SPiotr Jasiukajtis
864*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f34,%f34
865*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f50,%f14
866*25c28e83SPiotr Jasiukajtis	and	%l2,2,%o4
867*25c28e83SPiotr Jasiukajtis
868*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f36,%f36
869*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f50,%f16
870*25c28e83SPiotr Jasiukajtis	and	%l3,2,%o5
871*25c28e83SPiotr Jasiukajtis
872*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f10,%f10
873*25c28e83SPiotr Jasiukajtis	fmovrdnz %g1,%f28,%f0
874*25c28e83SPiotr Jasiukajtis
875*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f22,%f12
876*25c28e83SPiotr Jasiukajtis	and	%l1,2,%g5
877*25c28e83SPiotr Jasiukajtis
878*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f14,%f14
879*25c28e83SPiotr Jasiukajtis	fmovrdnz %o4,%f28,%f4
880*25c28e83SPiotr Jasiukajtis
881*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f16,%f16
882*25c28e83SPiotr Jasiukajtis	fmovrdnz %o5,%f28,%f6
883*25c28e83SPiotr Jasiukajtis
884*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f20,%f10
885*25c28e83SPiotr Jasiukajtis
886*25c28e83SPiotr Jasiukajtis	fmuld	%f2,%f12,%f12
887*25c28e83SPiotr Jasiukajtis	fmovrdnz %g5,%f28,%f32
888*25c28e83SPiotr Jasiukajtis
889*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f24,%f14
890*25c28e83SPiotr Jasiukajtis
891*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f26,%f16
892*25c28e83SPiotr Jasiukajtis
893*25c28e83SPiotr Jasiukajtis	fxor	%f10,%f0,%f10
894*25c28e83SPiotr Jasiukajtis
895*25c28e83SPiotr Jasiukajtis	fxor	%f12,%f32,%f12
896*25c28e83SPiotr Jasiukajtis
897*25c28e83SPiotr Jasiukajtis	fxor	%f14,%f4,%f14
898*25c28e83SPiotr Jasiukajtis
899*25c28e83SPiotr Jasiukajtis	addcc	%i0,-1,%i0
900*25c28e83SPiotr Jasiukajtis	bg,pt	%icc,.start
901*25c28e83SPiotr Jasiukajtis! delay slot
902*25c28e83SPiotr Jasiukajtis	fxor	%f16,%f6,%f16
903*25c28e83SPiotr Jasiukajtis
904*25c28e83SPiotr Jasiukajtis	ba,pt	%icc,.end
905*25c28e83SPiotr Jasiukajtis! delay slot
906*25c28e83SPiotr Jasiukajtis	nop
907*25c28e83SPiotr Jasiukajtis
908*25c28e83SPiotr Jasiukajtis	.align	16
909*25c28e83SPiotr Jasiukajtis.case5:
910*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f54,%f10		! cos(x0)
911*25c28e83SPiotr Jasiukajtis	fzero	%f0
912*25c28e83SPiotr Jasiukajtis
913*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f44,%f12		! sin(x1)
914*25c28e83SPiotr Jasiukajtis
915*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f54,%f14		! cos(x2)
916*25c28e83SPiotr Jasiukajtis	fzero	%f4
917*25c28e83SPiotr Jasiukajtis
918*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f44,%f16		! sin(x3)
919*25c28e83SPiotr Jasiukajtis
920*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f48,%f20
921*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f52,%f10
922*25c28e83SPiotr Jasiukajtis
923*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f40,%f22
924*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f42,%f12
925*25c28e83SPiotr Jasiukajtis
926*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f48,%f24
927*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f52,%f14
928*25c28e83SPiotr Jasiukajtis
929*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f40,%f26
930*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f42,%f16
931*25c28e83SPiotr Jasiukajtis
932*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f10,%f10
933*25c28e83SPiotr Jasiukajtis	faddd	%f20,%f46,%f20
934*25c28e83SPiotr Jasiukajtis
935*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f32,%f32
936*25c28e83SPiotr Jasiukajtis	faddd	%f22,%f46,%f22
937*25c28e83SPiotr Jasiukajtis
938*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f14,%f14
939*25c28e83SPiotr Jasiukajtis	faddd	%f24,%f46,%f24
940*25c28e83SPiotr Jasiukajtis
941*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f36,%f36
942*25c28e83SPiotr Jasiukajtis	faddd	%f26,%f46,%f26
943*25c28e83SPiotr Jasiukajtis
944*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f30,%f30
945*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f50,%f10
946*25c28e83SPiotr Jasiukajtis	and	%l0,2,%g1
947*25c28e83SPiotr Jasiukajtis
948*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f12,%f12
949*25c28e83SPiotr Jasiukajtis	fzero	%f32
950*25c28e83SPiotr Jasiukajtis
951*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f34,%f34
952*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f50,%f14
953*25c28e83SPiotr Jasiukajtis	and	%l2,2,%o4
954*25c28e83SPiotr Jasiukajtis
955*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f16,%f16
956*25c28e83SPiotr Jasiukajtis	fzero	%f36
957*25c28e83SPiotr Jasiukajtis
958*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f10,%f10
959*25c28e83SPiotr Jasiukajtis	fmovrdnz %g1,%f28,%f0
960*25c28e83SPiotr Jasiukajtis
961*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f22,%f12
962*25c28e83SPiotr Jasiukajtis	and	%l1,2,%g5
963*25c28e83SPiotr Jasiukajtis
964*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f14,%f14
965*25c28e83SPiotr Jasiukajtis	fmovrdnz %o4,%f28,%f4
966*25c28e83SPiotr Jasiukajtis
967*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f26,%f16
968*25c28e83SPiotr Jasiukajtis	and	%l3,2,%o5
969*25c28e83SPiotr Jasiukajtis
970*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f20,%f10
971*25c28e83SPiotr Jasiukajtis
972*25c28e83SPiotr Jasiukajtis	fmuld	%f2,%f12,%f12
973*25c28e83SPiotr Jasiukajtis	fmovrdnz %g5,%f28,%f32
974*25c28e83SPiotr Jasiukajtis
975*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f24,%f14
976*25c28e83SPiotr Jasiukajtis
977*25c28e83SPiotr Jasiukajtis	fmuld	%f6,%f16,%f16
978*25c28e83SPiotr Jasiukajtis	fmovrdnz %o5,%f28,%f36
979*25c28e83SPiotr Jasiukajtis
980*25c28e83SPiotr Jasiukajtis	fxor	%f10,%f0,%f10
981*25c28e83SPiotr Jasiukajtis
982*25c28e83SPiotr Jasiukajtis	fxor	%f12,%f32,%f12
983*25c28e83SPiotr Jasiukajtis
984*25c28e83SPiotr Jasiukajtis	fxor	%f14,%f4,%f14
985*25c28e83SPiotr Jasiukajtis
986*25c28e83SPiotr Jasiukajtis	addcc	%i0,-1,%i0
987*25c28e83SPiotr Jasiukajtis	bg,pt	%icc,.start
988*25c28e83SPiotr Jasiukajtis! delay slot
989*25c28e83SPiotr Jasiukajtis	fxor	%f16,%f36,%f16
990*25c28e83SPiotr Jasiukajtis
991*25c28e83SPiotr Jasiukajtis	ba,pt	%icc,.end
992*25c28e83SPiotr Jasiukajtis! delay slot
993*25c28e83SPiotr Jasiukajtis	nop
994*25c28e83SPiotr Jasiukajtis
995*25c28e83SPiotr Jasiukajtis	.align	16
996*25c28e83SPiotr Jasiukajtis.case6:
997*25c28e83SPiotr Jasiukajtis	fmuld	%f6,%f6,%f36
998*25c28e83SPiotr Jasiukajtis	bz,pn	%icc,.case7
999*25c28e83SPiotr Jasiukajtis! delay slot
1000*25c28e83SPiotr Jasiukajtis	nop
1001*25c28e83SPiotr Jasiukajtis
1002*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f54,%f10		! cos(x0)
1003*25c28e83SPiotr Jasiukajtis	fzero	%f0
1004*25c28e83SPiotr Jasiukajtis
1005*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f44,%f12		! sin(x1)
1006*25c28e83SPiotr Jasiukajtis
1007*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f44,%f14		! sin(x2)
1008*25c28e83SPiotr Jasiukajtis
1009*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f54,%f16		! cos(x3)
1010*25c28e83SPiotr Jasiukajtis	fzero	%f6
1011*25c28e83SPiotr Jasiukajtis
1012*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f48,%f20
1013*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f52,%f10
1014*25c28e83SPiotr Jasiukajtis
1015*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f40,%f22
1016*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f42,%f12
1017*25c28e83SPiotr Jasiukajtis
1018*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f40,%f24
1019*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f42,%f14
1020*25c28e83SPiotr Jasiukajtis
1021*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f48,%f26
1022*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f52,%f16
1023*25c28e83SPiotr Jasiukajtis
1024*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f10,%f10
1025*25c28e83SPiotr Jasiukajtis	faddd	%f20,%f46,%f20
1026*25c28e83SPiotr Jasiukajtis
1027*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f32,%f32
1028*25c28e83SPiotr Jasiukajtis	faddd	%f22,%f46,%f22
1029*25c28e83SPiotr Jasiukajtis
1030*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f34,%f34
1031*25c28e83SPiotr Jasiukajtis	faddd	%f24,%f46,%f24
1032*25c28e83SPiotr Jasiukajtis
1033*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f16,%f16
1034*25c28e83SPiotr Jasiukajtis	faddd	%f26,%f46,%f26
1035*25c28e83SPiotr Jasiukajtis
1036*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f30,%f30
1037*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f50,%f10
1038*25c28e83SPiotr Jasiukajtis	and	%l0,2,%g1
1039*25c28e83SPiotr Jasiukajtis
1040*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f12,%f12
1041*25c28e83SPiotr Jasiukajtis	fzero	%f32
1042*25c28e83SPiotr Jasiukajtis
1043*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f14,%f14
1044*25c28e83SPiotr Jasiukajtis	fzero	%f34
1045*25c28e83SPiotr Jasiukajtis
1046*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f36,%f36
1047*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f50,%f16
1048*25c28e83SPiotr Jasiukajtis	and	%l3,2,%o5
1049*25c28e83SPiotr Jasiukajtis
1050*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f10,%f10
1051*25c28e83SPiotr Jasiukajtis	fmovrdnz %g1,%f28,%f0
1052*25c28e83SPiotr Jasiukajtis
1053*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f22,%f12
1054*25c28e83SPiotr Jasiukajtis	and	%l1,2,%g5
1055*25c28e83SPiotr Jasiukajtis
1056*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f24,%f14
1057*25c28e83SPiotr Jasiukajtis	and	%l2,2,%o4
1058*25c28e83SPiotr Jasiukajtis
1059*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f16,%f16
1060*25c28e83SPiotr Jasiukajtis	fmovrdnz %o5,%f28,%f6
1061*25c28e83SPiotr Jasiukajtis
1062*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f20,%f10
1063*25c28e83SPiotr Jasiukajtis
1064*25c28e83SPiotr Jasiukajtis	fmuld	%f2,%f12,%f12
1065*25c28e83SPiotr Jasiukajtis	fmovrdnz %g5,%f28,%f32
1066*25c28e83SPiotr Jasiukajtis
1067*25c28e83SPiotr Jasiukajtis	fmuld	%f4,%f14,%f14
1068*25c28e83SPiotr Jasiukajtis	fmovrdnz %o4,%f28,%f34
1069*25c28e83SPiotr Jasiukajtis
1070*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f26,%f16
1071*25c28e83SPiotr Jasiukajtis
1072*25c28e83SPiotr Jasiukajtis	fxor	%f10,%f0,%f10
1073*25c28e83SPiotr Jasiukajtis
1074*25c28e83SPiotr Jasiukajtis	fxor	%f12,%f32,%f12
1075*25c28e83SPiotr Jasiukajtis
1076*25c28e83SPiotr Jasiukajtis	fxor	%f14,%f34,%f14
1077*25c28e83SPiotr Jasiukajtis
1078*25c28e83SPiotr Jasiukajtis	addcc	%i0,-1,%i0
1079*25c28e83SPiotr Jasiukajtis	bg,pt	%icc,.start
1080*25c28e83SPiotr Jasiukajtis! delay slot
1081*25c28e83SPiotr Jasiukajtis	fxor	%f16,%f6,%f16
1082*25c28e83SPiotr Jasiukajtis
1083*25c28e83SPiotr Jasiukajtis	ba,pt	%icc,.end
1084*25c28e83SPiotr Jasiukajtis! delay slot
1085*25c28e83SPiotr Jasiukajtis	nop
1086*25c28e83SPiotr Jasiukajtis
1087*25c28e83SPiotr Jasiukajtis	.align	16
1088*25c28e83SPiotr Jasiukajtis.case7:
1089*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f54,%f10		! cos(x0)
1090*25c28e83SPiotr Jasiukajtis	fzero	%f0
1091*25c28e83SPiotr Jasiukajtis
1092*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f44,%f12		! sin(x1)
1093*25c28e83SPiotr Jasiukajtis
1094*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f44,%f14		! sin(x2)
1095*25c28e83SPiotr Jasiukajtis
1096*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f44,%f16		! sin(x3)
1097*25c28e83SPiotr Jasiukajtis
1098*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f48,%f20
1099*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f52,%f10
1100*25c28e83SPiotr Jasiukajtis
1101*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f40,%f22
1102*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f42,%f12
1103*25c28e83SPiotr Jasiukajtis
1104*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f40,%f24
1105*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f42,%f14
1106*25c28e83SPiotr Jasiukajtis
1107*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f40,%f26
1108*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f42,%f16
1109*25c28e83SPiotr Jasiukajtis
1110*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f10,%f10
1111*25c28e83SPiotr Jasiukajtis	faddd	%f20,%f46,%f20
1112*25c28e83SPiotr Jasiukajtis
1113*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f32,%f32
1114*25c28e83SPiotr Jasiukajtis	faddd	%f22,%f46,%f22
1115*25c28e83SPiotr Jasiukajtis
1116*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f34,%f34
1117*25c28e83SPiotr Jasiukajtis	faddd	%f24,%f46,%f24
1118*25c28e83SPiotr Jasiukajtis
1119*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f36,%f36
1120*25c28e83SPiotr Jasiukajtis	faddd	%f26,%f46,%f26
1121*25c28e83SPiotr Jasiukajtis
1122*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f30,%f30
1123*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f50,%f10
1124*25c28e83SPiotr Jasiukajtis	and	%l0,2,%g1
1125*25c28e83SPiotr Jasiukajtis
1126*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f12,%f12
1127*25c28e83SPiotr Jasiukajtis	fzero	%f32
1128*25c28e83SPiotr Jasiukajtis
1129*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f14,%f14
1130*25c28e83SPiotr Jasiukajtis	fzero	%f34
1131*25c28e83SPiotr Jasiukajtis
1132*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f16,%f16
1133*25c28e83SPiotr Jasiukajtis	fzero	%f36
1134*25c28e83SPiotr Jasiukajtis
1135*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f10,%f10
1136*25c28e83SPiotr Jasiukajtis	fmovrdnz %g1,%f28,%f0
1137*25c28e83SPiotr Jasiukajtis
1138*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f22,%f12
1139*25c28e83SPiotr Jasiukajtis	and	%l1,2,%g5
1140*25c28e83SPiotr Jasiukajtis
1141*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f24,%f14
1142*25c28e83SPiotr Jasiukajtis	and	%l2,2,%o4
1143*25c28e83SPiotr Jasiukajtis
1144*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f26,%f16
1145*25c28e83SPiotr Jasiukajtis	and	%l3,2,%o5
1146*25c28e83SPiotr Jasiukajtis
1147*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f20,%f10
1148*25c28e83SPiotr Jasiukajtis
1149*25c28e83SPiotr Jasiukajtis	fmuld	%f2,%f12,%f12
1150*25c28e83SPiotr Jasiukajtis	fmovrdnz %g5,%f28,%f32
1151*25c28e83SPiotr Jasiukajtis
1152*25c28e83SPiotr Jasiukajtis	fmuld	%f4,%f14,%f14
1153*25c28e83SPiotr Jasiukajtis	fmovrdnz %o4,%f28,%f34
1154*25c28e83SPiotr Jasiukajtis
1155*25c28e83SPiotr Jasiukajtis	fmuld	%f6,%f16,%f16
1156*25c28e83SPiotr Jasiukajtis	fmovrdnz %o5,%f28,%f36
1157*25c28e83SPiotr Jasiukajtis
1158*25c28e83SPiotr Jasiukajtis	fxor	%f10,%f0,%f10
1159*25c28e83SPiotr Jasiukajtis
1160*25c28e83SPiotr Jasiukajtis	fxor	%f12,%f32,%f12
1161*25c28e83SPiotr Jasiukajtis
1162*25c28e83SPiotr Jasiukajtis	fxor	%f14,%f34,%f14
1163*25c28e83SPiotr Jasiukajtis
1164*25c28e83SPiotr Jasiukajtis	addcc	%i0,-1,%i0
1165*25c28e83SPiotr Jasiukajtis	bg,pt	%icc,.start
1166*25c28e83SPiotr Jasiukajtis! delay slot
1167*25c28e83SPiotr Jasiukajtis	fxor	%f16,%f36,%f16
1168*25c28e83SPiotr Jasiukajtis
1169*25c28e83SPiotr Jasiukajtis	ba,pt	%icc,.end
1170*25c28e83SPiotr Jasiukajtis! delay slot
1171*25c28e83SPiotr Jasiukajtis	nop
1172*25c28e83SPiotr Jasiukajtis
1173*25c28e83SPiotr Jasiukajtis
1174*25c28e83SPiotr Jasiukajtis	.align	16
1175*25c28e83SPiotr Jasiukajtis.case8:
1176*25c28e83SPiotr Jasiukajtis	fmuld	%f2,%f2,%f32
1177*25c28e83SPiotr Jasiukajtis	bz,pn	%icc,.case12
1178*25c28e83SPiotr Jasiukajtis! delay slot
1179*25c28e83SPiotr Jasiukajtis	andcc	%l2,1,%g0
1180*25c28e83SPiotr Jasiukajtis
1181*25c28e83SPiotr Jasiukajtis	fmuld	%f4,%f4,%f34
1182*25c28e83SPiotr Jasiukajtis	bz,pn	%icc,.case10
1183*25c28e83SPiotr Jasiukajtis! delay slot
1184*25c28e83SPiotr Jasiukajtis	andcc	%l3,1,%g0
1185*25c28e83SPiotr Jasiukajtis
1186*25c28e83SPiotr Jasiukajtis	fmuld	%f6,%f6,%f36
1187*25c28e83SPiotr Jasiukajtis	bz,pn	%icc,.case9
1188*25c28e83SPiotr Jasiukajtis! delay slot
1189*25c28e83SPiotr Jasiukajtis	nop
1190*25c28e83SPiotr Jasiukajtis
1191*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f44,%f10		! sin(x0)
1192*25c28e83SPiotr Jasiukajtis
1193*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f54,%f12		! cos(x1)
1194*25c28e83SPiotr Jasiukajtis	fzero	%f2
1195*25c28e83SPiotr Jasiukajtis
1196*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f54,%f14		! cos(x2)
1197*25c28e83SPiotr Jasiukajtis	fzero	%f4
1198*25c28e83SPiotr Jasiukajtis
1199*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f54,%f16		! cos(x3)
1200*25c28e83SPiotr Jasiukajtis	fzero	%f6
1201*25c28e83SPiotr Jasiukajtis
1202*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f40,%f20
1203*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f42,%f10
1204*25c28e83SPiotr Jasiukajtis
1205*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f48,%f22
1206*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f52,%f12
1207*25c28e83SPiotr Jasiukajtis
1208*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f48,%f24
1209*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f52,%f14
1210*25c28e83SPiotr Jasiukajtis
1211*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f48,%f26
1212*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f52,%f16
1213*25c28e83SPiotr Jasiukajtis
1214*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f30,%f30
1215*25c28e83SPiotr Jasiukajtis	faddd	%f20,%f46,%f20
1216*25c28e83SPiotr Jasiukajtis
1217*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f12,%f12
1218*25c28e83SPiotr Jasiukajtis	faddd	%f22,%f46,%f22
1219*25c28e83SPiotr Jasiukajtis
1220*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f14,%f14
1221*25c28e83SPiotr Jasiukajtis	faddd	%f24,%f46,%f24
1222*25c28e83SPiotr Jasiukajtis
1223*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f16,%f16
1224*25c28e83SPiotr Jasiukajtis	faddd	%f26,%f46,%f26
1225*25c28e83SPiotr Jasiukajtis
1226*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f10,%f10
1227*25c28e83SPiotr Jasiukajtis	fzero	%f30
1228*25c28e83SPiotr Jasiukajtis
1229*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f32,%f32
1230*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f50,%f12
1231*25c28e83SPiotr Jasiukajtis	and	%l1,2,%g5
1232*25c28e83SPiotr Jasiukajtis
1233*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f34,%f34
1234*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f50,%f14
1235*25c28e83SPiotr Jasiukajtis	and	%l2,2,%o4
1236*25c28e83SPiotr Jasiukajtis
1237*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f36,%f36
1238*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f50,%f16
1239*25c28e83SPiotr Jasiukajtis	and	%l3,2,%o5
1240*25c28e83SPiotr Jasiukajtis
1241*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f20,%f10
1242*25c28e83SPiotr Jasiukajtis	and	%l0,2,%g1
1243*25c28e83SPiotr Jasiukajtis
1244*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f12,%f12
1245*25c28e83SPiotr Jasiukajtis	fmovrdnz %g5,%f28,%f2
1246*25c28e83SPiotr Jasiukajtis
1247*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f14,%f14
1248*25c28e83SPiotr Jasiukajtis	fmovrdnz %o4,%f28,%f4
1249*25c28e83SPiotr Jasiukajtis
1250*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f16,%f16
1251*25c28e83SPiotr Jasiukajtis	fmovrdnz %o5,%f28,%f6
1252*25c28e83SPiotr Jasiukajtis
1253*25c28e83SPiotr Jasiukajtis	fmuld	%f0,%f10,%f10
1254*25c28e83SPiotr Jasiukajtis	fmovrdnz %g1,%f28,%f30
1255*25c28e83SPiotr Jasiukajtis
1256*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f22,%f12
1257*25c28e83SPiotr Jasiukajtis
1258*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f24,%f14
1259*25c28e83SPiotr Jasiukajtis
1260*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f26,%f16
1261*25c28e83SPiotr Jasiukajtis
1262*25c28e83SPiotr Jasiukajtis	fxor	%f10,%f30,%f10
1263*25c28e83SPiotr Jasiukajtis
1264*25c28e83SPiotr Jasiukajtis	fxor	%f12,%f2,%f12
1265*25c28e83SPiotr Jasiukajtis
1266*25c28e83SPiotr Jasiukajtis	fxor	%f14,%f4,%f14
1267*25c28e83SPiotr Jasiukajtis
1268*25c28e83SPiotr Jasiukajtis	addcc	%i0,-1,%i0
1269*25c28e83SPiotr Jasiukajtis	bg,pt	%icc,.start
1270*25c28e83SPiotr Jasiukajtis! delay slot
1271*25c28e83SPiotr Jasiukajtis	fxor	%f16,%f6,%f16
1272*25c28e83SPiotr Jasiukajtis
1273*25c28e83SPiotr Jasiukajtis	ba,pt	%icc,.end
1274*25c28e83SPiotr Jasiukajtis! delay slot
1275*25c28e83SPiotr Jasiukajtis	nop
1276*25c28e83SPiotr Jasiukajtis
1277*25c28e83SPiotr Jasiukajtis	.align	16
1278*25c28e83SPiotr Jasiukajtis.case9:
1279*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f44,%f10		! sin(x0)
1280*25c28e83SPiotr Jasiukajtis
1281*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f54,%f12		! cos(x1)
1282*25c28e83SPiotr Jasiukajtis	fzero	%f2
1283*25c28e83SPiotr Jasiukajtis
1284*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f54,%f14		! cos(x2)
1285*25c28e83SPiotr Jasiukajtis	fzero	%f4
1286*25c28e83SPiotr Jasiukajtis
1287*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f44,%f16		! sin(x3)
1288*25c28e83SPiotr Jasiukajtis
1289*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f40,%f20
1290*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f42,%f10
1291*25c28e83SPiotr Jasiukajtis
1292*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f48,%f22
1293*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f52,%f12
1294*25c28e83SPiotr Jasiukajtis
1295*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f48,%f24
1296*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f52,%f14
1297*25c28e83SPiotr Jasiukajtis
1298*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f40,%f26
1299*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f42,%f16
1300*25c28e83SPiotr Jasiukajtis
1301*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f30,%f30
1302*25c28e83SPiotr Jasiukajtis	faddd	%f20,%f46,%f20
1303*25c28e83SPiotr Jasiukajtis
1304*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f12,%f12
1305*25c28e83SPiotr Jasiukajtis	faddd	%f22,%f46,%f22
1306*25c28e83SPiotr Jasiukajtis
1307*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f14,%f14
1308*25c28e83SPiotr Jasiukajtis	faddd	%f24,%f46,%f24
1309*25c28e83SPiotr Jasiukajtis
1310*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f36,%f36
1311*25c28e83SPiotr Jasiukajtis	faddd	%f26,%f46,%f26
1312*25c28e83SPiotr Jasiukajtis
1313*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f10,%f10
1314*25c28e83SPiotr Jasiukajtis	fzero	%f30
1315*25c28e83SPiotr Jasiukajtis
1316*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f32,%f32
1317*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f50,%f12
1318*25c28e83SPiotr Jasiukajtis	and	%l1,2,%g5
1319*25c28e83SPiotr Jasiukajtis
1320*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f34,%f34
1321*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f50,%f14
1322*25c28e83SPiotr Jasiukajtis	and	%l2,2,%o4
1323*25c28e83SPiotr Jasiukajtis
1324*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f16,%f16
1325*25c28e83SPiotr Jasiukajtis	fzero	%f36
1326*25c28e83SPiotr Jasiukajtis
1327*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f20,%f10
1328*25c28e83SPiotr Jasiukajtis	and	%l0,2,%g1
1329*25c28e83SPiotr Jasiukajtis
1330*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f12,%f12
1331*25c28e83SPiotr Jasiukajtis	fmovrdnz %g5,%f28,%f2
1332*25c28e83SPiotr Jasiukajtis
1333*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f14,%f14
1334*25c28e83SPiotr Jasiukajtis	fmovrdnz %o4,%f28,%f4
1335*25c28e83SPiotr Jasiukajtis
1336*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f26,%f16
1337*25c28e83SPiotr Jasiukajtis	and	%l3,2,%o5
1338*25c28e83SPiotr Jasiukajtis
1339*25c28e83SPiotr Jasiukajtis	fmuld	%f0,%f10,%f10
1340*25c28e83SPiotr Jasiukajtis	fmovrdnz %g1,%f28,%f30
1341*25c28e83SPiotr Jasiukajtis
1342*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f22,%f12
1343*25c28e83SPiotr Jasiukajtis
1344*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f24,%f14
1345*25c28e83SPiotr Jasiukajtis
1346*25c28e83SPiotr Jasiukajtis	fmuld	%f6,%f16,%f16
1347*25c28e83SPiotr Jasiukajtis	fmovrdnz %o5,%f28,%f36
1348*25c28e83SPiotr Jasiukajtis
1349*25c28e83SPiotr Jasiukajtis	fxor	%f10,%f30,%f10
1350*25c28e83SPiotr Jasiukajtis
1351*25c28e83SPiotr Jasiukajtis	fxor	%f12,%f2,%f12
1352*25c28e83SPiotr Jasiukajtis
1353*25c28e83SPiotr Jasiukajtis	fxor	%f14,%f4,%f14
1354*25c28e83SPiotr Jasiukajtis
1355*25c28e83SPiotr Jasiukajtis	addcc	%i0,-1,%i0
1356*25c28e83SPiotr Jasiukajtis	bg,pt	%icc,.start
1357*25c28e83SPiotr Jasiukajtis! delay slot
1358*25c28e83SPiotr Jasiukajtis	fxor	%f16,%f36,%f16
1359*25c28e83SPiotr Jasiukajtis
1360*25c28e83SPiotr Jasiukajtis	ba,pt	%icc,.end
1361*25c28e83SPiotr Jasiukajtis! delay slot
1362*25c28e83SPiotr Jasiukajtis	nop
1363*25c28e83SPiotr Jasiukajtis
1364*25c28e83SPiotr Jasiukajtis	.align	16
1365*25c28e83SPiotr Jasiukajtis.case10:
1366*25c28e83SPiotr Jasiukajtis	fmuld	%f6,%f6,%f36
1367*25c28e83SPiotr Jasiukajtis	bz,pn	%icc,.case11
1368*25c28e83SPiotr Jasiukajtis! delay slot
1369*25c28e83SPiotr Jasiukajtis	nop
1370*25c28e83SPiotr Jasiukajtis
1371*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f44,%f10		! sin(x0)
1372*25c28e83SPiotr Jasiukajtis
1373*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f54,%f12		! cos(x1)
1374*25c28e83SPiotr Jasiukajtis	fzero	%f2
1375*25c28e83SPiotr Jasiukajtis
1376*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f44,%f14		! sin(x2)
1377*25c28e83SPiotr Jasiukajtis
1378*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f54,%f16		! cos(x3)
1379*25c28e83SPiotr Jasiukajtis	fzero	%f6
1380*25c28e83SPiotr Jasiukajtis
1381*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f40,%f20
1382*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f42,%f10
1383*25c28e83SPiotr Jasiukajtis
1384*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f48,%f22
1385*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f52,%f12
1386*25c28e83SPiotr Jasiukajtis
1387*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f40,%f24
1388*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f42,%f14
1389*25c28e83SPiotr Jasiukajtis
1390*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f48,%f26
1391*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f52,%f16
1392*25c28e83SPiotr Jasiukajtis
1393*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f30,%f30
1394*25c28e83SPiotr Jasiukajtis	faddd	%f20,%f46,%f20
1395*25c28e83SPiotr Jasiukajtis
1396*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f12,%f12
1397*25c28e83SPiotr Jasiukajtis	faddd	%f22,%f46,%f22
1398*25c28e83SPiotr Jasiukajtis
1399*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f34,%f34
1400*25c28e83SPiotr Jasiukajtis	faddd	%f24,%f46,%f24
1401*25c28e83SPiotr Jasiukajtis
1402*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f16,%f16
1403*25c28e83SPiotr Jasiukajtis	faddd	%f26,%f46,%f26
1404*25c28e83SPiotr Jasiukajtis
1405*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f10,%f10
1406*25c28e83SPiotr Jasiukajtis	fzero	%f30
1407*25c28e83SPiotr Jasiukajtis
1408*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f32,%f32
1409*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f50,%f12
1410*25c28e83SPiotr Jasiukajtis	and	%l1,2,%g5
1411*25c28e83SPiotr Jasiukajtis
1412*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f14,%f14
1413*25c28e83SPiotr Jasiukajtis	fzero	%f34
1414*25c28e83SPiotr Jasiukajtis
1415*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f36,%f36
1416*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f50,%f16
1417*25c28e83SPiotr Jasiukajtis	and	%l3,2,%o5
1418*25c28e83SPiotr Jasiukajtis
1419*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f20,%f10
1420*25c28e83SPiotr Jasiukajtis	and	%l0,2,%g1
1421*25c28e83SPiotr Jasiukajtis
1422*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f12,%f12
1423*25c28e83SPiotr Jasiukajtis	fmovrdnz %g5,%f28,%f2
1424*25c28e83SPiotr Jasiukajtis
1425*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f24,%f14
1426*25c28e83SPiotr Jasiukajtis	and	%l2,2,%o4
1427*25c28e83SPiotr Jasiukajtis
1428*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f16,%f16
1429*25c28e83SPiotr Jasiukajtis	fmovrdnz %o5,%f28,%f6
1430*25c28e83SPiotr Jasiukajtis
1431*25c28e83SPiotr Jasiukajtis	fmuld	%f0,%f10,%f10
1432*25c28e83SPiotr Jasiukajtis	fmovrdnz %g1,%f28,%f30
1433*25c28e83SPiotr Jasiukajtis
1434*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f22,%f12
1435*25c28e83SPiotr Jasiukajtis
1436*25c28e83SPiotr Jasiukajtis	fmuld	%f4,%f14,%f14
1437*25c28e83SPiotr Jasiukajtis	fmovrdnz %o4,%f28,%f34
1438*25c28e83SPiotr Jasiukajtis
1439*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f26,%f16
1440*25c28e83SPiotr Jasiukajtis
1441*25c28e83SPiotr Jasiukajtis	fxor	%f10,%f30,%f10
1442*25c28e83SPiotr Jasiukajtis
1443*25c28e83SPiotr Jasiukajtis	fxor	%f12,%f2,%f12
1444*25c28e83SPiotr Jasiukajtis
1445*25c28e83SPiotr Jasiukajtis	fxor	%f14,%f34,%f14
1446*25c28e83SPiotr Jasiukajtis
1447*25c28e83SPiotr Jasiukajtis	addcc	%i0,-1,%i0
1448*25c28e83SPiotr Jasiukajtis	bg,pt	%icc,.start
1449*25c28e83SPiotr Jasiukajtis! delay slot
1450*25c28e83SPiotr Jasiukajtis	fxor	%f16,%f6,%f16
1451*25c28e83SPiotr Jasiukajtis
1452*25c28e83SPiotr Jasiukajtis	ba,pt	%icc,.end
1453*25c28e83SPiotr Jasiukajtis! delay slot
1454*25c28e83SPiotr Jasiukajtis	nop
1455*25c28e83SPiotr Jasiukajtis
1456*25c28e83SPiotr Jasiukajtis	.align	16
1457*25c28e83SPiotr Jasiukajtis.case11:
1458*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f44,%f10		! sin(x0)
1459*25c28e83SPiotr Jasiukajtis
1460*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f54,%f12		! cos(x1)
1461*25c28e83SPiotr Jasiukajtis	fzero	%f2
1462*25c28e83SPiotr Jasiukajtis
1463*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f44,%f14		! sin(x2)
1464*25c28e83SPiotr Jasiukajtis
1465*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f44,%f16		! sin(x3)
1466*25c28e83SPiotr Jasiukajtis
1467*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f40,%f20
1468*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f42,%f10
1469*25c28e83SPiotr Jasiukajtis
1470*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f48,%f22
1471*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f52,%f12
1472*25c28e83SPiotr Jasiukajtis
1473*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f40,%f24
1474*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f42,%f14
1475*25c28e83SPiotr Jasiukajtis
1476*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f40,%f26
1477*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f42,%f16
1478*25c28e83SPiotr Jasiukajtis
1479*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f30,%f30
1480*25c28e83SPiotr Jasiukajtis	faddd	%f20,%f46,%f20
1481*25c28e83SPiotr Jasiukajtis
1482*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f12,%f12
1483*25c28e83SPiotr Jasiukajtis	faddd	%f22,%f46,%f22
1484*25c28e83SPiotr Jasiukajtis
1485*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f34,%f34
1486*25c28e83SPiotr Jasiukajtis	faddd	%f24,%f46,%f24
1487*25c28e83SPiotr Jasiukajtis
1488*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f36,%f36
1489*25c28e83SPiotr Jasiukajtis	faddd	%f26,%f46,%f26
1490*25c28e83SPiotr Jasiukajtis
1491*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f10,%f10
1492*25c28e83SPiotr Jasiukajtis	fzero	%f30
1493*25c28e83SPiotr Jasiukajtis
1494*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f32,%f32
1495*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f50,%f12
1496*25c28e83SPiotr Jasiukajtis	and	%l1,2,%g5
1497*25c28e83SPiotr Jasiukajtis
1498*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f14,%f14
1499*25c28e83SPiotr Jasiukajtis	fzero	%f34
1500*25c28e83SPiotr Jasiukajtis
1501*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f16,%f16
1502*25c28e83SPiotr Jasiukajtis	fzero	%f36
1503*25c28e83SPiotr Jasiukajtis
1504*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f20,%f10
1505*25c28e83SPiotr Jasiukajtis	and	%l0,2,%g1
1506*25c28e83SPiotr Jasiukajtis
1507*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f12,%f12
1508*25c28e83SPiotr Jasiukajtis	fmovrdnz %g5,%f28,%f2
1509*25c28e83SPiotr Jasiukajtis
1510*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f24,%f14
1511*25c28e83SPiotr Jasiukajtis	and	%l2,2,%o4
1512*25c28e83SPiotr Jasiukajtis
1513*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f26,%f16
1514*25c28e83SPiotr Jasiukajtis	and	%l3,2,%o5
1515*25c28e83SPiotr Jasiukajtis
1516*25c28e83SPiotr Jasiukajtis	fmuld	%f0,%f10,%f10
1517*25c28e83SPiotr Jasiukajtis	fmovrdnz %g1,%f28,%f30
1518*25c28e83SPiotr Jasiukajtis
1519*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f22,%f12
1520*25c28e83SPiotr Jasiukajtis
1521*25c28e83SPiotr Jasiukajtis	fmuld	%f4,%f14,%f14
1522*25c28e83SPiotr Jasiukajtis	fmovrdnz %o4,%f28,%f34
1523*25c28e83SPiotr Jasiukajtis
1524*25c28e83SPiotr Jasiukajtis	fmuld	%f6,%f16,%f16
1525*25c28e83SPiotr Jasiukajtis	fmovrdnz %o5,%f28,%f36
1526*25c28e83SPiotr Jasiukajtis
1527*25c28e83SPiotr Jasiukajtis	fxor	%f10,%f30,%f10
1528*25c28e83SPiotr Jasiukajtis
1529*25c28e83SPiotr Jasiukajtis	fxor	%f12,%f2,%f12
1530*25c28e83SPiotr Jasiukajtis
1531*25c28e83SPiotr Jasiukajtis	fxor	%f14,%f34,%f14
1532*25c28e83SPiotr Jasiukajtis
1533*25c28e83SPiotr Jasiukajtis	addcc	%i0,-1,%i0
1534*25c28e83SPiotr Jasiukajtis	bg,pt	%icc,.start
1535*25c28e83SPiotr Jasiukajtis! delay slot
1536*25c28e83SPiotr Jasiukajtis	fxor	%f16,%f36,%f16
1537*25c28e83SPiotr Jasiukajtis
1538*25c28e83SPiotr Jasiukajtis	ba,pt	%icc,.end
1539*25c28e83SPiotr Jasiukajtis! delay slot
1540*25c28e83SPiotr Jasiukajtis	nop
1541*25c28e83SPiotr Jasiukajtis
1542*25c28e83SPiotr Jasiukajtis	.align	16
1543*25c28e83SPiotr Jasiukajtis.case12:
1544*25c28e83SPiotr Jasiukajtis	fmuld	%f4,%f4,%f34
1545*25c28e83SPiotr Jasiukajtis	bz,pn	%icc,.case14
1546*25c28e83SPiotr Jasiukajtis! delay slot
1547*25c28e83SPiotr Jasiukajtis	andcc	%l3,1,%g0
1548*25c28e83SPiotr Jasiukajtis
1549*25c28e83SPiotr Jasiukajtis	fmuld	%f6,%f6,%f36
1550*25c28e83SPiotr Jasiukajtis	bz,pn	%icc,.case13
1551*25c28e83SPiotr Jasiukajtis! delay slot
1552*25c28e83SPiotr Jasiukajtis	nop
1553*25c28e83SPiotr Jasiukajtis
1554*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f44,%f10		! sin(x0)
1555*25c28e83SPiotr Jasiukajtis
1556*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f44,%f12		! sin(x1)
1557*25c28e83SPiotr Jasiukajtis
1558*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f54,%f14		! cos(x2)
1559*25c28e83SPiotr Jasiukajtis	fzero	%f4
1560*25c28e83SPiotr Jasiukajtis
1561*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f54,%f16		! cos(x3)
1562*25c28e83SPiotr Jasiukajtis	fzero	%f6
1563*25c28e83SPiotr Jasiukajtis
1564*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f40,%f20
1565*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f42,%f10
1566*25c28e83SPiotr Jasiukajtis
1567*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f40,%f22
1568*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f42,%f12
1569*25c28e83SPiotr Jasiukajtis
1570*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f48,%f24
1571*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f52,%f14
1572*25c28e83SPiotr Jasiukajtis
1573*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f48,%f26
1574*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f52,%f16
1575*25c28e83SPiotr Jasiukajtis
1576*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f30,%f30
1577*25c28e83SPiotr Jasiukajtis	faddd	%f20,%f46,%f20
1578*25c28e83SPiotr Jasiukajtis
1579*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f32,%f32
1580*25c28e83SPiotr Jasiukajtis	faddd	%f22,%f46,%f22
1581*25c28e83SPiotr Jasiukajtis
1582*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f14,%f14
1583*25c28e83SPiotr Jasiukajtis	faddd	%f24,%f46,%f24
1584*25c28e83SPiotr Jasiukajtis
1585*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f16,%f16
1586*25c28e83SPiotr Jasiukajtis	faddd	%f26,%f46,%f26
1587*25c28e83SPiotr Jasiukajtis
1588*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f10,%f10
1589*25c28e83SPiotr Jasiukajtis	fzero	%f30
1590*25c28e83SPiotr Jasiukajtis
1591*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f12,%f12
1592*25c28e83SPiotr Jasiukajtis	fzero	%f32
1593*25c28e83SPiotr Jasiukajtis
1594*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f34,%f34
1595*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f50,%f14
1596*25c28e83SPiotr Jasiukajtis	and	%l2,2,%o4
1597*25c28e83SPiotr Jasiukajtis
1598*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f36,%f36
1599*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f50,%f16
1600*25c28e83SPiotr Jasiukajtis	and	%l3,2,%o5
1601*25c28e83SPiotr Jasiukajtis
1602*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f20,%f10
1603*25c28e83SPiotr Jasiukajtis	and	%l0,2,%g1
1604*25c28e83SPiotr Jasiukajtis
1605*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f22,%f12
1606*25c28e83SPiotr Jasiukajtis	and	%l1,2,%g5
1607*25c28e83SPiotr Jasiukajtis
1608*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f14,%f14
1609*25c28e83SPiotr Jasiukajtis	fmovrdnz %o4,%f28,%f4
1610*25c28e83SPiotr Jasiukajtis
1611*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f16,%f16
1612*25c28e83SPiotr Jasiukajtis	fmovrdnz %o5,%f28,%f6
1613*25c28e83SPiotr Jasiukajtis
1614*25c28e83SPiotr Jasiukajtis	fmuld	%f0,%f10,%f10
1615*25c28e83SPiotr Jasiukajtis	fmovrdnz %g1,%f28,%f30
1616*25c28e83SPiotr Jasiukajtis
1617*25c28e83SPiotr Jasiukajtis	fmuld	%f2,%f12,%f12
1618*25c28e83SPiotr Jasiukajtis	fmovrdnz %g5,%f28,%f32
1619*25c28e83SPiotr Jasiukajtis
1620*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f24,%f14
1621*25c28e83SPiotr Jasiukajtis
1622*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f26,%f16
1623*25c28e83SPiotr Jasiukajtis
1624*25c28e83SPiotr Jasiukajtis	fxor	%f10,%f30,%f10
1625*25c28e83SPiotr Jasiukajtis
1626*25c28e83SPiotr Jasiukajtis	fxor	%f12,%f32,%f12
1627*25c28e83SPiotr Jasiukajtis
1628*25c28e83SPiotr Jasiukajtis	fxor	%f14,%f4,%f14
1629*25c28e83SPiotr Jasiukajtis
1630*25c28e83SPiotr Jasiukajtis	addcc	%i0,-1,%i0
1631*25c28e83SPiotr Jasiukajtis	bg,pt	%icc,.start
1632*25c28e83SPiotr Jasiukajtis! delay slot
1633*25c28e83SPiotr Jasiukajtis	fxor	%f16,%f6,%f16
1634*25c28e83SPiotr Jasiukajtis
1635*25c28e83SPiotr Jasiukajtis	ba,pt	%icc,.end
1636*25c28e83SPiotr Jasiukajtis! delay slot
1637*25c28e83SPiotr Jasiukajtis	nop
1638*25c28e83SPiotr Jasiukajtis
1639*25c28e83SPiotr Jasiukajtis	.align	16
1640*25c28e83SPiotr Jasiukajtis.case13:
1641*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f44,%f10		! sin(x0)
1642*25c28e83SPiotr Jasiukajtis
1643*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f44,%f12		! sin(x1)
1644*25c28e83SPiotr Jasiukajtis
1645*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f54,%f14		! cos(x2)
1646*25c28e83SPiotr Jasiukajtis	fzero	%f4
1647*25c28e83SPiotr Jasiukajtis
1648*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f44,%f16		! sin(x3)
1649*25c28e83SPiotr Jasiukajtis
1650*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f40,%f20
1651*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f42,%f10
1652*25c28e83SPiotr Jasiukajtis
1653*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f40,%f22
1654*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f42,%f12
1655*25c28e83SPiotr Jasiukajtis
1656*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f48,%f24
1657*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f52,%f14
1658*25c28e83SPiotr Jasiukajtis
1659*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f40,%f26
1660*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f42,%f16
1661*25c28e83SPiotr Jasiukajtis
1662*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f30,%f30
1663*25c28e83SPiotr Jasiukajtis	faddd	%f20,%f46,%f20
1664*25c28e83SPiotr Jasiukajtis
1665*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f32,%f32
1666*25c28e83SPiotr Jasiukajtis	faddd	%f22,%f46,%f22
1667*25c28e83SPiotr Jasiukajtis
1668*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f14,%f14
1669*25c28e83SPiotr Jasiukajtis	faddd	%f24,%f46,%f24
1670*25c28e83SPiotr Jasiukajtis
1671*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f36,%f36
1672*25c28e83SPiotr Jasiukajtis	faddd	%f26,%f46,%f26
1673*25c28e83SPiotr Jasiukajtis
1674*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f10,%f10
1675*25c28e83SPiotr Jasiukajtis	fzero	%f30
1676*25c28e83SPiotr Jasiukajtis
1677*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f12,%f12
1678*25c28e83SPiotr Jasiukajtis	fzero	%f32
1679*25c28e83SPiotr Jasiukajtis
1680*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f34,%f34
1681*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f50,%f14
1682*25c28e83SPiotr Jasiukajtis	and	%l2,2,%o4
1683*25c28e83SPiotr Jasiukajtis
1684*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f16,%f16
1685*25c28e83SPiotr Jasiukajtis	fzero	%f36
1686*25c28e83SPiotr Jasiukajtis
1687*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f20,%f10
1688*25c28e83SPiotr Jasiukajtis	and	%l0,2,%g1
1689*25c28e83SPiotr Jasiukajtis
1690*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f22,%f12
1691*25c28e83SPiotr Jasiukajtis	and	%l1,2,%g5
1692*25c28e83SPiotr Jasiukajtis
1693*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f14,%f14
1694*25c28e83SPiotr Jasiukajtis	fmovrdnz %o4,%f28,%f4
1695*25c28e83SPiotr Jasiukajtis
1696*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f26,%f16
1697*25c28e83SPiotr Jasiukajtis	and	%l3,2,%o5
1698*25c28e83SPiotr Jasiukajtis
1699*25c28e83SPiotr Jasiukajtis	fmuld	%f0,%f10,%f10
1700*25c28e83SPiotr Jasiukajtis	fmovrdnz %g1,%f28,%f30
1701*25c28e83SPiotr Jasiukajtis
1702*25c28e83SPiotr Jasiukajtis	fmuld	%f2,%f12,%f12
1703*25c28e83SPiotr Jasiukajtis	fmovrdnz %g5,%f28,%f32
1704*25c28e83SPiotr Jasiukajtis
1705*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f24,%f14
1706*25c28e83SPiotr Jasiukajtis
1707*25c28e83SPiotr Jasiukajtis	fmuld	%f6,%f16,%f16
1708*25c28e83SPiotr Jasiukajtis	fmovrdnz %o5,%f28,%f36
1709*25c28e83SPiotr Jasiukajtis
1710*25c28e83SPiotr Jasiukajtis	fxor	%f10,%f30,%f10
1711*25c28e83SPiotr Jasiukajtis
1712*25c28e83SPiotr Jasiukajtis	fxor	%f12,%f32,%f12
1713*25c28e83SPiotr Jasiukajtis
1714*25c28e83SPiotr Jasiukajtis	fxor	%f14,%f4,%f14
1715*25c28e83SPiotr Jasiukajtis
1716*25c28e83SPiotr Jasiukajtis	addcc	%i0,-1,%i0
1717*25c28e83SPiotr Jasiukajtis	bg,pt	%icc,.start
1718*25c28e83SPiotr Jasiukajtis! delay slot
1719*25c28e83SPiotr Jasiukajtis	fxor	%f16,%f36,%f16
1720*25c28e83SPiotr Jasiukajtis
1721*25c28e83SPiotr Jasiukajtis	ba,pt	%icc,.end
1722*25c28e83SPiotr Jasiukajtis! delay slot
1723*25c28e83SPiotr Jasiukajtis	nop
1724*25c28e83SPiotr Jasiukajtis
1725*25c28e83SPiotr Jasiukajtis	.align	16
1726*25c28e83SPiotr Jasiukajtis.case14:
1727*25c28e83SPiotr Jasiukajtis	fmuld	%f6,%f6,%f36
1728*25c28e83SPiotr Jasiukajtis	bz,pn	%icc,.case15
1729*25c28e83SPiotr Jasiukajtis! delay slot
1730*25c28e83SPiotr Jasiukajtis	nop
1731*25c28e83SPiotr Jasiukajtis
1732*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f44,%f10		! sin(x0)
1733*25c28e83SPiotr Jasiukajtis
1734*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f44,%f12		! sin(x1)
1735*25c28e83SPiotr Jasiukajtis
1736*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f44,%f14		! sin(x2)
1737*25c28e83SPiotr Jasiukajtis
1738*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f54,%f16		! cos(x3)
1739*25c28e83SPiotr Jasiukajtis	fzero	%f6
1740*25c28e83SPiotr Jasiukajtis
1741*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f40,%f20
1742*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f42,%f10
1743*25c28e83SPiotr Jasiukajtis
1744*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f40,%f22
1745*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f42,%f12
1746*25c28e83SPiotr Jasiukajtis
1747*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f40,%f24
1748*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f42,%f14
1749*25c28e83SPiotr Jasiukajtis
1750*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f48,%f26
1751*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f52,%f16
1752*25c28e83SPiotr Jasiukajtis
1753*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f30,%f30
1754*25c28e83SPiotr Jasiukajtis	faddd	%f20,%f46,%f20
1755*25c28e83SPiotr Jasiukajtis
1756*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f32,%f32
1757*25c28e83SPiotr Jasiukajtis	faddd	%f22,%f46,%f22
1758*25c28e83SPiotr Jasiukajtis
1759*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f34,%f34
1760*25c28e83SPiotr Jasiukajtis	faddd	%f24,%f46,%f24
1761*25c28e83SPiotr Jasiukajtis
1762*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f16,%f16
1763*25c28e83SPiotr Jasiukajtis	faddd	%f26,%f46,%f26
1764*25c28e83SPiotr Jasiukajtis
1765*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f10,%f10
1766*25c28e83SPiotr Jasiukajtis	fzero	%f30
1767*25c28e83SPiotr Jasiukajtis
1768*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f12,%f12
1769*25c28e83SPiotr Jasiukajtis	fzero	%f32
1770*25c28e83SPiotr Jasiukajtis
1771*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f14,%f14
1772*25c28e83SPiotr Jasiukajtis	fzero	%f34
1773*25c28e83SPiotr Jasiukajtis
1774*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f36,%f36
1775*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f50,%f16
1776*25c28e83SPiotr Jasiukajtis	and	%l3,2,%o5
1777*25c28e83SPiotr Jasiukajtis
1778*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f20,%f10
1779*25c28e83SPiotr Jasiukajtis	and	%l0,2,%g1
1780*25c28e83SPiotr Jasiukajtis
1781*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f22,%f12
1782*25c28e83SPiotr Jasiukajtis	and	%l1,2,%g5
1783*25c28e83SPiotr Jasiukajtis
1784*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f24,%f14
1785*25c28e83SPiotr Jasiukajtis	and	%l2,2,%o4
1786*25c28e83SPiotr Jasiukajtis
1787*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f16,%f16
1788*25c28e83SPiotr Jasiukajtis	fmovrdnz %o5,%f28,%f6
1789*25c28e83SPiotr Jasiukajtis
1790*25c28e83SPiotr Jasiukajtis	fmuld	%f0,%f10,%f10
1791*25c28e83SPiotr Jasiukajtis	fmovrdnz %g1,%f28,%f30
1792*25c28e83SPiotr Jasiukajtis
1793*25c28e83SPiotr Jasiukajtis	fmuld	%f2,%f12,%f12
1794*25c28e83SPiotr Jasiukajtis	fmovrdnz %g5,%f28,%f32
1795*25c28e83SPiotr Jasiukajtis
1796*25c28e83SPiotr Jasiukajtis	fmuld	%f4,%f14,%f14
1797*25c28e83SPiotr Jasiukajtis	fmovrdnz %o4,%f28,%f34
1798*25c28e83SPiotr Jasiukajtis
1799*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f26,%f16
1800*25c28e83SPiotr Jasiukajtis
1801*25c28e83SPiotr Jasiukajtis	fxor	%f10,%f30,%f10
1802*25c28e83SPiotr Jasiukajtis
1803*25c28e83SPiotr Jasiukajtis	fxor	%f12,%f32,%f12
1804*25c28e83SPiotr Jasiukajtis
1805*25c28e83SPiotr Jasiukajtis	fxor	%f14,%f34,%f14
1806*25c28e83SPiotr Jasiukajtis
1807*25c28e83SPiotr Jasiukajtis	addcc	%i0,-1,%i0
1808*25c28e83SPiotr Jasiukajtis	bg,pt	%icc,.start
1809*25c28e83SPiotr Jasiukajtis! delay slot
1810*25c28e83SPiotr Jasiukajtis	fxor	%f16,%f6,%f16
1811*25c28e83SPiotr Jasiukajtis
1812*25c28e83SPiotr Jasiukajtis	ba,pt	%icc,.end
1813*25c28e83SPiotr Jasiukajtis! delay slot
1814*25c28e83SPiotr Jasiukajtis	nop
1815*25c28e83SPiotr Jasiukajtis
1816*25c28e83SPiotr Jasiukajtis	.align	16
1817*25c28e83SPiotr Jasiukajtis.case15:
1818*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f44,%f10		! sin(x0)
1819*25c28e83SPiotr Jasiukajtis
1820*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f44,%f12		! sin(x1)
1821*25c28e83SPiotr Jasiukajtis
1822*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f44,%f14		! sin(x2)
1823*25c28e83SPiotr Jasiukajtis
1824*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f44,%f16		! sin(x3)
1825*25c28e83SPiotr Jasiukajtis
1826*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f40,%f20
1827*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f42,%f10
1828*25c28e83SPiotr Jasiukajtis
1829*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f40,%f22
1830*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f42,%f12
1831*25c28e83SPiotr Jasiukajtis
1832*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f40,%f24
1833*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f42,%f14
1834*25c28e83SPiotr Jasiukajtis
1835*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f40,%f26
1836*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f42,%f16
1837*25c28e83SPiotr Jasiukajtis
1838*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f30,%f30
1839*25c28e83SPiotr Jasiukajtis	faddd	%f20,%f46,%f20
1840*25c28e83SPiotr Jasiukajtis
1841*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f32,%f32
1842*25c28e83SPiotr Jasiukajtis	faddd	%f22,%f46,%f22
1843*25c28e83SPiotr Jasiukajtis
1844*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f34,%f34
1845*25c28e83SPiotr Jasiukajtis	faddd	%f24,%f46,%f24
1846*25c28e83SPiotr Jasiukajtis
1847*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f36,%f36
1848*25c28e83SPiotr Jasiukajtis	faddd	%f26,%f46,%f26
1849*25c28e83SPiotr Jasiukajtis
1850*25c28e83SPiotr Jasiukajtis	fmuld	%f30,%f10,%f10
1851*25c28e83SPiotr Jasiukajtis	fzero	%f30
1852*25c28e83SPiotr Jasiukajtis
1853*25c28e83SPiotr Jasiukajtis	fmuld	%f32,%f12,%f12
1854*25c28e83SPiotr Jasiukajtis	fzero	%f32
1855*25c28e83SPiotr Jasiukajtis
1856*25c28e83SPiotr Jasiukajtis	fmuld	%f34,%f14,%f14
1857*25c28e83SPiotr Jasiukajtis	fzero	%f34
1858*25c28e83SPiotr Jasiukajtis
1859*25c28e83SPiotr Jasiukajtis	fmuld	%f36,%f16,%f16
1860*25c28e83SPiotr Jasiukajtis	fzero	%f36
1861*25c28e83SPiotr Jasiukajtis
1862*25c28e83SPiotr Jasiukajtis	faddd	%f10,%f20,%f10
1863*25c28e83SPiotr Jasiukajtis	and	%l0,2,%g1
1864*25c28e83SPiotr Jasiukajtis
1865*25c28e83SPiotr Jasiukajtis	faddd	%f12,%f22,%f12
1866*25c28e83SPiotr Jasiukajtis	and	%l1,2,%g5
1867*25c28e83SPiotr Jasiukajtis
1868*25c28e83SPiotr Jasiukajtis	faddd	%f14,%f24,%f14
1869*25c28e83SPiotr Jasiukajtis	and	%l2,2,%o4
1870*25c28e83SPiotr Jasiukajtis
1871*25c28e83SPiotr Jasiukajtis	faddd	%f16,%f26,%f16
1872*25c28e83SPiotr Jasiukajtis	and	%l3,2,%o5
1873*25c28e83SPiotr Jasiukajtis
1874*25c28e83SPiotr Jasiukajtis	fmuld	%f0,%f10,%f10
1875*25c28e83SPiotr Jasiukajtis	fmovrdnz %g1,%f28,%f30
1876*25c28e83SPiotr Jasiukajtis
1877*25c28e83SPiotr Jasiukajtis	fmuld	%f2,%f12,%f12
1878*25c28e83SPiotr Jasiukajtis	fmovrdnz %g5,%f28,%f32
1879*25c28e83SPiotr Jasiukajtis
1880*25c28e83SPiotr Jasiukajtis	fmuld	%f4,%f14,%f14
1881*25c28e83SPiotr Jasiukajtis	fmovrdnz %o4,%f28,%f34
1882*25c28e83SPiotr Jasiukajtis
1883*25c28e83SPiotr Jasiukajtis	fmuld	%f6,%f16,%f16
1884*25c28e83SPiotr Jasiukajtis	fmovrdnz %o5,%f28,%f36
1885*25c28e83SPiotr Jasiukajtis
1886*25c28e83SPiotr Jasiukajtis	fxor	%f10,%f30,%f10
1887*25c28e83SPiotr Jasiukajtis
1888*25c28e83SPiotr Jasiukajtis	fxor	%f12,%f32,%f12
1889*25c28e83SPiotr Jasiukajtis
1890*25c28e83SPiotr Jasiukajtis	fxor	%f14,%f34,%f14
1891*25c28e83SPiotr Jasiukajtis
1892*25c28e83SPiotr Jasiukajtis	addcc	%i0,-1,%i0
1893*25c28e83SPiotr Jasiukajtis	bg,pt	%icc,.start
1894*25c28e83SPiotr Jasiukajtis! delay slot
1895*25c28e83SPiotr Jasiukajtis	fxor	%f16,%f36,%f16
1896*25c28e83SPiotr Jasiukajtis
1897*25c28e83SPiotr Jasiukajtis	ba,pt	%icc,.end
1898*25c28e83SPiotr Jasiukajtis! delay slot
1899*25c28e83SPiotr Jasiukajtis	nop
1900*25c28e83SPiotr Jasiukajtis
1901*25c28e83SPiotr Jasiukajtis
1902*25c28e83SPiotr Jasiukajtis	.align	32
1903*25c28e83SPiotr Jasiukajtis.end:
1904*25c28e83SPiotr Jasiukajtis	fdtos	%f10,%f10
1905*25c28e83SPiotr Jasiukajtis	st	%f10,[%o0]
1906*25c28e83SPiotr Jasiukajtis	fdtos	%f12,%f12
1907*25c28e83SPiotr Jasiukajtis	st	%f12,[%o1]
1908*25c28e83SPiotr Jasiukajtis	fdtos	%f14,%f14
1909*25c28e83SPiotr Jasiukajtis	st	%f14,[%o2]
1910*25c28e83SPiotr Jasiukajtis	fdtos	%f16,%f16
1911*25c28e83SPiotr Jasiukajtis	tst	%i5			! check for huge arguments remaining
1912*25c28e83SPiotr Jasiukajtis	be,pt	%icc,.exit
1913*25c28e83SPiotr Jasiukajtis! delay slot
1914*25c28e83SPiotr Jasiukajtis	st	%f16,[%o3]
1915*25c28e83SPiotr Jasiukajtis#ifdef __sparcv9
1916*25c28e83SPiotr Jasiukajtis	ldx	[%fp+xsave],%o1
1917*25c28e83SPiotr Jasiukajtis	ldx	[%fp+ysave],%o3
1918*25c28e83SPiotr Jasiukajtis#else
1919*25c28e83SPiotr Jasiukajtis	ld	[%fp+xsave],%o1
1920*25c28e83SPiotr Jasiukajtis	ld	[%fp+ysave],%o3
1921*25c28e83SPiotr Jasiukajtis#endif
1922*25c28e83SPiotr Jasiukajtis	ld	[%fp+nsave],%o0
1923*25c28e83SPiotr Jasiukajtis	ld	[%fp+sxsave],%o2
1924*25c28e83SPiotr Jasiukajtis	ld	[%fp+sysave],%o4
1925*25c28e83SPiotr Jasiukajtis	sra	%o2,0,%o2		! sign-extend for V9
1926*25c28e83SPiotr Jasiukajtis	call	__vlibm_vcos_bigf
1927*25c28e83SPiotr Jasiukajtis	sra	%o4,0,%o4		! delay slot
1928*25c28e83SPiotr Jasiukajtis
1929*25c28e83SPiotr Jasiukajtis.exit:
1930*25c28e83SPiotr Jasiukajtis	ret
1931*25c28e83SPiotr Jasiukajtis	restore
1932*25c28e83SPiotr Jasiukajtis
1933*25c28e83SPiotr Jasiukajtis
1934*25c28e83SPiotr Jasiukajtis	.align	32
1935*25c28e83SPiotr Jasiukajtis.last1:
1936*25c28e83SPiotr Jasiukajtis	fdtos	%f12,%f12
1937*25c28e83SPiotr Jasiukajtis	st	%f12,[%o1]
1938*25c28e83SPiotr Jasiukajtis	fzeros	%f2
1939*25c28e83SPiotr Jasiukajtis	add	%fp,junk,%o1
1940*25c28e83SPiotr Jasiukajtis.last2:
1941*25c28e83SPiotr Jasiukajtis	fdtos	%f14,%f14
1942*25c28e83SPiotr Jasiukajtis	st	%f14,[%o2]
1943*25c28e83SPiotr Jasiukajtis	fzeros	%f4
1944*25c28e83SPiotr Jasiukajtis	add	%fp,junk,%o2
1945*25c28e83SPiotr Jasiukajtis.last3:
1946*25c28e83SPiotr Jasiukajtis	fdtos	%f16,%f16
1947*25c28e83SPiotr Jasiukajtis	st	%f16,[%o3]
1948*25c28e83SPiotr Jasiukajtis	fzeros	%f6
1949*25c28e83SPiotr Jasiukajtis	ba,pt	%icc,.cont
1950*25c28e83SPiotr Jasiukajtis! delay slot
1951*25c28e83SPiotr Jasiukajtis	add	%fp,junk,%o3
1952*25c28e83SPiotr Jasiukajtis
1953*25c28e83SPiotr Jasiukajtis
1954*25c28e83SPiotr Jasiukajtis	.align	16
1955*25c28e83SPiotr Jasiukajtis.range0:
1956*25c28e83SPiotr Jasiukajtis	fcmpgt32 %f38,%f30,%l0
1957*25c28e83SPiotr Jasiukajtis	andcc	%l0,2,%g0
1958*25c28e83SPiotr Jasiukajtis	bnz,a,pt %icc,1f		! branch if finite
1959*25c28e83SPiotr Jasiukajtis! delay slot, squashed if branch not taken
1960*25c28e83SPiotr Jasiukajtis	mov	1,%i5			! set biguns
1961*25c28e83SPiotr Jasiukajtis	fzeros	%f1
1962*25c28e83SPiotr Jasiukajtis	fmuls	%f0,%f1,%f0
1963*25c28e83SPiotr Jasiukajtis	st	%f0,[%o0]
1964*25c28e83SPiotr Jasiukajtis1:
1965*25c28e83SPiotr Jasiukajtis	addcc	%i0,-1,%i0
1966*25c28e83SPiotr Jasiukajtis	ble,pn	%icc,1f
1967*25c28e83SPiotr Jasiukajtis! delay slot
1968*25c28e83SPiotr Jasiukajtis	nop
1969*25c28e83SPiotr Jasiukajtis	ld	[%i1],%f0
1970*25c28e83SPiotr Jasiukajtis	add	%i1,%i2,%i1
1971*25c28e83SPiotr Jasiukajtis	mov	%i3,%o0
1972*25c28e83SPiotr Jasiukajtis	add	%i3,%i4,%i3
1973*25c28e83SPiotr Jasiukajtis	fabsd	%f0,%f30
1974*25c28e83SPiotr Jasiukajtis	fcmple32 %f30,%f18,%l0
1975*25c28e83SPiotr Jasiukajtis	andcc	%l0,2,%g0
1976*25c28e83SPiotr Jasiukajtis	bz,pn	%icc,.range0
1977*25c28e83SPiotr Jasiukajtis! delay slot
1978*25c28e83SPiotr Jasiukajtis	nop
1979*25c28e83SPiotr Jasiukajtis	ba,pt	%icc,.check1
1980*25c28e83SPiotr Jasiukajtis! delay slot
1981*25c28e83SPiotr Jasiukajtis	fcmple32 %f30,%f8,%l0
1982*25c28e83SPiotr Jasiukajtis1:
1983*25c28e83SPiotr Jasiukajtis	fzero	%f0			! set up dummy argument
1984*25c28e83SPiotr Jasiukajtis	add	%fp,junk,%o0
1985*25c28e83SPiotr Jasiukajtis	mov	2,%l0
1986*25c28e83SPiotr Jasiukajtis	ba,pt	%icc,.check1
1987*25c28e83SPiotr Jasiukajtis! delay slot
1988*25c28e83SPiotr Jasiukajtis	fzero	%f30
1989*25c28e83SPiotr Jasiukajtis
1990*25c28e83SPiotr Jasiukajtis
1991*25c28e83SPiotr Jasiukajtis	.align	16
1992*25c28e83SPiotr Jasiukajtis.range1:
1993*25c28e83SPiotr Jasiukajtis	fcmpgt32 %f38,%f32,%l1
1994*25c28e83SPiotr Jasiukajtis	andcc	%l1,2,%g0
1995*25c28e83SPiotr Jasiukajtis	bnz,a,pt %icc,1f		! branch if finite
1996*25c28e83SPiotr Jasiukajtis! delay slot, squashed if branch not taken
1997*25c28e83SPiotr Jasiukajtis	mov	1,%i5			! set biguns
1998*25c28e83SPiotr Jasiukajtis	fzeros	%f3
1999*25c28e83SPiotr Jasiukajtis	fmuls	%f2,%f3,%f2
2000*25c28e83SPiotr Jasiukajtis	st	%f2,[%o1]
2001*25c28e83SPiotr Jasiukajtis1:
2002*25c28e83SPiotr Jasiukajtis	addcc	%i0,-1,%i0
2003*25c28e83SPiotr Jasiukajtis	ble,pn	%icc,1f
2004*25c28e83SPiotr Jasiukajtis! delay slot
2005*25c28e83SPiotr Jasiukajtis	nop
2006*25c28e83SPiotr Jasiukajtis	ld	[%i1],%f2
2007*25c28e83SPiotr Jasiukajtis	add	%i1,%i2,%i1
2008*25c28e83SPiotr Jasiukajtis	mov	%i3,%o1
2009*25c28e83SPiotr Jasiukajtis	add	%i3,%i4,%i3
2010*25c28e83SPiotr Jasiukajtis	fabsd	%f2,%f32
2011*25c28e83SPiotr Jasiukajtis	fcmple32 %f32,%f18,%l1
2012*25c28e83SPiotr Jasiukajtis	andcc	%l1,2,%g0
2013*25c28e83SPiotr Jasiukajtis	bz,pn	%icc,.range1
2014*25c28e83SPiotr Jasiukajtis! delay slot
2015*25c28e83SPiotr Jasiukajtis	nop
2016*25c28e83SPiotr Jasiukajtis	ba,pt	%icc,.check2
2017*25c28e83SPiotr Jasiukajtis! delay slot
2018*25c28e83SPiotr Jasiukajtis	fcmple32 %f32,%f8,%l1
2019*25c28e83SPiotr Jasiukajtis1:
2020*25c28e83SPiotr Jasiukajtis	fzero	%f2			! set up dummy argument
2021*25c28e83SPiotr Jasiukajtis	add	%fp,junk,%o1
2022*25c28e83SPiotr Jasiukajtis	mov	2,%l1
2023*25c28e83SPiotr Jasiukajtis	ba,pt	%icc,.check2
2024*25c28e83SPiotr Jasiukajtis! delay slot
2025*25c28e83SPiotr Jasiukajtis	fzero	%f32
2026*25c28e83SPiotr Jasiukajtis
2027*25c28e83SPiotr Jasiukajtis
2028*25c28e83SPiotr Jasiukajtis	.align	16
2029*25c28e83SPiotr Jasiukajtis.range2:
2030*25c28e83SPiotr Jasiukajtis	fcmpgt32 %f38,%f34,%l2
2031*25c28e83SPiotr Jasiukajtis	andcc	%l2,2,%g0
2032*25c28e83SPiotr Jasiukajtis	bnz,a,pt %icc,1f		! branch if finite
2033*25c28e83SPiotr Jasiukajtis! delay slot, squashed if branch not taken
2034*25c28e83SPiotr Jasiukajtis	mov	1,%i5			! set biguns
2035*25c28e83SPiotr Jasiukajtis	fzeros	%f5
2036*25c28e83SPiotr Jasiukajtis	fmuls	%f4,%f5,%f4
2037*25c28e83SPiotr Jasiukajtis	st	%f4,[%o2]
2038*25c28e83SPiotr Jasiukajtis1:
2039*25c28e83SPiotr Jasiukajtis	addcc	%i0,-1,%i0
2040*25c28e83SPiotr Jasiukajtis	ble,pn	%icc,1f
2041*25c28e83SPiotr Jasiukajtis! delay slot
2042*25c28e83SPiotr Jasiukajtis	nop
2043*25c28e83SPiotr Jasiukajtis	ld	[%i1],%f4
2044*25c28e83SPiotr Jasiukajtis	add	%i1,%i2,%i1
2045*25c28e83SPiotr Jasiukajtis	mov	%i3,%o2
2046*25c28e83SPiotr Jasiukajtis	add	%i3,%i4,%i3
2047*25c28e83SPiotr Jasiukajtis	fabsd	%f4,%f34
2048*25c28e83SPiotr Jasiukajtis	fcmple32 %f34,%f18,%l2
2049*25c28e83SPiotr Jasiukajtis	andcc	%l2,2,%g0
2050*25c28e83SPiotr Jasiukajtis	bz,pn	%icc,.range2
2051*25c28e83SPiotr Jasiukajtis! delay slot
2052*25c28e83SPiotr Jasiukajtis	nop
2053*25c28e83SPiotr Jasiukajtis	ba,pt	%icc,.check3
2054*25c28e83SPiotr Jasiukajtis! delay slot
2055*25c28e83SPiotr Jasiukajtis	fcmple32 %f34,%f8,%l2
2056*25c28e83SPiotr Jasiukajtis1:
2057*25c28e83SPiotr Jasiukajtis	fzero	%f4			! set up dummy argument
2058*25c28e83SPiotr Jasiukajtis	add	%fp,junk,%o2
2059*25c28e83SPiotr Jasiukajtis	mov	2,%l2
2060*25c28e83SPiotr Jasiukajtis	ba,pt	%icc,.check3
2061*25c28e83SPiotr Jasiukajtis! delay slot
2062*25c28e83SPiotr Jasiukajtis	fzero	%f34
2063*25c28e83SPiotr Jasiukajtis
2064*25c28e83SPiotr Jasiukajtis
2065*25c28e83SPiotr Jasiukajtis	.align	16
2066*25c28e83SPiotr Jasiukajtis.range3:
2067*25c28e83SPiotr Jasiukajtis	fcmpgt32 %f38,%f36,%l3
2068*25c28e83SPiotr Jasiukajtis	andcc	%l3,2,%g0
2069*25c28e83SPiotr Jasiukajtis	bnz,a,pt %icc,1f		! branch if finite
2070*25c28e83SPiotr Jasiukajtis! delay slot, squashed if branch not taken
2071*25c28e83SPiotr Jasiukajtis	mov	1,%i5			! set biguns
2072*25c28e83SPiotr Jasiukajtis	fzeros	%f7
2073*25c28e83SPiotr Jasiukajtis	fmuls	%f6,%f7,%f6
2074*25c28e83SPiotr Jasiukajtis	st	%f6,[%o3]
2075*25c28e83SPiotr Jasiukajtis1:
2076*25c28e83SPiotr Jasiukajtis	addcc	%i0,-1,%i0
2077*25c28e83SPiotr Jasiukajtis	ble,pn	%icc,1f
2078*25c28e83SPiotr Jasiukajtis! delay slot
2079*25c28e83SPiotr Jasiukajtis	nop
2080*25c28e83SPiotr Jasiukajtis	ld	[%i1],%f6
2081*25c28e83SPiotr Jasiukajtis	add	%i1,%i2,%i1
2082*25c28e83SPiotr Jasiukajtis	mov	%i3,%o3
2083*25c28e83SPiotr Jasiukajtis	add	%i3,%i4,%i3
2084*25c28e83SPiotr Jasiukajtis	fabsd	%f6,%f36
2085*25c28e83SPiotr Jasiukajtis	fcmple32 %f36,%f18,%l3
2086*25c28e83SPiotr Jasiukajtis	andcc	%l3,2,%g0
2087*25c28e83SPiotr Jasiukajtis	bz,pn	%icc,.range3
2088*25c28e83SPiotr Jasiukajtis! delay slot
2089*25c28e83SPiotr Jasiukajtis	nop
2090*25c28e83SPiotr Jasiukajtis	ba,pt	%icc,.checkprimary
2091*25c28e83SPiotr Jasiukajtis! delay slot
2092*25c28e83SPiotr Jasiukajtis	fcmple32 %f36,%f8,%l3
2093*25c28e83SPiotr Jasiukajtis1:
2094*25c28e83SPiotr Jasiukajtis	fzero	%f6			! set up dummy argument
2095*25c28e83SPiotr Jasiukajtis	add	%fp,junk,%o3
2096*25c28e83SPiotr Jasiukajtis	mov	2,%l3
2097*25c28e83SPiotr Jasiukajtis	ba,pt	%icc,.checkprimary
2098*25c28e83SPiotr Jasiukajtis! delay slot
2099*25c28e83SPiotr Jasiukajtis	fzero	%f36
2100*25c28e83SPiotr Jasiukajtis
2101*25c28e83SPiotr Jasiukajtis	SET_SIZE(__vcosf)
2102*25c28e83SPiotr Jasiukajtis
2103