25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis/*
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * CDDL HEADER START
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis *
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * The contents of this file are subject to the terms of the
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * Common Development and Distribution License (the "License").
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * You may not use this file except in compliance with the License.
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis *
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * or http://www.opensolaris.org/os/licensing.
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * See the License for the specific language governing permissions
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * and limitations under the License.
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis *
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * When distributing Covered Code, include this CDDL HEADER in each
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * If applicable, add the following below this CDDL HEADER, with the
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * fields enclosed by brackets "[]" replaced with your own identifying
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * information: Portions Copyright [yyyy] [name of copyright owner]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis *
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * CDDL HEADER END
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis */
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis/*
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * Copyright 2011 Nexenta Systems, Inc. All rights reserved.
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis */
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis/*
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * Use is subject to license terms.
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis */
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .file "__vrhypotf.S"
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#include "libm.h"
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis RO_DATA
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 64
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.CONST_TBL:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! i = [0,63]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! TBL[2*i+0] = 1.0 / (*(double*)&(0x3ff0000000000000LL + (i << 46)));
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! TBL[2*i+1] = (double)(0.5/sqrtl(2) / sqrtl(*(double*)&(0x3ff0000000000000LL + (i << 46))));
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! TBL[128+2*i+0] = 1.0 / (*(double*)&(0x3ff0000000000000LL + (i << 46)));
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! TBL[128+2*i+1] = (double)(0.25 / sqrtl(*(double*)&(0x3ff0000000000000LL + (i << 46))));
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff00000, 0x00000000, 0x3fd6a09e, 0x667f3bcd,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fef81f8, 0x1f81f820, 0x3fd673e3, 0x2ef63a03,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fef07c1, 0xf07c1f08, 0x3fd6482d, 0x37a5a3d2,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fee9131, 0xabf0b767, 0x3fd61d72, 0xb7978671,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fee1e1e, 0x1e1e1e1e, 0x3fd5f3aa, 0x673fa911,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fedae60, 0x76b981db, 0x3fd5cacb, 0x7802f342,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fed41d4, 0x1d41d41d, 0x3fd5a2cd, 0x8c69d61a,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fecd856, 0x89039b0b, 0x3fd57ba8, 0xb0ee01b9,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fec71c7, 0x1c71c71c, 0x3fd55555, 0x55555555,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fec0e07, 0x0381c0e0, 0x3fd52fcc, 0x468d6b54,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3febacf9, 0x14c1bad0, 0x3fd50b06, 0xa8fc6b70,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3feb4e81, 0xb4e81b4f, 0x3fd4e6fd, 0xf33cf032,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3feaf286, 0xbca1af28, 0x3fd4c3ab, 0xe93bcf74,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fea98ef, 0x606a63be, 0x3fd4a10a, 0x97af7b92,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fea41a4, 0x1a41a41a, 0x3fd47f14, 0x4fe17f9f,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe9ec8e, 0x951033d9, 0x3fd45dc3, 0xa3c34fa3,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe99999, 0x9999999a, 0x3fd43d13, 0x6248490f,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe948b0, 0xfcd6e9e0, 0x3fd41cfe, 0x93ff5199,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe8f9c1, 0x8f9c18fa, 0x3fd3fd80, 0x77e70577,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe8acb9, 0x0f6bf3aa, 0x3fd3de94, 0x8077db58,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe86186, 0x18618618, 0x3fd3c036, 0x50e00e03,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe81818, 0x18181818, 0x3fd3a261, 0xba6d7a37,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe7d05f, 0x417d05f4, 0x3fd38512, 0xba21f51e,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe78a4c, 0x8178a4c8, 0x3fd36845, 0x766eec92,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe745d1, 0x745d1746, 0x3fd34bf6, 0x3d156826,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe702e0, 0x5c0b8170, 0x3fd33021, 0x8127c0e0,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe6c16c, 0x16c16c17, 0x3fd314c3, 0xd92a9e91,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe68168, 0x16816817, 0x3fd2f9d9, 0xfd52fd50,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe642c8, 0x590b2164, 0x3fd2df60, 0xc5df2c9e,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe60581, 0x60581606, 0x3fd2c555, 0x2988e428,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe5c988, 0x2b931057, 0x3fd2abb4, 0x3c0eb0f4,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe58ed2, 0x308158ed, 0x3fd2927b, 0x2cd320f5,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe55555, 0x55555555, 0x3fd279a7, 0x4590331c,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe51d07, 0xeae2f815, 0x3fd26135, 0xe91daf55,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe4e5e0, 0xa72f0539, 0x3fd24924, 0x92492492,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe4afd6, 0xa052bf5b, 0x3fd23170, 0xd2be638a,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe47ae1, 0x47ae147b, 0x3fd21a18, 0x51ff630a,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe446f8, 0x6562d9fb, 0x3fd20318, 0xcc6a8f5d,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe41414, 0x14141414, 0x3fd1ec70, 0x124e98f9,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe3e22c, 0xbce4a902, 0x3fd1d61c, 0x070ae7d3,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe3b13b, 0x13b13b14, 0x3fd1c01a, 0xa03be896,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe38138, 0x13813814, 0x3fd1aa69, 0xe4f2777f,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe3521c, 0xfb2b78c1, 0x3fd19507, 0xecf5b9e9,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe323e3, 0x4a2b10bf, 0x3fd17ff2, 0xe00ec3ee,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe2f684, 0xbda12f68, 0x3fd16b28, 0xf55d72d4,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe2c9fb, 0x4d812ca0, 0x3fd156a8, 0x72b5ef62,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe29e41, 0x29e4129e, 0x3fd1426f, 0xac0654db,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe27350, 0xb8812735, 0x3fd12e7d, 0x02c40253,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe24924, 0x92492492, 0x3fd11ace, 0xe560242a,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe21fb7, 0x8121fb78, 0x3fd10763, 0xcec30b26,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe1f704, 0x7dc11f70, 0x3fd0f43a, 0x45cdedad,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe1cf06, 0xada2811d, 0x3fd0e150, 0xdce2b60c,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe1a7b9, 0x611a7b96, 0x3fd0cea6, 0x317186dc,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe18118, 0x11811812, 0x3fd0bc38, 0xeb8ba412,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe15b1e, 0x5f75270d, 0x3fd0aa07, 0xbd7b7488,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe135c8, 0x1135c811, 0x3fd09811, 0x63615499,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe11111, 0x11111111, 0x3fd08654, 0xa2d4f6db,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe0ecf5, 0x6be69c90, 0x3fd074d0, 0x4a8b1438,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe0c971, 0x4fbcda3b, 0x3fd06383, 0x31ff307a,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe0a681, 0x0a6810a7, 0x3fd0526c, 0x39213bfa,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe08421, 0x08421084, 0x3fd0418a, 0x4806de7d,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe0624d, 0xd2f1a9fc, 0x3fd030dc, 0x4ea03a72,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe04104, 0x10410410, 0x3fd02061, 0x446ffa9a,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe02040, 0x81020408, 0x3fd01018, 0x28467ee9,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff00000, 0x00000000, 0x3fd00000, 0x00000000,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fef81f8, 0x1f81f820, 0x3fcfc0bd, 0x88a0f1d9,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fef07c1, 0xf07c1f08, 0x3fcf82ec, 0x882c0f9b,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fee9131, 0xabf0b767, 0x3fcf467f, 0x2814b0cc,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fee1e1e, 0x1e1e1e1e, 0x3fcf0b68, 0x48d2af1c,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fedae60, 0x76b981db, 0x3fced19b, 0x75e78957,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fed41d4, 0x1d41d41d, 0x3fce990c, 0xdad55ed2,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fecd856, 0x89039b0b, 0x3fce61b1, 0x38f18adc,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fec71c7, 0x1c71c71c, 0x3fce2b7d, 0xddfefa66,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fec0e07, 0x0381c0e0, 0x3fcdf668, 0x9b7e6350,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3febacf9, 0x14c1bad0, 0x3fcdc267, 0xbea45549,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3feb4e81, 0xb4e81b4f, 0x3fcd8f72, 0x08e6b82d,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3feaf286, 0xbca1af28, 0x3fcd5d7e, 0xa914b937,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fea98ef, 0x606a63be, 0x3fcd2c85, 0x34ed6d86,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fea41a4, 0x1a41a41a, 0x3fccfc7d, 0xa32a9213,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe9ec8e, 0x951033d9, 0x3fcccd60, 0x45f5d358,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe99999, 0x9999999a, 0x3fcc9f25, 0xc5bfedd9,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe948b0, 0xfcd6e9e0, 0x3fcc71c7, 0x1c71c71c,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe8f9c1, 0x8f9c18fa, 0x3fcc453d, 0x90f057a2,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe8acb9, 0x0f6bf3aa, 0x3fcc1982, 0xb2ece47b,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe86186, 0x18618618, 0x3fcbee90, 0x56fb9c39,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe81818, 0x18181818, 0x3fcbc460, 0x92eb3118,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe7d05f, 0x417d05f4, 0x3fcb9aed, 0xba588347,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe78a4c, 0x8178a4c8, 0x3fcb7232, 0x5b79db11,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe745d1, 0x745d1746, 0x3fcb4a29, 0x3c1d9550,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe702e0, 0x5c0b8170, 0x3fcb22cd, 0x56d87d7e,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe6c16c, 0x16c16c17, 0x3fcafc19, 0xd8606169,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe68168, 0x16816817, 0x3fcad60a, 0x1d0fb394,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe642c8, 0x590b2164, 0x3fcab099, 0xae8f539a,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe60581, 0x60581606, 0x3fca8bc4, 0x41a3d02c,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe5c988, 0x2b931057, 0x3fca6785, 0xb41bacf7,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe58ed2, 0x308158ed, 0x3fca43da, 0x0adc6899,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe55555, 0x55555555, 0x3fca20bd, 0x700c2c3e,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe51d07, 0xeae2f815, 0x3fc9fe2c, 0x315637ee,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe4e5e0, 0xa72f0539, 0x3fc9dc22, 0xbe484458,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe4afd6, 0xa052bf5b, 0x3fc9ba9d, 0xa6c73588,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe47ae1, 0x47ae147b, 0x3fc99999, 0x9999999a,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe446f8, 0x6562d9fb, 0x3fc97913, 0x63068b54,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe41414, 0x14141414, 0x3fc95907, 0xeb87ab44,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe3e22c, 0xbce4a902, 0x3fc93974, 0x368cfa31,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe3b13b, 0x13b13b14, 0x3fc91a55, 0x6151761c,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe38138, 0x13813814, 0x3fc8fba8, 0xa1bf6f96,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe3521c, 0xfb2b78c1, 0x3fc8dd6b, 0x4563a009,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe323e3, 0x4a2b10bf, 0x3fc8bf9a, 0xb06e1af3,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe2f684, 0xbda12f68, 0x3fc8a234, 0x5cc04426,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe2c9fb, 0x4d812ca0, 0x3fc88535, 0xd90703c6,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe29e41, 0x29e4129e, 0x3fc8689c, 0xc7e07e7d,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe27350, 0xb8812735, 0x3fc84c66, 0xdf0ca4c2,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe24924, 0x92492492, 0x3fc83091, 0xe6a7f7e7,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe21fb7, 0x8121fb78, 0x3fc8151b, 0xb86fee1d,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe1f704, 0x7dc11f70, 0x3fc7fa02, 0x3f1068d1,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe1cf06, 0xada2811d, 0x3fc7df43, 0x7579b9b5,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe1a7b9, 0x611a7b96, 0x3fc7c4dd, 0x663ebb88,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe18118, 0x11811812, 0x3fc7aace, 0x2afa8b72,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe15b1e, 0x5f75270d, 0x3fc79113, 0xebbd7729,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe135c8, 0x1135c811, 0x3fc777ac, 0xde80baea,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe11111, 0x11111111, 0x3fc75e97, 0x46a0b098,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe0ecf5, 0x6be69c90, 0x3fc745d1, 0x745d1746,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe0c971, 0x4fbcda3b, 0x3fc72d59, 0xc45f1fc5,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe0a681, 0x0a6810a7, 0x3fc7152e, 0x9f44f01f,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe08421, 0x08421084, 0x3fc6fd4e, 0x79325467,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe0624d, 0xd2f1a9fc, 0x3fc6e5b7, 0xd16657e1,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe04104, 0x10410410, 0x3fc6ce69, 0x31d5858d,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe02040, 0x81020408, 0x3fc6b761, 0x2ec892f6,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x000fffff, 0xffffffff ! DC0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff00000, 0 ! DC1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x7fffc000, 0 ! DC2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x7fe00000, 0 ! DA0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x60000000, 0 ! DA1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x80808080, 0x3f800000 ! SCALE , FONE = 1.0f
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fefffff, 0xfee7f18f ! KA0 = 9.99999997962321453275e-01
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbfdfffff, 0xfe07e52f ! KA1 = -4.99999998166077580600e-01
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fd80118, 0x0ca296d9 ! KA2 = 3.75066768969515586277e-01
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbfd400fc, 0x0bbb8e78 ! KA3 = -3.12560092408808548438e-01
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define _0x7f800000 %o0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define _0x7fffffff %o7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define TBL %l2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define TBL_SHIFT 2048
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define stridex %l3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define stridey %l4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define stridez %l5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define counter %i0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define DA0 %f52
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define DA1 %f44
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define SCALE %f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define DC0 %f46
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define DC1 %f8
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define FZERO %f9
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define DC2 %f50
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define KA3 %f56
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define KA2 %f58
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define KA1 %f60
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define KA0 %f54
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define tmp_counter STACK_BIAS-0x04
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define tmp_px STACK_BIAS-0x20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define tmp_py STACK_BIAS-0x18
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define ftmp0 STACK_BIAS-0x10
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define ftmp1 STACK_BIAS-0x0c
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define ftmp2 STACK_BIAS-0x10
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define ftmp3 STACK_BIAS-0x0c
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define ftmp4 STACK_BIAS-0x08
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! sizeof temp storage - must be a multiple of 16 for V9
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define tmps 0x20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! !!!!! algorithm !!!!!
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! x0 = *px;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! ax = *(int*)px;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis!
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! y0 = *py;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! ay = *(int*)py;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis!
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! ax &= 0x7fffffff;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! ay &= 0x7fffffff;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis!
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! px += stridex;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! py += stridey;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis!
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! if ( ax >= 0x7f800000 || ay >= 0x7f800000 )
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! {
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! *pz = fabsf(x0) * fabsf(y0);
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! if( ax == 0x7f800000 ) *pz = 0.0f;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! else if( ay == 0x7f800000 ) *pz = 0.0f;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! pz += stridez;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! continue;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! }
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis!
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! if ( ay == 0 )
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! {
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! if ( ax == 0 )
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! {
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! *pz = 1.0f / 0.0f;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! pz += stridez;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! continue;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! }
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! }
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis!
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! hyp0 = x0 * (double)x0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! dtmp0 = y0 * (double)y0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! hyp0 += dtmp0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis!
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! ibase0 = ((int*)&hyp0)[0];
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis!
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! dbase0 = vis_fand(hyp0,DA0);
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! dbase0 = vis_fmul8x16(SCALE, dbase0);
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! dbase0 = vis_fpsub32(DA1,dbase0);
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis!
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! hyp0 = vis_fand(hyp0,DC0);
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! hyp0 = vis_for(hyp0,DC1);
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! h_hi0 = vis_fand(hyp0,DC2);
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis!
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! ibase0 >>= 10;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! si0 = ibase0 & 0x7f0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! xx0 = ((double*)((char*)TBL + si0))[0];
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis!
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! dtmp1 = hyp0 - h_hi0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! xx0 = dtmp1 * xx0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! res0 = ((double*)((char*)arr + si0))[1];
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! dtmp2 = KA3 * xx0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! dtmp2 += KA2;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! dtmp2 *= xx0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! dtmp2 += KA1;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! dtmp2 *= xx0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! dtmp2 += KA0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! res0 *= dtmp2;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! res0 *= dbase0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! ftmp0 = (float)res0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! *pz = ftmp0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! pz += stridez;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ENTRY(__vrhypotf)
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis save %sp,-SA(MINFRAME)-tmps,%sp
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis PIC_SETUP(l7)
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis PIC_SET(l7,.CONST_TBL,l2)
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis wr %g0,0x82,%asi
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#ifdef __sparcv9
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldx [%fp+STACK_BIAS+176],stridez
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#else
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+STACK_BIAS+92],stridez
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#endif
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis stx %i1,[%fp+tmp_px]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sll %i2,2,stridex
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis stx %i3,[%fp+tmp_py]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sll %i4,2,stridey
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %i0,[%fp+tmp_counter]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sll stridez,2,stridez
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %i5,%o1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [TBL+TBL_SHIFT],DC0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [TBL+TBL_SHIFT+8],DC1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [TBL+TBL_SHIFT+16],DC2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [TBL+TBL_SHIFT+24],DA0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [TBL+TBL_SHIFT+32],DA1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [TBL+TBL_SHIFT+40],SCALE
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [TBL+TBL_SHIFT+48],KA0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [TBL+TBL_SHIFT+56],KA1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sethi %hi(0x7f800000),%o0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [TBL+TBL_SHIFT+64],KA2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sethi %hi(0x7ffffc00),%o7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [TBL+TBL_SHIFT+72],KA3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o7,1023,%o7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.begin:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+tmp_counter],counter
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldx [%fp+tmp_px],%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldx [%fp+tmp_py],%i2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %g0,[%fp+tmp_counter]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.begin1:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp counter,0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ble,pn %icc,.exit
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i2]0x82,%l6 ! (3_0) ay = *(int*)py;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%o4]0x82,%i5 ! (3_0) ax = *(int*)px;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i2]0x82,%f2 ! (3_0) y0 = *py;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %l6,_0x7fffffff,%l6 ! (3_0) ay &= 0x7fffffff;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %i5,_0x7fffffff,%i5 ! (3_0) ax &= 0x7fffffff;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %l6,_0x7f800000 ! (3_0) ay ? 0x7f800000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bge,pn %icc,.spec0 ! (3_0) if ( ay >= 0x7f800000 )
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%o4]0x82,%f4 ! (3_0) x0 = *px;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %i5,_0x7f800000 ! (3_0) ax ? 0x7f800000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bge,pn %icc,.spec0 ! (3_0) if ( ax >= 0x7f800000 )
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %l6,0 ! (3_0)
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis be,pn %icc,.spec1 ! (3_0) if ( ay == 0 )
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsmuld %f4,%f4,%f36 ! (3_0) hyp0 = x0 * (double)x0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.cont_spec1:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i2+stridey]0x82,%l6 ! (4_0) ay = *(int*)py;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsmuld %f2,%f2,%f62 ! (3_0) dtmp0 = y0 * (double)y0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [stridex+%o4]0x82,%i5 ! (4_0) ax = *(int*)px;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o4,stridex,%l0 ! px += stridex
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i2,stridey,%i2 ! py += stridey
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %l6,_0x7fffffff,%l6 ! (4_0) ay &= 0x7fffffff;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %i5,_0x7fffffff,%i5 ! (4_0) ax &= 0x7fffffff;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i2]0x82,%f2 ! (4_0) y0 = *py;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f36,%f62,%f20 ! (3_0) hyp0 += dtmp0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %l6,_0x7f800000 ! (4_0) ay ? 0x7f800000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bge,pn %icc,.update0 ! (4_0) if ( ay >= 0x7f800000 )
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [stridex+%o4]0x82,%f4 ! (4_0) x0 = *px;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.cont0:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %i5,_0x7f800000 ! (4_0) ax ? 0x7f800000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bge,pn %icc,.update1 ! (4_0) if ( ax >= 0x7f800000 )
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f20,[%fp+ftmp4] ! (3_0) ibase0 = ((int*)&hyp0)[0];
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.cont1:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %l6,0 ! (4_1) ay ? 0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis be,pn %icc,.update2 ! (4_1) if ( ay == 0 )
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsmuld %f4,%f4,%f38 ! (4_1) hyp0 = x0 * (double)x0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.cont2:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i2+stridey]0x82,%l6 ! (0_0) ay = *(int*)py;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsmuld %f2,%f2,%f62 ! (4_1) dtmp0 = y0 * (double)y0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%l0+stridex]0x82,%i5 ! (0_0) ax = *(int*)px;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %l0,stridex,%i1 ! px += stridex
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i2,stridey,%i2 ! py += stridey
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %l6,_0x7fffffff,%l6 ! (0_0) ay &= 0x7fffffff;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %i5,_0x7fffffff,%i5 ! (0_0) ax &= 0x7fffffff;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i2]0x82,%f2 ! (0_0) y0 = *py;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %l6,_0x7f800000 ! (0_0) ay ? 0x7f800000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bge,pn %icc,.update3 ! (0_0) if ( ay >= 0x7f800000 )
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f38,%f62,%f12 ! (4_1) hyp0 += dtmp0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.cont3:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1]0x82,%f4 ! (0_0) x0 = *px;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %i5,_0x7f800000 ! (0_0) ax ? 0x7f800000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bge,pn %icc,.update4 ! (0_0) if ( ax >= 0x7f800000 )
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f12,[%fp+ftmp0] ! (4_1) ibase0 = ((int*)&hyp0)[0];
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.cont4:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %l6,0 ! (0_0) ay ? 0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis be,pn %icc,.update5 ! (0_0) if ( ay == 0 )
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsmuld %f4,%f4,%f38 ! (0_0) hyp0 = x0 * (double)x0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.cont5:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i2+stridey]0x82,%l6 ! (1_0) ay = *(int*)py;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsmuld %f2,%f2,%f62 ! (0_0) dtmp0 = y0 * (double)y0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1+stridex]0x82,%i5 ! (1_0) ax = *(int*)px;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i1,stridex,%g5 ! px += stridex
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i2,stridey,%o3 ! py += stridey
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %l6,_0x7fffffff,%l6 ! (1_0) ay &= 0x7fffffff;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fand %f20,DC0,%f30 ! (3_1) hyp0 = vis_fand(hyp0,DC0);
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %i5,_0x7fffffff,%i5 ! (1_0) ax &= 0x7fffffff;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%o3]0x82,%f2 ! (1_0) y0 = *py;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f38,%f62,%f14 ! (0_0) hyp0 += dtmp0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %l6,_0x7f800000 ! (1_0) ay ? 0x7f800000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%g5]0x82,%f4 ! (1_0) x0 = *px;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bge,pn %icc,.update6 ! (1_0) if ( ay >= 0x7f800000 )
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis for %f30,DC1,%f28 ! (3_1) hyp0 = vis_for(hyp0,DC1);
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.cont6:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %i5,_0x7f800000 ! (1_0) ax ? 0x7f800000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bge,pn %icc,.update7 ! (1_0) if ( ax >= 0x7f800000 )
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+ftmp4],%l1 ! (3_1) ibase0 = ((int*)&hyp0)[0];
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.cont7:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f14,[%fp+ftmp1] ! (0_0) ibase0 = ((int*)&hyp0)[0];
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %l6,0 ! (1_0) ay ? 0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis be,pn %icc,.update8 ! (1_0) if ( ay == 0 )
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fand %f28,DC2,%f30 ! (3_1) h_hi0 = vis_fand(hyp0,DC2);
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.cont8:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsmuld %f4,%f4,%f38 ! (1_0) hyp0 = x0 * (double)x0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sra %l1,10,%o5 ! (3_1) ibase0 >>= 10;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %o5,2032,%o4 ! (3_1) si0 = ibase0 & 0x7f0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%o3+stridey]0x82,%l6 ! (2_0) ay = *(int*)py;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsmuld %f2,%f2,%f62 ! (1_0) dtmp0 = y0 * (double)y0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o4,TBL,%l7 ! (3_1) (char*)TBL + si0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [stridex+%g5]0x82,%i5 ! (2_0) ax = *(int*)px;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f28,%f30,%f28 ! (3_1) dtmp1 = hyp0 - h_hi0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %g5,stridex,%i4 ! px += stridex
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [TBL+%o4],%f42 ! (3_1) xx0 = ((double*)((char*)TBL + si0))[0];
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %l6,_0x7fffffff,%l6 ! (2_0) ay &= 0x7fffffff;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o3,stridey,%i2 ! py += stridey
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fand %f12,DC0,%f30 ! (4_1) hyp0 = vis_fand(hyp0,DC0);
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %i5,_0x7fffffff,%i5 ! (2_0) ax &= 0x7fffffff;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i2]0x82,%f2 ! (2_0) y0 = *py;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f38,%f62,%f16 ! (1_0) hyp0 += dtmp0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %l6,_0x7f800000 ! (2_0) ay ? 0x7f800000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f28,%f42,%f26 ! (3_1) xx0 = dtmp1 * xx0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [stridex+%g5]0x82,%f4 ! (2_0) x0 = *px;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bge,pn %icc,.update9 ! (2_0) if ( ay >= 0x7f800000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis for %f30,DC1,%f28 ! (4_1) hyp0 = vis_for(hyp0,DC1);
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.cont9:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %i5,_0x7f800000 ! (2_0) ax ? 0x7f800000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bge,pn %icc,.update10 ! (2_0) if ( ax >= 0x7f800000 )
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+ftmp0],%i3 ! (4_1) ibase0 = ((int*)&hyp0)[0];
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.cont10:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f16,[%fp+ftmp2] ! (1_0) ibase0 = ((int*)&hyp0)[0];
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld KA3,%f26,%f34 ! (3_1) dtmp2 = KA3 * xx0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %l6,0 ! (2_0) ay ? 0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis be,pn %icc,.update11 ! (2_0) if ( ay == 0 )
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fand %f28,DC2,%f30 ! (4_1) h_hi0 = vis_fand(hyp0,DC2);
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.cont11:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsmuld %f4,%f4,%f36 ! (2_0) hyp0 = x0 * (double)x0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sra %i3,10,%i3 ! (4_1) ibase0 >>= 10;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %i3,2032,%i3 ! (4_1) si0 = ibase0 & 0x7f0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i2+stridey]0x82,%l6 ! (3_0) ay = *(int*)py;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsmuld %f2,%f2,%f62 ! (2_0) dtmp0 = y0 * (double)y0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i3,TBL,%i3 ! (4_1) (char*)TBL + si0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i4+stridex]0x82,%i5 ! (3_0) ax = *(int*)px;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f28,%f30,%f28 ! (4_1) dtmp1 = hyp0 - h_hi0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i4,stridex,%o4 ! px += stridex
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%i3],%f42 ! (4_1) xx0 = ((double*)((char*)TBL + si0))[0];
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f34,KA2,%f10 ! (3_1) dtmp2 += KA2;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i2,stridey,%i2 ! py += stridey
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %l6,_0x7fffffff,%l6 ! (3_0) ay &= 0x7fffffff;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fand %f14,DC0,%f30 ! (0_0) hyp0 = vis_fand(hyp0,DC0);
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %i5,_0x7fffffff,%i5 ! (3_0) ax &= 0x7fffffff;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i2]0x82,%f2 ! (3_0) y0 = *py;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f36,%f62,%f18 ! (2_0) hyp0 += dtmp0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %l6,_0x7f800000 ! (3_0) ay ? 0x7f800000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f28,%f42,%f32 ! (4_1) xx0 = dtmp1 * xx0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f10,%f26,%f10 ! (3_1) dtmp2 *= xx0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%o4]0x82,%f4 ! (3_0) x0 = *px;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bge,pn %icc,.update12 ! (3_0) if ( ay >= 0x7f800000 )
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis for %f30,DC1,%f28 ! (0_0) hyp0 = vis_for(hyp0,DC1);
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.cont12:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %i5,_0x7f800000 ! (3_0) ax ? 0x7f800000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bge,pn %icc,.update13 ! (3_0) if ( ax >= 0x7f800000 )
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+ftmp1],%i1 ! (0_0) ibase0 = ((int*)&hyp0)[0];
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.cont13:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f18,[%fp+ftmp3] ! (2_0) ibase0 = ((int*)&hyp0)[0];
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld KA3,%f32,%f34 ! (4_1) dtmp2 = KA3 * xx0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %l6,0 ! (3_0)
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis be,pn %icc,.update14 ! (3_0) if ( ay == 0 )
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fand %f28,DC2,%f30 ! (0_0) h_hi0 = vis_fand(hyp0,DC2);
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.cont14:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsmuld %f4,%f4,%f36 ! (3_0) hyp0 = x0 * (double)x0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sra %i1,10,%l1 ! (0_0) ibase0 >>= 10;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f10,KA1,%f40 ! (3_1) dtmp2 += KA1;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %l1,2032,%o5 ! (0_0) si0 = ibase0 & 0x7f0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i2+stridey]0x82,%l6 ! (4_0) ay = *(int*)py;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsmuld %f2,%f2,%f62 ! (3_0) dtmp0 = y0 * (double)y0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o5,TBL,%l1 ! (0_0) (char*)TBL + si0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [stridex+%o4]0x82,%i5 ! (4_0) ax = *(int*)px;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f28,%f30,%f28 ! (0_0) dtmp1 = hyp0 - h_hi0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o4,stridex,%l0 ! px += stridex
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [TBL+%o5],%f42 ! (0_0) xx0 = ((double*)((char*)TBL + si0))[0];
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f34,KA2,%f10 ! (4_1) dtmp2 += KA2;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f40,%f26,%f40 ! (3_1) dtmp2 *= xx0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i2,stridey,%i2 ! py += stridey
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %l6,_0x7fffffff,%l6 ! (4_0) ay &= 0x7fffffff;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fand %f16,DC0,%f30 ! (1_0) hyp0 = vis_fand(hyp0,DC0);
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %i5,_0x7fffffff,%i5 ! (4_0) ax &= 0x7fffffff;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i2]0x82,%f2 ! (4_0) y0 = *py;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fand %f20,DA0,%f24 ! (3_1) dbase0 = vis_fand(hyp0,DA0);
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f36,%f62,%f20 ! (3_0) hyp0 += dtmp0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %l6,_0x7f800000 ! (4_0) ay ? 0x7f800000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l7+8],%f36 ! (3_1) res0 = ((double*)((char*)arr + si0))[1];
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f28,%f42,%f26 ! (0_0) xx0 = dtmp1 * xx0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f10,%f32,%f10 ! (4_1) dtmp2 *= xx0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [stridex+%o4]0x82,%f4 ! (4_0) x0 = *px;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bge,pn %icc,.update15 ! (4_0) if ( ay >= 0x7f800000 )
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis for %f30,DC1,%f28 ! (1_0) hyp0 = vis_for(hyp0,DC1);
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.cont15:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmul8x16 SCALE,%f24,%f24 ! (3_1) dbase0 = vis_fmul8x16(SCALE, dbase0);
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %i5,_0x7f800000 ! (4_0) ax ? 0x7f800000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+ftmp2],%i1 ! (1_0) ibase0 = ((int*)&hyp0)[0];
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f40,KA0,%f62 ! (3_1) dtmp2 += KA0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bge,pn %icc,.update16 ! (4_0) if ( ax >= 0x7f800000 )
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f20,[%fp+ftmp4] ! (3_0) ibase0 = ((int*)&hyp0)[0];
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.cont16:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld KA3,%f26,%f34 ! (0_0) dtmp2 = KA3 * xx0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fand %f28,DC2,%f30 ! (1_0) h_hi0 = vis_fand(hyp0,DC2);
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %o1,%i4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp counter,5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bl,pn %icc,.tail
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba .main_loop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub counter,5,counter
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.main_loop:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsmuld %f4,%f4,%f38 ! (4_1) hyp0 = x0 * (double)x0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sra %i1,10,%o2 ! (1_1) ibase0 >>= 10;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %l6,0 ! (4_1) ay ? 0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f10,KA1,%f40 ! (4_2) dtmp2 += KA1;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f36,%f62,%f36 ! (3_2) res0 *= dtmp2;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %o2,2032,%o2 ! (1_1) si0 = ibase0 & 0x7f0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i2+stridey]0x82,%l6 ! (0_0) ay = *(int*)py;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpsub32 DA1,%f24,%f24 ! (3_2) dbase0 = vis_fpsub32(DA1,dbase0);
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsmuld %f2,%f2,%f62 ! (4_1) dtmp0 = y0 * (double)y0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o2,TBL,%o2 ! (1_1) (char*)TBL + si0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%l0+stridex]0x82,%o1 ! (0_0) ax = *(int*)px;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f28,%f30,%f28 ! (1_1) dtmp1 = hyp0 - h_hi0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %l0,stridex,%i1 ! px += stridex
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%o2],%f42 ! (1_1) xx0 = ((double*)((char*)TBL + si0))[0];
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis be,pn %icc,.update17 ! (4_1) if ( ay == 0 )
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f34,KA2,%f10 ! (0_1) dtmp2 += KA2;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.cont17:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f40,%f32,%f40 ! (4_2) dtmp2 *= xx0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i2,stridey,%i2 ! py += stridey
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %l6,_0x7fffffff,%l6 ! (0_0) ay &= 0x7fffffff;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fand %f18,DC0,%f30 ! (2_1) hyp0 = vis_fand(hyp0,DC0);
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f36,%f24,%f32 ! (3_2) res0 *= dbase0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %o1,_0x7fffffff,%o1 ! (0_0) ax &= 0x7fffffff;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i2]0x82,%f2 ! (0_0) y0 = *py;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fand %f12,DA0,%f24 ! (4_2) dbase0 = vis_fand(hyp0,DA0);
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f38,%f62,%f12 ! (4_1) hyp0 += dtmp0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %l6,_0x7f800000 ! (0_0) ay ? 0x7f800000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%i3+8],%f62 ! (4_2) res0 = ((double*)((char*)arr + si0))[1];
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f28,%f42,%f36 ! (1_1) xx0 = dtmp1 * xx0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f10,%f26,%f10 ! (0_1) dtmp2 *= xx0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1]0x82,%f4 ! (0_0) x0 = *px;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bge,pn %icc,.update18 ! (0_0) if ( ay >= 0x7f800000 )
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis for %f30,DC1,%f28 ! (2_1) hyp0 = vis_for(hyp0,DC1);
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.cont18:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmul8x16 SCALE,%f24,%f24 ! (4_2) dbase0 = vis_fmul8x16(SCALE, dbase0);
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %o1,_0x7f800000 ! (0_0) ax ? 0x7f800000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+ftmp3],%l0 ! (2_1) ibase0 = ((int*)&hyp0)[0];
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f40,KA0,%f42 ! (4_2) dtmp2 += KA0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i4,stridez,%i3 ! pz += stridez
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f12,[%fp+ftmp0] ! (4_1) ibase0 = ((int*)&hyp0)[0];
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bge,pn %icc,.update19 ! (0_0) if ( ax >= 0x7f800000 )
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtos %f32,%f1 ! (3_2) ftmp0 = (float)res0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.cont19:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld KA3,%f36,%f34 ! (1_1) dtmp2 = KA3 * xx0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %l6,0 ! (0_0) ay ? 0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f1,[%i4] ! (3_2) *pz = ftmp0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fand %f28,DC2,%f30 ! (2_1) h_hi0 = vis_fand(hyp0,DC2);
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsmuld %f4,%f4,%f38 ! (0_0) hyp0 = x0 * (double)x0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sra %l0,10,%i4 ! (2_1) ibase0 >>= 10;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis be,pn %icc,.update20 ! (0_0) if ( ay == 0 )
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f10,KA1,%f40 ! (0_1) dtmp2 += KA1;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.cont20:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f62,%f42,%f32 ! (4_2) res0 *= dtmp2;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %i4,2032,%g1 ! (2_1) si0 = ibase0 & 0x7f0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i2+stridey]0x82,%l6 ! (1_0) ay = *(int*)py;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpsub32 DA1,%f24,%f24 ! (4_2) dbase0 = vis_fpsub32(DA1,dbase0);
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsmuld %f2,%f2,%f62 ! (0_0) dtmp0 = y0 * (double)y0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %g1,TBL,%l0 ! (2_1) (char*)TBL + si0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1+stridex]0x82,%i5 ! (1_0) ax = *(int*)px;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f28,%f30,%f28 ! (2_1) dtmp1 = hyp0 - h_hi0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i1,stridex,%g5 ! px += stridex
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [TBL+%g1],%f42 ! (2_1) xx0 = ((double*)((char*)TBL + si0))[0];
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f34,KA2,%f10 ! (1_1) dtmp2 += KA2;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f40,%f26,%f40 ! (0_1) dtmp2 *= xx0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i2,stridey,%o3 ! py += stridey
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %l6,_0x7fffffff,%l6 ! (1_0) ay &= 0x7fffffff;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fand %f20,DC0,%f30 ! (3_1) hyp0 = vis_fand(hyp0,DC0);
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f32,%f24,%f26 ! (4_2) res0 *= dbase0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %i5,_0x7fffffff,%i5 ! (1_0) ax &= 0x7fffffff;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%o3]0x82,%f2 ! (1_0) y0 = *py;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fand %f14,DA0,%f24 ! (0_1) dbase0 = vis_fand(hyp0,DA0);
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f38,%f62,%f14 ! (0_0) hyp0 += dtmp0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %l6,_0x7f800000 ! (1_0) ay ? 0x7f800000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l1+8],%f62 ! (0_1) res0 = ((double*)((char*)arr + si0))[1];
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f28,%f42,%f32 ! (2_1) xx0 = dtmp1 * xx0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f10,%f36,%f10 ! (1_1) dtmp2 *= xx0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%g5]0x82,%f4 ! (1_0) x0 = *px;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bge,pn %icc,.update21 ! (1_0) if ( ay >= 0x7f800000 )
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis for %f30,DC1,%f28 ! (3_1) hyp0 = vis_for(hyp0,DC1);
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.cont21:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmul8x16 SCALE,%f24,%f24 ! (0_1) dbase0 = vis_fmul8x16(SCALE, dbase0);
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %i5,_0x7f800000 ! (1_0) ax ? 0x7f800000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+ftmp4],%l1 ! (3_1) ibase0 = ((int*)&hyp0)[0];
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f40,KA0,%f42 ! (0_1) dtmp2 += KA0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i3,stridez,%o1 ! pz += stridez
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f14,[%fp+ftmp1] ! (0_0) ibase0 = ((int*)&hyp0)[0];
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bge,pn %icc,.update22 ! (1_0) if ( ax >= 0x7f800000 )
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtos %f26,%f1 ! (4_2) ftmp0 = (float)res0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.cont22:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld KA3,%f32,%f34 ! (2_1) dtmp2 = KA3 * xx0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %l6,0 ! (1_0) ay ? 0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f1,[%i3] ! (4_2) *pz = ftmp0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fand %f28,DC2,%f30 ! (3_1) h_hi0 = vis_fand(hyp0,DC2);
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsmuld %f4,%f4,%f38 ! (1_0) hyp0 = x0 * (double)x0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sra %l1,10,%o5 ! (3_1) ibase0 >>= 10;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis be,pn %icc,.update23 ! (1_0) if ( ay == 0 )
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f10,KA1,%f40 ! (1_1) dtmp2 += KA1;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.cont23:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f62,%f42,%f26 ! (0_1) res0 *= dtmp2;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %o5,2032,%o4 ! (3_1) si0 = ibase0 & 0x7f0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%o3+stridey]0x82,%l6 ! (2_0) ay = *(int*)py;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpsub32 DA1,%f24,%f24 ! (0_1) dbase0 = vis_fpsub32(DA1,dbase0);
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsmuld %f2,%f2,%f62 ! (1_0) dtmp0 = y0 * (double)y0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o4,TBL,%l7 ! (3_1) (char*)TBL + si0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [stridex+%g5]0x82,%i5 ! (2_0) ax = *(int*)px;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f28,%f30,%f28 ! (3_1) dtmp1 = hyp0 - h_hi0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %g5,stridex,%i4 ! px += stridex
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [TBL+%o4],%f42 ! (3_1) xx0 = ((double*)((char*)TBL + si0))[0];
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f34,KA2,%f10 ! (2_1) dtmp2 += KA2;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f40,%f36,%f40 ! (1_1) dtmp2 *= xx0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %l6,_0x7fffffff,%l6 ! (2_0) ay &= 0x7fffffff;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o3,stridey,%i2 ! py += stridey
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fand %f12,DC0,%f30 ! (4_1) hyp0 = vis_fand(hyp0,DC0);
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f26,%f24,%f36 ! (0_1) res0 *= dbase0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %i5,_0x7fffffff,%i5 ! (2_0) ax &= 0x7fffffff;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i2]0x82,%f2 ! (2_0) y0 = *py;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fand %f16,DA0,%f24 ! (1_1) dbase0 = vis_fand(hyp0,DA0);
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f38,%f62,%f16 ! (1_0) hyp0 += dtmp0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %l6,_0x7f800000 ! (2_0) ay ? 0x7f800000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%o2+8],%f38 ! (1_1) res0 = ((double*)((char*)arr + si0))[1];
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f28,%f42,%f26 ! (3_1) xx0 = dtmp1 * xx0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f10,%f32,%f10 ! (2_1) dtmp2 *= xx0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [stridex+%g5]0x82,%f4 ! (2_0) x0 = *px;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bge,pn %icc,.update24 ! (2_0) if ( ay >= 0x7f800000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis for %f30,DC1,%f28 ! (4_1) hyp0 = vis_for(hyp0,DC1);
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.cont24:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmul8x16 SCALE,%f24,%f24 ! (1_1) dbase0 = vis_fmul8x16(SCALE, dbase0);
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %i5,_0x7f800000 ! (2_0) ax ? 0x7f800000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+ftmp0],%i3 ! (4_1) ibase0 = ((int*)&hyp0)[0];
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f40,KA0,%f62 ! (1_1) dtmp2 += KA0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o1,stridez,%g1 ! pz += stridez
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f16,[%fp+ftmp2] ! (1_0) ibase0 = ((int*)&hyp0)[0];
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bge,pn %icc,.update25 ! (2_0) if ( ax >= 0x7f800000 )
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtos %f36,%f1 ! (0_1) ftmp0 = (float)res0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.cont25:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld KA3,%f26,%f34 ! (3_1) dtmp2 = KA3 * xx0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %l6,0 ! (2_0) ay ? 0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f1,[%o1] ! (0_1) *pz = ftmp0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fand %f28,DC2,%f30 ! (4_1) h_hi0 = vis_fand(hyp0,DC2);
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsmuld %f4,%f4,%f36 ! (2_0) hyp0 = x0 * (double)x0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sra %i3,10,%i3 ! (4_1) ibase0 >>= 10;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis be,pn %icc,.update26 ! (2_0) if ( ay == 0 )
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f10,KA1,%f40 ! (2_1) dtmp2 += KA1;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.cont26:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f38,%f62,%f38 ! (1_1) res0 *= dtmp2;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %i3,2032,%i3 ! (4_1) si0 = ibase0 & 0x7f0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i2+stridey]0x82,%l6 ! (3_0) ay = *(int*)py;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpsub32 DA1,%f24,%f24 ! (1_1) dbase0 = vis_fpsub32(DA1,dbase0);
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsmuld %f2,%f2,%f62 ! (2_0) dtmp0 = y0 * (double)y0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i3,TBL,%i3 ! (4_1) (char*)TBL + si0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i4+stridex]0x82,%i5 ! (3_0) ax = *(int*)px;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f28,%f30,%f28 ! (4_1) dtmp1 = hyp0 - h_hi0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i4,stridex,%o4 ! px += stridex
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%i3],%f42 ! (4_1) xx0 = ((double*)((char*)TBL + si0))[0];
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f34,KA2,%f10 ! (3_1) dtmp2 += KA2;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f40,%f32,%f40 ! (2_1) dtmp2 *= xx0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i2,stridey,%i2 ! py += stridey
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %l6,_0x7fffffff,%l6 ! (3_0) ay &= 0x7fffffff;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fand %f14,DC0,%f30 ! (0_0) hyp0 = vis_fand(hyp0,DC0);
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f38,%f24,%f38 ! (1_1) res0 *= dbase0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %i5,_0x7fffffff,%i5 ! (3_0) ax &= 0x7fffffff;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i2]0x82,%f2 ! (3_0) y0 = *py;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fand %f18,DA0,%f24 ! (2_1) dbase0 = vis_fand(hyp0,DA0);
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f36,%f62,%f18 ! (2_0) hyp0 += dtmp0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %l6,_0x7f800000 ! (3_0) ay ? 0x7f800000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l0+8],%f62 ! (2_1) res0 = ((double*)((char*)arr + si0))[1];
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f28,%f42,%f32 ! (4_1) xx0 = dtmp1 * xx0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f10,%f26,%f10 ! (3_1) dtmp2 *= xx0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%o4]0x82,%f4 ! (3_0) x0 = *px;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bge,pn %icc,.update27 ! (3_0) if ( ay >= 0x7f800000 )
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis for %f30,DC1,%f28 ! (0_0) hyp0 = vis_for(hyp0,DC1);
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.cont27:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmul8x16 SCALE,%f24,%f24 ! (2_1) dbase0 = vis_fmul8x16(SCALE, dbase0);
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %i5,_0x7f800000 ! (3_0) ax ? 0x7f800000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+ftmp1],%i1 ! (0_0) ibase0 = ((int*)&hyp0)[0];
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f40,KA0,%f42 ! (2_1) dtmp2 += KA0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %g1,stridez,%o3 ! pz += stridez
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f18,[%fp+ftmp3] ! (2_0) ibase0 = ((int*)&hyp0)[0];
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bge,pn %icc,.update28 ! (3_0) if ( ax >= 0x7f800000 )
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtos %f38,%f1 ! (1_1) ftmp0 = (float)res0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.cont28:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld KA3,%f32,%f34 ! (4_1) dtmp2 = KA3 * xx0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %l6,0 ! (3_0)
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f1,[%g1] ! (1_1) *pz = ftmp0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fand %f28,DC2,%f30 ! (0_0) h_hi0 = vis_fand(hyp0,DC2);
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsmuld %f4,%f4,%f36 ! (3_0) hyp0 = x0 * (double)x0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sra %i1,10,%l1 ! (0_0) ibase0 >>= 10;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis be,pn %icc,.update29 ! (3_0) if ( ay == 0 )
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f10,KA1,%f40 ! (3_1) dtmp2 += KA1;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.cont29:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f62,%f42,%f38 ! (2_1) res0 *= dtmp2;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %l1,2032,%o5 ! (0_0) si0 = ibase0 & 0x7f0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i2+stridey]0x82,%l6 ! (4_0) ay = *(int*)py;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpsub32 DA1,%f24,%f24 ! (2_1) dbase0 = vis_fpsub32(DA1,dbase0);
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsmuld %f2,%f2,%f62 ! (3_0) dtmp0 = y0 * (double)y0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o5,TBL,%l1 ! (0_0) (char*)TBL + si0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [stridex+%o4]0x82,%i5 ! (4_0) ax = *(int*)px;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f28,%f30,%f28 ! (0_0) dtmp1 = hyp0 - h_hi0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o3,stridez,%i4 ! pz += stridez
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o4,stridex,%l0 ! px += stridex
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [TBL+%o5],%f42 ! (0_0) xx0 = ((double*)((char*)TBL + si0))[0];
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f34,KA2,%f10 ! (4_1) dtmp2 += KA2;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f40,%f26,%f40 ! (3_1) dtmp2 *= xx0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i2,stridey,%i2 ! py += stridey
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %l6,_0x7fffffff,%l6 ! (4_0) ay &= 0x7fffffff;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fand %f16,DC0,%f30 ! (1_0) hyp0 = vis_fand(hyp0,DC0);
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f38,%f24,%f38 ! (2_1) res0 *= dbase0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %i5,_0x7fffffff,%i5 ! (4_0) ax &= 0x7fffffff;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i2]0x82,%f2 ! (4_0) y0 = *py;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fand %f20,DA0,%f24 ! (3_1) dbase0 = vis_fand(hyp0,DA0);
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f36,%f62,%f20 ! (3_0) hyp0 += dtmp0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %l6,_0x7f800000 ! (4_0) ay ? 0x7f800000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l7+8],%f36 ! (3_1) res0 = ((double*)((char*)arr + si0))[1];
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f28,%f42,%f26 ! (0_0) xx0 = dtmp1 * xx0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f10,%f32,%f10 ! (4_1) dtmp2 *= xx0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [stridex+%o4]0x82,%f4 ! (4_0) x0 = *px;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bge,pn %icc,.update30 ! (4_0) if ( ay >= 0x7f800000 )
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis for %f30,DC1,%f28 ! (1_0) hyp0 = vis_for(hyp0,DC1);
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.cont30:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmul8x16 SCALE,%f24,%f24 ! (3_1) dbase0 = vis_fmul8x16(SCALE, dbase0);
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %i5,_0x7f800000 ! (4_0) ax ? 0x7f800000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+ftmp2],%i1 ! (1_0) ibase0 = ((int*)&hyp0)[0];
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f40,KA0,%f62 ! (3_1) dtmp2 += KA0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bge,pn %icc,.update31 ! (4_0) if ( ax >= 0x7f800000 )
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f20,[%fp+ftmp4] ! (3_0) ibase0 = ((int*)&hyp0)[0];
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.cont31:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis subcc counter,5,counter ! counter -= 5;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtos %f38,%f1 ! (2_1) ftmp0 = (float)res0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld KA3,%f26,%f34 ! (0_0) dtmp2 = KA3 * xx0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f1,[%o3] ! (2_1) *pz = ftmp0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bpos,pt %icc,.main_loop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fand %f28,DC2,%f30 ! (1_0) h_hi0 = vis_fand(hyp0,DC2);
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add counter,5,counter
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.tail:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis subcc counter,1,counter
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bneg .begin
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %i4,%o1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sra %i1,10,%o2 ! (1_1) ibase0 >>= 10;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f10,KA1,%f40 ! (4_2) dtmp2 += KA1;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f36,%f62,%f36 ! (3_2) res0 *= dtmp2;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %o2,2032,%o2 ! (1_1) si0 = ibase0 & 0x7f0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpsub32 DA1,%f24,%f24 ! (3_2) dbase0 = vis_fpsub32(DA1,dbase0);
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o2,TBL,%o2 ! (1_1) (char*)TBL + si0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f28,%f30,%f28 ! (1_1) dtmp1 = hyp0 - h_hi0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%o2],%f42 ! (1_1) xx0 = ((double*)((char*)TBL + si0))[0];
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f34,KA2,%f10 ! (0_1) dtmp2 += KA2;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f40,%f32,%f40 ! (4_2) dtmp2 *= xx0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f36,%f24,%f32 ! (3_2) res0 *= dbase0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fand %f12,DA0,%f24 ! (4_2) dbase0 = vis_fand(hyp0,DA0);
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%i3+8],%f62 ! (4_2) res0 = ((double*)((char*)arr + si0))[1];
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f28,%f42,%f36 ! (1_1) xx0 = dtmp1 * xx0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f10,%f26,%f10 ! (0_1) dtmp2 *= xx0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmul8x16 SCALE,%f24,%f24 ! (4_2) dbase0 = vis_fmul8x16(SCALE, dbase0);
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f40,KA0,%f42 ! (4_2) dtmp2 += KA0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i4,stridez,%i3 ! pz += stridez
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtos %f32,%f1 ! (3_2) ftmp0 = (float)res0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld KA3,%f36,%f34 ! (1_1) dtmp2 = KA3 * xx0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f1,[%i4] ! (3_2) *pz = ftmp0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis subcc counter,1,counter
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bneg .begin
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %i3,%o1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f10,KA1,%f40 ! (0_1) dtmp2 += KA1;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f62,%f42,%f32 ! (4_2) res0 *= dtmp2;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpsub32 DA1,%f24,%f24 ! (4_2) dbase0 = vis_fpsub32(DA1,dbase0);
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f34,KA2,%f10 ! (1_1) dtmp2 += KA2;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f40,%f26,%f40 ! (0_1) dtmp2 *= xx0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f32,%f24,%f26 ! (4_2) res0 *= dbase0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fand %f14,DA0,%f24 ! (0_1) dbase0 = vis_fand(hyp0,DA0);
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l1+8],%f62 ! (0_1) res0 = ((double*)((char*)arr + si0))[1];
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f10,%f36,%f10 ! (1_1) dtmp2 *= xx0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmul8x16 SCALE,%f24,%f24 ! (0_1) dbase0 = vis_fmul8x16(SCALE, dbase0);
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f40,KA0,%f42 ! (0_1) dtmp2 += KA0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i3,stridez,%o1 ! pz += stridez
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtos %f26,%f1 ! (4_2) ftmp0 = (float)res0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f1,[%i3] ! (4_2) *pz = ftmp0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis subcc counter,1,counter
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bneg .begin
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f10,KA1,%f40 ! (1_1) dtmp2 += KA1;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f62,%f42,%f26 ! (0_1) res0 *= dtmp2;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpsub32 DA1,%f24,%f24 ! (0_1) dbase0 = vis_fpsub32(DA1,dbase0);
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f40,%f36,%f40 ! (1_1) dtmp2 *= xx0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f26,%f24,%f36 ! (0_1) res0 *= dbase0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fand %f16,DA0,%f24 ! (1_1) dbase0 = vis_fand(hyp0,DA0);
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%o2+8],%f38 ! (1_1) res0 = ((double*)((char*)arr + si0))[1];
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmul8x16 SCALE,%f24,%f24 ! (1_1) dbase0 = vis_fmul8x16(SCALE, dbase0);
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f40,KA0,%f62 ! (1_1) dtmp2 += KA0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o1,stridez,%g1 ! pz += stridez
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtos %f36,%f1 ! (0_1) ftmp0 = (float)res0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f1,[%o1] ! (0_1) *pz = ftmp0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis subcc counter,1,counter
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bneg .begin
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %g1,%o1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f38,%f62,%f38 ! (1_1) res0 *= dtmp2;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpsub32 DA1,%f24,%f24 ! (1_1) dbase0 = vis_fpsub32(DA1,dbase0);
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f38,%f24,%f38 ! (1_1) res0 *= dbase0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtos %f38,%f1 ! (1_1) ftmp0 = (float)res0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f1,[%g1] ! (1_1) *pz = ftmp0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba .begin
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %g1,stridez,%o1 ! pz += stridez
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.spec0:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fabss %f2,%f2 ! fabsf(y0);
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fabss %f4,%f4 ! fabsf(x0);
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fcmps %f2,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %l6,_0x7f800000 ! ay ? 0x7f800000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis be,a 1f ! if( ay == 0x7f800000 )
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %g0,[%o1] ! *pz = 0.0f;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %i5,_0x7f800000 ! ax ? 0x7f800000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis be,a 1f ! if( ax == 0x7f800000 )
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %g0,[%o1] ! *pz = 0.0f;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuls %f2,%f4,%f2 ! fabsf(x0) * fabsf(y0);
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f2,[%o1] ! *pz = fabsf(x0) + fabsf(y0);
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis1:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o4,stridex,%o4 ! px += stridex;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i2,stridey,%i2 ! py += stridey;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o1,stridez,%o1 ! pz += stridez;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba .begin1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub counter,1,counter ! counter--;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.spec1:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %i5,0 ! ax ? 0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bne,pt %icc,.cont_spec1 ! if ( ax != 0 )
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o4,stridex,%o4 ! px += stridex;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i2,stridey,%i2 ! py += stridey;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdivs %f7,%f9,%f2 ! 1.0f / 0.0f
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f2,[%o1] ! *pz = 1.0f / 0.0f;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o1,stridez,%o1 ! pz += stridez;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba .begin1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub counter,1,counter ! counter--;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.update0:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp counter,1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ble .cont0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [TBL+TBL_SHIFT+44],%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub counter,1,counter
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st counter,[%fp+tmp_counter]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis stx %l0,[%fp+tmp_px]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis stx %i2,[%fp+tmp_py]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba .cont0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov 1,counter
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.update1:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp counter,1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ble .cont1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [TBL+TBL_SHIFT+44],%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub counter,1,counter
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st counter,[%fp+tmp_counter]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis stx %l0,[%fp+tmp_px]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis stx %i2,[%fp+tmp_py]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba .cont1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov 1,counter
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.update2:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %i5,0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bne .cont2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp counter,1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ble .cont2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [TBL+TBL_SHIFT+44],%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub counter,1,counter
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st counter,[%fp+tmp_counter]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis stx %l0,[%fp+tmp_px]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis stx %i2,[%fp+tmp_py]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba .cont2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov 1,counter
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.update3:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp counter,2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ble .cont3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [TBL+TBL_SHIFT+44],%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub counter,2,counter
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st counter,[%fp+tmp_counter]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis stx %i1,[%fp+tmp_px]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis stx %i2,[%fp+tmp_py]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba .cont3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov 2,counter
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.update4:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp counter,2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ble .cont4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [TBL+TBL_SHIFT+44],%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub counter,2,counter
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st counter,[%fp+tmp_counter]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis stx %i1,[%fp+tmp_px]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis stx %i2,[%fp+tmp_py]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba .cont4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov 2,counter
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.update5:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %i5,0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bne .cont5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp counter,2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ble .cont5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [TBL+TBL_SHIFT+44],%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub counter,2,counter
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st counter,[%fp+tmp_counter]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis stx %i1,[%fp+tmp_px]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis stx %i2,[%fp+tmp_py]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba .cont5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov 2,counter
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.update6:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp counter,3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ble .cont6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [TBL+TBL_SHIFT+44],%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub counter,3,counter
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st counter,[%fp+tmp_counter]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis stx %g5,[%fp+tmp_px]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis stx %o3,[%fp+tmp_py]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba .cont6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov 3,counter
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.update7:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp counter,3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ble .cont7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [TBL+TBL_SHIFT+44],%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub counter,3,counter
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st counter,[%fp+tmp_counter]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis stx %g5,[%fp+tmp_px]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis stx %o3,[%fp+tmp_py]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba .cont7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov 3,counter
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.update8:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %i5,0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bne .cont8
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp counter,3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ble .cont8
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [TBL+TBL_SHIFT+44],%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub counter,3,counter
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st counter,[%fp+tmp_counter]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis stx %g5,[%fp+tmp_px]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis stx %o3,[%fp+tmp_py]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba .cont8
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov 3,counter
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.update9:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp counter,4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ble .cont9
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [TBL+TBL_SHIFT+44],%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub counter,4,counter
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st counter,[%fp+tmp_counter]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis stx %i4,[%fp+tmp_px]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis stx %i2,[%fp+tmp_py]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba .cont9
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov 4,counter
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.update10:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp counter,4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ble .cont10
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [TBL+TBL_SHIFT+44],%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub counter,4,counter
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st counter,[%fp+tmp_counter]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis stx %i4,[%fp+tmp_px]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis stx %i2,[%fp+tmp_py]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba .cont10
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov 4,counter
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.update11:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %i5,0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bne .cont11
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp counter,4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ble .cont11
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [TBL+TBL_SHIFT+44],%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub counter,4,counter
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st counter,[%fp+tmp_counter]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis stx %i4,[%fp+tmp_px]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis stx %i2,[%fp+tmp_py]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba .cont11
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov 4,counter
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.update12:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp counter,5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ble .cont12
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [TBL+TBL_SHIFT+44],%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub counter,5,counter
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st counter,[%fp+tmp_counter]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis stx %o4,[%fp+tmp_px]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis stx %i2,[%fp+tmp_py]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba .cont12
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov 5,counter
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.update13:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp counter,5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ble .cont13
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [TBL+TBL_SHIFT+44],%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub counter,5,counter
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st counter,[%fp+tmp_counter]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis stx %o4,[%fp+tmp_px]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis stx %i2,[%fp+tmp_py]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba .cont13
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov 5,counter
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.update14:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %i5,0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bne .cont14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp counter,5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ble .cont14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [TBL+TBL_SHIFT+44],%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub counter,5,counter
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st counter,[%fp+tmp_counter]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis stx %o4,[%fp+tmp_px]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis stx %i2,[%fp+tmp_py]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba .cont14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov 5,counter
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.update15:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp counter,6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ble .cont15
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [TBL+TBL_SHIFT+44],%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub counter,6,counter
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st counter,[%fp+tmp_counter]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis stx %l0,[%fp+tmp_px]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis stx %i2,[%fp+tmp_py]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba .cont15
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov 6,counter
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.update16:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp counter,6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ble .cont16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [TBL+TBL_SHIFT+44],%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub counter,6,counter
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st counter,[%fp+tmp_counter]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis stx %l0,[%fp+tmp_px]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis stx %i2,[%fp+tmp_py]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba .cont16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov 6,counter
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.update17:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %i5,0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bne .cont17
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp counter,1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ble .cont17
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmovd DC1,%f62
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub counter,1,counter
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st counter,[%fp+tmp_counter]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis stx %l0,[%fp+tmp_px]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis stx %i2,[%fp+tmp_py]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba .cont17
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov 1,counter
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.update18:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp counter,2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ble .cont18
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [TBL+TBL_SHIFT+44],%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub counter,2,counter
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st counter,[%fp+tmp_counter]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis stx %i1,[%fp+tmp_px]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis stx %i2,[%fp+tmp_py]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba .cont18
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov 2,counter
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.update19:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp counter,2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ble .cont19
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [TBL+TBL_SHIFT+44],%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub counter,2,counter
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st counter,[%fp+tmp_counter]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis stx %i1,[%fp+tmp_px]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis stx %i2,[%fp+tmp_py]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba .cont19
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov 2,counter
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.update20:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %o1,0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bne .cont20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp counter,2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ble .cont20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [TBL+TBL_SHIFT+44],%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub counter,2,counter
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st counter,[%fp+tmp_counter]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis stx %i1,[%fp+tmp_px]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis stx %i2,[%fp+tmp_py]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba .cont20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov 2,counter
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.update21:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp counter,3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ble .cont21
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [TBL+TBL_SHIFT+44],%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub counter,3,counter
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st counter,[%fp+tmp_counter]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis stx %g5,[%fp+tmp_px]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis stx %o3,[%fp+tmp_py]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba .cont21
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov 3,counter
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.update22:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp counter,3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ble .cont22
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [TBL+TBL_SHIFT+44],%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub counter,3,counter
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st counter,[%fp+tmp_counter]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis stx %g5,[%fp+tmp_px]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis stx %o3,[%fp+tmp_py]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba .cont22
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov 3,counter
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.update23:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %i5,0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bne .cont23
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp counter,3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ble .cont23
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [TBL+TBL_SHIFT+44],%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub counter,3,counter
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st counter,[%fp+tmp_counter]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis stx %g5,[%fp+tmp_px]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis stx %o3,[%fp+tmp_py]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba .cont23
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov 3,counter
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.update24:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp counter,4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ble .cont24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [TBL+TBL_SHIFT+44],%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub counter,4,counter
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st counter,[%fp+tmp_counter]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis stx %i4,[%fp+tmp_px]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis stx %i2,[%fp+tmp_py]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba .cont24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov 4,counter
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.update25:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp counter,4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ble .cont25
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [TBL+TBL_SHIFT+44],%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub counter,4,counter
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st counter,[%fp+tmp_counter]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis stx %i4,[%fp+tmp_px]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis stx %i2,[%fp+tmp_py]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba .cont25
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov 4,counter
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.update26:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %i5,0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bne .cont26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp counter,4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ble .cont26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [TBL+TBL_SHIFT+44],%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub counter,4,counter
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st counter,[%fp+tmp_counter]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis stx %i4,[%fp+tmp_px]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis stx %i2,[%fp+tmp_py]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba .cont26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov 4,counter
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.update27:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp counter,5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ble .cont27
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [TBL+TBL_SHIFT+44],%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub counter,5,counter
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st counter,[%fp+tmp_counter]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis stx %o4,[%fp+tmp_px]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis stx %i2,[%fp+tmp_py]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba .cont27
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov 5,counter
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.update28:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp counter,5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ble .cont28
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [TBL+TBL_SHIFT+44],%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub counter,5,counter
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st counter,[%fp+tmp_counter]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis stx %o4,[%fp+tmp_px]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis stx %i2,[%fp+tmp_py]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba .cont28
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov 5,counter
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.update29:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %i5,0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bne .cont29
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp counter,5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ble .cont29
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [TBL+TBL_SHIFT+44],%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub counter,5,counter
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st counter,[%fp+tmp_counter]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis stx %o4,[%fp+tmp_px]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis stx %i2,[%fp+tmp_py]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba .cont29
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov 5,counter
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.update30:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp counter,6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ble .cont30
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [TBL+TBL_SHIFT+44],%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub counter,6,counter
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st counter,[%fp+tmp_counter]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis stx %l0,[%fp+tmp_px]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis stx %i2,[%fp+tmp_py]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba .cont30
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov 6,counter
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.update31:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp counter,6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ble .cont31
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [TBL+TBL_SHIFT+44],%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub counter,6,counter
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st counter,[%fp+tmp_counter]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis stx %l0,[%fp+tmp_px]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis stx %i2,[%fp+tmp_py]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba .cont31
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov 6,counter
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.exit:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ret
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis restore
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis SET_SIZE(__vrhypotf)
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis