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