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