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 "__vexpf.S"
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#include "libm.h"
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis RO_DATA
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 64
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis!! 2^(i/256) - ((i & 0xf0) << 44), i = [0, 255]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.CONST_TBL:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff00000, 0x00000000, 0x3ff00b1a, 0xfa5abcbf
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff0163d, 0xa9fb3335, 0x3ff02168, 0x143b0281
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff02c9a, 0x3e778061, 0x3ff037d4, 0x2e11bbcc
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff04315, 0xe86e7f85, 0x3ff04e5f, 0x72f654b1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff059b0, 0xd3158574, 0x3ff0650a, 0x0e3c1f89
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff0706b, 0x29ddf6de, 0x3ff07bd4, 0x2b72a836
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff08745, 0x18759bc8, 0x3ff092bd, 0xf66607e0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff09e3e, 0xcac6f383, 0x3ff0a9c7, 0x9b1f3919
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fefb558, 0x6cf9890f, 0x3fefc0f1, 0x45e46c85
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fefcc92, 0x2b7247f7, 0x3fefd83b, 0x23395dec
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fefe3ec, 0x32d3d1a2, 0x3fefefa5, 0x5fdfa9c5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3feffb66, 0xaffed31b, 0x3ff00730, 0x28d7233e
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff01301, 0xd0125b51, 0x3ff01edb, 0xab5e2ab6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff02abd, 0xc06c31cc, 0x3ff036a8, 0x14f204ab
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff0429a, 0xaea92de0, 0x3ff04e95, 0x934f312e
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff05a98, 0xc8a58e51, 0x3ff066a4, 0x5471c3c2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fef72b8, 0x3c7d517b, 0x3fef7ed4, 0x8695bbc0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fef8af9, 0x388c8dea, 0x3fef9726, 0x58375d2f
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fefa35b, 0xeb6fcb75, 0x3fefaf99, 0xf8138a1c
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fefbbe0, 0x84045cd4, 0x3fefc82f, 0x95281c6b
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fefd487, 0x3168b9aa, 0x3fefe0e7, 0x5eb44027
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fefed50, 0x22fcd91d, 0x3feff9c1, 0x8438ce4d
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff0063b, 0x88628cd6, 0x3ff012be, 0x3578a819
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff01f49, 0x917ddc96, 0x3ff02bdd, 0xa27912d1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fef387a, 0x6e756238, 0x3fef451f, 0xfb82140a
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fef51ce, 0x4fb2a63f, 0x3fef5e85, 0x711ece75
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fef6b45, 0x65e27cdd, 0x3fef780e, 0x341ddf29
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fef84df, 0xe1f56381, 0x3fef91ba, 0x7591bb70
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fef9e9d, 0xf51fdee1, 0x3fefab8a, 0x66d10f13
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fefb87f, 0xd0dad990, 0x3fefc57e, 0x39771b2f
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fefd285, 0xa6e4030b, 0x3fefdf96, 0x1f641589
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fefecaf, 0xa93e2f56, 0x3feff9d2, 0x4abd886b
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fef06fe, 0x0a31b715, 0x3fef1432, 0xedeeb2fd
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fef2170, 0xfc4cd831, 0x3fef2eb8, 0x3ba8ea32
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fef3c08, 0xb26416ff, 0x3fef4962, 0x66e3fa2d
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fef56c5, 0x5f929ff1, 0x3fef6431, 0xa2de883b
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fef71a7, 0x373aa9cb, 0x3fef7f26, 0x231e754a
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fef8cae, 0x6d05d866, 0x3fef9a40, 0x1b7140ef
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fefa7db, 0x34e59ff7, 0x3fefb57f, 0xbfec6cf4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fefc32d, 0xc313a8e5, 0x3fefd0e5, 0x44ede173
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3feedea6, 0x4c123422, 0x3feeec70, 0xdf1c5175
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3feefa45, 0x04ac801c, 0x3fef0822, 0xc367a024
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fef160a, 0x21f72e2a, 0x3fef23fb, 0x2709468a
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fef31f5, 0xd950a897, 0x3fef3ffa, 0x3f84b9d4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fef4e08, 0x6061892d, 0x3fef5c20, 0x42a7d232
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fef6a41, 0xed1d0057, 0x3fef786d, 0x668b3237
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fef86a2, 0xb5c13cd0, 0x3fef94e1, 0xe192aed2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fefa32a, 0xf0d7d3de, 0x3fefb17d, 0xea6db7d7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3feebfda, 0xd5362a27, 0x3feece41, 0xb817c114
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3feedcb2, 0x99fddd0d, 0x3feeeb2d, 0x81d8abff
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3feef9b2, 0x769d2ca7, 0x3fef0841, 0x7f4531ee
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fef16da, 0xa2cf6642, 0x3fef257d, 0xe83f4eef
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fef342b, 0x569d4f82, 0x3fef42e2, 0xf4f6ad27
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fef51a4, 0xca5d920f, 0x3fef6070, 0xdde910d2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fef6f47, 0x36b527da, 0x3fef7e27, 0xdbe2c4cf
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fef8d12, 0xd497c7fd, 0x3fef9c08, 0x27ff07cc
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3feeab07, 0xdd485429, 0x3feeba11, 0xfba87a03
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3feec926, 0x8a5946b7, 0x3feed845, 0x90998b93
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3feee76f, 0x15ad2148, 0x3feef6a3, 0x20dceb71
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fef05e1, 0xb976dc09, 0x3fef152a, 0xe6cdf6f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fef247e, 0xb03a5585, 0x3fef33dd, 0x1d1929fd
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fef4346, 0x34ccc320, 0x3fef52b9, 0xfebc8fb7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fef6238, 0x82552225, 0x3fef71c1, 0xc70833f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fef8155, 0xd44ca973, 0x3fef90f4, 0xb19e9538
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3feea09e, 0x667f3bcd, 0x3feeb052, 0xfa75173e
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3feec012, 0x750bdabf, 0x3feecfdc, 0xddd47645
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3feedfb2, 0x3c651a2f, 0x3feeef92, 0x98593ae5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3feeff7d, 0xf9519484, 0x3fef0f74, 0x66f42e87
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fef1f75, 0xe8ec5f74, 0x3fef2f82, 0x86ead08a
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fef3f9a, 0x48a58174, 0x3fef4fbd, 0x35d7cbfd
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fef5feb, 0x564267c9, 0x3fef7024, 0xb1ab6e09
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fef8069, 0x4fde5d3f, 0x3fef90b9, 0x38ac1cf6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3feea114, 0x73eb0187, 0x3feeb17b, 0x0976cfdb
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3feec1ed, 0x0130c132, 0x3feed26a, 0x62ff86f0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3feee2f3, 0x36cf4e62, 0x3feef387, 0x8491c491
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fef0427, 0x543e1a12, 0x3fef14d2, 0xadd106d9
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fef2589, 0x994cce13, 0x3fef364c, 0x1eb941f7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fef471a, 0x4623c7ad, 0x3fef57f4, 0x179f5b21
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fef68d9, 0x9b4492ed, 0x3fef79ca, 0xd931a436
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fef8ac7, 0xd98a6699, 0x3fef9bd0, 0xa478580f
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3feeace5, 0x422aa0db, 0x3feebe05, 0xbad61778
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3feecf32, 0x16b5448c, 0x3feee06a, 0x5e0866d9
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3feef1ae, 0x99157736, 0x3fef02fe, 0xd0282c8a
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fef145b, 0x0b91ffc6, 0x3fef25c3, 0x53aa2fe2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fef3737, 0xb0cdc5e5, 0x3fef48b8, 0x2b5f98e5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fef5a44, 0xcbc8520f, 0x3fef6bdd, 0x9a7670b3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fef7d82, 0x9fde4e50, 0x3fef8f33, 0xe47a22a2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fefa0f1, 0x70ca07ba, 0x3fefb2bb, 0x4d53fe0d
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3feec491, 0x82a3f090, 0x3feed674, 0x194bb8d5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3feee863, 0x19e32323, 0x3feefa5e, 0x8d07f29e
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fef0c66, 0x7b5de565, 0x3fef1e7a, 0xed8eb8bb
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fef309b, 0xec4a2d33, 0x3fef42c9, 0x80460ad8
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fef5503, 0xb23e255d, 0x3fef674a, 0x8af46052
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fef799e, 0x1330b358, 0x3fef8bfe, 0x53c12e59
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fef9e6b, 0x5579fdbf, 0x3fefb0e5, 0x21356eba
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fefc36b, 0xbfd3f37a, 0x3fefd5ff, 0x3a3c2774
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3feee89f, 0x995ad3ad, 0x3feefb4c, 0xe622f2ff
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fef0e07, 0x298db666, 0x3fef20ce, 0x6c9a8952
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fef33a2, 0xb84f15fb, 0x3fef4684, 0x15b749b1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fef5972, 0x8de5593a, 0x3fef6c6e, 0x29f1c52a
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fef7f76, 0xf2fb5e47, 0x3fef928c, 0xf22749e4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fefa5b0, 0x30a1064a, 0x3fefb8e0, 0xb79a6f1f
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fefcc1e, 0x904bc1d2, 0x3fefdf69, 0xc3f3a207
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3feff2c2, 0x5bd71e09, 0x3ff00628, 0x6141b33d
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fef199b, 0xdd85529c, 0x3fef2d1c, 0xd9fa652c
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fef40ab, 0x5fffd07a, 0x3fef5447, 0x78fafb22
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fef67f1, 0x2e57d14b, 0x3fef7ba8, 0x8988c933
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fef8f6d, 0x9406e7b5, 0x3fefa340, 0x5751c4db
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fefb720, 0xdcef9069, 0x3fefcb0f, 0x2e6d1675
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fefdf0b, 0x555dc3fa, 0x3feff315, 0x5b5bab74
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff0072d, 0x4a07897c, 0x3ff01b53, 0x2b08c968
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff02f87, 0x080d89f2, 0x3ff043c8, 0xeacaa1d6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fef5818, 0xdcfba487, 0x3fef6c76, 0xe862e6d3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fef80e3, 0x16c98398, 0x3fef955d, 0x71ff6075
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fefa9e6, 0x03db3285, 0x3fefbe7c, 0xd63a8315
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fefd321, 0xf301b460, 0x3fefe7d5, 0x641c0658
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3feffc97, 0x337b9b5f, 0x3ff01167, 0x6b197d17
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff02646, 0x14f5a129, 0x3ff03b33, 0x3b16ee12
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff0502e, 0xe78b3ff6, 0x3ff06539, 0x24676d76
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff07a51, 0xfbc74c83, 0x3ff08f79, 0x77cdb740
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fefa4af, 0xa2a490da, 0x3fefb9f4, 0x867cca6e
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fefcf48, 0x2d8e67f1, 0x3fefe4aa, 0xa2188510
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3feffa1b, 0xee615a27, 0x3ff00f9c, 0x1cb6412a
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff0252b, 0x376bba97, 0x3ff03ac9, 0x48dd7274
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff05076, 0x5b6e4540, 0x3ff06632, 0x798844f8
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff07bfd, 0xad9cbe14, 0x3ff091d8, 0x02243c89
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff0a7c1, 0x819e90d8, 0x3ff0bdba, 0x3692d514
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff0d3c2, 0x2b8f71f1, 0x3ff0e9d9, 0x6b2a23d9
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x7149f2ca, 0x0da24260 ! 1.0e30f, 1.0e-30f
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ecebfbe, 0x9d182250 ! KA2 = 3.66556671660783833261e-06
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3f662e43, 0xe2528362 ! KA1 = 2.70760782821392980564e-03
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x40771547, 0x652b82fe ! K256ONLN2 = 369.3299304675746271
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x42aeac4f, 0x42b17218 ! THRESHOLD = 87.3365402f
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ! THRESHOLDL = 88.7228394f
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! local storage indices
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define tmp0 STACK_BIAS-32
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define tmp1 STACK_BIAS-28
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define tmp2 STACK_BIAS-24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define tmp3 STACK_BIAS-20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define tmp4 STACK_BIAS-16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define tmp5 STACK_BIAS-12
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define tmp6 STACK_BIAS-8
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define tmp7 STACK_BIAS-4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! sizeof temp storage - must be a multiple of 16 for V9
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define tmps 0x20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define I5_THRESHOLD %i5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define G1_CONST_TBL %g5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define G5_CONST %g1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define F62_K256ONLN2 %f62
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define F60_KA2 %f60
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define F58_KA1 %f58
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define THRESHOLDL %f0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! register use
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! i0 n
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! i1 x
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! i2 stridex
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! i3 y
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! i4 stridey
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! i5 0x42aeac4f (87.3365402f)
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! g1 CONST_TBL
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! g5 0x7fffffff
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f62 K256ONLN2 = 369.3299304675746271
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f60 KA2 = 3.66556671660783833261e-06
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f58 KA1 = 2.70760782821392980564e-03
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! !!!!! Algorithm !!!!!
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis!
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! double y, dtmp, drez;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! int k, sign, Xi;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! float X, Y;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! int THRESHOLD = 0x42aeac4f; /* 87.3365402f */
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! float THRESHOLDL = 88.7228394f;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! double KA2 = 3.66556671660783833261e-06;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! double KA1 = 2.70760782821392980564e-03;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! double K256ONLN2 = 369.3299304675746271;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! char *CONST_TBL;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis!
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! X = px[0];
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! Xi = ((int*)px)[0];
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! ax = Xi & 0x7fffffff;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis!
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! if (ax > THRESHOLD) {
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! sign = ((unsigned)Xi >> 29) & 4;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! if (ax >= 0x7f800000) { /* Inf or NaN */
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! if (ax > 0x7f800000) { /* NaN */
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! Y = X * X; /* NaN -> NaN */
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! return Y;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! }
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! Y = (sign) ? zero : X; /* +Inf -> +Inf , -Inf -> zero */
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! return Y;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! }
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis!
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! if ( X < 0.0f || X >= THRESHOLDL ) {
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! Y = ((float*)(CONST_TBL + 2048 + sign))[0];
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! /* Xi >= THRESHOLDL : Y = 1.0e+30f */
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! /* Xi < -THRESHOLD : Y = 1.0e-30f */
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! Y = Y * Y;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! /* Xi >= THRESHOLDL : +Inf + overflow */
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! /* Xi < -THRESHOLD : +0 + underflow */
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! return Y;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! }
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! }
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! vis_write_gsr(12 << 3);
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! y = (double) X;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! y = K256ONLN2 * y;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! k = (int) y;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! dtmp = (double) k;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! y -= dtmp;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! dtmp = y * KA2;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! dtmp += KA1;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! y *= dtmp;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! y = (y * KA2 + KA1) * y;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! ((int*)&drez)[0] = k;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! ((int*)&drez)[1] = 0;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! ((float*)&drez)[0] = vis_fpackfix(drez);
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! k &= 255;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! k <<= 3;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! dtmp = ((double*)(CONST_TBL + k))[0];
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! drez = vis_fpadd32(drez,dtmp);
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! y *= drez;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! y += drez;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! Y = (float) y;
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis!
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis!
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! fstod %f16,%f40 ! y = (double) X
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! fmuld F62_K256ONLN2,%f40,%f40 ! y *= K256ONLN2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! fdtoi %f40,%f16 ! k = (int) y
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! st %f16,[%fp+tmp0] ! store k
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! fitod %f16,%f34 ! dtmp = (double) k
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! fpackfix %f16,%f16 ! ((float*)&drez)[0] = vis_fpackfix(drez)
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! fsubd %f40,%f34,%f40 ! y -= dtmp
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! fmuld F60_KA2,%f40,%f34 ! dtmp = y * KA2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! faddd F58_KA1,%f34,%f34 ! dtmp += KA1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! ld [%fp+tmp0],%o0 ! load k
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! fmuld %f34,%f40,%f40 ! y *= dtmp
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! and %o0,255,%o0 ! k &= 255
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! sll %o0,3,%o0 ! k <<= 3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! ldd [G1_CONST_TBL+%o0],%f34 ! dtmp = ((double*)(CONST_TBL + k))[0]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! fpadd32 %f16,%f34,%f34 ! drez = vis_fpadd32(drez,dtmp)
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! fmuld %f34,%f40,%f40 ! y *= drez
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! faddd %f34,%f40,%f40 ! y += drez
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! fdtos %f40,%f26 ! (float) y
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis!--------------------------------------------------------------------
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ENTRY(__vexpf)
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis save %sp,-SA(MINFRAME)-tmps,%sp
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis PIC_SETUP(l7)
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis PIC_SET(l7,.CONST_TBL,g5)
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis wr %g0,0x82,%asi ! set %asi for non-faulting loads
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis wr %g0,0x60,%gsr
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sll %i2,2,%i2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sll %i4,2,%i4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [G1_CONST_TBL+2056],F60_KA2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sethi %hi(0x7ffffc00),G5_CONST
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [G1_CONST_TBL+2064],F58_KA1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add G5_CONST,1023,G5_CONST
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [G1_CONST_TBL+2072],F62_K256ONLN2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [G1_CONST_TBL+2080],I5_THRESHOLD
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [G1_CONST_TBL+2084],THRESHOLDL
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis subcc %i0,8,%i0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bneg,pn %icc,.tail
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fzeros %f3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.main_loop_preload:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! preload 8 elements and get absolute values
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%i1],%l0 ! (0) Xi = ((int*)px)[0]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fzeros %f5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%i1],%f16 ! (0) X = px[0]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fzeros %f7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i1,%i2,%o5 ! px += stridex
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%o5],%l1 ! (1) Xi = ((int*)px)[0]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %l0,G5_CONST,%l0 ! (0) ax = Xi & 0x7fffffff
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fzeros %f9
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%o5],%f2 ! (1) X = px[0]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fzeros %f11
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o5,%i2,%i1 ! px += stridex
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%i1],%l2 ! (2) Xi = ((int*)px)[0]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %l1,G5_CONST,%l1 ! (1) ax = Xi & 0x7fffffff
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fzeros %f13
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%i1],%f4 ! (2) X = px[0]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fzeros %f15
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i1,%i2,%o5 ! px += stridex
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%o5],%l3 ! (3) Xi = ((int*)px)[0]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %l2,G5_CONST,%l2 ! (2) ax = Xi & 0x7fffffff
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fzeros %f17
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%o5],%f6 ! (3) X = px[0]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o5,%i2,%o0 ! px += stridex
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%o0],%l4 ! (4) Xi = ((int*)px)[0]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %l3,G5_CONST,%l3 ! (3) ax = Xi & 0x7fffffff
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o0,%i2,%o1 ! px += stridex
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%o1],%l5 ! (5) Xi = ((int*)px)[0]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o1,%i2,%o2 ! px += stridex
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%o2],%l6 ! (6) Xi = ((int*)px)[0]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %l4,G5_CONST,%l4 ! (4) ax = Xi & 0x7fffffff
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o2,%i2,%o3 ! px += stridex
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%o3],%l7 ! (7) Xi = ((int*)px)[0]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o3,%i2,%i1 ! px += stridex
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %l5,G5_CONST,%l5 ! (5) ax = Xi & 0x7fffffff
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %l6,G5_CONST,%l6 ! (6) ax = Xi & 0x7fffffff
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba .main_loop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %l7,G5_CONST,%l7 ! (7) ax = Xi & 0x7fffffff
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.main_loop:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %l0,I5_THRESHOLD
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bg,pn %icc,.spec0 ! (0) if (ax > THRESHOLD)
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%o0]%asi,%f8 ! (4) X = px[0]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fstod %f16,%f40 ! (0) y = (double) X
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.spec0_cont:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %l1,I5_THRESHOLD
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bg,pn %icc,.spec1 ! (1) if (ax > THRESHOLD)
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%o1]%asi,%f10 ! (5) X = px[0]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fstod %f2,%f42 ! (1) y = (double) X
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.spec1_cont:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %l2,I5_THRESHOLD
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bg,pn %icc,.spec2 ! (2) if (ax > THRESHOLD)
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%o2]%asi,%f12 ! (6) X = px[0]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fstod %f4,%f44 ! (2) y = (double) X
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.spec2_cont:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %l3,I5_THRESHOLD
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bg,pn %icc,.spec3 ! (3) if (ax > THRESHOLD)
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%o3]%asi,%f14 ! (7) X = px[0]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fstod %f6,%f46 ! (3) y = (double) X
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.spec3_cont:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %l4,I5_THRESHOLD
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bg,pn %icc,.spec4 ! (4) if (ax > THRESHOLD)
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld F62_K256ONLN2,%f40,%f40 ! (0) y *= K256ONLN2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fstod %f8,%f48 ! (4) y = (double) X
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.spec4_cont:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %l5,I5_THRESHOLD
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bg,pn %icc,.spec5 ! (5) if (ax > THRESHOLD)
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld F62_K256ONLN2,%f42,%f42 ! (1) y *= K256ONLN2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fstod %f10,%f50 ! (5) y = (double) X
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.spec5_cont:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %l6,I5_THRESHOLD
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bg,pn %icc,.spec6 ! (6) if (ax > THRESHOLD)
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld F62_K256ONLN2,%f44,%f44 ! (2) y *= K256ONLN2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fstod %f12,%f52 ! (6) y = (double) X
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.spec6_cont:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %l7,I5_THRESHOLD
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bg,pn %icc,.spec7 ! (7) if (ax > THRESHOLD)
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld F62_K256ONLN2,%f46,%f46 ! (3) y *= K256ONLN2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fstod %f14,%f54 ! (7) y = (double) X
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.spec7_cont:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtoi %f40,%f16 ! (0) k = (int) y
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f16,[%fp+tmp0]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld F62_K256ONLN2,%f48,%f48 ! (4) y *= K256ONLN2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtoi %f42,%f2 ! (1) k = (int) y
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f2,[%fp+tmp1]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld F62_K256ONLN2,%f50,%f50 ! (5) y *= K256ONLN2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtoi %f44,%f4 ! (2) k = (int) y
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f4,[%fp+tmp2]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld F62_K256ONLN2,%f52,%f52 ! (6) y *= K256ONLN2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtoi %f46,%f6 ! (3) k = (int) y
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f6,[%fp+tmp3]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld F62_K256ONLN2,%f54,%f54 ! (7) y *= K256ONLN2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtoi %f48,%f8 ! (4) k = (int) y
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f8,[%fp+tmp4]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtoi %f50,%f10 ! (5) k = (int) y
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f10,[%fp+tmp5]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fitod %f16,%f34 ! (0) dtmp = (double) k
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpackfix %f16,%f16 ! (0) ((float*)&drez)[0] = vis_fpackfix(drez)
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtoi %f52,%f12 ! (6) k = (int) y
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f12,[%fp+tmp6]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtoi %f54,%f14 ! (7) k = (int) y
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f14,[%fp+tmp7]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1]%asi,%l0 ! (8) Xi = ((int*)px)[0]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i1,%i2,%o5 ! px += stridex
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fitod %f2,%f18 ! (1) dtmp = (double) k
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpackfix %f2,%f2 ! (1) ((float*)&drez)[0] = vis_fpackfix(drez)
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%o5]%asi,%l1 ! (9) Xi = ((int*)px)[0]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o5,%i2,%i1 ! px += stridex
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fitod %f4,%f20 ! (2) dtmp = (double) k
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpackfix %f4,%f4 ! (2) ((float*)&drez)[0] = vis_fpackfix(drez)
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1]%asi,%l2 ! (10) Xi = ((int*)px)[0]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i1,%i2,%o5 ! px += stridex
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fitod %f6,%f22 ! (3) dtmp = (double) k
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpackfix %f6,%f6 ! (3) ((float*)&drez)[0] = vis_fpackfix(drez)
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%o5]%asi,%l3 ! (11) Xi = ((int*)px)[0]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o5,%i2,%i1 ! px += stridex
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fitod %f8,%f24 ! (4) dtmp = (double) k
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpackfix %f8,%f8 ! (4) ((float*)&drez)[0] = vis_fpackfix(drez)
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fitod %f10,%f26 ! (5) dtmp = (double) k
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpackfix %f10,%f10 ! (5) ((float*)&drez)[0] = vis_fpackfix(drez)
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fitod %f12,%f28 ! (6) dtmp = (double) k
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpackfix %f12,%f12 ! (6) ((float*)&drez)[0] = vis_fpackfix(drez)
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fitod %f14,%f30 ! (7) dtmp = (double) k
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpackfix %f14,%f14 ! (7) ((float*)&drez)[0] = vis_fpackfix(drez)
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+tmp0],%o0 ! (0) load k
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %l0,G5_CONST,%l0 ! (8) ax = Xi & 0x7fffffff
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f40,%f34,%f40 ! (0) y -= dtmp
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+tmp1],%o1 ! (1) load k
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %l1,G5_CONST,%l1 ! (9) ax = Xi & 0x7fffffff
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f42,%f18,%f42 ! (1) y -= dtmp
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+tmp2],%o2 ! (2) load k
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %l2,G5_CONST,%l2 ! (10) ax = Xi & 0x7fffffff
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %o0,255,%o0 ! (0) k &= 255
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f44,%f20,%f44 ! (2) y -= dtmp
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+tmp3],%o3 ! (3) load k
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %o1,255,%o1 ! (1) k &= 255
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f46,%f22,%f46 ! (3) y -= dtmp
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sll %o0,3,%o0 ! (0) k <<= 3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sll %o1,3,%o1 ! (1) k <<= 3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld F60_KA2,%f40,%f34 ! (0) dtmp = y * KA2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f48,%f24,%f48 ! (4) y -= dtmp
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %l3,G5_CONST,%l3 ! (11) ax = Xi & 0x7fffffff
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %o2,255,%o2 ! (2) k &= 255
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld F60_KA2,%f42,%f18 ! (1) dtmp = y * KA2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f50,%f26,%f50 ! (5) y -= dtmp
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sll %o2,3,%o2 ! (2) k <<= 3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld F60_KA2,%f44,%f20 ! (2) dtmp = y * KA2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f52,%f28,%f52 ! (6) y -= dtmp
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+tmp4],%o4 ! (4) load k
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %o3,255,%o3 ! (3) k &= 255
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld F60_KA2,%f46,%f22 ! (3) dtmp = y * KA2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f54,%f30,%f54 ! (7) y -= dtmp
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+tmp5],%o5 ! (5) load k
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sll %o3,3,%o3 ! (3) k <<= 3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld F60_KA2,%f48,%f24 ! (4) dtmp = y * KA2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd F58_KA1,%f34,%f34 ! (0) dtmp += KA1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+tmp6],%o7 ! (6) load k
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %o4,255,%o4 ! (4) k &= 255
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld F60_KA2,%f50,%f26 ! (5) dtmp = y * KA2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd F58_KA1,%f18,%f18 ! (1) dtmp += KA1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+tmp7],%l4 ! (7) load k
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %o5,255,%o5 ! (5) k &= 255
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld F60_KA2,%f52,%f28 ! (6) dtmp = y * KA2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd F58_KA1,%f20,%f20 ! (2) dtmp += KA1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sll %o5,3,%o5 ! (5) k <<= 3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld F60_KA2,%f54,%f30 ! (7) dtmp = y * KA2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd F58_KA1,%f22,%f22 ! (3) dtmp += KA1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f34,%f40,%f40 ! (0) y *= dtmp
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [G1_CONST_TBL+%o0],%f34 ! (0) dtmp = ((double*)(CONST_TBL + k))[0]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %l4,255,%l4 ! (7) k &= 255
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd F58_KA1,%f24,%f24 ! (4) dtmp += KA1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f18,%f42,%f42 ! (1) y *= dtmp
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [G1_CONST_TBL+%o1],%f18 ! (1) dtmp = ((double*)(CONST_TBL + k))[0]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sll %l4,3,%l4 ! (7) k <<= 3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd F58_KA1,%f26,%f26 ! (5) dtmp += KA1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f20,%f44,%f44 ! (2) y *= dtmp
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [G1_CONST_TBL+%o2],%f20 ! (2) dtmp = ((double*)(CONST_TBL + k))[0]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd F58_KA1,%f28,%f28 ! (6) dtmp += KA1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f22,%f46,%f46 ! (3) y *= dtmp
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [G1_CONST_TBL+%o3],%f22 ! (3) dtmp = ((double*)(CONST_TBL + k))[0]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sll %o4,3,%o4 ! (4) k <<= 3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd F58_KA1,%f30,%f30 ! (7) dtmp += KA1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f24,%f48,%f48 ! (4) y *= dtmp
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [G1_CONST_TBL+%o4],%f24 ! (4) dtmp = ((double*)(CONST_TBL + k))[0]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %o7,255,%o7 ! (6) k &= 255
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpadd32 %f16,%f34,%f34 ! (0) drez = vis_fpadd32(drez,dtmp)
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f26,%f50,%f50 ! (5) y *= dtmp
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [G1_CONST_TBL+%o5],%f26 ! (5) dtmp = ((double*)(CONST_TBL + k))[0]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sll %o7,3,%o7 ! (6) k <<= 3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpadd32 %f2,%f18,%f18 ! (1) drez = vis_fpadd32(drez,dtmp)
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f28,%f52,%f52 ! (6) y *= dtmp
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [G1_CONST_TBL+%o7],%f28 ! (6) dtmp = ((double*)(CONST_TBL + k))[0]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sll %i2,2,%o0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpadd32 %f4,%f20,%f20 ! (2) drez = vis_fpadd32(drez,dtmp)
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f30,%f54,%f54 ! (7) y *= dtmp
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [G1_CONST_TBL+%l4],%f30 ! (7) dtmp = ((double*)(CONST_TBL + k))[0]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub %i1,%o0,%o0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpadd32 %f6,%f22,%f22 ! (3) drez = vis_fpadd32(drez,dtmp)
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1]%asi,%l4 ! (12) Xi = ((int*)px)[0]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i1,%i2,%o1 ! px += stridex
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpadd32 %f8,%f24,%f24 ! (4) drez = vis_fpadd32(drez,dtmp)
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f34,%f40,%f40 ! (0) y *= drez
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%o1]%asi,%l5 ! (13) Xi = ((int*)px)[0]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o1,%i2,%o2 ! px += stridex
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpadd32 %f10,%f26,%f26 ! (5) drez = vis_fpadd32(drez,dtmp)
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f18,%f42,%f42 ! (1) y *= drez
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%o2]%asi,%l6 ! (14) Xi = ((int*)px)[0]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o2,%i2,%o3 ! px += stridex
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpadd32 %f12,%f28,%f28 ! (6) drez = vis_fpadd32(drez,dtmp)
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f20,%f44,%f44 ! (2) y *= drez
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%o3]%asi,%l7 ! (15) Xi = ((int*)px)[0]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o3,%i2,%i1 ! px += stridex
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpadd32 %f14,%f30,%f30 ! (7) drez = vis_fpadd32(drez,dtmp)
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f22,%f46,%f46 ! (3) y *= drez
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%o0]%asi,%f16 ! (8) X = px[0]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o0,%i2,%o5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f24,%f48,%f48 ! (4) y *= drez
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f34,%f40,%f40 ! (0) y += drez
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%o5]%asi,%f2 ! (9) X = px[0]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o5,%i2,%o0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f26,%f50,%f50 ! (5) y *= drez
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f18,%f42,%f42 ! (1) y += drez
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%o0]%asi,%f4 ! (10) X = px[0]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o0,%i2,%o5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f28,%f52,%f52 ! (6) y *= drez
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f20,%f44,%f44 ! (2) y += drez
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%o5]%asi,%f6 ! (11) X = px[0]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o5,%i2,%o0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f30,%f54,%f54 ! (7) y *= drez
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f22,%f46,%f46 ! (3) y += drez
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %l4,G5_CONST,%l4 ! (12) ax = Xi & 0x7fffffff
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f24,%f48,%f48 ! (4) y += drez
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %l5,G5_CONST,%l5 ! (13) ax = Xi & 0x7fffffff
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f26,%f50,%f50 ! (5) y += drez
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %l6,G5_CONST,%l6 ! (14) ax = Xi & 0x7fffffff
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f28,%f52,%f52 ! (6) y += drez
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %l7,G5_CONST,%l7 ! (15) ax = Xi & 0x7fffffff
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f30,%f54,%f54 ! (7) y += drez
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtos %f40,%f26 ! (0) (float) y
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f26,[%i3]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i3,%i4,%o4 ! py += stridey
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtos %f42,%f18 ! (1) (float) y
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f18,[%o4]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o4,%i4,%i3 ! py += stridey
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtos %f44,%f20 ! (2) (float) y
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f20,[%i3]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i3,%i4,%o4 ! py += stridey
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtos %f46,%f22 ! (3) (float) y
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f22,[%o4]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o4,%i4,%i3 ! py += stridey
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtos %f48,%f24 ! (4) (float) y
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f24,[%i3]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis subcc %i0,8,%i0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i3,%i4,%o4 ! py += stridey
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtos %f50,%f26 ! (5) (float) y
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f26,[%o4]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o4,%i4,%o5 ! py += stridey
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i4,%i4,%o7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtos %f52,%f28 ! (6) (float) y
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f28,[%o5]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o5,%i4,%o4 ! py += stridey
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o5,%o7,%i3 ! py += stridey
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtos %f54,%f30 ! (7) (float) y
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f30,[%o4]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bpos,pt %icc,.main_loop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.after_main_loop:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sll %i2,3,%o2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub %i1,%o2,%i1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.tail:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i0,8,%i0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis subcc %i0,1,%i0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bneg,pn %icc,.exit
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%i1],%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%i1],%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i1,%i2,%i1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.tail_loop:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %l0,G5_CONST,%l1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %l1,I5_THRESHOLD
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bg,pn %icc,.tail_spec
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.tail_spec_cont:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fstod %f2,%f40
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld F62_K256ONLN2,%f40,%f40
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtoi %f40,%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f2,[%fp+tmp0]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fitod %f2,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpackfix %f2,%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f40,%f16,%f40
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld F60_KA2,%f40,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd F58_KA1,%f16,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+tmp0],%o0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f16,%f40,%f40
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %o0,255,%o0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sll %o0,3,%o0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [G1_CONST_TBL+%o0],%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpadd32 %f2,%f16,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1]%asi,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f16,%f40,%f40
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1]%asi,%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f16,%f40,%f40
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i1,%i2,%i1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtos %f40,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f16,[%i3]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i3,%i4,%i3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis subcc %i0,1,%i0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bpos,pt %icc,.tail_loop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.exit:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ret
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis restore
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.tail_spec:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sethi %hi(0x7f800000),%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %l1,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bl,pt %icc,.tail_spec_out_of_range
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis srl %l0,29,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ble,pn %icc,.tail_spec_inf
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andcc %l0,4,%g0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! NaN -> NaN
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuls %f2,%f2,%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba .tail_spec_exit
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f2,[%i3]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.tail_spec_inf:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis be,a,pn %icc,.tail_spec_exit
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f2,[%i3]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba .tail_spec_exit
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f3,[%i3]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.tail_spec_out_of_range:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fcmpes %fcc0,%f2,%f3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fcmpes %fcc1,%f2,THRESHOLDL
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fbl,pn %fcc0,1f ! if ( X < 0.0f )
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fbl,pt %fcc1,.tail_spec_cont ! if ( X < THRESHOLDL )
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis1:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis srl %l0,29,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %l0,4,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %l0,2048,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [G1_CONST_TBL+%l0],%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuls %f2,%f2,%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f2,[%i3]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.tail_spec_exit:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1]%asi,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1]%asi,%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i1,%i2,%i1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis subcc %i0,1,%i0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bpos,pt %icc,.tail_loop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i3,%i4,%i3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba .exit
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.spec0:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sethi %hi(0x7f800000),%o5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %l0,%o5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bl,pt %icc,.spec0_out_of_range
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sll %i2,3,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ble,pn %icc,.spec0_inf
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub %i1,%o4,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! NaN -> NaN
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuls %f16,%f16,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba .spec0_exit
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f16,[%i3]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.spec0_inf:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%o4],%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis srl %l0,29,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andcc %l0,4,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis be,a,pn %icc,.spec0_exit
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f16,[%i3]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba .spec0_exit
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f3,[%i3]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.spec0_out_of_range:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fcmpes %fcc0,%f16,%f3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fcmpes %fcc1,%f16,THRESHOLDL
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fbl,a,pn %fcc0,1f ! if ( X < 0.0f )
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fstod %f16,%f40 ! (0) y = (double) X
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fbl,a,pt %fcc1,.spec0_cont ! if ( X < THRESHOLDL )
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fstod %f16,%f40 ! (0) y = (double) X
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis1:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub %i1,%o4,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%o4],%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis srl %l0,29,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %l0,4,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %l0,2048,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [G1_CONST_TBL+%l0],%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuls %f16,%f16,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f16,[%i3]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.spec0_exit:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmovs %f2,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %l1,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmovs %f4,%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %l2,%l1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmovs %f6,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %l3,%l2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmovs %f8,%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %l4,%l3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %l5,%l4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %l6,%l5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %l7,%l6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1]%asi,%l7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i1,%i2,%i1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %o1,%o0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %o2,%o1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %o3,%o2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %l7,G5_CONST,%l7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o2,%i2,%o3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis subcc %i0,1,%i0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bpos,pt %icc,.main_loop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i3,%i4,%i3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba .after_main_loop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.spec1:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sethi %hi(0x7f800000),%o5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %l1,%o5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bge,pn %icc,1f
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fcmpes %fcc0,%f2,%f3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fcmpes %fcc1,%f2,THRESHOLDL
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fbl,a,pn %fcc0,1f ! if ( X < 0.0f )
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fstod %f2,%f42 ! (1) y = (double) X
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fbl,a,pt %fcc1,.spec1_cont ! if ( X < THRESHOLDL )
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fstod %f2,%f42 ! (1) y = (double) X
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis1:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld F62_K256ONLN2,%f40,%f40
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtoi %f40,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f16,[%fp+tmp0]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fitod %f16,%f34
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpackfix %f16,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f40,%f34,%f40
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld F60_KA2,%f40,%f34
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd F58_KA1,%f34,%f34
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+tmp0],%o0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f34,%f40,%f40
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %o0,255,%o0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sll %o0,3,%o0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [G1_CONST_TBL+%o0],%f34
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpadd32 %f16,%f34,%f34
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f34,%f40,%f40
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f34,%f40,%f40
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtos %f40,%f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f26,[%i3]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i3,%i4,%i3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %l1,%o5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bl,pt %icc,.spec1_out_of_range
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sll %i2,3,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ble,pn %icc,.spec1_inf
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub %i1,%o4,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! NaN -> NaN
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuls %f2,%f2,%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba .spec1_exit
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f2,[%i3]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.spec1_inf:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o4,%i2,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%o4],%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis srl %l0,29,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andcc %l0,4,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis be,a,pn %icc,.spec1_exit
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f2,[%i3]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba .spec1_exit
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f3,[%i3]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.spec1_out_of_range:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub %i1,%o4,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o4,%i2,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%o4],%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis srl %l0,29,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %l0,4,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %l0,2048,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [G1_CONST_TBL+%l0],%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuls %f2,%f2,%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f2,[%i3]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.spec1_exit:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmovs %f4,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %l2,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmovs %f6,%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %l3,%l1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmovs %f8,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %l4,%l2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmovs %f10,%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %l5,%l3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %l6,%l4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %l7,%l5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1]%asi,%l6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i1,%i2,%i1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1]%asi,%l7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i1,%i2,%i1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %l6,G5_CONST,%l6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %l7,G5_CONST,%l7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %o2,%o0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %o3,%o1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o1,%i2,%o2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o2,%i2,%o3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis subcc %i0,2,%i0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bpos,pt %icc,.main_loop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i3,%i4,%i3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba .after_main_loop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.spec2:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sethi %hi(0x7f800000),%o5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %l2,%o5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bge,pn %icc,1f
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fcmpes %fcc0,%f4,%f3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fcmpes %fcc1,%f4,THRESHOLDL
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fbl,a,pn %fcc0,1f ! if ( X < 0.0f )
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fstod %f4,%f44 ! (2) y = (double) X
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fbl,a,pt %fcc1,.spec2_cont ! if ( X < THRESHOLDL )
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fstod %f4,%f44 ! (2) y = (double) X
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis1:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld F62_K256ONLN2,%f40,%f40
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld F62_K256ONLN2,%f42,%f42
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtoi %f40,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f16,[%fp+tmp0]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtoi %f42,%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f2,[%fp+tmp1]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fitod %f16,%f34
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpackfix %f16,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fitod %f2,%f18
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpackfix %f2,%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f40,%f34,%f40
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f42,%f18,%f42
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld F60_KA2,%f40,%f34
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld F60_KA2,%f42,%f18
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd F58_KA1,%f34,%f34
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd F58_KA1,%f18,%f18
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+tmp0],%o0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f34,%f40,%f40
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+tmp1],%o1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f18,%f42,%f42
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %o0,255,%o0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %o1,255,%o1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sll %o0,3,%o0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sll %o1,3,%o1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [G1_CONST_TBL+%o0],%f34
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [G1_CONST_TBL+%o1],%f18
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpadd32 %f16,%f34,%f34
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpadd32 %f2,%f18,%f18
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f34,%f40,%f40
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f18,%f42,%f42
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f34,%f40,%f40
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f18,%f42,%f42
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtos %f40,%f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f26,[%i3]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i3,%i4,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtos %f42,%f18
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f18,[%o4]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o4,%i4,%i3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %l2,%o5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sll %i2,1,%o5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bl,pt %icc,.spec2_out_of_range
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sll %i2,2,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ble,pn %icc,.spec2_inf
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o4,%o5,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! NaN -> NaN
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuls %f4,%f4,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba .spec2_exit
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f4,[%i3]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.spec2_inf:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub %i1,%o4,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%o4],%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis srl %l0,29,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andcc %l0,4,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis be,a,pn %icc,.spec2_exit
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f4,[%i3]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba .spec2_exit
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f3,[%i3]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.spec2_out_of_range:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o4,%o5,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub %i1,%o4,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%o4],%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis srl %l0,29,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %l0,4,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %l0,2048,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [G1_CONST_TBL+%l0],%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuls %f2,%f2,%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f2,[%i3]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.spec2_exit:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmovs %f6,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %l3,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %o3,%o0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmovs %f8,%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %l4,%l1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o0,%i2,%o1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmovs %f10,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %l5,%l2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o1,%i2,%o2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmovs %f12,%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %l6,%l3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %l7,%l4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1]%asi,%l5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i1,%i2,%i1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o2,%i2,%o3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1]%asi,%l6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i1,%i2,%i1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1]%asi,%l7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i1,%i2,%i1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %l5,G5_CONST,%l5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %l6,G5_CONST,%l6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %l7,G5_CONST,%l7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis subcc %i0,3,%i0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bpos,pt %icc,.main_loop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i3,%i4,%i3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba .after_main_loop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.spec3:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sethi %hi(0x7f800000),%o5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %l3,%o5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bge,pn %icc,1f
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fcmpes %fcc0,%f6,%f3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fcmpes %fcc1,%f6,THRESHOLDL
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fbl,a,pn %fcc0,1f ! if ( X < 0.0f )
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fstod %f6,%f46 ! (3) y = (double) X
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fbl,a,pt %fcc1,.spec3_cont ! if ( X < THRESHOLDL )
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fstod %f6,%f46 ! (3) y = (double) X
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis1:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld F62_K256ONLN2,%f40,%f40
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld F62_K256ONLN2,%f42,%f42
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld F62_K256ONLN2,%f44,%f44
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtoi %f40,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f16,[%fp+tmp0]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtoi %f42,%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f2,[%fp+tmp1]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtoi %f44,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f4,[%fp+tmp2]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fitod %f16,%f34
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpackfix %f16,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fitod %f2,%f18
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpackfix %f2,%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fitod %f4,%f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpackfix %f4,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f40,%f34,%f40
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f42,%f18,%f42
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f44,%f20,%f44
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld F60_KA2,%f40,%f34
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld F60_KA2,%f42,%f18
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld F60_KA2,%f44,%f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd F58_KA1,%f34,%f34
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd F58_KA1,%f18,%f18
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd F58_KA1,%f20,%f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+tmp0],%o0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f34,%f40,%f40
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+tmp1],%o1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f18,%f42,%f42
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+tmp2],%o2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f20,%f44,%f44
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %o0,255,%o0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %o1,255,%o1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %o2,255,%o2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sll %o0,3,%o0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sll %o1,3,%o1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sll %o2,3,%o2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [G1_CONST_TBL+%o0],%f34
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [G1_CONST_TBL+%o1],%f18
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [G1_CONST_TBL+%o2],%f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpadd32 %f16,%f34,%f34
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpadd32 %f2,%f18,%f18
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpadd32 %f4,%f20,%f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f34,%f40,%f40
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f18,%f42,%f42
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f20,%f44,%f44
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f34,%f40,%f40
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f18,%f42,%f42
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f20,%f44,%f44
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtos %f40,%f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f26,[%i3]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i3,%i4,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtos %f42,%f18
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f18,[%o4]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o4,%i4,%i3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtos %f44,%f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f20,[%i3]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i3,%i4,%i3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %l3,%o5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bl,pt %icc,.spec3_out_of_range
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sll %i2,2,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ble,pn %icc,.spec3_inf
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o4,%i2,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! NaN -> NaN
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuls %f6,%f6,%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba .spec3_exit
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f6,[%i3]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.spec3_inf:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub %i1,%o4,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%o4],%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis srl %l0,29,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andcc %l0,4,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis be,a,pn %icc,.spec3_exit
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f6,[%i3]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba .spec3_exit
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f3,[%i3]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.spec3_out_of_range:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o4,%i2,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub %i1,%o4,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%o4],%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis srl %l0,29,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %l0,4,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %l0,2048,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [G1_CONST_TBL+%l0],%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuls %f2,%f2,%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f2,[%i3]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.spec3_exit:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmovs %f8,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %l4,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmovs %f10,%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %l5,%l1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmovs %f12,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %l6,%l2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmovs %f14,%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %l7,%l3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %i1,%o0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%o0]%asi,%l4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o0,%i2,%o1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%o1]%asi,%l5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o1,%i2,%o2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%o2]%asi,%l6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o2,%i2,%o3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%o3]%asi,%l7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o3,%i2,%i1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %l4,G5_CONST,%l4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %l5,G5_CONST,%l5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %l6,G5_CONST,%l6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %l7,G5_CONST,%l7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis subcc %i0,4,%i0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bpos,pt %icc,.main_loop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i3,%i4,%i3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba .after_main_loop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.spec4:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sethi %hi(0x7f800000),%o5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %l4,%o5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bge,pn %icc,1f
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fcmpes %fcc0,%f8,%f3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fcmpes %fcc1,%f8,THRESHOLDL
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fbl,a,pn %fcc0,1f ! if ( X < 0.0f )
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fstod %f8,%f48 ! (4) y = (double) X
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fbl,a,pt %fcc1,.spec4_cont ! if ( X < THRESHOLDL )
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fstod %f8,%f48 ! (4) y = (double) X
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis1:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld F62_K256ONLN2,%f42,%f42
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld F62_K256ONLN2,%f44,%f44
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld F62_K256ONLN2,%f46,%f46
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtoi %f40,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f16,[%fp+tmp0]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtoi %f42,%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f2,[%fp+tmp1]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtoi %f44,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f4,[%fp+tmp2]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtoi %f46,%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f6,[%fp+tmp3]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fitod %f16,%f34
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpackfix %f16,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fitod %f2,%f18
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpackfix %f2,%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fitod %f4,%f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpackfix %f4,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fitod %f6,%f22
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpackfix %f6,%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f40,%f34,%f40
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f42,%f18,%f42
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f44,%f20,%f44
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f46,%f22,%f46
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld F60_KA2,%f40,%f34
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld F60_KA2,%f42,%f18
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld F60_KA2,%f44,%f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld F60_KA2,%f46,%f22
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd F58_KA1,%f34,%f34
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd F58_KA1,%f18,%f18
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd F58_KA1,%f20,%f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd F58_KA1,%f22,%f22
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+tmp0],%o0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f34,%f40,%f40
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+tmp1],%o1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f18,%f42,%f42
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+tmp2],%o2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f20,%f44,%f44
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+tmp3],%o3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f22,%f46,%f46
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %o0,255,%o0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %o1,255,%o1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %o2,255,%o2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %o3,255,%o3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sll %o0,3,%o0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sll %o1,3,%o1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sll %o2,3,%o2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sll %o3,3,%o3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [G1_CONST_TBL+%o0],%f34
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [G1_CONST_TBL+%o1],%f18
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [G1_CONST_TBL+%o2],%f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [G1_CONST_TBL+%o3],%f22
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpadd32 %f16,%f34,%f34
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpadd32 %f2,%f18,%f18
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpadd32 %f4,%f20,%f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpadd32 %f6,%f22,%f22
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f34,%f40,%f40
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f18,%f42,%f42
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f20,%f44,%f44
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f22,%f46,%f46
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f34,%f40,%f40
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f18,%f42,%f42
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f20,%f44,%f44
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f22,%f46,%f46
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtos %f40,%f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f26,[%i3]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i3,%i4,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtos %f42,%f18
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f18,[%o4]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o4,%i4,%i3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtos %f44,%f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f20,[%i3]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i3,%i4,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtos %f46,%f22
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f22,[%o4]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o4,%i4,%i3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %l4,%o5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bl,pt %icc,.spec4_out_of_range
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sll %i2,2,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ble,pn %icc,.spec4_inf
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub %i1,%o4,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! NaN -> NaN
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuls %f8,%f8,%f8
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba .spec4_exit
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f8,[%i3]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.spec4_inf:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%o4],%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis srl %l0,29,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andcc %l0,4,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis be,a,pn %icc,.spec4_exit
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f8,[%i3]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba .spec4_exit
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f3,[%i3]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.spec4_out_of_range:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub %i1,%o4,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%o4],%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis srl %l0,29,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %l0,4,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %l0,2048,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [G1_CONST_TBL+%l0],%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuls %f2,%f2,%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f2,[%i3]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.spec4_exit:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmovs %f10,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %l5,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmovs %f12,%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %l6,%l1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmovs %f14,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %l7,%l2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1]%asi,%l3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1]%asi,%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i1,%i2,%o0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%o0]%asi,%l4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o0,%i2,%o1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%o1]%asi,%l5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o1,%i2,%o2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%o2]%asi,%l6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o2,%i2,%o3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%o3]%asi,%l7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o3,%i2,%i1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %l3,G5_CONST,%l3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %l4,G5_CONST,%l4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %l5,G5_CONST,%l5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %l6,G5_CONST,%l6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %l7,G5_CONST,%l7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis subcc %i0,5,%i0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bpos,pt %icc,.main_loop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i3,%i4,%i3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba .after_main_loop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.spec5:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sethi %hi(0x7f800000),%o5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %l5,%o5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bge,pn %icc,1f
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fcmpes %fcc0,%f10,%f3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fcmpes %fcc1,%f10,THRESHOLDL
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fbl,a,pn %fcc0,1f ! if ( X < 0.0f )
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fstod %f10,%f50 ! (5) y = (double) X
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fbl,a,pt %fcc1,.spec5_cont ! if ( X < THRESHOLDL )
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fstod %f10,%f50 ! (5) y = (double) X
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis1:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld F62_K256ONLN2,%f44,%f44
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld F62_K256ONLN2,%f46,%f46
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtoi %f40,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f16,[%fp+tmp0]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld F62_K256ONLN2,%f48,%f48
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtoi %f42,%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f2,[%fp+tmp1]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtoi %f44,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f4,[%fp+tmp2]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtoi %f46,%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f6,[%fp+tmp3]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtoi %f48,%f8
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f8,[%fp+tmp4]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fitod %f16,%f34
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpackfix %f16,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fitod %f2,%f18
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpackfix %f2,%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fitod %f4,%f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpackfix %f4,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fitod %f6,%f22
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpackfix %f6,%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fitod %f8,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpackfix %f8,%f8
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+tmp0],%o0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f40,%f34,%f40
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+tmp1],%o1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f42,%f18,%f42
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+tmp2],%o2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %o0,255,%o0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f44,%f20,%f44
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+tmp3],%o3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %o1,255,%o1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f46,%f22,%f46
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sll %o0,3,%o0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sll %o1,3,%o1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld F60_KA2,%f40,%f34
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f48,%f24,%f48
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %o2,255,%o2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld F60_KA2,%f42,%f18
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sll %o2,3,%o2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld F60_KA2,%f44,%f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+tmp4],%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %o3,255,%o3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld F60_KA2,%f46,%f22
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sll %o3,3,%o3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld F60_KA2,%f48,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd F58_KA1,%f34,%f34
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %o4,255,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd F58_KA1,%f18,%f18
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd F58_KA1,%f20,%f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd F58_KA1,%f22,%f22
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f34,%f40,%f40
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [G1_CONST_TBL+%o0],%f34
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd F58_KA1,%f24,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f18,%f42,%f42
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [G1_CONST_TBL+%o1],%f18
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f20,%f44,%f44
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [G1_CONST_TBL+%o2],%f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f22,%f46,%f46
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [G1_CONST_TBL+%o3],%f22
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sll %o4,3,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f24,%f48,%f48
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [G1_CONST_TBL+%o4],%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpadd32 %f16,%f34,%f34
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpadd32 %f2,%f18,%f18
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpadd32 %f4,%f20,%f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpadd32 %f6,%f22,%f22
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpadd32 %f8,%f24,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f34,%f40,%f40
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f18,%f42,%f42
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f20,%f44,%f44
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f22,%f46,%f46
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f24,%f48,%f48
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f34,%f40,%f40
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f18,%f42,%f42
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f20,%f44,%f44
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f22,%f46,%f46
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f24,%f48,%f48
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtos %f40,%f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f26,[%i3]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i3,%i4,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtos %f42,%f18
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f18,[%o4]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o4,%i4,%i3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtos %f44,%f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f20,[%i3]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i3,%i4,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtos %f46,%f22
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f22,[%o4]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o4,%i4,%i3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtos %f48,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f24,[%i3]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i3,%i4,%i3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %l5,%o5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bl,pt %icc,.spec5_out_of_range
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sll %i2,2,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ble,pn %icc,.spec5_inf
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub %o4,%i2,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! NaN -> NaN
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuls %f10,%f10,%f10
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba .spec5_exit
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f10,[%i3]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.spec5_inf:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub %i1,%o4,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%o4],%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis srl %l0,29,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andcc %l0,4,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis be,a,pn %icc,.spec5_exit
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f10,[%i3]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba .spec5_exit
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f3,[%i3]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.spec5_out_of_range:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub %o4,%i2,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub %i1,%o4,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%o4],%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis srl %l0,29,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %l0,4,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %l0,2048,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [G1_CONST_TBL+%l0],%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuls %f2,%f2,%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f2,[%i3]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.spec5_exit:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmovs %f12,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %l6,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmovs %f14,%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %l7,%l1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1]%asi,%l2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1]%asi,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i1,%i2,%i1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1]%asi,%l3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1]%asi,%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i1,%i2,%o0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%o0]%asi,%l4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o0,%i2,%o1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%o1]%asi,%l5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o1,%i2,%o2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%o2]%asi,%l6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o2,%i2,%o3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%o3]%asi,%l7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o3,%i2,%i1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %l2,G5_CONST,%l2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %l3,G5_CONST,%l3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %l4,G5_CONST,%l4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %l5,G5_CONST,%l5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %l6,G5_CONST,%l6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %l7,G5_CONST,%l7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis subcc %i0,6,%i0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bpos,pt %icc,.main_loop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i3,%i4,%i3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba .after_main_loop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.spec6:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sethi %hi(0x7f800000),%o5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %l6,%o5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bge,pn %icc,1f
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fcmpes %fcc0,%f12,%f3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fcmpes %fcc1,%f12,THRESHOLDL
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fbl,a,pn %fcc0,1f ! if ( X < 0.0f )
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fstod %f12,%f52 ! (6) y = (double) X
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fbl,a,pt %fcc1,.spec6_cont ! if ( X < THRESHOLDL )
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fstod %f12,%f52 ! (6) y = (double) X
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis1:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld F62_K256ONLN2,%f46,%f46
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtoi %f40,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f16,[%fp+tmp0]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld F62_K256ONLN2,%f48,%f48
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtoi %f42,%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f2,[%fp+tmp1]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld F62_K256ONLN2,%f50,%f50
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtoi %f44,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f4,[%fp+tmp2]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtoi %f46,%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f6,[%fp+tmp3]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtoi %f48,%f8
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f8,[%fp+tmp4]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtoi %f50,%f10
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f10,[%fp+tmp5]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fitod %f16,%f34
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpackfix %f16,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fitod %f2,%f18
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpackfix %f2,%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fitod %f4,%f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpackfix %f4,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fitod %f6,%f22
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpackfix %f6,%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fitod %f8,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpackfix %f8,%f8
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fitod %f10,%f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpackfix %f10,%f10
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+tmp0],%o0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f40,%f34,%f40
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+tmp1],%o1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f42,%f18,%f42
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+tmp2],%o2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %o0,255,%o0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f44,%f20,%f44
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+tmp3],%o3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %o1,255,%o1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f46,%f22,%f46
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sll %o0,3,%o0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sll %o1,3,%o1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld F60_KA2,%f40,%f34
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f48,%f24,%f48
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %o2,255,%o2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld F60_KA2,%f42,%f18
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f50,%f26,%f50
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sll %o2,3,%o2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld F60_KA2,%f44,%f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+tmp4],%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %o3,255,%o3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld F60_KA2,%f46,%f22
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+tmp5],%o5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sll %o3,3,%o3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld F60_KA2,%f48,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd F58_KA1,%f34,%f34
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %o4,255,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld F60_KA2,%f50,%f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd F58_KA1,%f18,%f18
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %o5,255,%o5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd F58_KA1,%f20,%f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sll %o5,3,%o5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd F58_KA1,%f22,%f22
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f34,%f40,%f40
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [G1_CONST_TBL+%o0],%f34
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd F58_KA1,%f24,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f18,%f42,%f42
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [G1_CONST_TBL+%o1],%f18
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd F58_KA1,%f26,%f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f20,%f44,%f44
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [G1_CONST_TBL+%o2],%f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f22,%f46,%f46
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [G1_CONST_TBL+%o3],%f22
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sll %o4,3,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f24,%f48,%f48
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [G1_CONST_TBL+%o4],%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpadd32 %f16,%f34,%f34
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f26,%f50,%f50
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [G1_CONST_TBL+%o5],%f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpadd32 %f2,%f18,%f18
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpadd32 %f4,%f20,%f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpadd32 %f6,%f22,%f22
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpadd32 %f8,%f24,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f34,%f40,%f40
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpadd32 %f10,%f26,%f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f18,%f42,%f42
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f20,%f44,%f44
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f22,%f46,%f46
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f24,%f48,%f48
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f34,%f40,%f40
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f26,%f50,%f50
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f18,%f42,%f42
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f20,%f44,%f44
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f22,%f46,%f46
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f24,%f48,%f48
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f26,%f50,%f50
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtos %f40,%f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f26,[%i3]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i3,%i4,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtos %f42,%f18
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f18,[%o4]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o4,%i4,%i3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtos %f44,%f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f20,[%i3]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i3,%i4,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtos %f46,%f22
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f22,[%o4]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o4,%i4,%i3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtos %f48,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f24,[%i3]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i3,%i4,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtos %f50,%f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f26,[%o4]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o4,%i4,%i3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sethi %hi(0x7f800000),%o5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %l6,%o5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bl,pt %icc,.spec6_out_of_range
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sll %i2,1,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ble,pn %icc,.spec6_inf
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub %i1,%o4,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! NaN -> NaN
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuls %f12,%f12,%f12
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba .spec6_exit
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f12,[%i3]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.spec6_inf:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%o4],%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis srl %l0,29,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andcc %l0,4,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis be,a,pn %icc,.spec6_exit
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f12,[%i3]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba .spec6_exit
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f3,[%i3]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.spec6_out_of_range:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub %i1,%o4,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%o4],%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis srl %l0,29,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %l0,4,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %l0,2048,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [G1_CONST_TBL+%l0],%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuls %f2,%f2,%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f2,[%i3]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.spec6_exit:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmovs %f14,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %l7,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1]%asi,%l1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1]%asi,%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i1,%i2,%i1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1]%asi,%l2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1]%asi,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i1,%i2,%i1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1]%asi,%l3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1]%asi,%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i1,%i2,%o0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%o0]%asi,%l4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o0,%i2,%o1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%o1]%asi,%l5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o1,%i2,%o2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%o2]%asi,%l6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o2,%i2,%o3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%o3]%asi,%l7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o3,%i2,%i1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %l1,G5_CONST,%l1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %l2,G5_CONST,%l2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %l3,G5_CONST,%l3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %l4,G5_CONST,%l4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %l5,G5_CONST,%l5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %l6,G5_CONST,%l6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %l7,G5_CONST,%l7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis subcc %i0,7,%i0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bpos,pt %icc,.main_loop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i3,%i4,%i3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba .after_main_loop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.spec7:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sethi %hi(0x7f800000),%o5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %l7,%o5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bge,pn %icc,1f
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fcmpes %fcc0,%f14,%f3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fcmpes %fcc1,%f14,THRESHOLDL
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fbl,a,pn %fcc0,1f ! if ( X < 0.0f )
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fstod %f14,%f54 ! (7) y = (double) X
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fbl,a,pt %fcc1,.spec7_cont ! if ( X < THRESHOLDL )
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fstod %f14,%f54 ! (7) y = (double) X
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis1:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtoi %f40,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f16,[%fp+tmp0]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld F62_K256ONLN2,%f48,%f48
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtoi %f42,%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f2,[%fp+tmp1]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld F62_K256ONLN2,%f50,%f50
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtoi %f44,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f4,[%fp+tmp2]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld F62_K256ONLN2,%f52,%f52
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtoi %f46,%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f6,[%fp+tmp3]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtoi %f48,%f8
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f8,[%fp+tmp4]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtoi %f50,%f10
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f10,[%fp+tmp5]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtoi %f52,%f12
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f12,[%fp+tmp6]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fitod %f16,%f34
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpackfix %f16,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fitod %f2,%f18
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpackfix %f2,%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fitod %f4,%f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpackfix %f4,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fitod %f6,%f22
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpackfix %f6,%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fitod %f8,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpackfix %f8,%f8
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fitod %f10,%f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpackfix %f10,%f10
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fitod %f12,%f28
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpackfix %f12,%f12
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+tmp0],%o0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f40,%f34,%f40
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+tmp1],%o1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f42,%f18,%f42
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+tmp2],%o2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %o0,255,%o0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f44,%f20,%f44
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+tmp3],%o3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %o1,255,%o1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f46,%f22,%f46
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sll %o0,3,%o0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sll %o1,3,%o1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld F60_KA2,%f40,%f34
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f48,%f24,%f48
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %o2,255,%o2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld F60_KA2,%f42,%f18
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f50,%f26,%f50
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sll %o2,3,%o2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld F60_KA2,%f44,%f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f52,%f28,%f52
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+tmp4],%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %o3,255,%o3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld F60_KA2,%f46,%f22
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+tmp5],%o5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sll %o3,3,%o3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld F60_KA2,%f48,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd F58_KA1,%f34,%f34
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+tmp6],%o7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %o4,255,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld F60_KA2,%f50,%f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd F58_KA1,%f18,%f18
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %o5,255,%o5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld F60_KA2,%f52,%f28
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd F58_KA1,%f20,%f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sll %o5,3,%o5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd F58_KA1,%f22,%f22
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f34,%f40,%f40
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [G1_CONST_TBL+%o0],%f34
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd F58_KA1,%f24,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f18,%f42,%f42
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [G1_CONST_TBL+%o1],%f18
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd F58_KA1,%f26,%f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f20,%f44,%f44
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [G1_CONST_TBL+%o2],%f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd F58_KA1,%f28,%f28
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f22,%f46,%f46
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [G1_CONST_TBL+%o3],%f22
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sll %o4,3,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f24,%f48,%f48
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [G1_CONST_TBL+%o4],%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %o7,255,%o7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpadd32 %f16,%f34,%f34
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f26,%f50,%f50
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [G1_CONST_TBL+%o5],%f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sll %o7,3,%o7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpadd32 %f2,%f18,%f18
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f28,%f52,%f52
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [G1_CONST_TBL+%o7],%f28
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpadd32 %f4,%f20,%f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpadd32 %f6,%f22,%f22
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpadd32 %f8,%f24,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f34,%f40,%f40
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpadd32 %f10,%f26,%f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f18,%f42,%f42
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpadd32 %f12,%f28,%f28
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f20,%f44,%f44
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f22,%f46,%f46
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f24,%f48,%f48
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f34,%f40,%f40
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f26,%f50,%f50
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f18,%f42,%f42
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f28,%f52,%f52
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f20,%f44,%f44
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f22,%f46,%f46
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f24,%f48,%f48
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f26,%f50,%f50
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f28,%f52,%f52
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtos %f40,%f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f26,[%i3]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i3,%i4,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtos %f42,%f18
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f18,[%o4]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o4,%i4,%i3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtos %f44,%f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f20,[%i3]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i3,%i4,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtos %f46,%f22
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f22,[%o4]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o4,%i4,%i3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtos %f48,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f24,[%i3]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i3,%i4,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtos %f50,%f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f26,[%o4]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %o4,%i4,%i3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtos %f52,%f28
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f28,[%i3]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i3,%i4,%i3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sethi %hi(0x7f800000),%o5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %l7,%o5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bl,pt %icc,.spec7_out_of_range
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub %i1,%i2,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ble,pn %icc,.spec7_inf
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%o4],%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! NaN -> NaN
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuls %f14,%f14,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba .spec7_exit
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f14,[%i3]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.spec7_inf:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis srl %l0,29,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andcc %l0,4,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis be,a,pn %icc,.spec7_exit
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f14,[%i3]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba .spec7_exit
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f3,[%i3]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.spec7_out_of_range:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%o4],%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis srl %l0,29,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %l0,4,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %l0,2048,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [G1_CONST_TBL+%l0],%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuls %f2,%f2,%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f2,[%i3]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.spec7_exit:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis subcc %i0,8,%i0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bpos,pt %icc,.main_loop_preload
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i3,%i4,%i3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba .tail
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis SET_SIZE(__vexpf)
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis