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 "__vsqrt.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 Jasiukajtis 36*25c28e83SPiotr Jasiukajtis.CONST_TBL: 37*25c28e83SPiotr Jasiukajtis .word 0x3fe00000, 0x00000000 ! A1 = 5.00000000000000001789e-01 38*25c28e83SPiotr Jasiukajtis .word 0xbfbfffff, 0xfffd0bfd ! A2 = -1.24999999997314110667e-01 39*25c28e83SPiotr Jasiukajtis .word 0x3fafffff, 0xfffb5bfb ! A3 = 6.24999999978896565817e-02 40*25c28e83SPiotr Jasiukajtis .word 0xbfa4000f, 0xc00b4fc8 ! A4 = -3.90629693917215481458e-02 41*25c28e83SPiotr Jasiukajtis .word 0x3f9c0018, 0xc012da4e ! A5 = 2.73441188080261677282e-02 42*25c28e83SPiotr Jasiukajtis .word 0x000fffff, 0xffffffff ! DC0 = 0x000fffffffffffff 43*25c28e83SPiotr Jasiukajtis .word 0x00001000, 0x00000000 ! DC2 = 0x0000100000000000 44*25c28e83SPiotr Jasiukajtis .word 0x7fffe000, 0x00000000 ! DC3 = 0x7fffe00000000000 45*25c28e83SPiotr Jasiukajtis 46*25c28e83SPiotr Jasiukajtis! i = [0,128] 47*25c28e83SPiotr Jasiukajtis! TBL[8*i+0] = 1.0 / (*(double*)&(0x3fe0000000000000LL + (i << 45))); 48*25c28e83SPiotr Jasiukajtis! TBL[8*i+1] = (double)(2.0 * sqrtl(*(double*)&(0x3fe0000000000000LL + (i << 45)))); 49*25c28e83SPiotr Jasiukajtis! TBL[8*i+2] = (double)(2.0 * sqrtl(*(double*)&(0x3fe0000000000000LL + (i << 45))) - TBL[8*i+1]); 50*25c28e83SPiotr Jasiukajtis! TBL[8*i+3] = 0 51*25c28e83SPiotr Jasiukajtis! TBL[8*i+4] = 1.0 / (*(double*)&(0x3fe0000000000000LL + (i << 45))); 52*25c28e83SPiotr Jasiukajtis! TBL[8*i+5] = (double)(2.0 * sqrtl(2.0) * sqrtl(*(double*)&(0x3fe0000000000000LL + (i << 45)))); 53*25c28e83SPiotr Jasiukajtis! TBL[8*i+6] = (double)(2.0 * sqrtl(2.0) * sqrtl(*(double*)&(0x3fe0000000000000LL + (i << 45))) - TBL[8*i+5]); 54*25c28e83SPiotr Jasiukajtis! TBL[8*i+7] = 0 55*25c28e83SPiotr Jasiukajtis 56*25c28e83SPiotr Jasiukajtis .word 0x40000000, 0x00000000, 0x3ff6a09e, 0x667f3bcd 57*25c28e83SPiotr Jasiukajtis .word 0xbc9bdd34, 0x13b26456, 0x00000000, 0x00000000 58*25c28e83SPiotr Jasiukajtis .word 0x40000000, 0x00000000, 0x40000000, 0x00000000 59*25c28e83SPiotr Jasiukajtis .word 0xb8f00000, 0x00000000, 0x00000000, 0x00000000 60*25c28e83SPiotr Jasiukajtis .word 0x3fffc07f, 0x01fc07f0, 0x3ff6b733, 0xbfd8c648 61*25c28e83SPiotr Jasiukajtis .word 0x3c53b629, 0x05629048, 0x00000000, 0x00000000 62*25c28e83SPiotr Jasiukajtis .word 0x3fffc07f, 0x01fc07f0, 0x40000ff8, 0x07f60deb 63*25c28e83SPiotr Jasiukajtis .word 0x3c90655c, 0x648a53f1, 0x00000000, 0x00000000 64*25c28e83SPiotr Jasiukajtis .word 0x3fff81f8, 0x1f81f820, 0x3ff6cdb2, 0xbbb212eb 65*25c28e83SPiotr Jasiukajtis .word 0x3c960332, 0xcdbaba2d, 0x00000000, 0x00000000 66*25c28e83SPiotr Jasiukajtis .word 0x3fff81f8, 0x1f81f820, 0x40001fe0, 0x3f61bad0 67*25c28e83SPiotr Jasiukajtis .word 0x3ca2c41a, 0x15cbfaf2, 0x00000000, 0x00000000 68*25c28e83SPiotr Jasiukajtis .word 0x3fff4465, 0x9e4a4271, 0x3ff6e41b, 0x9bfb3b75 69*25c28e83SPiotr Jasiukajtis .word 0xbc925d8c, 0xfd6d5c87, 0x00000000, 0x00000000 70*25c28e83SPiotr Jasiukajtis .word 0x3fff4465, 0x9e4a4271, 0x40002fb8, 0xd4e30f48 71*25c28e83SPiotr Jasiukajtis .word 0xbca64203, 0xab1ba910, 0x00000000, 0x00000000 72*25c28e83SPiotr Jasiukajtis .word 0x3fff07c1, 0xf07c1f08, 0x3ff6fa6e, 0xa162d0f0 73*25c28e83SPiotr Jasiukajtis .word 0x3c691a24, 0x3d6297e9, 0x00000000, 0x00000000 74*25c28e83SPiotr Jasiukajtis .word 0x3fff07c1, 0xf07c1f08, 0x40003f81, 0xf636b80c 75*25c28e83SPiotr Jasiukajtis .word 0xbca0efc8, 0xba812a8c, 0x00000000, 0x00000000 76*25c28e83SPiotr Jasiukajtis .word 0x3ffecc07, 0xb301ecc0, 0x3ff710ac, 0x0b5e5e32 77*25c28e83SPiotr Jasiukajtis .word 0xbc991218, 0xb8d2850d, 0x00000000, 0x00000000 78*25c28e83SPiotr Jasiukajtis .word 0x3ffecc07, 0xb301ecc0, 0x40004f3b, 0xd03c0a64 79*25c28e83SPiotr Jasiukajtis .word 0x3c9ee2cf, 0x2d8ae22b, 0x00000000, 0x00000000 80*25c28e83SPiotr Jasiukajtis .word 0x3ffe9131, 0xabf0b767, 0x3ff726d4, 0x1832a0be 81*25c28e83SPiotr Jasiukajtis .word 0xbc2d9b1a, 0xa8ecb058, 0x00000000, 0x00000000 82*25c28e83SPiotr Jasiukajtis .word 0x3ffe9131, 0xabf0b767, 0x40005ee6, 0x8efad48b 83*25c28e83SPiotr Jasiukajtis .word 0xbc9c35f4, 0x8f4b89f7, 0x00000000, 0x00000000 84*25c28e83SPiotr Jasiukajtis .word 0x3ffe573a, 0xc901e574, 0x3ff73ce7, 0x04fb7b23 85*25c28e83SPiotr Jasiukajtis .word 0x3c91470b, 0x816b17a6, 0x00000000, 0x00000000 86*25c28e83SPiotr Jasiukajtis .word 0x3ffe573a, 0xc901e574, 0x40006e82, 0x5da8fc2b 87*25c28e83SPiotr Jasiukajtis .word 0x3c9a315a, 0x8bd8a03b, 0x00000000, 0x00000000 88*25c28e83SPiotr Jasiukajtis .word 0x3ffe1e1e, 0x1e1e1e1e, 0x3ff752e5, 0x0db3a3a2 89*25c28e83SPiotr Jasiukajtis .word 0xbc939331, 0x3eea4381, 0x00000000, 0x00000000 90*25c28e83SPiotr Jasiukajtis .word 0x3ffe1e1e, 0x1e1e1e1e, 0x40007e0f, 0x66afed07 91*25c28e83SPiotr Jasiukajtis .word 0xbc74a6e1, 0xdcd59eaf, 0x00000000, 0x00000000 92*25c28e83SPiotr Jasiukajtis .word 0x3ffde5d6, 0xe3f8868a, 0x3ff768ce, 0x6d3c11e0 93*25c28e83SPiotr Jasiukajtis .word 0xbc9478b8, 0xab33074d, 0x00000000, 0x00000000 94*25c28e83SPiotr Jasiukajtis .word 0x3ffde5d6, 0xe3f8868a, 0x40008d8d, 0xd3b1d9aa 95*25c28e83SPiotr Jasiukajtis .word 0x3c81d533, 0x85fe2b96, 0x00000000, 0x00000000 96*25c28e83SPiotr Jasiukajtis .word 0x3ffdae60, 0x76b981db, 0x3ff77ea3, 0x5d632e43 97*25c28e83SPiotr Jasiukajtis .word 0x3c92f714, 0x9a22fa4f, 0x00000000, 0x00000000 98*25c28e83SPiotr Jasiukajtis .word 0x3ffdae60, 0x76b981db, 0x40009cfd, 0xcd8ed009 99*25c28e83SPiotr Jasiukajtis .word 0xbc4862a9, 0xbcf7f372, 0x00000000, 0x00000000 100*25c28e83SPiotr Jasiukajtis .word 0x3ffd77b6, 0x54b82c34, 0x3ff79464, 0x16ebc56c 101*25c28e83SPiotr Jasiukajtis .word 0x3c9a7cd5, 0x224c7375, 0x00000000, 0x00000000 102*25c28e83SPiotr Jasiukajtis .word 0x3ffd77b6, 0x54b82c34, 0x4000ac5f, 0x7c69a3c8 103*25c28e83SPiotr Jasiukajtis .word 0x3ca94dff, 0x7bfa2757, 0x00000000, 0x00000000 104*25c28e83SPiotr Jasiukajtis .word 0x3ffd41d4, 0x1d41d41d, 0x3ff7aa10, 0xd193c22d 105*25c28e83SPiotr Jasiukajtis .word 0xbc790ed9, 0x403afe85, 0x00000000, 0x00000000 106*25c28e83SPiotr Jasiukajtis .word 0x3ffd41d4, 0x1d41d41d, 0x4000bbb3, 0x07acafdb 107*25c28e83SPiotr Jasiukajtis .word 0xbc852a97, 0x686f9d2e, 0x00000000, 0x00000000 108*25c28e83SPiotr Jasiukajtis .word 0x3ffd0cb5, 0x8f6ec074, 0x3ff7bfa9, 0xc41ab040 109*25c28e83SPiotr Jasiukajtis .word 0x3c8d6bc3, 0x02ae758f, 0x00000000, 0x00000000 110*25c28e83SPiotr Jasiukajtis .word 0x3ffd0cb5, 0x8f6ec074, 0x4000caf8, 0x960e710d 111*25c28e83SPiotr Jasiukajtis .word 0x3c9caa6b, 0xe2366171, 0x00000000, 0x00000000 112*25c28e83SPiotr Jasiukajtis .word 0x3ffcd856, 0x89039b0b, 0x3ff7d52f, 0x244809e9 113*25c28e83SPiotr Jasiukajtis .word 0x3c9081f6, 0xf3b99d5f, 0x00000000, 0x00000000 114*25c28e83SPiotr Jasiukajtis .word 0x3ffcd856, 0x89039b0b, 0x4000da30, 0x4d95fb06 115*25c28e83SPiotr Jasiukajtis .word 0xbc9e1269, 0x76855586, 0x00000000, 0x00000000 116*25c28e83SPiotr Jasiukajtis .word 0x3ffca4b3, 0x055ee191, 0x3ff7eaa1, 0x26f15284 117*25c28e83SPiotr Jasiukajtis .word 0xbc846ce4, 0x68c1882b, 0x00000000, 0x00000000 118*25c28e83SPiotr Jasiukajtis .word 0x3ffca4b3, 0x055ee191, 0x4000e95a, 0x539f492c 119*25c28e83SPiotr Jasiukajtis .word 0xbc80c73f, 0xc38a2184, 0x00000000, 0x00000000 120*25c28e83SPiotr Jasiukajtis .word 0x3ffc71c7, 0x1c71c71c, 0x3ff80000, 0x00000000 121*25c28e83SPiotr Jasiukajtis .word 0x00000000, 0x00000000, 0x00000000, 0x00000000 122*25c28e83SPiotr Jasiukajtis .word 0x3ffc71c7, 0x1c71c71c, 0x4000f876, 0xccdf6cd9 123*25c28e83SPiotr Jasiukajtis .word 0x3cab1a18, 0xf13a34c0, 0x00000000, 0x00000000 124*25c28e83SPiotr Jasiukajtis .word 0x3ffc3f8f, 0x01c3f8f0, 0x3ff8154b, 0xe2773526 125*25c28e83SPiotr Jasiukajtis .word 0xbc857147, 0xe067d0ee, 0x00000000, 0x00000000 126*25c28e83SPiotr Jasiukajtis .word 0x3ffc3f8f, 0x01c3f8f0, 0x40010785, 0xdd689a29 127*25c28e83SPiotr Jasiukajtis .word 0xbcaaabbe, 0x9e4d810a, 0x00000000, 0x00000000 128*25c28e83SPiotr Jasiukajtis .word 0x3ffc0e07, 0x0381c0e0, 0x3ff82a85, 0x00794e6c 129*25c28e83SPiotr Jasiukajtis .word 0xbc82edaa, 0x75e6ac5f, 0x00000000, 0x00000000 130*25c28e83SPiotr Jasiukajtis .word 0x3ffc0e07, 0x0381c0e0, 0x40011687, 0xa8ae14a3 131*25c28e83SPiotr Jasiukajtis .word 0x3cac9b43, 0xbcf06106, 0x00000000, 0x00000000 132*25c28e83SPiotr Jasiukajtis .word 0x3ffbdd2b, 0x899406f7, 0x3ff83fab, 0x8b4d4315 133*25c28e83SPiotr Jasiukajtis .word 0x3c829e06, 0x2d3e134d, 0x00000000, 0x00000000 134*25c28e83SPiotr Jasiukajtis .word 0x3ffbdd2b, 0x899406f7, 0x4001257c, 0x5187fd09 135*25c28e83SPiotr Jasiukajtis .word 0xbca4a750, 0xa83950a4, 0x00000000, 0x00000000 136*25c28e83SPiotr Jasiukajtis .word 0x3ffbacf9, 0x14c1bad0, 0x3ff854bf, 0xb363dc39 137*25c28e83SPiotr Jasiukajtis .word 0x3c99399f, 0xca38787e, 0x00000000, 0x00000000 138*25c28e83SPiotr Jasiukajtis .word 0x3ffbacf9, 0x14c1bad0, 0x40013463, 0xfa37014e 139*25c28e83SPiotr Jasiukajtis .word 0x3c7b295b, 0xaa698cd3, 0x00000000, 0x00000000 140*25c28e83SPiotr Jasiukajtis .word 0x3ffb7d6c, 0x3dda338b, 0x3ff869c1, 0xa85cc346 141*25c28e83SPiotr Jasiukajtis .word 0x3c9fcc99, 0xde11b1d1, 0x00000000, 0x00000000 142*25c28e83SPiotr Jasiukajtis .word 0x3ffb7d6c, 0x3dda338b, 0x4001433e, 0xc467effb 143*25c28e83SPiotr Jasiukajtis .word 0x3c92c031, 0x3b7278c8, 0x00000000, 0x00000000 144*25c28e83SPiotr Jasiukajtis .word 0x3ffb4e81, 0xb4e81b4f, 0x3ff87eb1, 0x990b697a 145*25c28e83SPiotr Jasiukajtis .word 0x3c7c43e9, 0xf593ea0f, 0x00000000, 0x00000000 146*25c28e83SPiotr Jasiukajtis .word 0x3ffb4e81, 0xb4e81b4f, 0x4001520c, 0xd1372feb 147*25c28e83SPiotr Jasiukajtis .word 0xbcadec22, 0x5d8e66d2, 0x00000000, 0x00000000 148*25c28e83SPiotr Jasiukajtis .word 0x3ffb2036, 0x406c80d9, 0x3ff8938f, 0xb37bc9c1 149*25c28e83SPiotr Jasiukajtis .word 0xbc7c115f, 0x9f5c8d6f, 0x00000000, 0x00000000 150*25c28e83SPiotr Jasiukajtis .word 0x3ffb2036, 0x406c80d9, 0x400160ce, 0x41341d74 151*25c28e83SPiotr Jasiukajtis .word 0x3c967036, 0x863a1bb2, 0x00000000, 0x00000000 152*25c28e83SPiotr Jasiukajtis .word 0x3ffaf286, 0xbca1af28, 0x3ff8a85c, 0x24f70659 153*25c28e83SPiotr Jasiukajtis .word 0x3c9f6e07, 0x6b588a50, 0x00000000, 0x00000000 154*25c28e83SPiotr Jasiukajtis .word 0x3ffaf286, 0xbca1af28, 0x40016f83, 0x34644df9 155*25c28e83SPiotr Jasiukajtis .word 0xbcae8679, 0x80a1c48e, 0x00000000, 0x00000000 156*25c28e83SPiotr Jasiukajtis .word 0x3ffac570, 0x1ac5701b, 0x3ff8bd17, 0x1a07e38a 157*25c28e83SPiotr Jasiukajtis .word 0x3c9c20b5, 0xa697f23f, 0x00000000, 0x00000000 158*25c28e83SPiotr Jasiukajtis .word 0x3ffac570, 0x1ac5701b, 0x40017e2b, 0xca46bab9 159*25c28e83SPiotr Jasiukajtis .word 0x3ca1519b, 0x10d04d5f, 0x00000000, 0x00000000 160*25c28e83SPiotr Jasiukajtis .word 0x3ffa98ef, 0x606a63be, 0x3ff8d1c0, 0xbe7f20ac 161*25c28e83SPiotr Jasiukajtis .word 0xbc8bdb8a, 0x6df021f3, 0x00000000, 0x00000000 162*25c28e83SPiotr Jasiukajtis .word 0x3ffa98ef, 0x606a63be, 0x40018cc8, 0x21d6d3e3 163*25c28e83SPiotr Jasiukajtis .word 0xbca30af1, 0xd725cc5b, 0x00000000, 0x00000000 164*25c28e83SPiotr Jasiukajtis .word 0x3ffa6d01, 0xa6d01a6d, 0x3ff8e659, 0x3d77b0b8 165*25c28e83SPiotr Jasiukajtis .word 0xbc7d99d7, 0x64769954, 0x00000000, 0x00000000 166*25c28e83SPiotr Jasiukajtis .word 0x3ffa6d01, 0xa6d01a6d, 0x40019b58, 0x598f7c9f 167*25c28e83SPiotr Jasiukajtis .word 0xbc72e0d8, 0x51c0e011, 0x00000000, 0x00000000 168*25c28e83SPiotr Jasiukajtis .word 0x3ffa41a4, 0x1a41a41a, 0x3ff8fae0, 0xc15ad38a 169*25c28e83SPiotr Jasiukajtis .word 0xbc7db7ad, 0xb6817f6d, 0x00000000, 0x00000000 170*25c28e83SPiotr Jasiukajtis .word 0x3ffa41a4, 0x1a41a41a, 0x4001a9dc, 0x8f6df104 171*25c28e83SPiotr Jasiukajtis .word 0xbcafc519, 0xc18dc1d5, 0x00000000, 0x00000000 172*25c28e83SPiotr Jasiukajtis .word 0x3ffa16d3, 0xf97a4b02, 0x3ff90f57, 0x73e410e4 173*25c28e83SPiotr Jasiukajtis .word 0x3c6fb605, 0xcee75482, 0x00000000, 0x00000000 174*25c28e83SPiotr Jasiukajtis .word 0x3ffa16d3, 0xf97a4b02, 0x4001b854, 0xe0f496a0 175*25c28e83SPiotr Jasiukajtis .word 0x3ca27006, 0x899b7c3a, 0x00000000, 0x00000000 176*25c28e83SPiotr Jasiukajtis .word 0x3ff9ec8e, 0x951033d9, 0x3ff923bd, 0x7e25164d 177*25c28e83SPiotr Jasiukajtis .word 0xbc9278d1, 0x901d3b40, 0x00000000, 0x00000000 178*25c28e83SPiotr Jasiukajtis .word 0x3ff9ec8e, 0x951033d9, 0x4001c6c1, 0x6b2db870 179*25c28e83SPiotr Jasiukajtis .word 0x3c887e1d, 0x8335fb28, 0x00000000, 0x00000000 180*25c28e83SPiotr Jasiukajtis .word 0x3ff9c2d1, 0x4ee4a102, 0x3ff93813, 0x088978c5 181*25c28e83SPiotr Jasiukajtis .word 0xbc54312c, 0x627e5c52, 0x00000000, 0x00000000 182*25c28e83SPiotr Jasiukajtis .word 0x3ff9c2d1, 0x4ee4a102, 0x4001d522, 0x4aae2ee1 183*25c28e83SPiotr Jasiukajtis .word 0x3ca91222, 0xf6aebdc9, 0x00000000, 0x00000000 184*25c28e83SPiotr Jasiukajtis .word 0x3ff99999, 0x9999999a, 0x3ff94c58, 0x3ada5b53 185*25c28e83SPiotr Jasiukajtis .word 0xbc9b7ed7, 0x50df3cca, 0x00000000, 0x00000000 186*25c28e83SPiotr Jasiukajtis .word 0x3ff99999, 0x9999999a, 0x4001e377, 0x9b97f4a8 187*25c28e83SPiotr Jasiukajtis .word 0xbc9f5063, 0x19fcfd19, 0x00000000, 0x00000000 188*25c28e83SPiotr Jasiukajtis .word 0x3ff970e4, 0xf80cb872, 0x3ff9608d, 0x3c41fb4b 189*25c28e83SPiotr Jasiukajtis .word 0x3c73df32, 0xeaa86b83, 0x00000000, 0x00000000 190*25c28e83SPiotr Jasiukajtis .word 0x3ff970e4, 0xf80cb872, 0x4001f1c1, 0x799ca8ff 191*25c28e83SPiotr Jasiukajtis .word 0xbca28b52, 0xeb725e0a, 0x00000000, 0x00000000 192*25c28e83SPiotr Jasiukajtis .word 0x3ff948b0, 0xfcd6e9e0, 0x3ff974b2, 0x334f2346 193*25c28e83SPiotr Jasiukajtis .word 0x3c814e4a, 0xd3ae9e3f, 0x00000000, 0x00000000 194*25c28e83SPiotr Jasiukajtis .word 0x3ff948b0, 0xfcd6e9e0, 0x40020000, 0x00000000 195*25c28e83SPiotr Jasiukajtis .word 0xb9000000, 0x00000000, 0x00000000, 0x00000000 196*25c28e83SPiotr Jasiukajtis .word 0x3ff920fb, 0x49d0e229, 0x3ff988c7, 0x45f88592 197*25c28e83SPiotr Jasiukajtis .word 0x3c95af70, 0x1a56047b, 0x00000000, 0x00000000 198*25c28e83SPiotr Jasiukajtis .word 0x3ff920fb, 0x49d0e229, 0x40020e33, 0x499a21a9 199*25c28e83SPiotr Jasiukajtis .word 0xbc924ba2, 0x74fea9a1, 0x00000000, 0x00000000 200*25c28e83SPiotr Jasiukajtis .word 0x3ff8f9c1, 0x8f9c18fa, 0x3ff99ccc, 0x999fff00 201*25c28e83SPiotr Jasiukajtis .word 0x3c866234, 0x063b88ee, 0x00000000, 0x00000000 202*25c28e83SPiotr Jasiukajtis .word 0x3ff8f9c1, 0x8f9c18fa, 0x40021c5b, 0x70d9f824 203*25c28e83SPiotr Jasiukajtis .word 0xbca844f9, 0x9eee6fc3, 0x00000000, 0x00000000 204*25c28e83SPiotr Jasiukajtis .word 0x3ff8d301, 0x8d3018d3, 0x3ff9b0c2, 0x5315c2ce 205*25c28e83SPiotr Jasiukajtis .word 0xbc87f64a, 0x65cc6887, 0x00000000, 0x00000000 206*25c28e83SPiotr Jasiukajtis .word 0x3ff8d301, 0x8d3018d3, 0x40022a78, 0x8fc76de5 207*25c28e83SPiotr Jasiukajtis .word 0x3c931e32, 0xd4e07a48, 0x00000000, 0x00000000 208*25c28e83SPiotr Jasiukajtis .word 0x3ff8acb9, 0x0f6bf3aa, 0x3ff9c4a8, 0x969b7077 209*25c28e83SPiotr Jasiukajtis .word 0xbc96ca9e, 0x5cd4517a, 0x00000000, 0x00000000 210*25c28e83SPiotr Jasiukajtis .word 0x3ff8acb9, 0x0f6bf3aa, 0x4002388a, 0xc0059c28 211*25c28e83SPiotr Jasiukajtis .word 0xbc96072f, 0xbe0e5da3, 0x00000000, 0x00000000 212*25c28e83SPiotr Jasiukajtis .word 0x3ff886e5, 0xf0abb04a, 0x3ff9d87f, 0x87e71422 213*25c28e83SPiotr Jasiukajtis .word 0xbc85fdd8, 0xb11b7b1d, 0x00000000, 0x00000000 214*25c28e83SPiotr Jasiukajtis .word 0x3ff886e5, 0xf0abb04a, 0x40024692, 0x1ad4ea49 215*25c28e83SPiotr Jasiukajtis .word 0xbcaa6d9b, 0x268ef62d, 0x00000000, 0x00000000 216*25c28e83SPiotr Jasiukajtis .word 0x3ff86186, 0x18618618, 0x3ff9ec47, 0x4a261264 217*25c28e83SPiotr Jasiukajtis .word 0xbc8540c4, 0x89ba5074, 0x00000000, 0x00000000 218*25c28e83SPiotr Jasiukajtis .word 0x3ff86186, 0x18618618, 0x4002548e, 0xb9151e85 219*25c28e83SPiotr Jasiukajtis .word 0x3c999820, 0x0a774879, 0x00000000, 0x00000000 220*25c28e83SPiotr Jasiukajtis .word 0x3ff83c97, 0x7ab2bedd, 0x3ffa0000, 0x00000000 221*25c28e83SPiotr Jasiukajtis .word 0x00000000, 0x00000000, 0x00000000, 0x00000000 222*25c28e83SPiotr Jasiukajtis .word 0x3ff83c97, 0x7ab2bedd, 0x40026280, 0xb3476096 223*25c28e83SPiotr Jasiukajtis .word 0x3c9ab88b, 0x5ffe1cf5, 0x00000000, 0x00000000 224*25c28e83SPiotr Jasiukajtis .word 0x3ff81818, 0x18181818, 0x3ffa13a9, 0xcb996651 225*25c28e83SPiotr Jasiukajtis .word 0xbc9f9ab9, 0x0e4e85c3, 0x00000000, 0x00000000 226*25c28e83SPiotr Jasiukajtis .word 0x3ff81818, 0x18181818, 0x40027068, 0x21902e9a 227*25c28e83SPiotr Jasiukajtis .word 0x3c90ff4c, 0x20f541f6, 0x00000000, 0x00000000 228*25c28e83SPiotr Jasiukajtis .word 0x3ff7f405, 0xfd017f40, 0x3ffa2744, 0xce9674f5 229*25c28e83SPiotr Jasiukajtis .word 0xbc8b936c, 0x81e54daa, 0x00000000, 0x00000000 230*25c28e83SPiotr Jasiukajtis .word 0x3ff7f405, 0xfd017f40, 0x40027e45, 0x1bb944c3 231*25c28e83SPiotr Jasiukajtis .word 0x3c8e4a16, 0x42099ef0, 0x00000000, 0x00000000 232*25c28e83SPiotr Jasiukajtis .word 0x3ff7d05f, 0x417d05f4, 0x3ffa3ad1, 0x2a1da160 233*25c28e83SPiotr Jasiukajtis .word 0x3c951168, 0xf4be5984, 0x00000000, 0x00000000 234*25c28e83SPiotr Jasiukajtis .word 0x3ff7d05f, 0x417d05f4, 0x40028c17, 0xb9337834 235*25c28e83SPiotr Jasiukajtis .word 0xbc8af150, 0xa0e88972, 0x00000000, 0x00000000 236*25c28e83SPiotr Jasiukajtis .word 0x3ff7ad22, 0x08e0ecc3, 0x3ffa4e4e, 0xfeda34de 237*25c28e83SPiotr Jasiukajtis .word 0x3c6afbb4, 0xdbdadd0d, 0x00000000, 0x00000000 238*25c28e83SPiotr Jasiukajtis .word 0x3ff7ad22, 0x08e0ecc3, 0x400299e0, 0x11188575 239*25c28e83SPiotr Jasiukajtis .word 0xbc9a6169, 0x3fb250e5, 0x00000000, 0x00000000 240*25c28e83SPiotr Jasiukajtis .word 0x3ff78a4c, 0x8178a4c8, 0x3ffa61be, 0x6cfec997 241*25c28e83SPiotr Jasiukajtis .word 0xbc8c37ea, 0xb2bb5ca0, 0x00000000, 0x00000000 242*25c28e83SPiotr Jasiukajtis .word 0x3ff78a4c, 0x8178a4c8, 0x4002a79e, 0x3a2cd2e6 243*25c28e83SPiotr Jasiukajtis .word 0xbca5ddd4, 0x9cc9ad59, 0x00000000, 0x00000000 244*25c28e83SPiotr Jasiukajtis .word 0x3ff767dc, 0xe434a9b1, 0x3ffa751f, 0x9447b724 245*25c28e83SPiotr Jasiukajtis .word 0x3c82b909, 0x477e9ed1, 0x00000000, 0x00000000 246*25c28e83SPiotr Jasiukajtis .word 0x3ff767dc, 0xe434a9b1, 0x4002b552, 0x4ae1278e 247*25c28e83SPiotr Jasiukajtis .word 0xbca2f2a9, 0x8841b934, 0x00000000, 0x00000000 248*25c28e83SPiotr Jasiukajtis .word 0x3ff745d1, 0x745d1746, 0x3ffa8872, 0x93fd6f34 249*25c28e83SPiotr Jasiukajtis .word 0x3c768ef2, 0x4f198721, 0x00000000, 0x00000000 250*25c28e83SPiotr Jasiukajtis .word 0x3ff745d1, 0x745d1746, 0x4002c2fc, 0x595456a7 251*25c28e83SPiotr Jasiukajtis .word 0xbc996f60, 0xb0fc7e96, 0x00000000, 0x00000000 252*25c28e83SPiotr Jasiukajtis .word 0x3ff72428, 0x7f46debc, 0x3ffa9bb7, 0x8af6cabc 253*25c28e83SPiotr Jasiukajtis .word 0x3c8ba60d, 0xc999aba7, 0x00000000, 0x00000000 254*25c28e83SPiotr Jasiukajtis .word 0x3ff72428, 0x7f46debc, 0x4002d09c, 0x7b54e03e 255*25c28e83SPiotr Jasiukajtis .word 0x3c98c747, 0xfdeda6de, 0x00000000, 0x00000000 256*25c28e83SPiotr Jasiukajtis .word 0x3ff702e0, 0x5c0b8170, 0x3ffaaeee, 0x979b4838 257*25c28e83SPiotr Jasiukajtis .word 0xbc91f08a, 0xef9ef6c0, 0x00000000, 0x00000000 258*25c28e83SPiotr Jasiukajtis .word 0x3ff702e0, 0x5c0b8170, 0x4002de32, 0xc6628741 259*25c28e83SPiotr Jasiukajtis .word 0x3ca78746, 0xc499a4f7, 0x00000000, 0x00000000 260*25c28e83SPiotr Jasiukajtis .word 0x3ff6e1f7, 0x6b4337c7, 0x3ffac217, 0xd7e53b66 261*25c28e83SPiotr Jasiukajtis .word 0xbc64282a, 0xaa967e4f, 0x00000000, 0x00000000 262*25c28e83SPiotr Jasiukajtis .word 0x3ff6e1f7, 0x6b4337c7, 0x4002ebbf, 0x4fafdd4b 263*25c28e83SPiotr Jasiukajtis .word 0xbca78a73, 0xb72d5c41, 0x00000000, 0x00000000 264*25c28e83SPiotr Jasiukajtis .word 0x3ff6c16c, 0x16c16c17, 0x3ffad533, 0x6963eefc 265*25c28e83SPiotr Jasiukajtis .word 0xbc977c4a, 0x537dbdd2, 0x00000000, 0x00000000 266*25c28e83SPiotr Jasiukajtis .word 0x3ff6c16c, 0x16c16c17, 0x4002f942, 0x2c23c47e 267*25c28e83SPiotr Jasiukajtis .word 0xbc827c85, 0xf29db65d, 0x00000000, 0x00000000 268*25c28e83SPiotr Jasiukajtis .word 0x3ff6a13c, 0xd1537290, 0x3ffae841, 0x693db8b4 269*25c28e83SPiotr Jasiukajtis .word 0x3c90f773, 0xcd7a0713, 0x00000000, 0x00000000 270*25c28e83SPiotr Jasiukajtis .word 0x3ff6a13c, 0xd1537290, 0x400306bb, 0x705ae7c3 271*25c28e83SPiotr Jasiukajtis .word 0x3caf4933, 0x907af47a, 0x00000000, 0x00000000 272*25c28e83SPiotr Jasiukajtis .word 0x3ff68168, 0x16816817, 0x3ffafb41, 0xf432002e 273*25c28e83SPiotr Jasiukajtis .word 0xbc7ac94a, 0xfdfe8c5b, 0x00000000, 0x00000000 274*25c28e83SPiotr Jasiukajtis .word 0x3ff68168, 0x16816817, 0x4003142b, 0x30a929ab 275*25c28e83SPiotr Jasiukajtis .word 0x3c98dc01, 0x081a6c5c, 0x00000000, 0x00000000 276*25c28e83SPiotr Jasiukajtis .word 0x3ff661ec, 0x6a5122f9, 0x3ffb0e35, 0x269b38f5 277*25c28e83SPiotr Jasiukajtis .word 0xbc4f69a8, 0x05c3271a, 0x00000000, 0x00000000 278*25c28e83SPiotr Jasiukajtis .word 0x3ff661ec, 0x6a5122f9, 0x40032191, 0x811b0a41 279*25c28e83SPiotr Jasiukajtis .word 0xbc9ce3f0, 0xb38c0bf7, 0x00000000, 0x00000000 280*25c28e83SPiotr Jasiukajtis .word 0x3ff642c8, 0x590b2164, 0x3ffb211b, 0x1c70d023 281*25c28e83SPiotr Jasiukajtis .word 0x3c2e4c5e, 0x66eae2f0, 0x00000000, 0x00000000 282*25c28e83SPiotr Jasiukajtis .word 0x3ff642c8, 0x590b2164, 0x40032eee, 0x75770416 283*25c28e83SPiotr Jasiukajtis .word 0x3caed8e7, 0x730eaff2, 0x00000000, 0x00000000 284*25c28e83SPiotr Jasiukajtis .word 0x3ff623fa, 0x77016240, 0x3ffb33f3, 0xf1490def 285*25c28e83SPiotr Jasiukajtis .word 0xbc95894b, 0xcb02373b, 0x00000000, 0x00000000 286*25c28e83SPiotr Jasiukajtis .word 0x3ff623fa, 0x77016240, 0x40033c42, 0x213ee0c9 287*25c28e83SPiotr Jasiukajtis .word 0x3ca84c24, 0x4ba98124, 0x00000000, 0x00000000 288*25c28e83SPiotr Jasiukajtis .word 0x3ff60581, 0x60581606, 0x3ffb46bf, 0xc05aeb89 289*25c28e83SPiotr Jasiukajtis .word 0x3c9b1c7c, 0xc39adc9f, 0x00000000, 0x00000000 290*25c28e83SPiotr Jasiukajtis .word 0x3ff60581, 0x60581606, 0x4003498c, 0x97b10540 291*25c28e83SPiotr Jasiukajtis .word 0x3c734193, 0xbc8543b4, 0x00000000, 0x00000000 292*25c28e83SPiotr Jasiukajtis .word 0x3ff5e75b, 0xb8d015e7, 0x3ffb597e, 0xa47fdda3 293*25c28e83SPiotr Jasiukajtis .word 0xbc923cc8, 0x9d1e4635, 0x00000000, 0x00000000 294*25c28e83SPiotr Jasiukajtis .word 0x3ff5e75b, 0xb8d015e7, 0x400356cd, 0xebc9b5e2 295*25c28e83SPiotr Jasiukajtis .word 0x3c96dee1, 0x46bb1571, 0x00000000, 0x00000000 296*25c28e83SPiotr Jasiukajtis .word 0x3ff5c988, 0x2b931057, 0x3ffb6c30, 0xb83593e6 297*25c28e83SPiotr Jasiukajtis .word 0x3c8f4e3f, 0xd28d84bc, 0x00000000, 0x00000000 298*25c28e83SPiotr Jasiukajtis .word 0x3ff5c988, 0x2b931057, 0x40036406, 0x30445306 299*25c28e83SPiotr Jasiukajtis .word 0xbca78d86, 0x2327430a, 0x00000000, 0x00000000 300*25c28e83SPiotr Jasiukajtis .word 0x3ff5ac05, 0x6b015ac0, 0x3ffb7ed6, 0x159fadc8 301*25c28e83SPiotr Jasiukajtis .word 0xbc899bcf, 0xf04d134b, 0x00000000, 0x00000000 302*25c28e83SPiotr Jasiukajtis .word 0x3ff5ac05, 0x6b015ac0, 0x40037135, 0x779c8dcb 303*25c28e83SPiotr Jasiukajtis .word 0xbc8fe126, 0xce9778ae, 0x00000000, 0x00000000 304*25c28e83SPiotr Jasiukajtis .word 0x3ff58ed2, 0x308158ed, 0x3ffb916e, 0xd68964ec 305*25c28e83SPiotr Jasiukajtis .word 0x3c826a5d, 0x5dbaae29, 0x00000000, 0x00000000 306*25c28e83SPiotr Jasiukajtis .word 0x3ff58ed2, 0x308158ed, 0x40037e5b, 0xd40f95a1 307*25c28e83SPiotr Jasiukajtis .word 0x3cac6ff5, 0xeca5d122, 0x00000000, 0x00000000 308*25c28e83SPiotr Jasiukajtis .word 0x3ff571ed, 0x3c506b3a, 0x3ffba3fb, 0x14672d7c 309*25c28e83SPiotr Jasiukajtis .word 0xbc8117d3, 0x97dcefc9, 0x00000000, 0x00000000 310*25c28e83SPiotr Jasiukajtis .word 0x3ff571ed, 0x3c506b3a, 0x40038b79, 0x579d3eab 311*25c28e83SPiotr Jasiukajtis .word 0xbcac254f, 0xc0db598e, 0x00000000, 0x00000000 312*25c28e83SPiotr Jasiukajtis .word 0x3ff55555, 0x55555555, 0x3ffbb67a, 0xe8584caa 313*25c28e83SPiotr Jasiukajtis .word 0x3c9cec95, 0xd0b5c1e3, 0x00000000, 0x00000000 314*25c28e83SPiotr Jasiukajtis .word 0x3ff55555, 0x55555555, 0x4003988e, 0x1409212e 315*25c28e83SPiotr Jasiukajtis .word 0x3caf40c8, 0x6450c869, 0x00000000, 0x00000000 316*25c28e83SPiotr Jasiukajtis .word 0x3ff53909, 0x48f40feb, 0x3ffbc8ee, 0x6b2865b9 317*25c28e83SPiotr Jasiukajtis .word 0x3c9394eb, 0x90f645c8, 0x00000000, 0x00000000 318*25c28e83SPiotr Jasiukajtis .word 0x3ff53909, 0x48f40feb, 0x4003a59a, 0x1adbb257 319*25c28e83SPiotr Jasiukajtis .word 0x3ca6adce, 0x020a308d, 0x00000000, 0x00000000 320*25c28e83SPiotr Jasiukajtis .word 0x3ff51d07, 0xeae2f815, 0x3ffbdb55, 0xb550fdbc 321*25c28e83SPiotr Jasiukajtis .word 0x3c7365e9, 0x6aa5fae3, 0x00000000, 0x00000000 322*25c28e83SPiotr Jasiukajtis .word 0x3ff51d07, 0xeae2f815, 0x4003b29d, 0x7d635662 323*25c28e83SPiotr Jasiukajtis .word 0x3cac99b0, 0x5e282129, 0x00000000, 0x00000000 324*25c28e83SPiotr Jasiukajtis .word 0x3ff50150, 0x15015015, 0x3ffbedb0, 0xdefaf661 325*25c28e83SPiotr Jasiukajtis .word 0x3c91a627, 0xb279170d, 0x00000000, 0x00000000 326*25c28e83SPiotr Jasiukajtis .word 0x3ff50150, 0x15015015, 0x4003bf98, 0x4cb56c77 327*25c28e83SPiotr Jasiukajtis .word 0x3ca8f653, 0xbcc0c4a1, 0x00000000, 0x00000000 328*25c28e83SPiotr Jasiukajtis .word 0x3ff4e5e0, 0xa72f0539, 0x3ffc0000, 0x00000000 329*25c28e83SPiotr Jasiukajtis .word 0x00000000, 0x00000000, 0x00000000, 0x00000000 330*25c28e83SPiotr Jasiukajtis .word 0x3ff4e5e0, 0xa72f0539, 0x4003cc8a, 0x99af5453 331*25c28e83SPiotr Jasiukajtis .word 0xbc486364, 0x4f05f2be, 0x00000000, 0x00000000 332*25c28e83SPiotr Jasiukajtis .word 0x3ff4cab8, 0x8725af6e, 0x3ffc1243, 0x2fec0329 333*25c28e83SPiotr Jasiukajtis .word 0x3c96e0d7, 0x8dd23a7d, 0x00000000, 0x00000000 334*25c28e83SPiotr Jasiukajtis .word 0x3ff4cab8, 0x8725af6e, 0x4003d974, 0x74f76df2 335*25c28e83SPiotr Jasiukajtis .word 0x3c82e3c9, 0xfdbbbdc2, 0x00000000, 0x00000000 336*25c28e83SPiotr Jasiukajtis .word 0x3ff4afd6, 0xa052bf5b, 0x3ffc247a, 0x85fe81fa 337*25c28e83SPiotr Jasiukajtis .word 0x3c89d8ee, 0xf6854220, 0x00000000, 0x00000000 338*25c28e83SPiotr Jasiukajtis .word 0x3ff4afd6, 0xa052bf5b, 0x4003e655, 0xeefe1367 339*25c28e83SPiotr Jasiukajtis .word 0x3c80eb35, 0xbb532559, 0x00000000, 0x00000000 340*25c28e83SPiotr Jasiukajtis .word 0x3ff49539, 0xe3b2d067, 0x3ffc36a6, 0x192bf168 341*25c28e83SPiotr Jasiukajtis .word 0xbc9083d8, 0x1a423b11, 0x00000000, 0x00000000 342*25c28e83SPiotr Jasiukajtis .word 0x3ff49539, 0xe3b2d067, 0x4003f32f, 0x17fe8d04 343*25c28e83SPiotr Jasiukajtis .word 0xbc905d6c, 0x1c437de0, 0x00000000, 0x00000000 344*25c28e83SPiotr Jasiukajtis .word 0x3ff47ae1, 0x47ae147b, 0x3ffc48c6, 0x001f0ac0 345*25c28e83SPiotr Jasiukajtis .word 0xbc92d481, 0x189efd6b, 0x00000000, 0x00000000 346*25c28e83SPiotr Jasiukajtis .word 0x3ff47ae1, 0x47ae147b, 0x40040000, 0x00000000 347*25c28e83SPiotr Jasiukajtis .word 0x00000000, 0x00000000, 0x00000000, 0x00000000 348*25c28e83SPiotr Jasiukajtis .word 0x3ff460cb, 0xc7f5cf9a, 0x3ffc5ada, 0x513a1593 349*25c28e83SPiotr Jasiukajtis .word 0xbc7aaedd, 0x014f5f03, 0x00000000, 0x00000000 350*25c28e83SPiotr Jasiukajtis .word 0x3ff460cb, 0xc7f5cf9a, 0x40040cc8, 0xb6d657c2 351*25c28e83SPiotr Jasiukajtis .word 0xbc9c05ab, 0xf480ce19, 0x00000000, 0x00000000 352*25c28e83SPiotr Jasiukajtis .word 0x3ff446f8, 0x6562d9fb, 0x3ffc6ce3, 0x22982a3f 353*25c28e83SPiotr Jasiukajtis .word 0x3c891b2d, 0xf3e15f29, 0x00000000, 0x00000000 354*25c28e83SPiotr Jasiukajtis .word 0x3ff446f8, 0x6562d9fb, 0x40041989, 0x4c2329f0 355*25c28e83SPiotr Jasiukajtis .word 0x3c976037, 0x46da0ea6, 0x00000000, 0x00000000 356*25c28e83SPiotr Jasiukajtis .word 0x3ff42d66, 0x25d51f87, 0x3ffc7ee0, 0x8a0e6d4c 357*25c28e83SPiotr Jasiukajtis .word 0x3c991c54, 0xc53e75c8, 0x00000000, 0x00000000 358*25c28e83SPiotr Jasiukajtis .word 0x3ff42d66, 0x25d51f87, 0x40042641, 0xcf569572 359*25c28e83SPiotr Jasiukajtis .word 0xbcadf80b, 0x1442c029, 0x00000000, 0x00000000 360*25c28e83SPiotr Jasiukajtis .word 0x3ff41414, 0x14141414, 0x3ffc90d2, 0x9d2d43ce 361*25c28e83SPiotr Jasiukajtis .word 0xbc9edadb, 0x07f1137a, 0x00000000, 0x00000000 362*25c28e83SPiotr Jasiukajtis .word 0x3ff41414, 0x14141414, 0x400432f2, 0x4fb01c7a 363*25c28e83SPiotr Jasiukajtis .word 0x3ca38bfe, 0x0e012c1c, 0x00000000, 0x00000000 364*25c28e83SPiotr Jasiukajtis .word 0x3ff3fb01, 0x3fb013fb, 0x3ffca2b9, 0x714180f7 365*25c28e83SPiotr Jasiukajtis .word 0xbc81a63d, 0x6750c57c, 0x00000000, 0x00000000 366*25c28e83SPiotr Jasiukajtis .word 0x3ff3fb01, 0x3fb013fb, 0x40043f9a, 0xdc3f79ce 367*25c28e83SPiotr Jasiukajtis .word 0x3c66d2b1, 0x767ae30a, 0x00000000, 0x00000000 368*25c28e83SPiotr Jasiukajtis .word 0x3ff3e22c, 0xbce4a902, 0x3ffcb495, 0x1b558d17 369*25c28e83SPiotr Jasiukajtis .word 0x3c8fcbcb, 0x357f2308, 0x00000000, 0x00000000 370*25c28e83SPiotr Jasiukajtis .word 0x3ff3e22c, 0xbce4a902, 0x40044c3b, 0x83e57153 371*25c28e83SPiotr Jasiukajtis .word 0x3c98c853, 0xc6be5ee1, 0x00000000, 0x00000000 372*25c28e83SPiotr Jasiukajtis .word 0x3ff3c995, 0xa47babe7, 0x3ffcc665, 0xb0328622 373*25c28e83SPiotr Jasiukajtis .word 0xbc91baa4, 0xd369f814, 0x00000000, 0x00000000 374*25c28e83SPiotr Jasiukajtis .word 0x3ff3c995, 0xa47babe7, 0x400458d4, 0x55549c1a 375*25c28e83SPiotr Jasiukajtis .word 0x3ca02d72, 0x8d9a6054, 0x00000000, 0x00000000 376*25c28e83SPiotr Jasiukajtis .word 0x3ff3b13b, 0x13b13b14, 0x3ffcd82b, 0x446159f3 377*25c28e83SPiotr Jasiukajtis .word 0x3c983fb7, 0xb33cdfe8, 0x00000000, 0x00000000 378*25c28e83SPiotr Jasiukajtis .word 0x3ff3b13b, 0x13b13b14, 0x40046565, 0x5f122ff6 379*25c28e83SPiotr Jasiukajtis .word 0x3ca862c5, 0xd2f0ca4c, 0x00000000, 0x00000000 380*25c28e83SPiotr Jasiukajtis .word 0x3ff3991c, 0x2c187f63, 0x3ffce9e5, 0xec2bda80 381*25c28e83SPiotr Jasiukajtis .word 0xbc94ccf3, 0xd8e249ab, 0x00000000, 0x00000000 382*25c28e83SPiotr Jasiukajtis .word 0x3ff3991c, 0x2c187f63, 0x400471ee, 0xaf76c2c6 383*25c28e83SPiotr Jasiukajtis .word 0x3c975c62, 0xeff26e8e, 0x00000000, 0x00000000 384*25c28e83SPiotr Jasiukajtis .word 0x3ff38138, 0x13813814, 0x3ffcfb95, 0xbb9dcc0c 385*25c28e83SPiotr Jasiukajtis .word 0x3c92cea2, 0x0857ae03, 0x00000000, 0x00000000 386*25c28e83SPiotr Jasiukajtis .word 0x3ff38138, 0x13813814, 0x40047e70, 0x54af0989 387*25c28e83SPiotr Jasiukajtis .word 0x3c9d8c33, 0xc0054830, 0x00000000, 0x00000000 388*25c28e83SPiotr Jasiukajtis .word 0x3ff3698d, 0xf3de0748, 0x3ffd0d3a, 0xc685eda4 389*25c28e83SPiotr Jasiukajtis .word 0x3c94115a, 0x0ff4cf9e, 0x00000000, 0x00000000 390*25c28e83SPiotr Jasiukajtis .word 0x3ff3698d, 0xf3de0748, 0x40048aea, 0x5cbc935f 391*25c28e83SPiotr Jasiukajtis .word 0xbca8cb00, 0x12d14ff5, 0x00000000, 0x00000000 392*25c28e83SPiotr Jasiukajtis .word 0x3ff3521c, 0xfb2b78c1, 0x3ffd1ed5, 0x2076fbe9 393*25c28e83SPiotr Jasiukajtis .word 0x3c8f48a8, 0x6b72875f, 0x00000000, 0x00000000 394*25c28e83SPiotr Jasiukajtis .word 0x3ff3521c, 0xfb2b78c1, 0x4004975c, 0xd5768088 395*25c28e83SPiotr Jasiukajtis .word 0xbca1731e, 0xbc02f748, 0x00000000, 0x00000000 396*25c28e83SPiotr Jasiukajtis .word 0x3ff33ae4, 0x5b57bcb2, 0x3ffd3064, 0xdcc8ae67 397*25c28e83SPiotr Jasiukajtis .word 0x3c93480e, 0x805158ba, 0x00000000, 0x00000000 398*25c28e83SPiotr Jasiukajtis .word 0x3ff33ae4, 0x5b57bcb2, 0x4004a3c7, 0xcc8a358a 399*25c28e83SPiotr Jasiukajtis .word 0xbc9d8f7f, 0xd2726ffa, 0x00000000, 0x00000000 400*25c28e83SPiotr Jasiukajtis .word 0x3ff323e3, 0x4a2b10bf, 0x3ffd41ea, 0x0e98af91 401*25c28e83SPiotr Jasiukajtis .word 0x3c824640, 0x0309962f, 0x00000000, 0x00000000 402*25c28e83SPiotr Jasiukajtis .word 0x3ff323e3, 0x4a2b10bf, 0x4004b02b, 0x4f7c0a88 403*25c28e83SPiotr Jasiukajtis .word 0xbcaf71e1, 0xf6cafde2, 0x00000000, 0x00000000 404*25c28e83SPiotr Jasiukajtis .word 0x3ff30d19, 0x0130d190, 0x3ffd5364, 0xc8cb8f86 405*25c28e83SPiotr Jasiukajtis .word 0x3c8ad003, 0xc00630e1, 0x00000000, 0x00000000 406*25c28e83SPiotr Jasiukajtis .word 0x3ff30d19, 0x0130d190, 0x4004bc87, 0x6ba7f6ec 407*25c28e83SPiotr Jasiukajtis .word 0x3c9c1edb, 0x2be943b8, 0x00000000, 0x00000000 408*25c28e83SPiotr Jasiukajtis .word 0x3ff2f684, 0xbda12f68, 0x3ffd64d5, 0x1e0db1c6 409*25c28e83SPiotr Jasiukajtis .word 0xbc911ed3, 0x6986d362, 0x00000000, 0x00000000 410*25c28e83SPiotr Jasiukajtis .word 0x3ff2f684, 0xbda12f68, 0x4004c8dc, 0x2e423980 411*25c28e83SPiotr Jasiukajtis .word 0xbc949d1f, 0x46ef5d2c, 0x00000000, 0x00000000 412*25c28e83SPiotr Jasiukajtis .word 0x3ff2e025, 0xc04b8097, 0x3ffd763b, 0x20d435ef 413*25c28e83SPiotr Jasiukajtis .word 0x3c9d6780, 0xf76cb258, 0x00000000, 0x00000000 414*25c28e83SPiotr Jasiukajtis .word 0x3ff2e025, 0xc04b8097, 0x4004d529, 0xa457fcfc 415*25c28e83SPiotr Jasiukajtis .word 0xbca1404a, 0x46484e3d, 0x00000000, 0x00000000 416*25c28e83SPiotr Jasiukajtis .word 0x3ff2c9fb, 0x4d812ca0, 0x3ffd8796, 0xe35ddbb2 417*25c28e83SPiotr Jasiukajtis .word 0x3c83fdd9, 0x1aeb637a, 0x00000000, 0x00000000 418*25c28e83SPiotr Jasiukajtis .word 0x3ff2c9fb, 0x4d812ca0, 0x4004e16f, 0xdacff937 419*25c28e83SPiotr Jasiukajtis .word 0xbca1deb9, 0xd3815ad2, 0x00000000, 0x00000000 420*25c28e83SPiotr Jasiukajtis .word 0x3ff2b404, 0xad012b40, 0x3ffd98e8, 0x77b3e207 421*25c28e83SPiotr Jasiukajtis .word 0xbc48c301, 0xee02dee8, 0x00000000, 0x00000000 422*25c28e83SPiotr Jasiukajtis .word 0x3ff2b404, 0xad012b40, 0x4004edae, 0xde6b10fe 423*25c28e83SPiotr Jasiukajtis .word 0x3ca99709, 0x4a91a780, 0x00000000, 0x00000000 424*25c28e83SPiotr Jasiukajtis .word 0x3ff29e41, 0x29e4129e, 0x3ffdaa2f, 0xefaae1d8 425*25c28e83SPiotr Jasiukajtis .word 0xbc63fe0e, 0x03f44594, 0x00000000, 0x00000000 426*25c28e83SPiotr Jasiukajtis .word 0x3ff29e41, 0x29e4129e, 0x4004f9e6, 0xbbc4ecb3 427*25c28e83SPiotr Jasiukajtis .word 0x3c6ce5a6, 0x018493f1, 0x00000000, 0x00000000 428*25c28e83SPiotr Jasiukajtis .word 0x3ff288b0, 0x1288b013, 0x3ffdbb6d, 0x5ce3a42f 429*25c28e83SPiotr Jasiukajtis .word 0xbc922c27, 0xf71c8337, 0x00000000, 0x00000000 430*25c28e83SPiotr Jasiukajtis .word 0x3ff288b0, 0x1288b013, 0x40050617, 0x7f5491bb 431*25c28e83SPiotr Jasiukajtis .word 0xbc9e591e, 0x7b2a6d1a, 0x00000000, 0x00000000 432*25c28e83SPiotr Jasiukajtis .word 0x3ff27350, 0xb8812735, 0x3ffdcca0, 0xd0cbf408 433*25c28e83SPiotr Jasiukajtis .word 0x3c7a6d16, 0x2310db57, 0x00000000, 0x00000000 434*25c28e83SPiotr Jasiukajtis .word 0x3ff27350, 0xb8812735, 0x40051241, 0x356cf6e0 435*25c28e83SPiotr Jasiukajtis .word 0x3ca37dc2, 0x60e8bc2d, 0x00000000, 0x00000000 436*25c28e83SPiotr Jasiukajtis .word 0x3ff25e22, 0x708092f1, 0x3ffdddca, 0x5c9f6be8 437*25c28e83SPiotr Jasiukajtis .word 0x3c818520, 0xf0a3f809, 0x00000000, 0x00000000 438*25c28e83SPiotr Jasiukajtis .word 0x3ff25e22, 0x708092f1, 0x40051e63, 0xea3d95b0 439*25c28e83SPiotr Jasiukajtis .word 0x3caecf78, 0x2e88d5ce, 0x00000000, 0x00000000 440*25c28e83SPiotr Jasiukajtis .word 0x3ff24924, 0x92492492, 0x3ffdeeea, 0x11683f49 441*25c28e83SPiotr Jasiukajtis .word 0x3c802aae, 0x4bfa7c27, 0x00000000, 0x00000000 442*25c28e83SPiotr Jasiukajtis .word 0x3ff24924, 0x92492492, 0x40052a7f, 0xa9d2f8ea 443*25c28e83SPiotr Jasiukajtis .word 0xbca21c62, 0xb033c079, 0x00000000, 0x00000000 444*25c28e83SPiotr Jasiukajtis .word 0x3ff23456, 0x789abcdf, 0x3ffe0000, 0x00000000 445*25c28e83SPiotr Jasiukajtis .word 0x00000000, 0x00000000, 0x00000000, 0x00000000 446*25c28e83SPiotr Jasiukajtis .word 0x3ff23456, 0x789abcdf, 0x40053694, 0x80174810 447*25c28e83SPiotr Jasiukajtis .word 0xbc9c3ec1, 0xa4ee7c21, 0x00000000, 0x00000000 448*25c28e83SPiotr Jasiukajtis .word 0x3ff21fb7, 0x8121fb78, 0x3ffe110c, 0x39105faf 449*25c28e83SPiotr Jasiukajtis .word 0x3c776161, 0x4c513964, 0x00000000, 0x00000000 450*25c28e83SPiotr Jasiukajtis .word 0x3ff21fb7, 0x8121fb78, 0x400542a2, 0x78d2d036 451*25c28e83SPiotr Jasiukajtis .word 0xbca495c2, 0x45254df4, 0x00000000, 0x00000000 452*25c28e83SPiotr Jasiukajtis .word 0x3ff20b47, 0x0c67c0d9, 0x3ffe220e, 0xcd13ed60 453*25c28e83SPiotr Jasiukajtis .word 0xbc729f01, 0xf18c9dc9, 0x00000000, 0x00000000 454*25c28e83SPiotr Jasiukajtis .word 0x3ff20b47, 0x0c67c0d9, 0x40054ea9, 0x9fac8a0f 455*25c28e83SPiotr Jasiukajtis .word 0x3c80cfbb, 0x19353b3d, 0x00000000, 0x00000000 456*25c28e83SPiotr Jasiukajtis .word 0x3ff1f704, 0x7dc11f70, 0x3ffe3307, 0xcc56cf5c 457*25c28e83SPiotr Jasiukajtis .word 0xbc81f04e, 0xc3189131, 0x00000000, 0x00000000 458*25c28e83SPiotr Jasiukajtis .word 0x3ff1f704, 0x7dc11f70, 0x40055aaa, 0x002a9d5a 459*25c28e83SPiotr Jasiukajtis .word 0xbc4bf504, 0x76241f94, 0x00000000, 0x00000000 460*25c28e83SPiotr Jasiukajtis .word 0x3ff1e2ef, 0x3b3fb874, 0x3ffe43f7, 0x46f7795b 461*25c28e83SPiotr Jasiukajtis .word 0xbc931e7f, 0x8af68f8c, 0x00000000, 0x00000000 462*25c28e83SPiotr Jasiukajtis .word 0x3ff1e2ef, 0x3b3fb874, 0x400566a3, 0xa5b2e1b1 463*25c28e83SPiotr Jasiukajtis .word 0x3caa1fd2, 0x8cc92e33, 0x00000000, 0x00000000 464*25c28e83SPiotr Jasiukajtis .word 0x3ff1cf06, 0xada2811d, 0x3ffe54dd, 0x4ce75f1e 465*25c28e83SPiotr Jasiukajtis .word 0xbc811b19, 0x5dfc62e5, 0x00000000, 0x00000000 466*25c28e83SPiotr Jasiukajtis .word 0x3ff1cf06, 0xada2811d, 0x40057296, 0x9b8b5cd8 467*25c28e83SPiotr Jasiukajtis .word 0x3ca30cbf, 0x1c53312e, 0x00000000, 0x00000000 468*25c28e83SPiotr Jasiukajtis .word 0x3ff1bb4a, 0x4046ed29, 0x3ffe65b9, 0xedeba38e 469*25c28e83SPiotr Jasiukajtis .word 0xbc7bb732, 0x51e8c364, 0x00000000, 0x00000000 470*25c28e83SPiotr Jasiukajtis .word 0x3ff1bb4a, 0x4046ed29, 0x40057e82, 0xecdabe8d 471*25c28e83SPiotr Jasiukajtis .word 0xbc7c2aed, 0xf3c4c4bd, 0x00000000, 0x00000000 472*25c28e83SPiotr Jasiukajtis .word 0x3ff1a7b9, 0x611a7b96, 0x3ffe768d, 0x399dc470 473*25c28e83SPiotr Jasiukajtis .word 0xbc9a8c81, 0x3405c01c, 0x00000000, 0x00000000 474*25c28e83SPiotr Jasiukajtis .word 0x3ff1a7b9, 0x611a7b96, 0x40058a68, 0xa4a8d9f3 475*25c28e83SPiotr Jasiukajtis .word 0x3ca50798, 0xe67012d9, 0x00000000, 0x00000000 476*25c28e83SPiotr Jasiukajtis .word 0x3ff19453, 0x808ca29c, 0x3ffe8757, 0x3f6c42c5 477*25c28e83SPiotr Jasiukajtis .word 0x3c9dbf9c, 0xf7bbcda3, 0x00000000, 0x00000000 478*25c28e83SPiotr Jasiukajtis .word 0x3ff19453, 0x808ca29c, 0x40059647, 0xcddf1ca5 479*25c28e83SPiotr Jasiukajtis .word 0x3ca14a95, 0xf35dea0b, 0x00000000, 0x00000000 480*25c28e83SPiotr Jasiukajtis .word 0x3ff18118, 0x11811812, 0x3ffe9818, 0x0e9b47f2 481*25c28e83SPiotr Jasiukajtis .word 0xbc9b6bd7, 0x4396d08e, 0x00000000, 0x00000000 482*25c28e83SPiotr Jasiukajtis .word 0x3ff18118, 0x11811812, 0x4005a220, 0x73490377 483*25c28e83SPiotr Jasiukajtis .word 0xbcadd036, 0x39925812, 0x00000000, 0x00000000 484*25c28e83SPiotr Jasiukajtis .word 0x3ff16e06, 0x89427379, 0x3ffea8cf, 0xb64547ab 485*25c28e83SPiotr Jasiukajtis .word 0x3c8721b2, 0x6374e19f, 0x00000000, 0x00000000 486*25c28e83SPiotr Jasiukajtis .word 0x3ff16e06, 0x89427379, 0x4005adf2, 0x9f948cfb 487*25c28e83SPiotr Jasiukajtis .word 0xbca42520, 0xf7716fa6, 0x00000000, 0x00000000 488*25c28e83SPiotr Jasiukajtis .word 0x3ff15b1e, 0x5f75270d, 0x3ffeb97e, 0x455b9edb 489*25c28e83SPiotr Jasiukajtis .word 0x3c999b45, 0x40857883, 0x00000000, 0x00000000 490*25c28e83SPiotr Jasiukajtis .word 0x3ff15b1e, 0x5f75270d, 0x4005b9be, 0x5d52a9da 491*25c28e83SPiotr Jasiukajtis .word 0x3c9098cd, 0x1b3af777, 0x00000000, 0x00000000 492*25c28e83SPiotr Jasiukajtis .word 0x3ff1485f, 0x0e0acd3b, 0x3ffeca23, 0xcaa72f73 493*25c28e83SPiotr Jasiukajtis .word 0x3c7e3ed5, 0x29679959, 0x00000000, 0x00000000 494*25c28e83SPiotr Jasiukajtis .word 0x3ff1485f, 0x0e0acd3b, 0x4005c583, 0xb6f7ab03 495*25c28e83SPiotr Jasiukajtis .word 0x3ca963bc, 0x9d795b51, 0x00000000, 0x00000000 496*25c28e83SPiotr Jasiukajtis .word 0x3ff135c8, 0x1135c811, 0x3ffedac0, 0x54c8f94c 497*25c28e83SPiotr Jasiukajtis .word 0x3c90b5c1, 0x15a56207, 0x00000000, 0x00000000 498*25c28e83SPiotr Jasiukajtis .word 0x3ff135c8, 0x1135c811, 0x4005d142, 0xb6dbadc5 499*25c28e83SPiotr Jasiukajtis .word 0x3ca6f1f5, 0x5323d116, 0x00000000, 0x00000000 500*25c28e83SPiotr Jasiukajtis .word 0x3ff12358, 0xe75d3033, 0x3ffeeb53, 0xf23ab028 501*25c28e83SPiotr Jasiukajtis .word 0xbc8617e4, 0xb5384f5d, 0x00000000, 0x00000000 502*25c28e83SPiotr Jasiukajtis .word 0x3ff12358, 0xe75d3033, 0x4005dcfb, 0x673b05df 503*25c28e83SPiotr Jasiukajtis .word 0xbca099df, 0xc321634f, 0x00000000, 0x00000000 504*25c28e83SPiotr Jasiukajtis .word 0x3ff11111, 0x11111111, 0x3ffefbde, 0xb14f4eda 505*25c28e83SPiotr Jasiukajtis .word 0xbc93a145, 0xfe1be078, 0x00000000, 0x00000000 506*25c28e83SPiotr Jasiukajtis .word 0x3ff11111, 0x11111111, 0x4005e8ad, 0xd236a58f 507*25c28e83SPiotr Jasiukajtis .word 0xbc7ef8c7, 0xc0d1fec6, 0x00000000, 0x00000000 508*25c28e83SPiotr Jasiukajtis .word 0x3ff0fef0, 0x10fef011, 0x3fff0c60, 0xa033a7b3 509*25c28e83SPiotr Jasiukajtis .word 0xbc91b0fc, 0x15cd89c6, 0x00000000, 0x00000000 510*25c28e83SPiotr Jasiukajtis .word 0x3ff0fef0, 0x10fef011, 0x4005f45a, 0x01d483b4 511*25c28e83SPiotr Jasiukajtis .word 0xbc94a237, 0xdc0fa105, 0x00000000, 0x00000000 512*25c28e83SPiotr Jasiukajtis .word 0x3ff0ecf5, 0x6be69c90, 0x3fff1cd9, 0xcceef239 513*25c28e83SPiotr Jasiukajtis .word 0x3c91afd8, 0x64eab60a, 0x00000000, 0x00000000 514*25c28e83SPiotr Jasiukajtis .word 0x3ff0ecf5, 0x6be69c90, 0x40060000, 0x00000000 515*25c28e83SPiotr Jasiukajtis .word 0x00000000, 0x00000000, 0x00000000, 0x00000000 516*25c28e83SPiotr Jasiukajtis .word 0x3ff0db20, 0xa88f4696, 0x3fff2d4a, 0x45635640 517*25c28e83SPiotr Jasiukajtis .word 0xbc8eebae, 0xea670bc2, 0x00000000, 0x00000000 518*25c28e83SPiotr Jasiukajtis .word 0x3ff0db20, 0xa88f4696, 0x40060b9f, 0xd68a4554 519*25c28e83SPiotr Jasiukajtis .word 0x3ca328e1, 0x70dae176, 0x00000000, 0x00000000 520*25c28e83SPiotr Jasiukajtis .word 0x3ff0c971, 0x4fbcda3b, 0x3fff3db2, 0x174e7468 521*25c28e83SPiotr Jasiukajtis .word 0x3c9e1513, 0x2d6ac52a, 0x00000000, 0x00000000 522*25c28e83SPiotr Jasiukajtis .word 0x3ff0c971, 0x4fbcda3b, 0x40061739, 0x8f2aaa48 523*25c28e83SPiotr Jasiukajtis .word 0xbc9b672b, 0xba260735, 0x00000000, 0x00000000 524*25c28e83SPiotr Jasiukajtis .word 0x3ff0b7e6, 0xec259dc8, 0x3fff4e11, 0x5049ec26 525*25c28e83SPiotr Jasiukajtis .word 0xbc9b6656, 0xb6bd5d76, 0x00000000, 0x00000000 526*25c28e83SPiotr Jasiukajtis .word 0x3ff0b7e6, 0xec259dc8, 0x400622cd, 0x337f0fe8 527*25c28e83SPiotr Jasiukajtis .word 0x3c9fe207, 0x3279559f, 0x00000000, 0x00000000 528*25c28e83SPiotr Jasiukajtis .word 0x3ff0a681, 0x0a6810a7, 0x3fff5e67, 0xfdcbdf44 529*25c28e83SPiotr Jasiukajtis .word 0xbc98af06, 0x1849d6fc, 0x00000000, 0x00000000 530*25c28e83SPiotr Jasiukajtis .word 0x3ff0a681, 0x0a6810a7, 0x40062e5a, 0xcd0c3ebe 531*25c28e83SPiotr Jasiukajtis .word 0xbca2c50e, 0x2092203a, 0x00000000, 0x00000000 532*25c28e83SPiotr Jasiukajtis .word 0x3ff0953f, 0x39010954, 0x3fff6eb6, 0x2d27730d 533*25c28e83SPiotr Jasiukajtis .word 0xbc9401d9, 0x5ca1ce34, 0x00000000, 0x00000000 534*25c28e83SPiotr Jasiukajtis .word 0x3ff0953f, 0x39010954, 0x400639e2, 0x653e421b 535*25c28e83SPiotr Jasiukajtis .word 0xbc9f75e0, 0x5835e4b9, 0x00000000, 0x00000000 536*25c28e83SPiotr Jasiukajtis .word 0x3ff08421, 0x08421084, 0x3fff7efb, 0xeb8d4f12 537*25c28e83SPiotr Jasiukajtis .word 0xbc7e84e8, 0xa6ff3256, 0x00000000, 0x00000000 538*25c28e83SPiotr Jasiukajtis .word 0x3ff08421, 0x08421084, 0x40064564, 0x0568c1c3 539*25c28e83SPiotr Jasiukajtis .word 0x3cad1778, 0x7e4c8970, 0x00000000, 0x00000000 540*25c28e83SPiotr Jasiukajtis .word 0x3ff07326, 0x0a47f7c6, 0x3fff8f39, 0x460c19a8 541*25c28e83SPiotr Jasiukajtis .word 0x3c989b4e, 0x16ee9aaf, 0x00000000, 0x00000000 542*25c28e83SPiotr Jasiukajtis .word 0x3ff07326, 0x0a47f7c6, 0x400650df, 0xb6c759f4 543*25c28e83SPiotr Jasiukajtis .word 0x3c99063c, 0x91db4c77, 0x00000000, 0x00000000 544*25c28e83SPiotr Jasiukajtis .word 0x3ff0624d, 0xd2f1a9fc, 0x3fff9f6e, 0x4990f227 545*25c28e83SPiotr Jasiukajtis .word 0x3c8b42e5, 0xb5d1e808, 0x00000000, 0x00000000 546*25c28e83SPiotr Jasiukajtis .word 0x3ff0624d, 0xd2f1a9fc, 0x40065c55, 0x827df1d2 547*25c28e83SPiotr Jasiukajtis .word 0xbca3923d, 0xf03e1e2f, 0x00000000, 0x00000000 548*25c28e83SPiotr Jasiukajtis .word 0x3ff05197, 0xf7d73404, 0x3fffaf9b, 0x02e7e8f2 549*25c28e83SPiotr Jasiukajtis .word 0x3c897a76, 0x8f34e1c2, 0x00000000, 0x00000000 550*25c28e83SPiotr Jasiukajtis .word 0x3ff05197, 0xf7d73404, 0x400667c5, 0x7199104b 551*25c28e83SPiotr Jasiukajtis .word 0x3c875b89, 0x6f332e70, 0x00000000, 0x00000000 552*25c28e83SPiotr Jasiukajtis .word 0x3ff04104, 0x10410410, 0x3fffbfbf, 0x7ebc755f 553*25c28e83SPiotr Jasiukajtis .word 0xbc9b2a94, 0x084da0b6, 0x00000000, 0x00000000 554*25c28e83SPiotr Jasiukajtis .word 0x3ff04104, 0x10410410, 0x4006732f, 0x8d0e2f77 555*25c28e83SPiotr Jasiukajtis .word 0xbc93dffd, 0x470422e3, 0x00000000, 0x00000000 556*25c28e83SPiotr Jasiukajtis .word 0x3ff03091, 0xb51f5e1a, 0x3fffcfdb, 0xc999e97d 557*25c28e83SPiotr Jasiukajtis .word 0x3c82be17, 0xecdd3bbc, 0x00000000, 0x00000000 558*25c28e83SPiotr Jasiukajtis .word 0x3ff03091, 0xb51f5e1a, 0x40067e93, 0xddbc0e73 559*25c28e83SPiotr Jasiukajtis .word 0xbc86eb9f, 0x32ac1a5c, 0x00000000, 0x00000000 560*25c28e83SPiotr Jasiukajtis .word 0x3ff02040, 0x81020408, 0x3fffdfef, 0xefebe3d6 561*25c28e83SPiotr Jasiukajtis .word 0xbc909afc, 0xfc7c1f3b, 0x00000000, 0x00000000 562*25c28e83SPiotr Jasiukajtis .word 0x3ff02040, 0x81020408, 0x400689f2, 0x6c6b01d0 563*25c28e83SPiotr Jasiukajtis .word 0x3cae816f, 0x9d2a1032, 0x00000000, 0x00000000 564*25c28e83SPiotr Jasiukajtis .word 0x3ff01010, 0x10101010, 0x3fffeffb, 0xfdfebf1f 565*25c28e83SPiotr Jasiukajtis .word 0x3c95dee5, 0x1994f18b, 0x00000000, 0x00000000 566*25c28e83SPiotr Jasiukajtis .word 0x3ff01010, 0x10101010, 0x4006954b, 0x41cd4293 567*25c28e83SPiotr Jasiukajtis .word 0x3ca3d5bc, 0xcc443076, 0x00000000, 0x00000000 568*25c28e83SPiotr Jasiukajtis .word 0x3ff00000, 0x00000000, 0x40000000, 0x00000000 569*25c28e83SPiotr Jasiukajtis .word 0x00000000, 0x00000000, 0x00000000, 0x00000000 570*25c28e83SPiotr Jasiukajtis .word 0x3ff00000, 0x00000000, 0x4006a09e, 0x667f3bcd 571*25c28e83SPiotr Jasiukajtis .word 0xbcabdd34, 0x13b26456, 0x00000000, 0x00000000 572*25c28e83SPiotr Jasiukajtis 573*25c28e83SPiotr Jasiukajtis#define A5 %f32 574*25c28e83SPiotr Jasiukajtis#define A4 %f30 575*25c28e83SPiotr Jasiukajtis#define A3 %f28 576*25c28e83SPiotr Jasiukajtis#define A2 %f26 577*25c28e83SPiotr Jasiukajtis#define A1 %f56 578*25c28e83SPiotr Jasiukajtis 579*25c28e83SPiotr Jasiukajtis#define DC0 %f8 580*25c28e83SPiotr Jasiukajtis#define DC2 %f6 581*25c28e83SPiotr Jasiukajtis#define DC3 %f4 582*25c28e83SPiotr Jasiukajtis 583*25c28e83SPiotr Jasiukajtis#define counter %l3 584*25c28e83SPiotr Jasiukajtis#define TBL %l5 585*25c28e83SPiotr Jasiukajtis#define stridex %l6 586*25c28e83SPiotr Jasiukajtis#define stridey %l7 587*25c28e83SPiotr Jasiukajtis 588*25c28e83SPiotr Jasiukajtis#define _0x00001ff8 %i0 589*25c28e83SPiotr Jasiukajtis#define _0x7ff00000 %o0 590*25c28e83SPiotr Jasiukajtis#define _0x00100000 %o2 591*25c28e83SPiotr Jasiukajtis 592*25c28e83SPiotr Jasiukajtis#define tmp_counter STACK_BIAS-0x40 593*25c28e83SPiotr Jasiukajtis#define tmp_px STACK_BIAS-0x38 594*25c28e83SPiotr Jasiukajtis#define tmp0 STACK_BIAS-0x30 595*25c28e83SPiotr Jasiukajtis#define tmp1 STACK_BIAS-0x28 596*25c28e83SPiotr Jasiukajtis#define tmp2 STACK_BIAS-0x20 597*25c28e83SPiotr Jasiukajtis#define tmp3 STACK_BIAS-0x18 598*25c28e83SPiotr Jasiukajtis#define tmp4 STACK_BIAS-0x10 599*25c28e83SPiotr Jasiukajtis#define tmp5 STACK_BIAS-0x08 600*25c28e83SPiotr Jasiukajtis 601*25c28e83SPiotr Jasiukajtis! sizeof temp storage - must be a multiple of 16 for V9 602*25c28e83SPiotr Jasiukajtis#define tmps 0x40 603*25c28e83SPiotr Jasiukajtis 604*25c28e83SPiotr Jasiukajtis!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 605*25c28e83SPiotr Jasiukajtis! !!!!! algorithm !!!!! 606*25c28e83SPiotr Jasiukajtis! ((float*)&res)[0] = ((float*)px)[0]; 607*25c28e83SPiotr Jasiukajtis! ((float*)&res)[1] = ((float*)px)[1]; 608*25c28e83SPiotr Jasiukajtis! hx = *(int*)px; 609*25c28e83SPiotr Jasiukajtis! px += stridex; 610*25c28e83SPiotr Jasiukajtis! 611*25c28e83SPiotr Jasiukajtis! if ( hx >= 0x7ff00000 ) 612*25c28e83SPiotr Jasiukajtis! { 613*25c28e83SPiotr Jasiukajtis! res = sqrt(res); 614*25c28e83SPiotr Jasiukajtis! ((float*)py)[0] = ((float*)&res)[0]; 615*25c28e83SPiotr Jasiukajtis! ((float*)py)[1] = ((float*)&res)[1]; 616*25c28e83SPiotr Jasiukajtis! py += stridey; 617*25c28e83SPiotr Jasiukajtis! goto next; 618*25c28e83SPiotr Jasiukajtis! } 619*25c28e83SPiotr Jasiukajtis! if ( hx < 0x00100000 ) 620*25c28e83SPiotr Jasiukajtis! { 621*25c28e83SPiotr Jasiukajtis! res = sqrt(res); 622*25c28e83SPiotr Jasiukajtis! ((float*)py)[0] = ((float*)&res)[0]; 623*25c28e83SPiotr Jasiukajtis! ((float*)py)[1] = ((float*)&res)[1]; 624*25c28e83SPiotr Jasiukajtis! py += stridey; 625*25c28e83SPiotr Jasiukajtis! goto next; 626*25c28e83SPiotr Jasiukajtis! } 627*25c28e83SPiotr Jasiukajtis! 628*25c28e83SPiotr Jasiukajtis! sqrt_exp = hx >> 21; 629*25c28e83SPiotr Jasiukajtis! sqrt_exp -= 512; 630*25c28e83SPiotr Jasiukajtis! sqrt_exp <<= 52; 631*25c28e83SPiotr Jasiukajtis! dsqrt_exp = *(double*)&sqrt_exp; 632*25c28e83SPiotr Jasiukajtis! bit = hx >> 15; 633*25c28e83SPiotr Jasiukajtis! bit &= 32; 634*25c28e83SPiotr Jasiukajtis! ind0 = hx >> 7; 635*25c28e83SPiotr Jasiukajtis! ind0 &= 0x1ff8; 636*25c28e83SPiotr Jasiukajtis! ind0 += 32; 637*25c28e83SPiotr Jasiukajtis! ind0 &= -64; 638*25c28e83SPiotr Jasiukajtis! ind1 = ind0; 639*25c28e83SPiotr Jasiukajtis! ind1 += bit; 640*25c28e83SPiotr Jasiukajtis! 641*25c28e83SPiotr Jasiukajtis! res = vis_fand(res,DC0); /* DC0 = vis_to_double(0x000fffff, 0xffffffff); */ 642*25c28e83SPiotr Jasiukajtis! res = vis_for(res,A1); /* A1 = vis_to_double(0x3fe00000, 0x00000000); */ 643*25c28e83SPiotr Jasiukajtis! res_c = vis_fpadd32(res,DC2); /* DC2 = vis_to_double(0x00001000, 0x00000000); */ 644*25c28e83SPiotr Jasiukajtis! res_c = vis_fand(res_c,DC3); /* DC3 = vis_to_double(0x7fffe000, 0x00000000); */ 645*25c28e83SPiotr Jasiukajtis! 646*25c28e83SPiotr Jasiukajtis! pind = (char*)TBL + ind1; 647*25c28e83SPiotr Jasiukajtis! dexp_hi = ((double*)pind)[1]; 648*25c28e83SPiotr Jasiukajtis! dexp_lo = ((double*)pind)[2]; 649*25c28e83SPiotr Jasiukajtis! 650*25c28e83SPiotr Jasiukajtis! dtmp0 = ((double*)pind)[0]; 651*25c28e83SPiotr Jasiukajtis! xx = (res - res_c); 652*25c28e83SPiotr Jasiukajtis! xx *= dtmp0; 653*25c28e83SPiotr Jasiukajtis! 654*25c28e83SPiotr Jasiukajtis! res = A5 * xx; 655*25c28e83SPiotr Jasiukajtis! res += A4; 656*25c28e83SPiotr Jasiukajtis! res *= xx; 657*25c28e83SPiotr Jasiukajtis! res += A3; 658*25c28e83SPiotr Jasiukajtis! res *= xx; 659*25c28e83SPiotr Jasiukajtis! res += A2; 660*25c28e83SPiotr Jasiukajtis! res *= xx; 661*25c28e83SPiotr Jasiukajtis! res += A1; 662*25c28e83SPiotr Jasiukajtis! res *= xx; 663*25c28e83SPiotr Jasiukajtis! 664*25c28e83SPiotr Jasiukajtis! res = dexp_hi * res; 665*25c28e83SPiotr Jasiukajtis! res += dexp_lo; 666*25c28e83SPiotr Jasiukajtis! res += dexp_hi; 667*25c28e83SPiotr Jasiukajtis! 668*25c28e83SPiotr Jasiukajtis! dtmp0 = vis_fpadd32(dsqrt_exp,res); 669*25c28e83SPiotr Jasiukajtis! ((float*)py)[0] = ((float*)&dtmp0)[0]; 670*25c28e83SPiotr Jasiukajtis! ((float*)py)[1] = ((float*)&dtmp0)[1]; 671*25c28e83SPiotr Jasiukajtis! py += stridey; 672*25c28e83SPiotr Jasiukajtis! 673*25c28e83SPiotr Jasiukajtis!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 674*25c28e83SPiotr Jasiukajtis 675*25c28e83SPiotr Jasiukajtis ENTRY(__vsqrt) 676*25c28e83SPiotr Jasiukajtis save %sp,-SA(MINFRAME)-tmps,%sp 677*25c28e83SPiotr Jasiukajtis PIC_SETUP(l7) 678*25c28e83SPiotr Jasiukajtis PIC_SET(l7,.CONST_TBL,l5) 679*25c28e83SPiotr Jasiukajtis wr %g0,0x82,%asi 680*25c28e83SPiotr Jasiukajtis 681*25c28e83SPiotr Jasiukajtis ldd [TBL],A1 682*25c28e83SPiotr Jasiukajtis sll %i2,3,stridex 683*25c28e83SPiotr Jasiukajtis or %g0,%i3,%o4 684*25c28e83SPiotr Jasiukajtis 685*25c28e83SPiotr Jasiukajtis ldd [TBL+8],A2 686*25c28e83SPiotr Jasiukajtis sll %i4,3,stridey 687*25c28e83SPiotr Jasiukajtis or %g0,0x7ff,%o0 688*25c28e83SPiotr Jasiukajtis 689*25c28e83SPiotr Jasiukajtis ldd [TBL+16],A3 690*25c28e83SPiotr Jasiukajtis sll %o0,20,_0x7ff00000 691*25c28e83SPiotr Jasiukajtis or %g0,0x001,%o2 692*25c28e83SPiotr Jasiukajtis 693*25c28e83SPiotr Jasiukajtis ldd [TBL+24],A4 694*25c28e83SPiotr Jasiukajtis sll %o2,20,_0x00100000 695*25c28e83SPiotr Jasiukajtis 696*25c28e83SPiotr Jasiukajtis ldd [TBL+32],A5 697*25c28e83SPiotr Jasiukajtis ldd [TBL+40],DC0 698*25c28e83SPiotr Jasiukajtis ldd [TBL+48],DC2 699*25c28e83SPiotr Jasiukajtis ldd [TBL+56],DC3 700*25c28e83SPiotr Jasiukajtis 701*25c28e83SPiotr Jasiukajtis add TBL,64,TBL 702*25c28e83SPiotr Jasiukajtis add %g0,1023,%o5 703*25c28e83SPiotr Jasiukajtis st %i0,[%fp+tmp_counter] 704*25c28e83SPiotr Jasiukajtis 705*25c28e83SPiotr Jasiukajtis sll %o5,3,_0x00001ff8 706*25c28e83SPiotr Jasiukajtis stx %i1,[%fp+tmp_px] 707*25c28e83SPiotr Jasiukajtis 708*25c28e83SPiotr Jasiukajtis.begin: 709*25c28e83SPiotr Jasiukajtis ld [%fp+tmp_counter],counter 710*25c28e83SPiotr Jasiukajtis ldx [%fp+tmp_px],%l2 711*25c28e83SPiotr Jasiukajtis st %g0,[%fp+tmp_counter] 712*25c28e83SPiotr Jasiukajtis.begin1: 713*25c28e83SPiotr Jasiukajtis cmp counter,0 714*25c28e83SPiotr Jasiukajtis ble,pn %icc,.exit 715*25c28e83SPiotr Jasiukajtis lda [%l2]%asi,%o5 ! (5_1) hx = *(int*)px; 716*25c28e83SPiotr Jasiukajtis 717*25c28e83SPiotr Jasiukajtis lda [%l2]%asi,%f10 ! (5_0) ((float*)&res)[0] = ((float*)px)[0]; 718*25c28e83SPiotr Jasiukajtis 719*25c28e83SPiotr Jasiukajtis lda [%l2+4]%asi,%f11 ! (5_0) ((float*)&res)[1] = ((float*)px)[1]; 720*25c28e83SPiotr Jasiukajtis 721*25c28e83SPiotr Jasiukajtis cmp %o5,_0x7ff00000 ! (5_1) hx ? 0x7ff00000 722*25c28e83SPiotr Jasiukajtis bge,pn %icc,.spec ! (5_1) if ( hx >= 0x7ff00000 ) 723*25c28e83SPiotr Jasiukajtis nop 724*25c28e83SPiotr Jasiukajtis 725*25c28e83SPiotr Jasiukajtis cmp %o5,_0x00100000 ! (5_1) hx ? 0x00100000 726*25c28e83SPiotr Jasiukajtis bl,pn %icc,.spec ! (5_1) if ( hx < 0x00100000 ) 727*25c28e83SPiotr Jasiukajtis nop 728*25c28e83SPiotr Jasiukajtis 729*25c28e83SPiotr Jasiukajtis add %l2,stridex,%l2 ! px += stridex 730*25c28e83SPiotr Jasiukajtis fand %f10,DC0,%f50 ! (5_1) res = vis_fand(res,DC0); 731*25c28e83SPiotr Jasiukajtis 732*25c28e83SPiotr Jasiukajtis for %f50,A1,%f40 ! (5_1) res = vis_for(res,A1); 733*25c28e83SPiotr Jasiukajtis sra %o5,21,%l1 ! (5_1) sqrt_exp = hx >> 21; 734*25c28e83SPiotr Jasiukajtis sra %o5,15,%i1 ! (5_1) bit = hx >> 15; 735*25c28e83SPiotr Jasiukajtis 736*25c28e83SPiotr Jasiukajtis sra %o5,7,%o1 ! (5_1) ind0 = hx >> 7; 737*25c28e83SPiotr Jasiukajtis sub %l1,512,%o3 ! (5_1) sqrt_exp -= 512; 738*25c28e83SPiotr Jasiukajtis 739*25c28e83SPiotr Jasiukajtis and %o1,_0x00001ff8,%o1 ! (5_1) ind0 &= 0x1ff8; 740*25c28e83SPiotr Jasiukajtis lda [%l2]%asi,%f10 ! (0_0) ((float*)&res)[0] = ((float*)px)[0]; 741*25c28e83SPiotr Jasiukajtis 742*25c28e83SPiotr Jasiukajtis add %o1,32,%o1 ! (5_1) ind0 += 32; 743*25c28e83SPiotr Jasiukajtis lda [%l2+4]%asi,%f11 ! (0_0) ((float*)&res)[1] = ((float*)px)[1]; 744*25c28e83SPiotr Jasiukajtis 745*25c28e83SPiotr Jasiukajtis and %i1,32,%i4 ! (5_1) bit &= 32; 746*25c28e83SPiotr Jasiukajtis and %o1,-64,%o1 ! (5_1) ind0 &= -8; 747*25c28e83SPiotr Jasiukajtis 748*25c28e83SPiotr Jasiukajtis sll %o1,0,%o7 ! (5_1) ind1 = ind0; 749*25c28e83SPiotr Jasiukajtis 750*25c28e83SPiotr Jasiukajtis sllx %o3,52,%o3 ! (5_1) sqrt_exp <<= 52; 751*25c28e83SPiotr Jasiukajtis add %o7,%i4,%l0 ! (5_1) ind1 += bit; 752*25c28e83SPiotr Jasiukajtis lda [%l2]%asi,%o5 ! (0_0) hx = *(int*)px; 753*25c28e83SPiotr Jasiukajtis 754*25c28e83SPiotr Jasiukajtis stx %o3,[%fp+tmp0] ! (5_1) dsqrt_exp = *(double*)&sqrt_exp; 755*25c28e83SPiotr Jasiukajtis fand %f10,DC0,%f50 ! (0_0) res = vis_fand(res,DC0); 756*25c28e83SPiotr Jasiukajtis 757*25c28e83SPiotr Jasiukajtis add %l2,stridex,%l2 ! px += stridex 758*25c28e83SPiotr Jasiukajtis fpadd32 %f40,DC2,%f54 ! (5_1) res_c = vis_fpadd32(res,DC2); 759*25c28e83SPiotr Jasiukajtis 760*25c28e83SPiotr Jasiukajtis add %l0,TBL,%o1 ! (5_1) pind = (char*)TBL + ind1 761*25c28e83SPiotr Jasiukajtis 762*25c28e83SPiotr Jasiukajtis cmp %o5,_0x7ff00000 ! (0_0) hx ? 0x7ff00000 763*25c28e83SPiotr Jasiukajtis bge,pn %icc,.update0 ! (0_0) if ( hx >= 0x7ff00000 ) 764*25c28e83SPiotr Jasiukajtis for %f50,A1,%f42 ! (0_0) res = vis_for(res,A1); 765*25c28e83SPiotr Jasiukajtis.cont0: 766*25c28e83SPiotr Jasiukajtis sra %o5,21,%l1 ! (0_0) sqrt_exp = hx >> 21; 767*25c28e83SPiotr Jasiukajtis sra %o5,15,%i2 ! (0_0) bit = hx >> 15; 768*25c28e83SPiotr Jasiukajtis ldd [%o1],%f50 ! (5_1) dtmp0 = ((double*)pind)[0]; 769*25c28e83SPiotr Jasiukajtis 770*25c28e83SPiotr Jasiukajtis sra %o5,7,%o1 ! (0_0) ind0 = hx >> 7; 771*25c28e83SPiotr Jasiukajtis sub %l1,512,%o3 ! (0_0) sqrt_exp -= 512; 772*25c28e83SPiotr Jasiukajtis fand %f54,DC3,%f54 ! (5_1) res_c = vis_fand(res_c,DC3); 773*25c28e83SPiotr Jasiukajtis 774*25c28e83SPiotr Jasiukajtis and %o1,_0x00001ff8,%o1 ! (0_0) ind0 &= 0x1ff8; 775*25c28e83SPiotr Jasiukajtis lda [%l2]%asi,%f10 ! (1_0) ((float*)&res)[0] = ((float*)px)[0]; 776*25c28e83SPiotr Jasiukajtis 777*25c28e83SPiotr Jasiukajtis add %o1,32,%o1 ! (0_0) ind0 += 32; 778*25c28e83SPiotr Jasiukajtis lda [%l2+4]%asi,%f11 ! (1_0) ((float*)&res)[1] = ((float*)px)[1]; 779*25c28e83SPiotr Jasiukajtis 780*25c28e83SPiotr Jasiukajtis and %i2,32,%i4 ! (0_0) bit &= 32; 781*25c28e83SPiotr Jasiukajtis and %o1,-64,%o1 ! (0_0) ind0 &= -8; 782*25c28e83SPiotr Jasiukajtis fsubd %f40,%f54,%f40 ! (5_1) xx = (res - res_c); 783*25c28e83SPiotr Jasiukajtis 784*25c28e83SPiotr Jasiukajtis sll %o1,0,%o7 ! (0_0) ind1 = ind0; 785*25c28e83SPiotr Jasiukajtis 786*25c28e83SPiotr Jasiukajtis cmp %o5,_0x00100000 ! (0_0) hx ? 0x00100000 787*25c28e83SPiotr Jasiukajtis bl,pn %icc,.update1 ! (0_0) if ( hx < 0x00100000 ) 788*25c28e83SPiotr Jasiukajtis lda [%l2]%asi,%o5 ! (1_0) hx = *(int*)px; 789*25c28e83SPiotr Jasiukajtis.cont1: 790*25c28e83SPiotr Jasiukajtis sllx %o3,52,%o3 ! (0_0) sqrt_exp <<= 52; 791*25c28e83SPiotr Jasiukajtis add %o7,%i4,%i1 ! (0_0) ind1 += bit; 792*25c28e83SPiotr Jasiukajtis 793*25c28e83SPiotr Jasiukajtis fmuld %f40,%f50,%f40 ! (5_1) xx *= dtmp0; 794*25c28e83SPiotr Jasiukajtis stx %o3,[%fp+tmp1] ! (0_0) dsqrt_exp = *(double*)&sqrt_exp; 795*25c28e83SPiotr Jasiukajtis fand %f10,DC0,%f50 ! (1_0) res = vis_fand(res,DC0); 796*25c28e83SPiotr Jasiukajtis 797*25c28e83SPiotr Jasiukajtis add %l2,stridex,%l2 ! px += stridex 798*25c28e83SPiotr Jasiukajtis fpadd32 %f42,DC2,%f54 ! (0_0) res_c = vis_fpadd32(res,DC2); 799*25c28e83SPiotr Jasiukajtis 800*25c28e83SPiotr Jasiukajtis add %i1,TBL,%o1 ! (0_0) pind = (char*)TBL + ind1 801*25c28e83SPiotr Jasiukajtis 802*25c28e83SPiotr Jasiukajtis cmp %o5,_0x7ff00000 ! (1_0) hx ? 0x7ff00000 803*25c28e83SPiotr Jasiukajtis bge,pn %icc,.update2 ! (1_0) if ( hx >= 0x7ff00000 ) 804*25c28e83SPiotr Jasiukajtis for %f50,A1,%f14 ! (1_0) res = vis_for(res,A1); 805*25c28e83SPiotr Jasiukajtis.cont2: 806*25c28e83SPiotr Jasiukajtis sra %o5,21,%l1 ! (1_0) sqrt_exp = hx >> 21; 807*25c28e83SPiotr Jasiukajtis sra %o5,15,%g5 ! (1_0) bit = hx >> 15; 808*25c28e83SPiotr Jasiukajtis ldd [%o1],%f50 ! (0_0) dtmp0 = ((double*)pind)[0]; 809*25c28e83SPiotr Jasiukajtis 810*25c28e83SPiotr Jasiukajtis fmuld A5,%f40,%f52 ! (5_1) res = A5 * xx; 811*25c28e83SPiotr Jasiukajtis sra %o5,7,%o1 ! (1_0) ind0 = hx >> 7; 812*25c28e83SPiotr Jasiukajtis sub %l1,512,%o3 ! (1_0) sqrt_exp -= 512; 813*25c28e83SPiotr Jasiukajtis fand %f54,DC3,%f54 ! (0_0) res_c = vis_fand(res_c,DC3); 814*25c28e83SPiotr Jasiukajtis 815*25c28e83SPiotr Jasiukajtis and %o1,_0x00001ff8,%o1 ! (1_0) ind0 &= 0x1ff8; 816*25c28e83SPiotr Jasiukajtis lda [%l2]%asi,%f10 ! (2_0) ((float*)&res)[0] = ((float*)px)[0]; 817*25c28e83SPiotr Jasiukajtis 818*25c28e83SPiotr Jasiukajtis add %o1,32,%o1 ! (1_0) ind0 += 32; 819*25c28e83SPiotr Jasiukajtis lda [%l2+4]%asi,%f11 ! (2_0) ((float*)&res)[1] = ((float*)px)[1]; 820*25c28e83SPiotr Jasiukajtis 821*25c28e83SPiotr Jasiukajtis and %g5,32,%i4 ! (1_0) bit &= 32; 822*25c28e83SPiotr Jasiukajtis and %o1,-64,%o1 ! (1_0) ind0 &= -8; 823*25c28e83SPiotr Jasiukajtis fsubd %f42,%f54,%f42 ! (0_0) xx = (res - res_c); 824*25c28e83SPiotr Jasiukajtis 825*25c28e83SPiotr Jasiukajtis sll %o1,0,%o7 ! (1_0) ind1 = ind0; 826*25c28e83SPiotr Jasiukajtis faddd %f52,A4,%f54 ! (5_1) res += A4; 827*25c28e83SPiotr Jasiukajtis 828*25c28e83SPiotr Jasiukajtis cmp %o5,_0x00100000 ! (1_0) hx ? 0x00100000 829*25c28e83SPiotr Jasiukajtis bl,pn %icc,.update3 ! (1_0) if ( hx < 0x00100000 ) 830*25c28e83SPiotr Jasiukajtis lda [%l2]%asi,%o5 ! (2_0) hx = *(int*)px; 831*25c28e83SPiotr Jasiukajtis.cont3: 832*25c28e83SPiotr Jasiukajtis sllx %o3,52,%o3 ! (1_0) sqrt_exp <<= 52; 833*25c28e83SPiotr Jasiukajtis add %o7,%i4,%i2 ! (1_0) ind1 += bit; 834*25c28e83SPiotr Jasiukajtis 835*25c28e83SPiotr Jasiukajtis fmuld %f42,%f50,%f42 ! (0_0) xx *= dtmp0; 836*25c28e83SPiotr Jasiukajtis stx %o3,[%fp+tmp2] ! (1_0) dsqrt_exp = *(double*)&sqrt_exp; 837*25c28e83SPiotr Jasiukajtis fand %f10,DC0,%f50 ! (2_0) res = vis_fand(res,DC0); 838*25c28e83SPiotr Jasiukajtis 839*25c28e83SPiotr Jasiukajtis fmuld %f54,%f40,%f34 ! (5_1) res *= xx; 840*25c28e83SPiotr Jasiukajtis fpadd32 %f14,DC2,%f54 ! (1_0) res_c = vis_fpadd32(res,DC2); 841*25c28e83SPiotr Jasiukajtis add %l2,stridex,%l2 ! px += stridex 842*25c28e83SPiotr Jasiukajtis 843*25c28e83SPiotr Jasiukajtis add %i2,TBL,%o1 ! (1_0) pind = (char*)TBL + ind1 844*25c28e83SPiotr Jasiukajtis 845*25c28e83SPiotr Jasiukajtis cmp %o5,_0x7ff00000 ! (2_0) hx ? 0x7ff00000 846*25c28e83SPiotr Jasiukajtis bge,pn %icc,.update4 ! (2_0) if ( hx >= 0x7ff00000 ) 847*25c28e83SPiotr Jasiukajtis for %f50,A1,%f18 ! (2_0) res = vis_for(res,A1); 848*25c28e83SPiotr Jasiukajtis.cont4: 849*25c28e83SPiotr Jasiukajtis sra %o5,21,%l1 ! (2_0) sqrt_exp = hx >> 21; 850*25c28e83SPiotr Jasiukajtis sra %o5,15,%g1 ! (2_0) bit = hx >> 15; 851*25c28e83SPiotr Jasiukajtis ldd [%o1],%f50 ! (1_0) dtmp0 = ((double*)pind)[0]; 852*25c28e83SPiotr Jasiukajtis 853*25c28e83SPiotr Jasiukajtis fmuld A5,%f42,%f52 ! (0_0) res = A5 * xx; 854*25c28e83SPiotr Jasiukajtis sra %o5,7,%o1 ! (2_0) ind0 = hx >> 7; 855*25c28e83SPiotr Jasiukajtis sub %l1,512,%o3 ! (2_0) sqrt_exp -= 512; 856*25c28e83SPiotr Jasiukajtis fand %f54,DC3,%f54 ! (1_0) res_c = vis_fand(res_c,DC3); 857*25c28e83SPiotr Jasiukajtis 858*25c28e83SPiotr Jasiukajtis and %o1,_0x00001ff8,%o1 ! (2_0) ind0 &= 0x1ff8; 859*25c28e83SPiotr Jasiukajtis lda [%l2]%asi,%f10 ! (3_0) ((float*)&res)[0] = ((float*)px)[0]; 860*25c28e83SPiotr Jasiukajtis faddd %f34,A3,%f62 ! (5_1) res += A3; 861*25c28e83SPiotr Jasiukajtis 862*25c28e83SPiotr Jasiukajtis add %o1,32,%o1 ! (2_0) ind0 += 32; 863*25c28e83SPiotr Jasiukajtis lda [%l2+4]%asi,%f11 ! (3_0) ((float*)&res)[1] = ((float*)px)[1]; 864*25c28e83SPiotr Jasiukajtis 865*25c28e83SPiotr Jasiukajtis and %g1,32,%i4 ! (2_0) bit &= 32; 866*25c28e83SPiotr Jasiukajtis and %o1,-64,%o1 ! (2_0) ind0 &= -8; 867*25c28e83SPiotr Jasiukajtis fsubd %f14,%f54,%f14 ! (1_0) xx = (res - res_c); 868*25c28e83SPiotr Jasiukajtis 869*25c28e83SPiotr Jasiukajtis sll %o1,0,%o7 ! (2_0) ind1 = ind0; 870*25c28e83SPiotr Jasiukajtis faddd %f52,A4,%f54 ! (0_0) res += A4; 871*25c28e83SPiotr Jasiukajtis 872*25c28e83SPiotr Jasiukajtis fmuld %f62,%f40,%f52 ! (5_1) res *= xx; 873*25c28e83SPiotr Jasiukajtis cmp %o5,_0x00100000 ! (2_0) hx ? 0x00100000 874*25c28e83SPiotr Jasiukajtis bl,pn %icc,.update5 ! (2_0) if ( hx < 0x00100000 ) 875*25c28e83SPiotr Jasiukajtis lda [%l2]%asi,%o5 ! (3_0) hx = *(int*)px; 876*25c28e83SPiotr Jasiukajtis.cont5: 877*25c28e83SPiotr Jasiukajtis sllx %o3,52,%o3 ! (2_0) sqrt_exp <<= 52; 878*25c28e83SPiotr Jasiukajtis add %o7,%i4,%g5 ! (2_0) ind1 += bit; 879*25c28e83SPiotr Jasiukajtis 880*25c28e83SPiotr Jasiukajtis fmuld %f14,%f50,%f14 ! (1_0) xx *= dtmp0; 881*25c28e83SPiotr Jasiukajtis stx %o3,[%fp+tmp3] ! (2_0) dsqrt_exp = *(double*)&sqrt_exp; 882*25c28e83SPiotr Jasiukajtis fand %f10,DC0,%f50 ! (3_0) res = vis_fand(res,DC0); 883*25c28e83SPiotr Jasiukajtis 884*25c28e83SPiotr Jasiukajtis fmuld %f54,%f42,%f34 ! (0_0) res *= xx; 885*25c28e83SPiotr Jasiukajtis fpadd32 %f18,DC2,%f54 ! (2_0) res_c = vis_fpadd32(res,DC2); 886*25c28e83SPiotr Jasiukajtis add %l2,stridex,%l2 ! px += stridex 887*25c28e83SPiotr Jasiukajtis 888*25c28e83SPiotr Jasiukajtis add %g5,TBL,%o1 ! (2_0) pind = (char*)TBL + ind1 889*25c28e83SPiotr Jasiukajtis faddd %f52,A2,%f20 ! (5_1) res += A2; 890*25c28e83SPiotr Jasiukajtis 891*25c28e83SPiotr Jasiukajtis cmp %o5,_0x7ff00000 ! (3_0) hx ? 0x7ff00000 892*25c28e83SPiotr Jasiukajtis bge,pn %icc,.update6 ! (3_0) if ( hx >= 0x7ff00000 ) 893*25c28e83SPiotr Jasiukajtis for %f50,A1,%f44 ! (3_0) res = vis_for(res,A1); 894*25c28e83SPiotr Jasiukajtis.cont6: 895*25c28e83SPiotr Jasiukajtis sra %o5,21,%l1 ! (3_0) sqrt_exp = hx >> 21; 896*25c28e83SPiotr Jasiukajtis sra %o5,15,%i3 ! (3_0) bit = hx >> 15; 897*25c28e83SPiotr Jasiukajtis ldd [%o1],%f50 ! (2_0) dtmp0 = ((double*)pind)[0]; 898*25c28e83SPiotr Jasiukajtis 899*25c28e83SPiotr Jasiukajtis fmuld A5,%f14,%f52 ! (1_0) res = A5 * xx; 900*25c28e83SPiotr Jasiukajtis sra %o5,7,%o1 ! (3_0) ind0 = hx >> 7; 901*25c28e83SPiotr Jasiukajtis sub %l1,512,%o3 ! (3_0) sqrt_exp -= 512; 902*25c28e83SPiotr Jasiukajtis fand %f54,DC3,%f54 ! (2_0) res_c = vis_fand(res_c,DC3); 903*25c28e83SPiotr Jasiukajtis 904*25c28e83SPiotr Jasiukajtis fmuld %f20,%f40,%f20 ! (5_1) res *= xx; 905*25c28e83SPiotr Jasiukajtis and %o1,_0x00001ff8,%o1 ! (3_0) ind0 &= 0x1ff8; 906*25c28e83SPiotr Jasiukajtis lda [%l2]%asi,%f10 ! (4_0) ((float*)&res)[0] = ((float*)px)[0]; 907*25c28e83SPiotr Jasiukajtis faddd %f34,A3,%f62 ! (0_0) res += A3; 908*25c28e83SPiotr Jasiukajtis 909*25c28e83SPiotr Jasiukajtis add %o1,32,%o1 ! (3_0) ind0 += 32; 910*25c28e83SPiotr Jasiukajtis lda [%l2+4]%asi,%f11 ! (4_0) ((float*)&res)[1] = ((float*)px)[1]; 911*25c28e83SPiotr Jasiukajtis 912*25c28e83SPiotr Jasiukajtis and %i3,32,%i4 ! (3_0) bit &= 32; 913*25c28e83SPiotr Jasiukajtis and %o1,-64,%o1 ! (3_0) ind0 &= -8; 914*25c28e83SPiotr Jasiukajtis fsubd %f18,%f54,%f18 ! (2_0) xx = (res - res_c); 915*25c28e83SPiotr Jasiukajtis 916*25c28e83SPiotr Jasiukajtis sll %o1,0,%o7 ! (3_0) ind1 = ind0; 917*25c28e83SPiotr Jasiukajtis faddd %f52,A4,%f54 ! (1_0) res += A4; 918*25c28e83SPiotr Jasiukajtis 919*25c28e83SPiotr Jasiukajtis fmuld %f62,%f42,%f52 ! (0_0) res *= xx; 920*25c28e83SPiotr Jasiukajtis cmp %o5,_0x00100000 ! (3_0) hx ? 0x00100000 921*25c28e83SPiotr Jasiukajtis bl,pn %icc,.update7 ! (3_0) if ( hx < 0x00100000 ) 922*25c28e83SPiotr Jasiukajtis faddd %f20,A1,%f12 ! (5_1) res += A1; 923*25c28e83SPiotr Jasiukajtis.cont7: 924*25c28e83SPiotr Jasiukajtis lda [%l2]%asi,%o5 ! (4_0) hx = *(int*)px; 925*25c28e83SPiotr Jasiukajtis sllx %o3,52,%o3 ! (3_0) sqrt_exp <<= 52; 926*25c28e83SPiotr Jasiukajtis add %o7,%i4,%g1 ! (3_0) ind1 += bit; 927*25c28e83SPiotr Jasiukajtis 928*25c28e83SPiotr Jasiukajtis fmuld %f18,%f50,%f18 ! (2_0) xx *= dtmp0; 929*25c28e83SPiotr Jasiukajtis add %l0,TBL,%l0 ! (5_1) pind = (char*)TBL + ind1; 930*25c28e83SPiotr Jasiukajtis stx %o3,[%fp+tmp4] ! (3_0) dsqrt_exp = *(double*)&sqrt_exp; 931*25c28e83SPiotr Jasiukajtis fand %f10,DC0,%f50 ! (4_0) res = vis_fand(res,DC0); 932*25c28e83SPiotr Jasiukajtis 933*25c28e83SPiotr Jasiukajtis fmuld %f54,%f14,%f34 ! (1_0) res *= xx; 934*25c28e83SPiotr Jasiukajtis add %l2,stridex,%l2 ! px += stridex 935*25c28e83SPiotr Jasiukajtis ldd [%l0+16],%f36 ! (5_1) dexp_lo = ((double*)pind)[2]; 936*25c28e83SPiotr Jasiukajtis fpadd32 %f44,DC2,%f54 ! (3_0) res_c = vis_fpadd32(res,DC2); 937*25c28e83SPiotr Jasiukajtis 938*25c28e83SPiotr Jasiukajtis fmuld %f12,%f40,%f12 ! (5_1) res *= xx; 939*25c28e83SPiotr Jasiukajtis add %g1,TBL,%o1 ! (3_0) (char*)div_arr+ind0 940*25c28e83SPiotr Jasiukajtis ldd [%l0+8],%f40 ! (5_1) dexp_hi = ((double*)pind)[1]; 941*25c28e83SPiotr Jasiukajtis faddd %f52,A2,%f20 ! (0_0) res += A2; 942*25c28e83SPiotr Jasiukajtis 943*25c28e83SPiotr Jasiukajtis cmp %o5,_0x7ff00000 ! (4_0) hx ? 0x7ff00000 944*25c28e83SPiotr Jasiukajtis bge,pn %icc,.update8 ! (4_0) if ( hx >= 0x7ff00000 ) 945*25c28e83SPiotr Jasiukajtis for %f50,A1,%f24 ! (4_0) res = vis_for(res,A1); 946*25c28e83SPiotr Jasiukajtis.cont8: 947*25c28e83SPiotr Jasiukajtis sra %o5,21,%l1 ! (4_0) sqrt_exp = hx >> 21; 948*25c28e83SPiotr Jasiukajtis sra %o5,15,%l0 ! (4_0) bit = hx >> 15; 949*25c28e83SPiotr Jasiukajtis ldd [%o1],%f22 ! (3_0) dtmp0 = ((double*)pind)[0]; 950*25c28e83SPiotr Jasiukajtis 951*25c28e83SPiotr Jasiukajtis fmuld A5,%f18,%f52 ! (2_0) res = A5 * xx; 952*25c28e83SPiotr Jasiukajtis sra %o5,7,%o1 ! (4_0) ind0 = hx >> 7; 953*25c28e83SPiotr Jasiukajtis sub %l1,512,%o3 ! (4_0) sqrt_exp -= 512; 954*25c28e83SPiotr Jasiukajtis fand %f54,DC3,%f54 ! (3_0) res_c = vis_fand(res_c,DC3); 955*25c28e83SPiotr Jasiukajtis 956*25c28e83SPiotr Jasiukajtis fmuld %f20,%f42,%f20 ! (0_0) res *= xx; 957*25c28e83SPiotr Jasiukajtis and %o1,_0x00001ff8,%o1 ! (4_0) ind0 &= 0x1ff8; 958*25c28e83SPiotr Jasiukajtis lda [%l2]%asi,%f10 ! (5_0) ((float*)&res)[0] = ((float*)px)[0]; 959*25c28e83SPiotr Jasiukajtis faddd %f34,A3,%f62 ! (1_0) res += A3; 960*25c28e83SPiotr Jasiukajtis 961*25c28e83SPiotr Jasiukajtis fmuld %f40,%f12,%f34 ! (5_1) res = dexp_hi * res; 962*25c28e83SPiotr Jasiukajtis add %o1,32,%o1 ! (4_0) ind0 += 32; 963*25c28e83SPiotr Jasiukajtis lda [%l2+4]%asi,%f11 ! (5_0) ((float*)&res)[1] = ((float*)px)[1]; 964*25c28e83SPiotr Jasiukajtis 965*25c28e83SPiotr Jasiukajtis and %l0,32,%i4 ! (4_0) bit &= 32; 966*25c28e83SPiotr Jasiukajtis cmp %o5,_0x00100000 ! (4_0) hx ? 0x00100000 967*25c28e83SPiotr Jasiukajtis bl,pn %icc,.update9 ! (4_0) if ( hx < 0x00100000 ) 968*25c28e83SPiotr Jasiukajtis fsubd %f44,%f54,%f44 ! (3_0) xx = (res - res_c); 969*25c28e83SPiotr Jasiukajtis.cont9: 970*25c28e83SPiotr Jasiukajtis and %o1,-64,%o1 ! (4_0) ind0 &= -8; 971*25c28e83SPiotr Jasiukajtis faddd %f52,A4,%f54 ! (2_0) res += A4; 972*25c28e83SPiotr Jasiukajtis 973*25c28e83SPiotr Jasiukajtis cmp counter,6 974*25c28e83SPiotr Jasiukajtis bl,pn %icc,.tail 975*25c28e83SPiotr Jasiukajtis or %g0,%o4,%l0 976*25c28e83SPiotr Jasiukajtis 977*25c28e83SPiotr Jasiukajtis ba .main_loop 978*25c28e83SPiotr Jasiukajtis nop 979*25c28e83SPiotr Jasiukajtis 980*25c28e83SPiotr Jasiukajtis .align 16 981*25c28e83SPiotr Jasiukajtis.main_loop: 982*25c28e83SPiotr Jasiukajtis fmuld %f62,%f14,%f52 ! (1_1) res *= xx; 983*25c28e83SPiotr Jasiukajtis sll %o1,0,%i3 ! (4_1) ind1 = ind0; 984*25c28e83SPiotr Jasiukajtis add %i1,TBL,%i1 ! (0_1) pind = (char*)TBL + ind1; 985*25c28e83SPiotr Jasiukajtis faddd %f20,A1,%f12 ! (0_1) res += A1; 986*25c28e83SPiotr Jasiukajtis 987*25c28e83SPiotr Jasiukajtis lda [%l2]%asi,%o5 ! (5_1) hx = *(int*)px; 988*25c28e83SPiotr Jasiukajtis sllx %o3,52,%o3 ! (4_1) sqrt_exp <<= 52; 989*25c28e83SPiotr Jasiukajtis add %i3,%i4,%i3 ! (4_1) ind1 += bit; 990*25c28e83SPiotr Jasiukajtis faddd %f34,%f36,%f60 ! (5_2) res += dexp_lo; 991*25c28e83SPiotr Jasiukajtis 992*25c28e83SPiotr Jasiukajtis fmuld %f44,%f22,%f44 ! (3_1) xx *= dtmp0; 993*25c28e83SPiotr Jasiukajtis add %l2,stridex,%l2 ! px += stridex 994*25c28e83SPiotr Jasiukajtis stx %o3,[%fp+tmp5] ! (4_1) dsqrt_exp = *(double*)&sqrt_exp; 995*25c28e83SPiotr Jasiukajtis fand %f10,DC0,%f50 ! (5_1) res = vis_fand(res,DC0); 996*25c28e83SPiotr Jasiukajtis 997*25c28e83SPiotr Jasiukajtis fmuld %f54,%f18,%f34 ! (2_1) res *= xx; 998*25c28e83SPiotr Jasiukajtis nop 999*25c28e83SPiotr Jasiukajtis ldd [%i1+16],%f36 ! (0_1) dexp_lo = ((double*)pind)[2]; 1000*25c28e83SPiotr Jasiukajtis fpadd32 %f24,DC2,%f54 ! (4_1) res_c = vis_fpadd32(res,DC2); 1001*25c28e83SPiotr Jasiukajtis 1002*25c28e83SPiotr Jasiukajtis fmuld %f12,%f42,%f16 ! (0_1) res *= xx; 1003*25c28e83SPiotr Jasiukajtis sra %o5,21,%l1 ! (5_1) sqrt_exp = hx >> 21; 1004*25c28e83SPiotr Jasiukajtis ldd [%i1+8],%f42 ! (0_1) dexp_hi = ((double*)pind)[1]; 1005*25c28e83SPiotr Jasiukajtis faddd %f52,A2,%f20 ! (1_1) res += A2; 1006*25c28e83SPiotr Jasiukajtis 1007*25c28e83SPiotr Jasiukajtis ldd [%fp+tmp0],%f48 ! (5_2) dsqrt_exp = *(double*)&sqrt_exp; 1008*25c28e83SPiotr Jasiukajtis cmp %o5,_0x7ff00000 ! (5_1) hx ? 0x7ff00000 1009*25c28e83SPiotr Jasiukajtis bge,pn %icc,.update10 ! (5_1) if ( hx >= 0x7ff00000 ) 1010*25c28e83SPiotr Jasiukajtis faddd %f60,%f40,%f60 ! (5_2) res += dexp_hi; 1011*25c28e83SPiotr Jasiukajtis.cont10: 1012*25c28e83SPiotr Jasiukajtis lda [%l2]%asi,%f10 ! (0_0) ((float*)&res)[0] = ((float*)px)[0]; 1013*25c28e83SPiotr Jasiukajtis sra %o5,15,%i1 ! (5_1) bit = hx >> 15; 1014*25c28e83SPiotr Jasiukajtis add %i3,TBL,%o7 ! (4_1) pind = (char*)TBL + ind1 1015*25c28e83SPiotr Jasiukajtis for %f50,A1,%f40 ! (5_1) res = vis_for(res,A1); 1016*25c28e83SPiotr Jasiukajtis 1017*25c28e83SPiotr Jasiukajtis fmuld A5,%f44,%f52 ! (3_1) res = A5 * xx; 1018*25c28e83SPiotr Jasiukajtis sra %o5,7,%o1 ! (5_1) ind0 = hx >> 7; 1019*25c28e83SPiotr Jasiukajtis ldd [%o7],%f22 ! (4_1) dtmp0 = ((double*)pind)[0]; 1020*25c28e83SPiotr Jasiukajtis fand %f54,DC3,%f54 ! (4_1) res_c = vis_fand(res_c,DC3); 1021*25c28e83SPiotr Jasiukajtis 1022*25c28e83SPiotr Jasiukajtis fmuld %f20,%f14,%f20 ! (1_1) res *= xx; 1023*25c28e83SPiotr Jasiukajtis and %o1,_0x00001ff8,%o1 ! (5_1) ind0 &= 0x1ff8; 1024*25c28e83SPiotr Jasiukajtis sub %l1,512,%o3 ! (5_1) sqrt_exp -= 512; 1025*25c28e83SPiotr Jasiukajtis faddd %f34,A3,%f62 ! (2_1) res += A3; 1026*25c28e83SPiotr Jasiukajtis 1027*25c28e83SPiotr Jasiukajtis fpadd32 %f48,%f60,%f12 ! (5_2) dtmp0 = vis_fpadd32(dsqrt_exp,res); 1028*25c28e83SPiotr Jasiukajtis add %o1,32,%o1 ! (5_1) ind0 += 32; 1029*25c28e83SPiotr Jasiukajtis st %f12,[%l0] ! (5_2) ((float*)py)[0] = ((float*)&dtmp0)[0]; 1030*25c28e83SPiotr Jasiukajtis fmuld %f42,%f16,%f34 ! (0_1) res = dexp_hi * res; 1031*25c28e83SPiotr Jasiukajtis 1032*25c28e83SPiotr Jasiukajtis lda [%l2+4]%asi,%f11 ! (0_0) ((float*)&res)[1] = ((float*)px)[1]; 1033*25c28e83SPiotr Jasiukajtis and %i1,32,%i4 ! (5_1) bit &= 32; 1034*25c28e83SPiotr Jasiukajtis and %o1,-64,%o1 ! (5_1) ind0 &= -8; 1035*25c28e83SPiotr Jasiukajtis fsubd %f24,%f54,%f24 ! (4_1) xx = (res - res_c); 1036*25c28e83SPiotr Jasiukajtis 1037*25c28e83SPiotr Jasiukajtis sll %o1,0,%o7 ! (5_1) ind1 = ind0; 1038*25c28e83SPiotr Jasiukajtis add %l0,stridey,%i1 ! py += stridey 1039*25c28e83SPiotr Jasiukajtis st %f13,[%l0+4] ! (5_2) ((float*)py)[1] = ((float*)&dtmp0)[1]; 1040*25c28e83SPiotr Jasiukajtis faddd %f52,A4,%f54 ! (3_1) res += A4; 1041*25c28e83SPiotr Jasiukajtis 1042*25c28e83SPiotr Jasiukajtis fmuld %f62,%f18,%f52 ! (2_1) res *= xx; 1043*25c28e83SPiotr Jasiukajtis cmp %o5,_0x00100000 ! (5_1) hx ? 0x00100000 1044*25c28e83SPiotr Jasiukajtis bl,pn %icc,.update11 ! (5_1) if ( hx < 0x00100000 ) 1045*25c28e83SPiotr Jasiukajtis faddd %f20,A1,%f12 ! (1_1) res += A1; 1046*25c28e83SPiotr Jasiukajtis.cont11: 1047*25c28e83SPiotr Jasiukajtis sllx %o3,52,%o3 ! (5_1) sqrt_exp <<= 52; 1048*25c28e83SPiotr Jasiukajtis add %o7,%i4,%l0 ! (5_1) ind1 += bit; 1049*25c28e83SPiotr Jasiukajtis lda [%l2]%asi,%o5 ! (0_0) hx = *(int*)px; 1050*25c28e83SPiotr Jasiukajtis faddd %f34,%f36,%f60 ! (0_1) res += dexp_lo; 1051*25c28e83SPiotr Jasiukajtis 1052*25c28e83SPiotr Jasiukajtis fmuld %f24,%f22,%f24 ! (4_1) xx *= dtmp0; 1053*25c28e83SPiotr Jasiukajtis add %i2,TBL,%i2 ! (1_1) pind = (char*)TBL + ind1; 1054*25c28e83SPiotr Jasiukajtis stx %o3,[%fp+tmp0] ! (5_1) dsqrt_exp = *(double*)&sqrt_exp; 1055*25c28e83SPiotr Jasiukajtis fand %f10,DC0,%f50 ! (0_0) res = vis_fand(res,DC0); 1056*25c28e83SPiotr Jasiukajtis 1057*25c28e83SPiotr Jasiukajtis fmuld %f54,%f44,%f34 ! (3_1) res *= xx; 1058*25c28e83SPiotr Jasiukajtis add %l2,stridex,%l2 ! px += stridex 1059*25c28e83SPiotr Jasiukajtis ldd [%i2+16],%f36 ! (1_1) dexp_lo = ((double*)pind)[2]; 1060*25c28e83SPiotr Jasiukajtis fpadd32 %f40,DC2,%f54 ! (5_1) res_c = vis_fpadd32(res,DC2); 1061*25c28e83SPiotr Jasiukajtis 1062*25c28e83SPiotr Jasiukajtis fmuld %f12,%f14,%f16 ! (1_1) res *= xx; 1063*25c28e83SPiotr Jasiukajtis sra %o5,21,%l1 ! (0_0) sqrt_exp = hx >> 21; 1064*25c28e83SPiotr Jasiukajtis ldd [%i2+8],%f14 ! (1_1) dexp_hi = ((double*)pind)[1]; 1065*25c28e83SPiotr Jasiukajtis faddd %f52,A2,%f20 ! (2_1) res += A2; 1066*25c28e83SPiotr Jasiukajtis 1067*25c28e83SPiotr Jasiukajtis ldd [%fp+tmp1],%f48 ! (0_1) dsqrt_exp = *(double*)&sqrt_exp; 1068*25c28e83SPiotr Jasiukajtis cmp %o5,_0x7ff00000 ! (0_0) hx ? 0x7ff00000 1069*25c28e83SPiotr Jasiukajtis bge,pn %icc,.update12 ! (0_0) if ( hx >= 0x7ff00000 ) 1070*25c28e83SPiotr Jasiukajtis faddd %f60,%f42,%f60 ! (0_1) res += dexp_hi; 1071*25c28e83SPiotr Jasiukajtis.cont12: 1072*25c28e83SPiotr Jasiukajtis lda [%l2]%asi,%f10 ! (1_0) ((float*)&res)[0] = ((float*)px)[0]; 1073*25c28e83SPiotr Jasiukajtis sra %o5,15,%i2 ! (0_0) bit = hx >> 15; 1074*25c28e83SPiotr Jasiukajtis add %l0,TBL,%o7 ! (5_1) pind = (char*)TBL + ind1 1075*25c28e83SPiotr Jasiukajtis for %f50,A1,%f42 ! (0_0) res = vis_for(res,A1); 1076*25c28e83SPiotr Jasiukajtis 1077*25c28e83SPiotr Jasiukajtis fmuld A5,%f24,%f52 ! (4_1) res = A5 * xx; 1078*25c28e83SPiotr Jasiukajtis sra %o5,7,%o1 ! (0_0) ind0 = hx >> 7; 1079*25c28e83SPiotr Jasiukajtis ldd [%o7],%f22 ! (5_1) dtmp0 = ((double*)pind)[0]; 1080*25c28e83SPiotr Jasiukajtis fand %f54,DC3,%f54 ! (5_1) res_c = vis_fand(res_c,DC3); 1081*25c28e83SPiotr Jasiukajtis 1082*25c28e83SPiotr Jasiukajtis fmuld %f20,%f18,%f20 ! (2_1) res *= xx; 1083*25c28e83SPiotr Jasiukajtis and %o1,_0x00001ff8,%o1 ! (0_0) ind0 &= 0x1ff8; 1084*25c28e83SPiotr Jasiukajtis sub %l1,512,%o3 ! (0_0) sqrt_exp -= 512; 1085*25c28e83SPiotr Jasiukajtis faddd %f34,A3,%f62 ! (3_1) res += A3; 1086*25c28e83SPiotr Jasiukajtis 1087*25c28e83SPiotr Jasiukajtis fpadd32 %f48,%f60,%f12 ! (0_1) dtmp0 = vis_fpadd32(dsqrt_exp,res); 1088*25c28e83SPiotr Jasiukajtis add %o1,32,%o1 ! (0_0) ind0 += 32; 1089*25c28e83SPiotr Jasiukajtis st %f12,[%i1] ! (0_1) ((float*)py)[0] = ((float*)&dtmp0)[0]; 1090*25c28e83SPiotr Jasiukajtis fmuld %f14,%f16,%f34 ! (1_1) res = dexp_hi * res; 1091*25c28e83SPiotr Jasiukajtis 1092*25c28e83SPiotr Jasiukajtis lda [%l2+4]%asi,%f11 ! (1_0) ((float*)&res)[1] = ((float*)px)[1]; 1093*25c28e83SPiotr Jasiukajtis and %i2,32,%i4 ! (0_0) bit &= 32; 1094*25c28e83SPiotr Jasiukajtis and %o1,-64,%o1 ! (0_0) ind0 &= -8; 1095*25c28e83SPiotr Jasiukajtis fsubd %f40,%f54,%f40 ! (5_1) xx = (res - res_c); 1096*25c28e83SPiotr Jasiukajtis 1097*25c28e83SPiotr Jasiukajtis sll %o1,0,%o7 ! (0_0) ind1 = ind0; 1098*25c28e83SPiotr Jasiukajtis add %i1,stridey,%i2 ! py += stridey 1099*25c28e83SPiotr Jasiukajtis st %f13,[%i1+4] ! (0_1) ((float*)py)[1] = ((float*)&dtmp0)[1]; 1100*25c28e83SPiotr Jasiukajtis faddd %f52,A4,%f54 ! (4_1) res += A4; 1101*25c28e83SPiotr Jasiukajtis 1102*25c28e83SPiotr Jasiukajtis fmuld %f62,%f44,%f52 ! (3_1) res *= xx; 1103*25c28e83SPiotr Jasiukajtis cmp %o5,_0x00100000 ! (0_0) hx ? 0x00100000 1104*25c28e83SPiotr Jasiukajtis bl,pn %icc,.update13 ! (0_0) if ( hx < 0x00100000 ) 1105*25c28e83SPiotr Jasiukajtis faddd %f20,A1,%f12 ! (2_1) res += A1; 1106*25c28e83SPiotr Jasiukajtis.cont13: 1107*25c28e83SPiotr Jasiukajtis lda [%l2]%asi,%o5 ! (1_0) hx = *(int*)px; 1108*25c28e83SPiotr Jasiukajtis sllx %o3,52,%o3 ! (0_0) sqrt_exp <<= 52; 1109*25c28e83SPiotr Jasiukajtis add %o7,%i4,%i1 ! (0_0) ind1 += bit; 1110*25c28e83SPiotr Jasiukajtis faddd %f34,%f36,%f60 ! (1_1) res += dexp_lo; 1111*25c28e83SPiotr Jasiukajtis 1112*25c28e83SPiotr Jasiukajtis fmuld %f40,%f22,%f40 ! (5_1) xx *= dtmp0; 1113*25c28e83SPiotr Jasiukajtis add %g5,TBL,%g5 ! (2_1) pind = (char*)TBL + ind1; 1114*25c28e83SPiotr Jasiukajtis stx %o3,[%fp+tmp1] ! (0_0) dsqrt_exp = *(double*)&sqrt_exp; 1115*25c28e83SPiotr Jasiukajtis fand %f10,DC0,%f50 ! (1_0) res = vis_fand(res,DC0); 1116*25c28e83SPiotr Jasiukajtis 1117*25c28e83SPiotr Jasiukajtis fmuld %f54,%f24,%f34 ! (4_1) res *= xx; 1118*25c28e83SPiotr Jasiukajtis add %l2,stridex,%l2 ! px += stridex 1119*25c28e83SPiotr Jasiukajtis ldd [%g5+16],%f36 ! (2_1) dexp_lo = ((double*)pind)[2]; 1120*25c28e83SPiotr Jasiukajtis fpadd32 %f42,DC2,%f54 ! (0_0) res_c = vis_fpadd32(res,DC2); 1121*25c28e83SPiotr Jasiukajtis 1122*25c28e83SPiotr Jasiukajtis fmuld %f12,%f18,%f16 ! (2_1) res *= xx; 1123*25c28e83SPiotr Jasiukajtis sra %o5,21,%l1 ! (1_0) sqrt_exp = hx >> 21; 1124*25c28e83SPiotr Jasiukajtis ldd [%g5+8],%f18 ! (2_1) dexp_hi = ((double*)pind)[1]; 1125*25c28e83SPiotr Jasiukajtis faddd %f52,A2,%f20 ! (3_1) res += A2; 1126*25c28e83SPiotr Jasiukajtis 1127*25c28e83SPiotr Jasiukajtis ldd [%fp+tmp2],%f48 ! (1_1) dsqrt_exp = *(double*)&sqrt_exp; 1128*25c28e83SPiotr Jasiukajtis cmp %o5,_0x7ff00000 ! (1_0) hx ? 0x7ff00000 1129*25c28e83SPiotr Jasiukajtis bge,pn %icc,.update14 ! (1_0) if ( hx >= 0x7ff00000 ) 1130*25c28e83SPiotr Jasiukajtis faddd %f60,%f14,%f60 ! (1_1) res += dexp_hi; 1131*25c28e83SPiotr Jasiukajtis.cont14: 1132*25c28e83SPiotr Jasiukajtis lda [%l2]%asi,%f10 ! (2_0) ((float*)&res)[0] = ((float*)px)[0]; 1133*25c28e83SPiotr Jasiukajtis sra %o5,15,%g5 ! (1_0) bit = hx >> 15; 1134*25c28e83SPiotr Jasiukajtis add %i1,TBL,%o7 ! (0_0) pind = (char*)TBL + ind1 1135*25c28e83SPiotr Jasiukajtis for %f50,A1,%f14 ! (1_0) res = vis_for(res,A1); 1136*25c28e83SPiotr Jasiukajtis 1137*25c28e83SPiotr Jasiukajtis fmuld A5,%f40,%f52 ! (5_1) res = A5 * xx; 1138*25c28e83SPiotr Jasiukajtis sra %o5,7,%o1 ! (1_0) ind0 = hx >> 7; 1139*25c28e83SPiotr Jasiukajtis ldd [%o7],%f22 ! (0_0) dtmp0 = ((double*)pind)[0]; 1140*25c28e83SPiotr Jasiukajtis fand %f54,DC3,%f54 ! (0_0) res_c = vis_fand(res_c,DC3); 1141*25c28e83SPiotr Jasiukajtis 1142*25c28e83SPiotr Jasiukajtis fmuld %f20,%f44,%f20 ! (3_1) res *= xx; 1143*25c28e83SPiotr Jasiukajtis and %o1,_0x00001ff8,%o1 ! (1_0) ind0 &= 0x1ff8; 1144*25c28e83SPiotr Jasiukajtis sub %l1,512,%o3 ! (1_0) sqrt_exp -= 512; 1145*25c28e83SPiotr Jasiukajtis faddd %f34,A3,%f62 ! (4_1) res += A3; 1146*25c28e83SPiotr Jasiukajtis 1147*25c28e83SPiotr Jasiukajtis fpadd32 %f48,%f60,%f12 ! (1_1) dtmp0 = vis_fpadd32(dsqrt_exp,res); 1148*25c28e83SPiotr Jasiukajtis add %o1,32,%o1 ! (1_0) ind0 += 32; 1149*25c28e83SPiotr Jasiukajtis st %f12,[%i2] ! (1_1) ((float*)py)[0] = ((float*)&dtmp0)[0]; 1150*25c28e83SPiotr Jasiukajtis fmuld %f18,%f16,%f34 ! (2_1) res = dexp_hi * res; 1151*25c28e83SPiotr Jasiukajtis 1152*25c28e83SPiotr Jasiukajtis lda [%l2+4]%asi,%f11 ! (2_0) ((float*)&res)[1] = ((float*)px)[1]; 1153*25c28e83SPiotr Jasiukajtis and %g5,32,%i4 ! (1_0) bit &= 32; 1154*25c28e83SPiotr Jasiukajtis and %o1,-64,%o1 ! (1_0) ind0 &= -8; 1155*25c28e83SPiotr Jasiukajtis fsubd %f42,%f54,%f42 ! (0_0) xx = (res - res_c); 1156*25c28e83SPiotr Jasiukajtis 1157*25c28e83SPiotr Jasiukajtis sll %o1,0,%o7 ! (1_0) ind1 = ind0; 1158*25c28e83SPiotr Jasiukajtis add %i2,stridey,%g5 ! py += stridey 1159*25c28e83SPiotr Jasiukajtis st %f13,[%i2+4] ! (1_1) ((float*)py)[1] = ((float*)&dtmp0)[1]; 1160*25c28e83SPiotr Jasiukajtis faddd %f52,A4,%f54 ! (5_1) res += A4; 1161*25c28e83SPiotr Jasiukajtis 1162*25c28e83SPiotr Jasiukajtis fmuld %f62,%f24,%f52 ! (4_1) res *= xx; 1163*25c28e83SPiotr Jasiukajtis cmp %o5,_0x00100000 ! (1_0) hx ? 0x00100000 1164*25c28e83SPiotr Jasiukajtis bl,pn %icc,.update15 ! (1_0) if ( hx < 0x00100000 ) 1165*25c28e83SPiotr Jasiukajtis faddd %f20,A1,%f12 ! (3_1) res += A1; 1166*25c28e83SPiotr Jasiukajtis.cont15: 1167*25c28e83SPiotr Jasiukajtis lda [%l2]%asi,%o5 ! (2_0) hx = *(int*)px; 1168*25c28e83SPiotr Jasiukajtis sllx %o3,52,%o3 ! (1_0) sqrt_exp <<= 52; 1169*25c28e83SPiotr Jasiukajtis add %o7,%i4,%i2 ! (1_0) ind1 += bit; 1170*25c28e83SPiotr Jasiukajtis faddd %f34,%f36,%f60 ! (2_1) res += dexp_lo; 1171*25c28e83SPiotr Jasiukajtis 1172*25c28e83SPiotr Jasiukajtis fmuld %f42,%f22,%f42 ! (0_0) xx *= dtmp0; 1173*25c28e83SPiotr Jasiukajtis add %g1,TBL,%g1 ! (3_1) pind = (char*)TBL + ind1; 1174*25c28e83SPiotr Jasiukajtis stx %o3,[%fp+tmp2] ! (1_0) dsqrt_exp = *(double*)&sqrt_exp; 1175*25c28e83SPiotr Jasiukajtis fand %f10,DC0,%f50 ! (2_0) res = vis_fand(res,DC0); 1176*25c28e83SPiotr Jasiukajtis 1177*25c28e83SPiotr Jasiukajtis fmuld %f54,%f40,%f34 ! (5_1) res *= xx; 1178*25c28e83SPiotr Jasiukajtis fpadd32 %f14,DC2,%f54 ! (1_0) res_c = vis_fpadd32(res,DC2); 1179*25c28e83SPiotr Jasiukajtis add %l2,stridex,%l2 ! px += stridex 1180*25c28e83SPiotr Jasiukajtis ldd [%g1+16],%f36 ! (3_1) dexp_lo = ((double*)pind)[2]; 1181*25c28e83SPiotr Jasiukajtis 1182*25c28e83SPiotr Jasiukajtis fmuld %f12,%f44,%f16 ! (3_1) res *= xx; 1183*25c28e83SPiotr Jasiukajtis sra %o5,21,%l1 ! (2_0) sqrt_exp = hx >> 21; 1184*25c28e83SPiotr Jasiukajtis ldd [%g1+8],%f44 ! (3_1) dexp_hi = ((double*)pind)[1]; 1185*25c28e83SPiotr Jasiukajtis faddd %f52,A2,%f20 ! (4_1) res += A2; 1186*25c28e83SPiotr Jasiukajtis 1187*25c28e83SPiotr Jasiukajtis ldd [%fp+tmp3],%f48 ! (2_1) dsqrt_exp = *(double*)&sqrt_exp; 1188*25c28e83SPiotr Jasiukajtis cmp %o5,_0x7ff00000 ! (2_0) hx ? 0x7ff00000 1189*25c28e83SPiotr Jasiukajtis bge,pn %icc,.update16 ! (2_0) if ( hx >= 0x7ff00000 ) 1190*25c28e83SPiotr Jasiukajtis faddd %f60,%f18,%f60 ! (2_1) res += dexp_hi; 1191*25c28e83SPiotr Jasiukajtis.cont16: 1192*25c28e83SPiotr Jasiukajtis lda [%l2]%asi,%f10 ! (3_0) ((float*)&res)[0] = ((float*)px)[0]; 1193*25c28e83SPiotr Jasiukajtis sra %o5,15,%g1 ! (2_0) bit = hx >> 15; 1194*25c28e83SPiotr Jasiukajtis add %i2,TBL,%o7 ! (1_0) pind = (char*)TBL + ind1 1195*25c28e83SPiotr Jasiukajtis for %f50,A1,%f18 ! (2_0) res = vis_for(res,A1); 1196*25c28e83SPiotr Jasiukajtis 1197*25c28e83SPiotr Jasiukajtis fmuld A5,%f42,%f52 ! (0_0) res = A5 * xx; 1198*25c28e83SPiotr Jasiukajtis sra %o5,7,%o1 ! (2_0) ind0 = hx >> 7; 1199*25c28e83SPiotr Jasiukajtis ldd [%o7],%f22 ! (1_0) dtmp0 = ((double*)pind)[0]; 1200*25c28e83SPiotr Jasiukajtis fand %f54,DC3,%f54 ! (1_0) res_c = vis_fand(res_c,DC3); 1201*25c28e83SPiotr Jasiukajtis 1202*25c28e83SPiotr Jasiukajtis fmuld %f20,%f24,%f20 ! (4_1) res *= xx; 1203*25c28e83SPiotr Jasiukajtis and %o1,_0x00001ff8,%o1 ! (2_0) ind0 &= 0x1ff8; 1204*25c28e83SPiotr Jasiukajtis sub %l1,512,%o3 ! (2_0) sqrt_exp -= 512; 1205*25c28e83SPiotr Jasiukajtis faddd %f34,A3,%f62 ! (5_1) res += A3; 1206*25c28e83SPiotr Jasiukajtis 1207*25c28e83SPiotr Jasiukajtis fpadd32 %f48,%f60,%f12 ! (2_1) dtmp0 = vis_fpadd32(dsqrt_exp,res); 1208*25c28e83SPiotr Jasiukajtis add %o1,32,%o1 ! (2_0) ind0 += 32; 1209*25c28e83SPiotr Jasiukajtis st %f12,[%g5] ! (2_1) ((float*)py)[0] = ((float*)&dtmp0)[0]; 1210*25c28e83SPiotr Jasiukajtis fmuld %f44,%f16,%f34 ! (3_1) res = dexp_hi * res; 1211*25c28e83SPiotr Jasiukajtis 1212*25c28e83SPiotr Jasiukajtis lda [%l2+4]%asi,%f11 ! (3_0) ((float*)&res)[1] = ((float*)px)[1]; 1213*25c28e83SPiotr Jasiukajtis and %g1,32,%i4 ! (2_0) bit &= 32; 1214*25c28e83SPiotr Jasiukajtis and %o1,-64,%o1 ! (2_0) ind0 &= -8; 1215*25c28e83SPiotr Jasiukajtis fsubd %f14,%f54,%f14 ! (1_0) xx = (res - res_c); 1216*25c28e83SPiotr Jasiukajtis 1217*25c28e83SPiotr Jasiukajtis sll %o1,0,%o7 ! (2_0) ind1 = ind0; 1218*25c28e83SPiotr Jasiukajtis add %g5,stridey,%g1 ! py += stridey 1219*25c28e83SPiotr Jasiukajtis st %f13,[%g5+4] ! (2_1) ((float*)py)[1] = ((float*)&dtmp0)[1]; 1220*25c28e83SPiotr Jasiukajtis faddd %f52,A4,%f54 ! (0_0) res += A4; 1221*25c28e83SPiotr Jasiukajtis 1222*25c28e83SPiotr Jasiukajtis fmuld %f62,%f40,%f52 ! (5_1) res *= xx; 1223*25c28e83SPiotr Jasiukajtis cmp %o5,_0x00100000 ! (2_0) hx ? 0x00100000 1224*25c28e83SPiotr Jasiukajtis bl,pn %icc,.update17 ! (2_0) if ( hx < 0x00100000 ) 1225*25c28e83SPiotr Jasiukajtis faddd %f20,A1,%f12 ! (4_1) res += A1; 1226*25c28e83SPiotr Jasiukajtis.cont17: 1227*25c28e83SPiotr Jasiukajtis lda [%l2]%asi,%o5 ! (3_0) hx = *(int*)px; 1228*25c28e83SPiotr Jasiukajtis sllx %o3,52,%o3 ! (2_0) sqrt_exp <<= 52; 1229*25c28e83SPiotr Jasiukajtis add %o7,%i4,%g5 ! (2_0) ind1 += bit; 1230*25c28e83SPiotr Jasiukajtis faddd %f34,%f36,%f60 ! (3_1) res += dexp_lo; 1231*25c28e83SPiotr Jasiukajtis 1232*25c28e83SPiotr Jasiukajtis fmuld %f14,%f22,%f14 ! (1_0) xx *= dtmp0; 1233*25c28e83SPiotr Jasiukajtis add %i3,TBL,%i3 ! (4_1) pind = (char*)TBL + ind1; 1234*25c28e83SPiotr Jasiukajtis stx %o3,[%fp+tmp3] ! (2_0) dsqrt_exp = *(double*)&sqrt_exp; 1235*25c28e83SPiotr Jasiukajtis fand %f10,DC0,%f50 ! (3_0) res = vis_fand(res,DC0); 1236*25c28e83SPiotr Jasiukajtis 1237*25c28e83SPiotr Jasiukajtis fmuld %f54,%f42,%f34 ! (0_0) res *= xx; 1238*25c28e83SPiotr Jasiukajtis fpadd32 %f18,DC2,%f54 ! (2_0) res_c = vis_fpadd32(res,DC2); 1239*25c28e83SPiotr Jasiukajtis add %l2,stridex,%l2 ! px += stridex 1240*25c28e83SPiotr Jasiukajtis ldd [%i3+16],%f36 ! (4_1) dexp_lo = ((double*)pind)[2]; 1241*25c28e83SPiotr Jasiukajtis 1242*25c28e83SPiotr Jasiukajtis fmuld %f12,%f24,%f16 ! (4_1) res *= xx; 1243*25c28e83SPiotr Jasiukajtis sra %o5,21,%l1 ! (3_0) sqrt_exp = hx >> 21; 1244*25c28e83SPiotr Jasiukajtis ldd [%i3+8],%f24 ! (4_1) dexp_hi = ((double*)pind)[1]; 1245*25c28e83SPiotr Jasiukajtis faddd %f52,A2,%f20 ! (5_1) res += A2; 1246*25c28e83SPiotr Jasiukajtis 1247*25c28e83SPiotr Jasiukajtis ldd [%fp+tmp4],%f48 ! (3_1) dsqrt_exp = *(double*)&sqrt_exp; 1248*25c28e83SPiotr Jasiukajtis cmp %o5,_0x7ff00000 ! (3_0) hx ? 0x7ff00000 1249*25c28e83SPiotr Jasiukajtis bge,pn %icc,.update18 ! (3_0) if ( hx >= 0x7ff00000 ) 1250*25c28e83SPiotr Jasiukajtis faddd %f60,%f44,%f60 ! (3_1) res += dexp_hi; 1251*25c28e83SPiotr Jasiukajtis.cont18: 1252*25c28e83SPiotr Jasiukajtis lda [%l2]%asi,%f10 ! (4_0) ((float*)&res)[0] = ((float*)px)[0]; 1253*25c28e83SPiotr Jasiukajtis sra %o5,15,%i3 ! (3_0) bit = hx >> 15; 1254*25c28e83SPiotr Jasiukajtis add %g5,TBL,%o7 ! (2_0) pind = (char*)TBL + ind1 1255*25c28e83SPiotr Jasiukajtis for %f50,A1,%f44 ! (3_0) res = vis_for(res,A1); 1256*25c28e83SPiotr Jasiukajtis 1257*25c28e83SPiotr Jasiukajtis fmuld A5,%f14,%f52 ! (1_0) res = A5 * xx; 1258*25c28e83SPiotr Jasiukajtis sra %o5,7,%o1 ! (3_0) ind0 = hx >> 7; 1259*25c28e83SPiotr Jasiukajtis ldd [%o7],%f22 ! (2_0) dtmp0 = ((double*)pind)[0]; 1260*25c28e83SPiotr Jasiukajtis fand %f54,DC3,%f54 ! (2_0) res_c = vis_fand(res_c,DC3); 1261*25c28e83SPiotr Jasiukajtis 1262*25c28e83SPiotr Jasiukajtis fmuld %f20,%f40,%f20 ! (5_1) res *= xx; 1263*25c28e83SPiotr Jasiukajtis and %o1,_0x00001ff8,%o1 ! (3_0) ind0 &= 0x1ff8; 1264*25c28e83SPiotr Jasiukajtis sub %l1,512,%o3 ! (3_0) sqrt_exp -= 512; 1265*25c28e83SPiotr Jasiukajtis faddd %f34,A3,%f62 ! (0_0) res += A3; 1266*25c28e83SPiotr Jasiukajtis 1267*25c28e83SPiotr Jasiukajtis fpadd32 %f48,%f60,%f12 ! (3_1) dtmp0 = vis_fpadd32(dsqrt_exp,res); 1268*25c28e83SPiotr Jasiukajtis add %o1,32,%o1 ! (3_0) ind0 += 32; 1269*25c28e83SPiotr Jasiukajtis st %f12,[%g1] ! (3_1) ((float*)py)[0] = ((float*)&dtmp0)[0]; 1270*25c28e83SPiotr Jasiukajtis fmuld %f24,%f16,%f34 ! (4_1) res = dexp_hi * res; 1271*25c28e83SPiotr Jasiukajtis 1272*25c28e83SPiotr Jasiukajtis lda [%l2+4]%asi,%f11 ! (4_0) ((float*)&res)[1] = ((float*)px)[1]; 1273*25c28e83SPiotr Jasiukajtis and %i3,32,%i4 ! (3_0) bit &= 32; 1274*25c28e83SPiotr Jasiukajtis and %o1,-64,%o1 ! (3_0) ind0 &= -8; 1275*25c28e83SPiotr Jasiukajtis fsubd %f18,%f54,%f18 ! (2_0) xx = (res - res_c); 1276*25c28e83SPiotr Jasiukajtis 1277*25c28e83SPiotr Jasiukajtis or %g0,%o1,%o7 ! (3_0) ind1 = ind0; 1278*25c28e83SPiotr Jasiukajtis add %g1,stridey,%i3 ! py += stridey 1279*25c28e83SPiotr Jasiukajtis st %f13,[%g1+4] ! (3_1) ((float*)py)[1] = ((float*)&dtmp0)[1]; 1280*25c28e83SPiotr Jasiukajtis faddd %f52,A4,%f54 ! (1_0) res += A4; 1281*25c28e83SPiotr Jasiukajtis 1282*25c28e83SPiotr Jasiukajtis fmuld %f62,%f42,%f52 ! (0_0) res *= xx; 1283*25c28e83SPiotr Jasiukajtis cmp %o5,_0x00100000 ! (3_0) hx ? 0x00100000 1284*25c28e83SPiotr Jasiukajtis bl,pn %icc,.update19 ! (3_0) if ( hx < 0x00100000 ) 1285*25c28e83SPiotr Jasiukajtis faddd %f20,A1,%f12 ! (5_1) res += A1; 1286*25c28e83SPiotr Jasiukajtis.cont19: 1287*25c28e83SPiotr Jasiukajtis lda [%l2]%asi,%o5 ! (4_0) hx = *(int*)px; 1288*25c28e83SPiotr Jasiukajtis sllx %o3,52,%o3 ! (3_0) sqrt_exp <<= 52; 1289*25c28e83SPiotr Jasiukajtis add %o7,%i4,%g1 ! (3_0) ind1 += bit; 1290*25c28e83SPiotr Jasiukajtis faddd %f34,%f36,%f60 ! (4_1) res += dexp_lo; 1291*25c28e83SPiotr Jasiukajtis 1292*25c28e83SPiotr Jasiukajtis fmuld %f18,%f22,%f18 ! (2_0) xx *= dtmp0; 1293*25c28e83SPiotr Jasiukajtis add %l0,TBL,%l0 ! (5_1) pind = (char*)TBL + ind1; 1294*25c28e83SPiotr Jasiukajtis stx %o3,[%fp+tmp4] ! (3_0) dsqrt_exp = *(double*)&sqrt_exp; 1295*25c28e83SPiotr Jasiukajtis fand %f10,DC0,%f50 ! (4_0) res = vis_fand(res,DC0); 1296*25c28e83SPiotr Jasiukajtis 1297*25c28e83SPiotr Jasiukajtis fmuld %f54,%f14,%f34 ! (1_0) res *= xx; 1298*25c28e83SPiotr Jasiukajtis add %l2,stridex,%l2 ! px += stridex 1299*25c28e83SPiotr Jasiukajtis ldd [%l0+16],%f36 ! (5_1) dexp_lo = ((double*)pind)[2]; 1300*25c28e83SPiotr Jasiukajtis fpadd32 %f44,DC2,%f54 ! (3_0) res_c = vis_fpadd32(res,DC2); 1301*25c28e83SPiotr Jasiukajtis 1302*25c28e83SPiotr Jasiukajtis fmuld %f12,%f40,%f16 ! (5_1) res *= xx; 1303*25c28e83SPiotr Jasiukajtis sra %o5,21,%l1 ! (4_0) sqrt_exp = hx >> 21; 1304*25c28e83SPiotr Jasiukajtis ldd [%l0+8],%f40 ! (5_1) dexp_hi = ((double*)pind)[1]; 1305*25c28e83SPiotr Jasiukajtis faddd %f52,A2,%f20 ! (0_0) res += A2; 1306*25c28e83SPiotr Jasiukajtis 1307*25c28e83SPiotr Jasiukajtis ldd [%fp+tmp5],%f48 ! (4_1) dsqrt_exp = *(double*)&sqrt_exp; 1308*25c28e83SPiotr Jasiukajtis cmp %o5,_0x7ff00000 ! (4_0) hx ? 0x7ff00000 1309*25c28e83SPiotr Jasiukajtis bge,pn %icc,.update20 ! (4_0) if ( hx >= 0x7ff00000 ) 1310*25c28e83SPiotr Jasiukajtis faddd %f60,%f24,%f60 ! (4_1) res += dexp_hi; 1311*25c28e83SPiotr Jasiukajtis.cont20: 1312*25c28e83SPiotr Jasiukajtis lda [%l2]%asi,%f10 ! (5_0) ((float*)&res)[0] = ((float*)px)[0]; 1313*25c28e83SPiotr Jasiukajtis sra %o5,15,%l0 ! (4_0) bit = hx >> 15; 1314*25c28e83SPiotr Jasiukajtis add %g1,TBL,%o7 ! (3_0) (char*)div_arr+ind0 1315*25c28e83SPiotr Jasiukajtis for %f50,A1,%f24 ! (4_0) res = vis_for(res,A1); 1316*25c28e83SPiotr Jasiukajtis 1317*25c28e83SPiotr Jasiukajtis fmuld A5,%f18,%f52 ! (2_0) res = A5 * xx; 1318*25c28e83SPiotr Jasiukajtis sra %o5,7,%o1 ! (4_0) ind0 = hx >> 7; 1319*25c28e83SPiotr Jasiukajtis ldd [%o7],%f22 ! (3_0) dtmp0 = ((double*)pind)[0]; 1320*25c28e83SPiotr Jasiukajtis fand %f54,DC3,%f54 ! (3_0) res_c = vis_fand(res_c,DC3); 1321*25c28e83SPiotr Jasiukajtis 1322*25c28e83SPiotr Jasiukajtis fmuld %f20,%f42,%f20 ! (0_0) res *= xx; 1323*25c28e83SPiotr Jasiukajtis and %o1,_0x00001ff8,%o1 ! (4_0) ind0 &= 0x1ff8; 1324*25c28e83SPiotr Jasiukajtis sub %l1,512,%o3 ! (4_0) sqrt_exp -= 512; 1325*25c28e83SPiotr Jasiukajtis faddd %f34,A3,%f62 ! (1_0) res += A3; 1326*25c28e83SPiotr Jasiukajtis 1327*25c28e83SPiotr Jasiukajtis lda [%l2+4]%asi,%f11 ! (5_0) ((float*)&res)[1] = ((float*)px)[1]; 1328*25c28e83SPiotr Jasiukajtis add %o1,32,%o1 ! (4_0) ind0 += 32; 1329*25c28e83SPiotr Jasiukajtis fpadd32 %f48,%f60,%f12 ! (4_1) dtmp0 = vis_fpadd32(dsqrt_exp,res); 1330*25c28e83SPiotr Jasiukajtis fmuld %f40,%f16,%f34 ! (5_1) res = dexp_hi * res; 1331*25c28e83SPiotr Jasiukajtis 1332*25c28e83SPiotr Jasiukajtis and %l0,32,%i4 ! (4_0) bit &= 32; 1333*25c28e83SPiotr Jasiukajtis cmp %o5,_0x00100000 ! (4_0) hx ? 0x00100000 1334*25c28e83SPiotr Jasiukajtis bl,pn %icc,.update21 ! (4_0) if ( hx < 0x00100000 ) 1335*25c28e83SPiotr Jasiukajtis fsubd %f44,%f54,%f44 ! (3_0) xx = (res - res_c); 1336*25c28e83SPiotr Jasiukajtis.cont21: 1337*25c28e83SPiotr Jasiukajtis and %o1,-64,%o1 ! (4_0) ind0 &= -8; 1338*25c28e83SPiotr Jasiukajtis sub counter,6,counter ! counter 1339*25c28e83SPiotr Jasiukajtis st %f12,[%i3] ! (4_1) ((float*)py)[0] = ((float*)&dtmp0)[0]; 1340*25c28e83SPiotr Jasiukajtis faddd %f52,A4,%f54 ! (2_0) res += A4; 1341*25c28e83SPiotr Jasiukajtis 1342*25c28e83SPiotr Jasiukajtis st %f13,[%i3+4] ! (4_1) ((float*)py)[1] = ((float*)&dtmp0)[1]; 1343*25c28e83SPiotr Jasiukajtis cmp counter,6 1344*25c28e83SPiotr Jasiukajtis bge,pt %icc,.main_loop 1345*25c28e83SPiotr Jasiukajtis add %i3,stridey,%l0 ! py += stridey 1346*25c28e83SPiotr Jasiukajtis 1347*25c28e83SPiotr Jasiukajtis.tail: 1348*25c28e83SPiotr Jasiukajtis subcc counter,1,counter 1349*25c28e83SPiotr Jasiukajtis bneg .begin 1350*25c28e83SPiotr Jasiukajtis or %g0,%l0,%o4 1351*25c28e83SPiotr Jasiukajtis 1352*25c28e83SPiotr Jasiukajtis fmuld %f62,%f14,%f52 ! (1_1) res *= xx; 1353*25c28e83SPiotr Jasiukajtis add %i1,TBL,%i1 ! (0_1) pind = (char*)TBL + ind1; 1354*25c28e83SPiotr Jasiukajtis faddd %f20,A1,%f12 ! (0_1) res += A1; 1355*25c28e83SPiotr Jasiukajtis 1356*25c28e83SPiotr Jasiukajtis faddd %f34,%f36,%f60 ! (5_2) res += dexp_lo; 1357*25c28e83SPiotr Jasiukajtis 1358*25c28e83SPiotr Jasiukajtis fmuld %f44,%f22,%f44 ! (3_1) xx *= dtmp0; 1359*25c28e83SPiotr Jasiukajtis add %l2,stridex,%l2 ! px += stridex 1360*25c28e83SPiotr Jasiukajtis 1361*25c28e83SPiotr Jasiukajtis fmuld %f54,%f18,%f34 ! (2_1) res *= xx; 1362*25c28e83SPiotr Jasiukajtis ldd [%i1+16],%f36 ! (0_1) dexp_lo = ((double*)pind)[2]; 1363*25c28e83SPiotr Jasiukajtis 1364*25c28e83SPiotr Jasiukajtis fmuld %f12,%f42,%f12 ! (0_1) res *= xx; 1365*25c28e83SPiotr Jasiukajtis ldd [%i1+8],%f42 ! (0_1) dexp_hi = ((double*)pind)[1]; 1366*25c28e83SPiotr Jasiukajtis faddd %f52,A2,%f20 ! (1_1) res += A2; 1367*25c28e83SPiotr Jasiukajtis 1368*25c28e83SPiotr Jasiukajtis ldd [%fp+tmp0],%f48 ! (5_2) dsqrt_exp = *(double*)&sqrt_exp; 1369*25c28e83SPiotr Jasiukajtis faddd %f60,%f40,%f60 ! (5_2) res += dexp_hi; 1370*25c28e83SPiotr Jasiukajtis 1371*25c28e83SPiotr Jasiukajtis fmuld A5,%f44,%f52 ! (3_1) res = A5 * xx; 1372*25c28e83SPiotr Jasiukajtis 1373*25c28e83SPiotr Jasiukajtis fmuld %f20,%f14,%f20 ! (1_1) res *= xx; 1374*25c28e83SPiotr Jasiukajtis faddd %f34,A3,%f62 ! (2_1) res += A3; 1375*25c28e83SPiotr Jasiukajtis 1376*25c28e83SPiotr Jasiukajtis fmuld %f42,%f12,%f34 ! (0_1) res = dexp_hi * res; 1377*25c28e83SPiotr Jasiukajtis fpadd32 %f48,%f60,%f12 ! (5_2) dtmp0 = vis_fpadd32(dsqrt_exp,res); 1378*25c28e83SPiotr Jasiukajtis 1379*25c28e83SPiotr Jasiukajtis st %f12,[%l0] ! (5_2) ((float*)py)[0] = ((float*)&dtmp0)[0]; 1380*25c28e83SPiotr Jasiukajtis 1381*25c28e83SPiotr Jasiukajtis add %l0,stridey,%i1 ! py += stridey 1382*25c28e83SPiotr Jasiukajtis st %f13,[%l0+4] ! (5_2) ((float*)py)[1] = ((float*)&dtmp0)[1]; 1383*25c28e83SPiotr Jasiukajtis faddd %f52,A4,%f54 ! (3_1) res += A4; 1384*25c28e83SPiotr Jasiukajtis 1385*25c28e83SPiotr Jasiukajtis subcc counter,1,counter 1386*25c28e83SPiotr Jasiukajtis bneg .begin 1387*25c28e83SPiotr Jasiukajtis or %g0,%i1,%o4 1388*25c28e83SPiotr Jasiukajtis 1389*25c28e83SPiotr Jasiukajtis fmuld %f62,%f18,%f52 ! (2_1) res *= xx; 1390*25c28e83SPiotr Jasiukajtis faddd %f20,A1,%f12 ! (1_1) res += A1; 1391*25c28e83SPiotr Jasiukajtis 1392*25c28e83SPiotr Jasiukajtis faddd %f34,%f36,%f60 ! (0_1) res += dexp_lo; 1393*25c28e83SPiotr Jasiukajtis 1394*25c28e83SPiotr Jasiukajtis add %i2,TBL,%i2 ! (1_1) pind = (char*)TBL + ind1; 1395*25c28e83SPiotr Jasiukajtis 1396*25c28e83SPiotr Jasiukajtis fmuld %f54,%f44,%f34 ! (3_1) res *= xx; 1397*25c28e83SPiotr Jasiukajtis add %l2,stridex,%l2 ! px += stridex 1398*25c28e83SPiotr Jasiukajtis ldd [%i2+16],%f36 ! (1_1) dexp_lo = ((double*)pind)[2]; 1399*25c28e83SPiotr Jasiukajtis 1400*25c28e83SPiotr Jasiukajtis fmuld %f12,%f14,%f12 ! (1_1) res *= xx; 1401*25c28e83SPiotr Jasiukajtis ldd [%i2+8],%f14 ! (1_1) dexp_hi = ((double*)pind)[1]; 1402*25c28e83SPiotr Jasiukajtis faddd %f52,A2,%f20 ! (2_1) res += A2; 1403*25c28e83SPiotr Jasiukajtis 1404*25c28e83SPiotr Jasiukajtis ldd [%fp+tmp1],%f48 ! (0_1) dsqrt_exp = *(double*)&sqrt_exp; 1405*25c28e83SPiotr Jasiukajtis faddd %f60,%f42,%f60 ! (0_1) res += dexp_hi; 1406*25c28e83SPiotr Jasiukajtis 1407*25c28e83SPiotr Jasiukajtis fmuld %f20,%f18,%f20 ! (2_1) res *= xx; 1408*25c28e83SPiotr Jasiukajtis faddd %f34,A3,%f62 ! (3_1) res += A3; 1409*25c28e83SPiotr Jasiukajtis 1410*25c28e83SPiotr Jasiukajtis fmuld %f14,%f12,%f34 ! (1_1) res = dexp_hi * res; 1411*25c28e83SPiotr Jasiukajtis fpadd32 %f48,%f60,%f12 ! (0_1) dtmp0 = vis_fpadd32(dsqrt_exp,res); 1412*25c28e83SPiotr Jasiukajtis 1413*25c28e83SPiotr Jasiukajtis st %f12,[%i1] ! (0_1) ((float*)py)[0] = ((float*)&dtmp0)[0]; 1414*25c28e83SPiotr Jasiukajtis 1415*25c28e83SPiotr Jasiukajtis add %i1,stridey,%i2 ! py += stridey 1416*25c28e83SPiotr Jasiukajtis st %f13,[%i1+4] ! (0_1) ((float*)py)[1] = ((float*)&dtmp0)[1]; 1417*25c28e83SPiotr Jasiukajtis 1418*25c28e83SPiotr Jasiukajtis subcc counter,1,counter 1419*25c28e83SPiotr Jasiukajtis bneg .begin 1420*25c28e83SPiotr Jasiukajtis or %g0,%i2,%o4 1421*25c28e83SPiotr Jasiukajtis 1422*25c28e83SPiotr Jasiukajtis fmuld %f62,%f44,%f52 ! (3_1) res *= xx; 1423*25c28e83SPiotr Jasiukajtis faddd %f20,A1,%f12 ! (2_1) res += A1; 1424*25c28e83SPiotr Jasiukajtis 1425*25c28e83SPiotr Jasiukajtis faddd %f34,%f36,%f60 ! (1_1) res += dexp_lo; 1426*25c28e83SPiotr Jasiukajtis 1427*25c28e83SPiotr Jasiukajtis add %g5,TBL,%g5 ! (2_1) pind = (char*)TBL + ind1; 1428*25c28e83SPiotr Jasiukajtis 1429*25c28e83SPiotr Jasiukajtis add %l2,stridex,%l2 ! px += stridex 1430*25c28e83SPiotr Jasiukajtis ldd [%g5+16],%f36 ! (2_1) dexp_lo = ((double*)pind)[2]; 1431*25c28e83SPiotr Jasiukajtis 1432*25c28e83SPiotr Jasiukajtis fmuld %f12,%f18,%f12 ! (2_1) res *= xx; 1433*25c28e83SPiotr Jasiukajtis ldd [%g5+8],%f18 ! (2_1) dexp_hi = ((double*)pind)[1]; 1434*25c28e83SPiotr Jasiukajtis faddd %f52,A2,%f20 ! (3_1) res += A2; 1435*25c28e83SPiotr Jasiukajtis 1436*25c28e83SPiotr Jasiukajtis ldd [%fp+tmp2],%f48 ! (1_1) dsqrt_exp = *(double*)&sqrt_exp; 1437*25c28e83SPiotr Jasiukajtis faddd %f60,%f14,%f60 ! (1_1) res += dexp_hi; 1438*25c28e83SPiotr Jasiukajtis 1439*25c28e83SPiotr Jasiukajtis fmuld %f20,%f44,%f20 ! (3_1) res *= xx; 1440*25c28e83SPiotr Jasiukajtis 1441*25c28e83SPiotr Jasiukajtis fmuld %f18,%f12,%f34 ! (2_1) res = dexp_hi * res; 1442*25c28e83SPiotr Jasiukajtis fpadd32 %f48,%f60,%f12 ! (1_1) dtmp0 = vis_fpadd32(dsqrt_exp,res); 1443*25c28e83SPiotr Jasiukajtis 1444*25c28e83SPiotr Jasiukajtis st %f12,[%i2] ! (1_1) ((float*)py)[0] = ((float*)&dtmp0)[0]; 1445*25c28e83SPiotr Jasiukajtis 1446*25c28e83SPiotr Jasiukajtis add %i2,stridey,%g5 ! py += stridey 1447*25c28e83SPiotr Jasiukajtis st %f13,[%i2+4] ! (1_1) ((float*)py)[1] = ((float*)&dtmp0)[1]; 1448*25c28e83SPiotr Jasiukajtis 1449*25c28e83SPiotr Jasiukajtis subcc counter,1,counter 1450*25c28e83SPiotr Jasiukajtis bneg .begin 1451*25c28e83SPiotr Jasiukajtis or %g0,%g5,%o4 1452*25c28e83SPiotr Jasiukajtis 1453*25c28e83SPiotr Jasiukajtis faddd %f20,A1,%f12 ! (3_1) res += A1; 1454*25c28e83SPiotr Jasiukajtis 1455*25c28e83SPiotr Jasiukajtis faddd %f34,%f36,%f60 ! (2_1) res += dexp_lo; 1456*25c28e83SPiotr Jasiukajtis 1457*25c28e83SPiotr Jasiukajtis add %g1,TBL,%g1 ! (3_1) pind = (char*)TBL + ind1; 1458*25c28e83SPiotr Jasiukajtis 1459*25c28e83SPiotr Jasiukajtis add %l2,stridex,%l2 ! px += stridex 1460*25c28e83SPiotr Jasiukajtis ldd [%g1+16],%f36 ! (3_1) dexp_lo = ((double*)pind)[2]; 1461*25c28e83SPiotr Jasiukajtis 1462*25c28e83SPiotr Jasiukajtis fmuld %f12,%f44,%f12 ! (3_1) res *= xx; 1463*25c28e83SPiotr Jasiukajtis ldd [%g1+8],%f44 ! (3_1) dexp_hi = ((double*)pind)[1]; 1464*25c28e83SPiotr Jasiukajtis 1465*25c28e83SPiotr Jasiukajtis ldd [%fp+tmp3],%f48 ! (2_1) dsqrt_exp = *(double*)&sqrt_exp; 1466*25c28e83SPiotr Jasiukajtis faddd %f60,%f18,%f60 ! (2_1) res += dexp_hi; 1467*25c28e83SPiotr Jasiukajtis 1468*25c28e83SPiotr Jasiukajtis fmuld %f44,%f12,%f34 ! (3_1) res = dexp_hi * res; 1469*25c28e83SPiotr Jasiukajtis fpadd32 %f48,%f60,%f12 ! (2_1) dtmp0 = vis_fpadd32(dsqrt_exp,res); 1470*25c28e83SPiotr Jasiukajtis 1471*25c28e83SPiotr Jasiukajtis st %f12,[%g5] ! (2_1) ((float*)py)[0] = ((float*)&dtmp0)[0]; 1472*25c28e83SPiotr Jasiukajtis 1473*25c28e83SPiotr Jasiukajtis add %g5,stridey,%g1 ! py += stridey 1474*25c28e83SPiotr Jasiukajtis st %f13,[%g5+4] ! (2_1) ((float*)py)[1] = ((float*)&dtmp0)[1]; 1475*25c28e83SPiotr Jasiukajtis 1476*25c28e83SPiotr Jasiukajtis subcc counter,1,counter 1477*25c28e83SPiotr Jasiukajtis bneg .begin 1478*25c28e83SPiotr Jasiukajtis or %g0,%g1,%o4 1479*25c28e83SPiotr Jasiukajtis 1480*25c28e83SPiotr Jasiukajtis faddd %f34,%f36,%f60 ! (3_1) res += dexp_lo; 1481*25c28e83SPiotr Jasiukajtis 1482*25c28e83SPiotr Jasiukajtis add %l2,stridex,%l2 ! px += stridex 1483*25c28e83SPiotr Jasiukajtis 1484*25c28e83SPiotr Jasiukajtis ldd [%fp+tmp4],%f48 ! (3_1) dsqrt_exp = *(double*)&sqrt_exp; 1485*25c28e83SPiotr Jasiukajtis faddd %f60,%f44,%f60 ! (3_1) res += dexp_hi; 1486*25c28e83SPiotr Jasiukajtis 1487*25c28e83SPiotr Jasiukajtis fpadd32 %f48,%f60,%f12 ! (3_1) dtmp0 = vis_fpadd32(dsqrt_exp,res); 1488*25c28e83SPiotr Jasiukajtis 1489*25c28e83SPiotr Jasiukajtis st %f12,[%g1] ! (3_1) ((float*)py)[0] = ((float*)&dtmp0)[0]; 1490*25c28e83SPiotr Jasiukajtis 1491*25c28e83SPiotr Jasiukajtis add %g1,stridey,%i3 ! py += stridey 1492*25c28e83SPiotr Jasiukajtis st %f13,[%g1+4] ! (3_1) ((float*)py)[1] = ((float*)&dtmp0)[1]; 1493*25c28e83SPiotr Jasiukajtis 1494*25c28e83SPiotr Jasiukajtis ba .begin 1495*25c28e83SPiotr Jasiukajtis or %g0,%i3,%o4 1496*25c28e83SPiotr Jasiukajtis 1497*25c28e83SPiotr Jasiukajtis .align 16 1498*25c28e83SPiotr Jasiukajtis.spec: 1499*25c28e83SPiotr Jasiukajtis fsqrtd %f10,%f10 1500*25c28e83SPiotr Jasiukajtis add %l2,stridex,%l2 1501*25c28e83SPiotr Jasiukajtis 1502*25c28e83SPiotr Jasiukajtis st %f10,[%o4] 1503*25c28e83SPiotr Jasiukajtis st %f11,[%o4+4] 1504*25c28e83SPiotr Jasiukajtis 1505*25c28e83SPiotr Jasiukajtis add %o4,stridey,%o4 1506*25c28e83SPiotr Jasiukajtis ba .begin1 1507*25c28e83SPiotr Jasiukajtis sub counter,1,counter 1508*25c28e83SPiotr Jasiukajtis 1509*25c28e83SPiotr Jasiukajtis .align 16 1510*25c28e83SPiotr Jasiukajtis.update0: 1511*25c28e83SPiotr Jasiukajtis cmp counter,1 1512*25c28e83SPiotr Jasiukajtis ble .cont0 1513*25c28e83SPiotr Jasiukajtis nop 1514*25c28e83SPiotr Jasiukajtis 1515*25c28e83SPiotr Jasiukajtis sub %l2,stridex,%i5 1516*25c28e83SPiotr Jasiukajtis stx %i5,[%fp+tmp_px] 1517*25c28e83SPiotr Jasiukajtis 1518*25c28e83SPiotr Jasiukajtis sub counter,1,counter 1519*25c28e83SPiotr Jasiukajtis st counter,[%fp+tmp_counter] 1520*25c28e83SPiotr Jasiukajtis 1521*25c28e83SPiotr Jasiukajtis ba .cont0 1522*25c28e83SPiotr Jasiukajtis or %g0,1,counter 1523*25c28e83SPiotr Jasiukajtis 1524*25c28e83SPiotr Jasiukajtis .align 16 1525*25c28e83SPiotr Jasiukajtis.update1: 1526*25c28e83SPiotr Jasiukajtis cmp counter,1 1527*25c28e83SPiotr Jasiukajtis ble .cont1 1528*25c28e83SPiotr Jasiukajtis nop 1529*25c28e83SPiotr Jasiukajtis 1530*25c28e83SPiotr Jasiukajtis sub %l2,stridex,%i5 1531*25c28e83SPiotr Jasiukajtis stx %i5,[%fp+tmp_px] 1532*25c28e83SPiotr Jasiukajtis 1533*25c28e83SPiotr Jasiukajtis sub counter,1,counter 1534*25c28e83SPiotr Jasiukajtis st counter,[%fp+tmp_counter] 1535*25c28e83SPiotr Jasiukajtis 1536*25c28e83SPiotr Jasiukajtis ba .cont1 1537*25c28e83SPiotr Jasiukajtis or %g0,1,counter 1538*25c28e83SPiotr Jasiukajtis 1539*25c28e83SPiotr Jasiukajtis .align 16 1540*25c28e83SPiotr Jasiukajtis.update2: 1541*25c28e83SPiotr Jasiukajtis cmp counter,2 1542*25c28e83SPiotr Jasiukajtis ble .cont2 1543*25c28e83SPiotr Jasiukajtis nop 1544*25c28e83SPiotr Jasiukajtis 1545*25c28e83SPiotr Jasiukajtis sub %l2,stridex,%i5 1546*25c28e83SPiotr Jasiukajtis stx %i5,[%fp+tmp_px] 1547*25c28e83SPiotr Jasiukajtis 1548*25c28e83SPiotr Jasiukajtis sub counter,2,counter 1549*25c28e83SPiotr Jasiukajtis st counter,[%fp+tmp_counter] 1550*25c28e83SPiotr Jasiukajtis 1551*25c28e83SPiotr Jasiukajtis ba .cont2 1552*25c28e83SPiotr Jasiukajtis or %g0,2,counter 1553*25c28e83SPiotr Jasiukajtis 1554*25c28e83SPiotr Jasiukajtis .align 16 1555*25c28e83SPiotr Jasiukajtis.update3: 1556*25c28e83SPiotr Jasiukajtis cmp counter,2 1557*25c28e83SPiotr Jasiukajtis ble .cont3 1558*25c28e83SPiotr Jasiukajtis nop 1559*25c28e83SPiotr Jasiukajtis 1560*25c28e83SPiotr Jasiukajtis sub %l2,stridex,%i5 1561*25c28e83SPiotr Jasiukajtis stx %i5,[%fp+tmp_px] 1562*25c28e83SPiotr Jasiukajtis 1563*25c28e83SPiotr Jasiukajtis sub counter,2,counter 1564*25c28e83SPiotr Jasiukajtis st counter,[%fp+tmp_counter] 1565*25c28e83SPiotr Jasiukajtis 1566*25c28e83SPiotr Jasiukajtis ba .cont3 1567*25c28e83SPiotr Jasiukajtis or %g0,2,counter 1568*25c28e83SPiotr Jasiukajtis 1569*25c28e83SPiotr Jasiukajtis .align 16 1570*25c28e83SPiotr Jasiukajtis.update4: 1571*25c28e83SPiotr Jasiukajtis cmp counter,3 1572*25c28e83SPiotr Jasiukajtis ble .cont4 1573*25c28e83SPiotr Jasiukajtis nop 1574*25c28e83SPiotr Jasiukajtis 1575*25c28e83SPiotr Jasiukajtis sub %l2,stridex,%i5 1576*25c28e83SPiotr Jasiukajtis stx %i5,[%fp+tmp_px] 1577*25c28e83SPiotr Jasiukajtis 1578*25c28e83SPiotr Jasiukajtis sub counter,3,counter 1579*25c28e83SPiotr Jasiukajtis st counter,[%fp+tmp_counter] 1580*25c28e83SPiotr Jasiukajtis 1581*25c28e83SPiotr Jasiukajtis ba .cont4 1582*25c28e83SPiotr Jasiukajtis or %g0,3,counter 1583*25c28e83SPiotr Jasiukajtis 1584*25c28e83SPiotr Jasiukajtis .align 16 1585*25c28e83SPiotr Jasiukajtis.update5: 1586*25c28e83SPiotr Jasiukajtis cmp counter,3 1587*25c28e83SPiotr Jasiukajtis ble .cont5 1588*25c28e83SPiotr Jasiukajtis nop 1589*25c28e83SPiotr Jasiukajtis 1590*25c28e83SPiotr Jasiukajtis sub %l2,stridex,%i5 1591*25c28e83SPiotr Jasiukajtis stx %i5,[%fp+tmp_px] 1592*25c28e83SPiotr Jasiukajtis 1593*25c28e83SPiotr Jasiukajtis sub counter,3,counter 1594*25c28e83SPiotr Jasiukajtis st counter,[%fp+tmp_counter] 1595*25c28e83SPiotr Jasiukajtis 1596*25c28e83SPiotr Jasiukajtis ba .cont5 1597*25c28e83SPiotr Jasiukajtis or %g0,3,counter 1598*25c28e83SPiotr Jasiukajtis 1599*25c28e83SPiotr Jasiukajtis .align 16 1600*25c28e83SPiotr Jasiukajtis.update6: 1601*25c28e83SPiotr Jasiukajtis cmp counter,4 1602*25c28e83SPiotr Jasiukajtis ble .cont6 1603*25c28e83SPiotr Jasiukajtis nop 1604*25c28e83SPiotr Jasiukajtis 1605*25c28e83SPiotr Jasiukajtis sub %l2,stridex,%i5 1606*25c28e83SPiotr Jasiukajtis stx %i5,[%fp+tmp_px] 1607*25c28e83SPiotr Jasiukajtis 1608*25c28e83SPiotr Jasiukajtis sub counter,4,counter 1609*25c28e83SPiotr Jasiukajtis st counter,[%fp+tmp_counter] 1610*25c28e83SPiotr Jasiukajtis 1611*25c28e83SPiotr Jasiukajtis ba .cont6 1612*25c28e83SPiotr Jasiukajtis or %g0,4,counter 1613*25c28e83SPiotr Jasiukajtis 1614*25c28e83SPiotr Jasiukajtis .align 16 1615*25c28e83SPiotr Jasiukajtis.update7: 1616*25c28e83SPiotr Jasiukajtis cmp counter,4 1617*25c28e83SPiotr Jasiukajtis ble .cont7 1618*25c28e83SPiotr Jasiukajtis nop 1619*25c28e83SPiotr Jasiukajtis 1620*25c28e83SPiotr Jasiukajtis sub %l2,stridex,%i5 1621*25c28e83SPiotr Jasiukajtis stx %i5,[%fp+tmp_px] 1622*25c28e83SPiotr Jasiukajtis 1623*25c28e83SPiotr Jasiukajtis sub counter,4,counter 1624*25c28e83SPiotr Jasiukajtis st counter,[%fp+tmp_counter] 1625*25c28e83SPiotr Jasiukajtis 1626*25c28e83SPiotr Jasiukajtis ba .cont7 1627*25c28e83SPiotr Jasiukajtis or %g0,4,counter 1628*25c28e83SPiotr Jasiukajtis 1629*25c28e83SPiotr Jasiukajtis .align 16 1630*25c28e83SPiotr Jasiukajtis.update8: 1631*25c28e83SPiotr Jasiukajtis cmp counter,5 1632*25c28e83SPiotr Jasiukajtis ble .cont8 1633*25c28e83SPiotr Jasiukajtis nop 1634*25c28e83SPiotr Jasiukajtis 1635*25c28e83SPiotr Jasiukajtis sub %l2,stridex,%i5 1636*25c28e83SPiotr Jasiukajtis stx %i5,[%fp+tmp_px] 1637*25c28e83SPiotr Jasiukajtis 1638*25c28e83SPiotr Jasiukajtis sub counter,5,counter 1639*25c28e83SPiotr Jasiukajtis st counter,[%fp+tmp_counter] 1640*25c28e83SPiotr Jasiukajtis 1641*25c28e83SPiotr Jasiukajtis ba .cont8 1642*25c28e83SPiotr Jasiukajtis or %g0,5,counter 1643*25c28e83SPiotr Jasiukajtis 1644*25c28e83SPiotr Jasiukajtis .align 16 1645*25c28e83SPiotr Jasiukajtis.update9: 1646*25c28e83SPiotr Jasiukajtis cmp counter,5 1647*25c28e83SPiotr Jasiukajtis ble .cont9 1648*25c28e83SPiotr Jasiukajtis nop 1649*25c28e83SPiotr Jasiukajtis 1650*25c28e83SPiotr Jasiukajtis sub %l2,stridex,%i5 1651*25c28e83SPiotr Jasiukajtis stx %i5,[%fp+tmp_px] 1652*25c28e83SPiotr Jasiukajtis 1653*25c28e83SPiotr Jasiukajtis sub counter,5,counter 1654*25c28e83SPiotr Jasiukajtis st counter,[%fp+tmp_counter] 1655*25c28e83SPiotr Jasiukajtis 1656*25c28e83SPiotr Jasiukajtis ba .cont9 1657*25c28e83SPiotr Jasiukajtis or %g0,5,counter 1658*25c28e83SPiotr Jasiukajtis 1659*25c28e83SPiotr Jasiukajtis .align 16 1660*25c28e83SPiotr Jasiukajtis.update10: 1661*25c28e83SPiotr Jasiukajtis cmp counter,6 1662*25c28e83SPiotr Jasiukajtis ble .cont10 1663*25c28e83SPiotr Jasiukajtis nop 1664*25c28e83SPiotr Jasiukajtis 1665*25c28e83SPiotr Jasiukajtis sub %l2,stridex,%i5 1666*25c28e83SPiotr Jasiukajtis stx %i5,[%fp+tmp_px] 1667*25c28e83SPiotr Jasiukajtis 1668*25c28e83SPiotr Jasiukajtis sub counter,6,counter 1669*25c28e83SPiotr Jasiukajtis st counter,[%fp+tmp_counter] 1670*25c28e83SPiotr Jasiukajtis 1671*25c28e83SPiotr Jasiukajtis ba .cont10 1672*25c28e83SPiotr Jasiukajtis or %g0,6,counter 1673*25c28e83SPiotr Jasiukajtis 1674*25c28e83SPiotr Jasiukajtis .align 16 1675*25c28e83SPiotr Jasiukajtis.update11: 1676*25c28e83SPiotr Jasiukajtis cmp counter,6 1677*25c28e83SPiotr Jasiukajtis ble .cont11 1678*25c28e83SPiotr Jasiukajtis nop 1679*25c28e83SPiotr Jasiukajtis 1680*25c28e83SPiotr Jasiukajtis sub %l2,stridex,%i5 1681*25c28e83SPiotr Jasiukajtis stx %i5,[%fp+tmp_px] 1682*25c28e83SPiotr Jasiukajtis 1683*25c28e83SPiotr Jasiukajtis sub counter,6,counter 1684*25c28e83SPiotr Jasiukajtis st counter,[%fp+tmp_counter] 1685*25c28e83SPiotr Jasiukajtis 1686*25c28e83SPiotr Jasiukajtis ba .cont11 1687*25c28e83SPiotr Jasiukajtis or %g0,6,counter 1688*25c28e83SPiotr Jasiukajtis 1689*25c28e83SPiotr Jasiukajtis .align 16 1690*25c28e83SPiotr Jasiukajtis.update12: 1691*25c28e83SPiotr Jasiukajtis cmp counter,7 1692*25c28e83SPiotr Jasiukajtis ble .cont12 1693*25c28e83SPiotr Jasiukajtis nop 1694*25c28e83SPiotr Jasiukajtis 1695*25c28e83SPiotr Jasiukajtis sub %l2,stridex,%i5 1696*25c28e83SPiotr Jasiukajtis stx %i5,[%fp+tmp_px] 1697*25c28e83SPiotr Jasiukajtis 1698*25c28e83SPiotr Jasiukajtis sub counter,7,counter 1699*25c28e83SPiotr Jasiukajtis st counter,[%fp+tmp_counter] 1700*25c28e83SPiotr Jasiukajtis 1701*25c28e83SPiotr Jasiukajtis ba .cont12 1702*25c28e83SPiotr Jasiukajtis or %g0,7,counter 1703*25c28e83SPiotr Jasiukajtis 1704*25c28e83SPiotr Jasiukajtis .align 16 1705*25c28e83SPiotr Jasiukajtis.update13: 1706*25c28e83SPiotr Jasiukajtis cmp counter,7 1707*25c28e83SPiotr Jasiukajtis ble .cont13 1708*25c28e83SPiotr Jasiukajtis nop 1709*25c28e83SPiotr Jasiukajtis 1710*25c28e83SPiotr Jasiukajtis sub %l2,stridex,%i5 1711*25c28e83SPiotr Jasiukajtis stx %i5,[%fp+tmp_px] 1712*25c28e83SPiotr Jasiukajtis 1713*25c28e83SPiotr Jasiukajtis sub counter,7,counter 1714*25c28e83SPiotr Jasiukajtis st counter,[%fp+tmp_counter] 1715*25c28e83SPiotr Jasiukajtis 1716*25c28e83SPiotr Jasiukajtis ba .cont13 1717*25c28e83SPiotr Jasiukajtis or %g0,7,counter 1718*25c28e83SPiotr Jasiukajtis 1719*25c28e83SPiotr Jasiukajtis .align 16 1720*25c28e83SPiotr Jasiukajtis.update14: 1721*25c28e83SPiotr Jasiukajtis cmp counter,8 1722*25c28e83SPiotr Jasiukajtis ble .cont14 1723*25c28e83SPiotr Jasiukajtis nop 1724*25c28e83SPiotr Jasiukajtis 1725*25c28e83SPiotr Jasiukajtis sub %l2,stridex,%i5 1726*25c28e83SPiotr Jasiukajtis stx %i5,[%fp+tmp_px] 1727*25c28e83SPiotr Jasiukajtis 1728*25c28e83SPiotr Jasiukajtis sub counter,8,counter 1729*25c28e83SPiotr Jasiukajtis st counter,[%fp+tmp_counter] 1730*25c28e83SPiotr Jasiukajtis 1731*25c28e83SPiotr Jasiukajtis ba .cont14 1732*25c28e83SPiotr Jasiukajtis or %g0,8,counter 1733*25c28e83SPiotr Jasiukajtis 1734*25c28e83SPiotr Jasiukajtis .align 16 1735*25c28e83SPiotr Jasiukajtis.update15: 1736*25c28e83SPiotr Jasiukajtis cmp counter,8 1737*25c28e83SPiotr Jasiukajtis ble .cont15 1738*25c28e83SPiotr Jasiukajtis nop 1739*25c28e83SPiotr Jasiukajtis 1740*25c28e83SPiotr Jasiukajtis sub %l2,stridex,%i5 1741*25c28e83SPiotr Jasiukajtis stx %i5,[%fp+tmp_px] 1742*25c28e83SPiotr Jasiukajtis 1743*25c28e83SPiotr Jasiukajtis sub counter,8,counter 1744*25c28e83SPiotr Jasiukajtis st counter,[%fp+tmp_counter] 1745*25c28e83SPiotr Jasiukajtis 1746*25c28e83SPiotr Jasiukajtis ba .cont15 1747*25c28e83SPiotr Jasiukajtis or %g0,8,counter 1748*25c28e83SPiotr Jasiukajtis 1749*25c28e83SPiotr Jasiukajtis .align 16 1750*25c28e83SPiotr Jasiukajtis.update16: 1751*25c28e83SPiotr Jasiukajtis cmp counter,9 1752*25c28e83SPiotr Jasiukajtis ble .cont16 1753*25c28e83SPiotr Jasiukajtis nop 1754*25c28e83SPiotr Jasiukajtis 1755*25c28e83SPiotr Jasiukajtis sub %l2,stridex,%i5 1756*25c28e83SPiotr Jasiukajtis stx %i5,[%fp+tmp_px] 1757*25c28e83SPiotr Jasiukajtis 1758*25c28e83SPiotr Jasiukajtis sub counter,9,counter 1759*25c28e83SPiotr Jasiukajtis st counter,[%fp+tmp_counter] 1760*25c28e83SPiotr Jasiukajtis 1761*25c28e83SPiotr Jasiukajtis ba .cont16 1762*25c28e83SPiotr Jasiukajtis or %g0,9,counter 1763*25c28e83SPiotr Jasiukajtis 1764*25c28e83SPiotr Jasiukajtis .align 16 1765*25c28e83SPiotr Jasiukajtis.update17: 1766*25c28e83SPiotr Jasiukajtis cmp counter,9 1767*25c28e83SPiotr Jasiukajtis ble .cont17 1768*25c28e83SPiotr Jasiukajtis nop 1769*25c28e83SPiotr Jasiukajtis 1770*25c28e83SPiotr Jasiukajtis sub %l2,stridex,%i5 1771*25c28e83SPiotr Jasiukajtis stx %i5,[%fp+tmp_px] 1772*25c28e83SPiotr Jasiukajtis 1773*25c28e83SPiotr Jasiukajtis sub counter,9,counter 1774*25c28e83SPiotr Jasiukajtis st counter,[%fp+tmp_counter] 1775*25c28e83SPiotr Jasiukajtis 1776*25c28e83SPiotr Jasiukajtis ba .cont17 1777*25c28e83SPiotr Jasiukajtis or %g0,9,counter 1778*25c28e83SPiotr Jasiukajtis 1779*25c28e83SPiotr Jasiukajtis .align 16 1780*25c28e83SPiotr Jasiukajtis.update18: 1781*25c28e83SPiotr Jasiukajtis cmp counter,10 1782*25c28e83SPiotr Jasiukajtis ble .cont18 1783*25c28e83SPiotr Jasiukajtis nop 1784*25c28e83SPiotr Jasiukajtis 1785*25c28e83SPiotr Jasiukajtis sub %l2,stridex,%i5 1786*25c28e83SPiotr Jasiukajtis stx %i5,[%fp+tmp_px] 1787*25c28e83SPiotr Jasiukajtis 1788*25c28e83SPiotr Jasiukajtis sub counter,10,counter 1789*25c28e83SPiotr Jasiukajtis st counter,[%fp+tmp_counter] 1790*25c28e83SPiotr Jasiukajtis 1791*25c28e83SPiotr Jasiukajtis ba .cont18 1792*25c28e83SPiotr Jasiukajtis or %g0,10,counter 1793*25c28e83SPiotr Jasiukajtis 1794*25c28e83SPiotr Jasiukajtis .align 16 1795*25c28e83SPiotr Jasiukajtis.update19: 1796*25c28e83SPiotr Jasiukajtis cmp counter,10 1797*25c28e83SPiotr Jasiukajtis ble .cont19 1798*25c28e83SPiotr Jasiukajtis nop 1799*25c28e83SPiotr Jasiukajtis 1800*25c28e83SPiotr Jasiukajtis sub %l2,stridex,%i5 1801*25c28e83SPiotr Jasiukajtis stx %i5,[%fp+tmp_px] 1802*25c28e83SPiotr Jasiukajtis 1803*25c28e83SPiotr Jasiukajtis sub counter,10,counter 1804*25c28e83SPiotr Jasiukajtis st counter,[%fp+tmp_counter] 1805*25c28e83SPiotr Jasiukajtis 1806*25c28e83SPiotr Jasiukajtis ba .cont19 1807*25c28e83SPiotr Jasiukajtis or %g0,10,counter 1808*25c28e83SPiotr Jasiukajtis 1809*25c28e83SPiotr Jasiukajtis .align 16 1810*25c28e83SPiotr Jasiukajtis.update20: 1811*25c28e83SPiotr Jasiukajtis cmp counter,11 1812*25c28e83SPiotr Jasiukajtis ble .cont20 1813*25c28e83SPiotr Jasiukajtis nop 1814*25c28e83SPiotr Jasiukajtis 1815*25c28e83SPiotr Jasiukajtis sub %l2,stridex,%i5 1816*25c28e83SPiotr Jasiukajtis stx %i5,[%fp+tmp_px] 1817*25c28e83SPiotr Jasiukajtis 1818*25c28e83SPiotr Jasiukajtis sub counter,11,counter 1819*25c28e83SPiotr Jasiukajtis st counter,[%fp+tmp_counter] 1820*25c28e83SPiotr Jasiukajtis 1821*25c28e83SPiotr Jasiukajtis ba .cont20 1822*25c28e83SPiotr Jasiukajtis or %g0,11,counter 1823*25c28e83SPiotr Jasiukajtis 1824*25c28e83SPiotr Jasiukajtis .align 16 1825*25c28e83SPiotr Jasiukajtis.update21: 1826*25c28e83SPiotr Jasiukajtis cmp counter,11 1827*25c28e83SPiotr Jasiukajtis ble .cont21 1828*25c28e83SPiotr Jasiukajtis nop 1829*25c28e83SPiotr Jasiukajtis 1830*25c28e83SPiotr Jasiukajtis sub %l2,stridex,%i5 1831*25c28e83SPiotr Jasiukajtis stx %i5,[%fp+tmp_px] 1832*25c28e83SPiotr Jasiukajtis 1833*25c28e83SPiotr Jasiukajtis sub counter,11,counter 1834*25c28e83SPiotr Jasiukajtis st counter,[%fp+tmp_counter] 1835*25c28e83SPiotr Jasiukajtis 1836*25c28e83SPiotr Jasiukajtis ba .cont21 1837*25c28e83SPiotr Jasiukajtis or %g0,11,counter 1838*25c28e83SPiotr Jasiukajtis 1839*25c28e83SPiotr Jasiukajtis.exit: 1840*25c28e83SPiotr Jasiukajtis ret 1841*25c28e83SPiotr Jasiukajtis restore 1842*25c28e83SPiotr Jasiukajtis 1843*25c28e83SPiotr Jasiukajtis SET_SIZE(__vsqrt) 1844*25c28e83SPiotr Jasiukajtis 1845