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 "__vcos.S"
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#include "libm.h"
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis RO_DATA
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 64
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtisconstants:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ec718e3,0xa6972785
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ef9fd39,0x94293940
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbf2a019f,0x75ee4be1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbf56c16b,0xba552569
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3f811111,0x1108c703
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fa55555,0x554f5b35
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbfc55555,0x555554d0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbfdfffff,0xffffff85
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff00000,0x00000000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbfc55555,0x5551fc28
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3f811107,0x62eacc9d
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xbfdfffff,0xffff6328
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fa55551,0x5f7acf0c
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fe45f30,0x6dc9c883
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x43380000,0x00000000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ff921fb,0x54400000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3dd0b461,0x1a600000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3ba3198a,0x2e000000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x397b839a,0x252049c1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x80000000,0x00004000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0xffff8000,0x00000000 ! N.B.: low-order words used
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fc90000,0x80000000 ! for sign bit hacking; see
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .word 0x3fc40000,0x00000000 ! references to "thresh" below
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define p4 0x0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define q4 0x08
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define p3 0x10
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define q3 0x18
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define p2 0x20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define q2 0x28
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define p1 0x30
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define q1 0x38
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define one 0x40
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define pp1 0x48
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define pp2 0x50
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define qq1 0x58
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define qq2 0x60
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define invpio2 0x68
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define round 0x70
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define pio2_1 0x78
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define pio2_2 0x80
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define pio2_3 0x88
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define pio2_3t 0x90
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define f30val 0x98
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define mask 0xa0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define thresh 0xa8
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! local storage indices
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define xsave STACK_BIAS-0x8
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define ysave STACK_BIAS-0x10
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define nsave STACK_BIAS-0x14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define sxsave STACK_BIAS-0x18
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define sysave STACK_BIAS-0x1c
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define biguns STACK_BIAS-0x20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define n2 STACK_BIAS-0x24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define n1 STACK_BIAS-0x28
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define n0 STACK_BIAS-0x2c
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define x2_1 STACK_BIAS-0x40
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define x1_1 STACK_BIAS-0x50
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define x0_1 STACK_BIAS-0x60
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define y2_0 STACK_BIAS-0x70
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define y1_0 STACK_BIAS-0x80
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define y0_0 STACK_BIAS-0x90
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! sizeof temp storage - must be a multiple of 16 for V9
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define tmps 0x90
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis!--------------------------------------------------------------------
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! define pipes for easier reading
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define P0_f0 %f0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define P0_f1 %f1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define P0_f2 %f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define P0_f3 %f3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define P0_f4 %f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define P0_f5 %f5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define P0_f6 %f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define P0_f7 %f7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define P0_f8 %f8
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define P0_f9 %f9
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define P1_f10 %f10
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define P1_f11 %f11
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define P1_f12 %f12
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define P1_f13 %f13
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define P1_f14 %f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define P1_f15 %f15
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define P1_f16 %f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define P1_f17 %f17
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define P1_f18 %f18
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define P1_f19 %f19
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define P2_f20 %f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define P2_f21 %f21
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define P2_f22 %f22
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define P2_f23 %f23
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define P2_f24 %f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define P2_f25 %f25
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define P2_f26 %f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define P2_f27 %f27
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define P2_f28 %f28
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define P2_f29 %f29
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! define __vlibm_TBL_sincos_hi & lo for easy reading
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define SC_HI %l3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define SC_LO %l4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! define constants for easy reading
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define C_q1 %f46
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define C_q2 %f48
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define C_q3 %f50
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define C_q4 %f52
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! one ( 1 ) uno eins echi un
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define C_ONE %f54
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define C_ONE_LO %f55
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! masks
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define MSK_SIGN %i5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define MSK_BIT31 %f30
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define MSK_BIT13 %f31
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define MSK_BITSHI17 %f44
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! constants for pp and qq
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define C_pp1 %f56
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define C_pp2 %f58
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define C_qq1 %f60
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define C_qq2 %f62
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! sign mask
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define C_signM %i5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define LIM_l5 %l5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define LIM_l6 %l6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! when in pri range, using value as transition from poly to table.
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! for Medium range,change use of %l6 and use to keep track of biguns.
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#define LIM_l7 %l7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis!--------------------------------------------------------------------
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ENTRY(__vcos)
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis save %sp,-SA(MINFRAME)-tmps,%sp
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis PIC_SETUP(g5)
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis PIC_SET(g5,__vlibm_TBL_sincos_hi,l3)
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis PIC_SET(g5,__vlibm_TBL_sincos_lo,l4)
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis PIC_SET(g5,constants,o0)
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %o0,%g1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis wr %g0,0x82,%asi ! set %asi for non-faulting loads
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! ========== primary range ==========
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! register use
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! i0 n
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! i1 x
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! i2 stridex
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! i3 y
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! i4 stridey
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! i5 0x80000000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! l0 hx0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! l1 hx1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! l2 hx2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! l3 __vlibm_TBL_sincos_hi
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! l4 __vlibm_TBL_sincos_lo
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! l5 0x3fc40000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! l6 0x3e400000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! l7 0x3fe921fb
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! the following are 64-bit registers in both V8+ and V9
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! g1 scratch
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! g5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! o0 py0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! o1 py1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! o2 py2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! o3 oy0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! o4 oy1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! o5 oy2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! o7 scratch
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f0 x0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f8 scratch for table base
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f9 signbit0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f10 x1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f12
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f18 scratch for table base
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f19 signbit1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f20 x2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f22
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f28 scratch for table base
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f29 signbit2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f30 0x80000000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f31 0x4000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f32
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f34
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f36
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f38
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f40
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f42
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f44 0xffff800000000000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f46 p1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f48 p2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f50 p3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f52 p4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f54 one
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f56 pp1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f58 pp2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f60 qq1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f62 qq2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#ifdef __sparcv9
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis stx %i1,[%fp+xsave] ! save arguments
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis stx %i3,[%fp+ysave]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#else
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %i1,[%fp+xsave] ! save arguments
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %i3,[%fp+ysave]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#endif
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %i0,[%fp+nsave]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %i2,[%fp+sxsave]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %i4,[%fp+sysave]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sethi %hi(0x80000000),MSK_SIGN ! load/set up constants
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sethi %hi(0x3fc40000),LIM_l5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sethi %hi(0x3e400000),LIM_l6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sethi %hi(0x3fe921fb),LIM_l7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis or LIM_l7,%lo(0x3fe921fb),LIM_l7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%g1+f30val],MSK_BIT31
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%g1+mask],MSK_BITSHI17
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%g1+q1],C_q1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%g1+q2],C_q2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%g1+q3],C_q3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%g1+q4],C_q4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%g1+one],C_ONE
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%g1+pp1],C_pp1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%g1+pp2],C_pp2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%g1+qq1],C_qq1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%g1+qq2],C_qq2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sll %i2,3,%i2 ! scale strides
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sll %i4,3,%i4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %fp,x0_1,%o3 ! precondition loop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %fp,x0_1,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %fp,x0_1,%o5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%i1],%l0 ! hx = *x
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%i1],P0_f0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%i1+4],P0_f1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andn %l0,MSK_SIGN,%l0 ! hx &= ~0x80000000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i1,%i2,%i1 ! x += stridex
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba,pt %icc,.loop0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis!delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 32
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.loop0:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1]%asi,%l1 ! preload next argument
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub %l0,LIM_l6,%g1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub LIM_l7,%l0,%o7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fands P0_f0,MSK_BIT31,P0_f9 ! save signbit
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1]%asi,P1_f10
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis orcc %o7,%g1,%g0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %i3,%o0 ! py0 = y
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bl,pn %icc,.range0 ! if hx < 0x3e400000 or > 0x3fe921fb
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1+4]%asi,P1_f11
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis addcc %i0,-1,%i0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i3,%i4,%i3 ! y += stridey
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ble,pn %icc,.endloop1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andn %l1,MSK_SIGN,%l1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i1,%i2,%i1 ! x += stridex
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fabsd P0_f0,P0_f0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld C_ONE,C_ONE,C_ONE ! one*one; a nop for alignment only
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.loop1:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1]%asi,%l2 ! preload next argument
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub %l1,LIM_l6,%g1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub LIM_l7,%l1,%o7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fands P1_f10,MSK_BIT31,P1_f19 ! save signbit
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1]%asi,P2_f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis orcc %o7,%g1,%g0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %i3,%o1 ! py1 = y
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bl,pn %icc,.range1 ! if hx < 0x3e400000 or > 0x3fe921fb
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1+4]%asi,P2_f21
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis addcc %i0,-1,%i0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i3,%i4,%i3 ! y += stridey
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ble,pn %icc,.endloop2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andn %l2,MSK_SIGN,%l2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i1,%i2,%i1 ! x += stridex
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fabsd P1_f10,P1_f10
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld C_ONE,C_ONE,C_ONE ! one*one; a nop for alignment only
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.loop2:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st P0_f6,[%o3]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub %l2,LIM_l6,%g1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub LIM_l7,%l2,%o7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fands P2_f20,MSK_BIT31,P2_f29 ! save signbit
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st P0_f7,[%o3+4]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis orcc %g1,%o7,%g0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %i3,%o2 ! py2 = y
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bl,pn %icc,.range2 ! if hx < 0x3e400000 or > 0x3fe921fb
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i3,%i4,%i3 ! y += stridey
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %l0,LIM_l5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fabsd P2_f20,P2_f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bl,pn %icc,.case4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st P1_f16,[%o4]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %l1,LIM_l5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpadd32s P0_f0,MSK_BIT13,P0_f8
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bl,pn %icc,.case2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st P1_f17,[%o4+4]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %l2,LIM_l5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpadd32s P1_f10,MSK_BIT13,P1_f18
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bl,pn %icc,.case1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st P2_f26,[%o5]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %o0,%o3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sethi %hi(0x3fc3c000),%o7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpadd32s P2_f20,MSK_BIT13,P2_f28
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st P2_f27,[%o5+4]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fand P0_f8,MSK_BITSHI17,P0_f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %o1,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fand P1_f18,MSK_BITSHI17,P1_f12
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %o2,%o5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub %l0,%o7,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fand P2_f28,MSK_BITSHI17,P2_f22
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub %l1,%o7,%l1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub %l2,%o7,%l2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd P0_f0,P0_f2,P0_f0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis srl %l0,10,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add SC_HI,8,%g1;add SC_LO,8,%o7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd P1_f10,P1_f12,P1_f10
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis srl %l1,10,%l1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd P2_f20,P2_f22,P2_f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis srl %l2,10,%l2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P0_f0,P0_f0,P0_f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andn %l0,0x1f,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P1_f10,P1_f10,P1_f12
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andn %l1,0x1f,%l1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P2_f20,P2_f20,P2_f22
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andn %l2,0x1f,%l2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P0_f2,C_pp2,P0_f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%g1+%l0],%f32
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P1_f12,C_pp2,P1_f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%g1+%l1],%f36
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P2_f22,C_pp2,P2_f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%g1+%l2],%f40
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P0_f6,C_pp1,P0_f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P0_f2,C_qq2,P0_f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [SC_HI+%l0],%f34
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P1_f16,C_pp1,P1_f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P1_f12,C_qq2,P1_f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [SC_HI+%l1],%f38
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P2_f26,C_pp1,P2_f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P2_f22,C_qq2,P2_f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [SC_HI+%l2],%f42
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P0_f2,P0_f6,P0_f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P0_f4,C_qq1,P0_f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P1_f12,P1_f16,P1_f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P1_f14,C_qq1,P1_f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P2_f22,P2_f26,P2_f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P2_f24,C_qq1,P2_f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P0_f6,C_ONE,P0_f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P0_f2,P0_f4,P0_f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P1_f16,C_ONE,P1_f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P1_f12,P1_f14,P1_f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P2_f26,C_ONE,P2_f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P2_f22,P2_f24,P2_f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P0_f0,P0_f6,P0_f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%o7+%l0],P0_f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P1_f10,P1_f16,P1_f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%o7+%l1],P1_f12
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P2_f20,P2_f26,P2_f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%o7+%l2],P2_f22
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P0_f4,%f32,P0_f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1]%asi,%l0 ! preload next argument
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P1_f14,%f36,P1_f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1]%asi,P0_f0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P2_f24,%f40,P2_f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1+4]%asi,P0_f1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P0_f6,%f34,P0_f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i1,%i2,%i1 ! x += stridex
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P1_f16,%f38,P1_f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P2_f26,%f42,P2_f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd P0_f6,P0_f4,P0_f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd P1_f16,P1_f14,P1_f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd P2_f26,P2_f24,P2_f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd P0_f2,P0_f6,P0_f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd P1_f12,P1_f16,P1_f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd P2_f22,P2_f26,P2_f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P0_f6,%f32,P0_f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P1_f16,%f36,P1_f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P2_f26,%f40,P2_f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andn %l0,MSK_SIGN,%l0 ! hx &= ~0x80000000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop !!(vsin) fors P0_f6,P0_f9,P0_f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis addcc %i0,-1,%i0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop !!(vsin) fors P1_f16,P1_f19,P1_f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bg,pt %icc,.loop0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop !!(vsin) fors P2_f26,P2_f29,P2_f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba,pt %icc,.endloop0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 32
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.case1:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st P2_f27,[%o5+4]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sethi %hi(0x3fc3c000),%o7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fand P0_f8,MSK_BITSHI17,P0_f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub %l0,%o7,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub %l1,%o7,%l1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add SC_HI,8,%g1;add SC_LO,8,%o7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fand P1_f18,MSK_BITSHI17,P1_f12
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P2_f20,P2_f20,P2_f22
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd P0_f0,P0_f2,P0_f0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis srl %l0,10,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %o0,%o3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd P1_f10,P1_f12,P1_f10
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis srl %l1,10,%l1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %o1,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P2_f22,C_q4,P2_f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %o2,%o5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P0_f0,P0_f0,P0_f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andn %l0,0x1f,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P1_f10,P1_f10,P1_f12
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andn %l1,0x1f,%l1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P2_f24,C_q3,P2_f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P0_f2,C_pp2,P0_f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%g1+%l0],%f32
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P1_f12,C_pp2,P1_f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%g1+%l1],%f36
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P2_f22,P2_f24,P2_f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P0_f6,C_pp1,P0_f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P0_f2,C_qq2,P0_f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [SC_HI+%l0],%f34
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P1_f16,C_pp1,P1_f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P1_f12,C_qq2,P1_f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [SC_HI+%l1],%f38
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P2_f24,C_q2,P2_f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P0_f2,P0_f6,P0_f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P0_f4,C_qq1,P0_f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P1_f12,P1_f16,P1_f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P1_f14,C_qq1,P1_f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P2_f22,P2_f24,P2_f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P0_f6,C_ONE,P0_f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P0_f2,P0_f4,P0_f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P1_f16,C_ONE,P1_f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P1_f12,P1_f14,P1_f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P2_f24,C_q1,P2_f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P0_f0,P0_f6,P0_f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%o7+%l0],P0_f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P1_f10,P1_f16,P1_f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%o7+%l1],P1_f12
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P0_f4,%f32,P0_f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1]%asi,%l0 ! preload next argument
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P1_f14,%f36,P1_f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1]%asi,P0_f0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P0_f6,%f34,P0_f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1+4]%asi,P0_f1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P1_f16,%f38,P1_f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i1,%i2,%i1 ! x += stridex
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P2_f22,P2_f24,P2_f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd P0_f6,P0_f4,P0_f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd P1_f16,P1_f14,P1_f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis !!(vsin)fmuld P2_f20,P2_f24,P2_f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd P0_f2,P0_f6,P0_f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd P1_f12,P1_f16,P1_f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd C_ONE,P2_f24,P2_f26 !!(vsin)faddd P2_f20,P2_f24,P2_f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P0_f6,%f32,P0_f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P1_f16,%f36,P1_f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andn %l0,MSK_SIGN,%l0 ! hx &= ~0x80000000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop !!(vsin) fors P2_f26,P2_f29,P2_f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis addcc %i0,-1,%i0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop !!(vsin) fors P0_f6,P0_f9,P0_f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bg,pt %icc,.loop0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop !!(vsin) fors P1_f16,P1_f19,P1_f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba,pt %icc,.endloop0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 32
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.case2:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st P2_f26,[%o5]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %l2,LIM_l5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpadd32s P2_f20,MSK_BIT13,P2_f28
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bl,pn %icc,.case3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st P2_f27,[%o5+4]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sethi %hi(0x3fc3c000),%o7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fand P0_f8,MSK_BITSHI17,P0_f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub %l0,%o7,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub %l2,%o7,%l2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add SC_HI,8,%g1;add SC_LO,8,%o7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fand P2_f28,MSK_BITSHI17,P2_f22
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P1_f10,P1_f10,P1_f12
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd P0_f0,P0_f2,P0_f0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis srl %l0,10,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %o0,%o3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd P2_f20,P2_f22,P2_f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis srl %l2,10,%l2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %o2,%o5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P1_f12,C_q4,P1_f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %o1,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P0_f0,P0_f0,P0_f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andn %l0,0x1f,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P2_f20,P2_f20,P2_f22
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andn %l2,0x1f,%l2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P1_f14,C_q3,P1_f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P0_f2,C_pp2,P0_f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%g1+%l0],%f32
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P2_f22,C_pp2,P2_f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%g1+%l2],%f40
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P1_f12,P1_f14,P1_f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P0_f6,C_pp1,P0_f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P0_f2,C_qq2,P0_f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [SC_HI+%l0],%f34
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P2_f26,C_pp1,P2_f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P2_f22,C_qq2,P2_f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [SC_HI+%l2],%f42
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P1_f14,C_q2,P1_f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P0_f2,P0_f6,P0_f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P0_f4,C_qq1,P0_f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P2_f22,P2_f26,P2_f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P2_f24,C_qq1,P2_f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P1_f12,P1_f14,P1_f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P0_f6,C_ONE,P0_f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P0_f2,P0_f4,P0_f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P2_f26,C_ONE,P2_f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P2_f22,P2_f24,P2_f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P1_f14,C_q1,P1_f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P0_f0,P0_f6,P0_f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%o7+%l0],P0_f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P2_f20,P2_f26,P2_f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%o7+%l2],P2_f22
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P0_f4,%f32,P0_f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1]%asi,%l0 ! preload next argument
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P2_f24,%f40,P2_f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1]%asi,P0_f0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P0_f6,%f34,P0_f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1+4]%asi,P0_f1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P2_f26,%f42,P2_f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i1,%i2,%i1 ! x += stridex
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P1_f12,P1_f14,P1_f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd P0_f6,P0_f4,P0_f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd P2_f26,P2_f24,P2_f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis !!(vsin)fmuld P1_f10,P1_f14,P1_f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd P0_f2,P0_f6,P0_f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd P2_f22,P2_f26,P2_f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd C_ONE,P1_f14,P1_f16 !!(vsin)faddd P1_f10,P1_f14,P1_f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P0_f6,%f32,P0_f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P2_f26,%f40,P2_f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andn %l0,MSK_SIGN,%l0 ! hx &= ~0x80000000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop !!(vsin) fors P1_f16,P1_f19,P1_f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis addcc %i0,-1,%i0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop !!(vsin) fors P0_f6,P0_f9,P0_f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bg,pt %icc,.loop0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop !!(vsin) fors P2_f26,P2_f29,P2_f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba,pt %icc,.endloop0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 32
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.case3:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sethi %hi(0x3fc3c000),%o7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fand P0_f8,MSK_BITSHI17,P0_f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P1_f10,P1_f10,P1_f12
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub %l0,%o7,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add SC_HI,8,%g1;add SC_LO,8,%o7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P2_f20,P2_f20,P2_f22
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd P0_f0,P0_f2,P0_f0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis srl %l0,10,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %o0,%o3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P1_f12,C_q4,P1_f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %o1,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P2_f22,C_q4,P2_f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %o2,%o5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P0_f0,P0_f0,P0_f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andn %l0,0x1f,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P1_f14,C_q3,P1_f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P2_f24,C_q3,P2_f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P0_f2,C_pp2,P0_f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%g1+%l0],%f32
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P1_f12,P1_f14,P1_f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P2_f22,P2_f24,P2_f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P0_f6,C_pp1,P0_f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P0_f2,C_qq2,P0_f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [SC_HI+%l0],%f34
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P1_f14,C_q2,P1_f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P2_f24,C_q2,P2_f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P0_f2,P0_f6,P0_f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P0_f4,C_qq1,P0_f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P1_f12,P1_f14,P1_f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P2_f22,P2_f24,P2_f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P0_f6,C_ONE,P0_f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P0_f2,P0_f4,P0_f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P1_f14,C_q1,P1_f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P2_f24,C_q1,P2_f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P0_f0,P0_f6,P0_f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%o7+%l0],P0_f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P0_f4,%f32,P0_f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1]%asi,%l0 ! preload next argument
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P1_f12,P1_f14,P1_f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1]%asi,P0_f0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P0_f6,%f34,P0_f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1+4]%asi,P0_f1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P2_f22,P2_f24,P2_f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i1,%i2,%i1 ! x += stridex
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis !!(vsin)fmuld P1_f10,P1_f14,P1_f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd P0_f6,P0_f4,P0_f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis !!(vsin)fmuld P2_f20,P2_f24,P2_f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd C_ONE,P1_f14,P1_f16 !!(vsin)faddd P1_f10,P1_f14,P1_f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd P0_f2,P0_f6,P0_f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd C_ONE,P2_f24,P2_f26 !!(vsin)faddd P2_f20,P2_f24,P2_f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop !!(vsin) fors P1_f16,P1_f19,P1_f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andn %l0,MSK_SIGN,%l0 ! hx &= ~0x80000000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P0_f6,%f32,P0_f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis addcc %i0,-1,%i0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop !!(vsin) fors P2_f26,P2_f29,P2_f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bg,pt %icc,.loop0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop !!(vsin) fors P0_f6,P0_f9,P0_f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba,pt %icc,.endloop0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 32
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.case4:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st P1_f17,[%o4+4]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %l1,LIM_l5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpadd32s P1_f10,MSK_BIT13,P1_f18
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bl,pn %icc,.case6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st P2_f26,[%o5]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %l2,LIM_l5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpadd32s P2_f20,MSK_BIT13,P2_f28
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bl,pn %icc,.case5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st P2_f27,[%o5+4]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sethi %hi(0x3fc3c000),%o7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fand P1_f18,MSK_BITSHI17,P1_f12
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub %l1,%o7,%l1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub %l2,%o7,%l2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add SC_HI,8,%g1;add SC_LO,8,%o7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fand P2_f28,MSK_BITSHI17,P2_f22
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P0_f0,P0_f0,P0_f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd P1_f10,P1_f12,P1_f10
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis srl %l1,10,%l1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %o1,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd P2_f20,P2_f22,P2_f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis srl %l2,10,%l2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %o2,%o5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmovd P0_f0,P0_f6 !ID for processing
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P0_f2,C_q4,P0_f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %o0,%o3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P1_f10,P1_f10,P1_f12
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andn %l1,0x1f,%l1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P2_f20,P2_f20,P2_f22
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andn %l2,0x1f,%l2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P0_f4,C_q3,P0_f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P1_f12,C_pp2,P1_f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%g1+%l1],%f36
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P2_f22,C_pp2,P2_f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%g1+%l2],%f40
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P0_f2,P0_f4,P0_f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P1_f16,C_pp1,P1_f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P1_f12,C_qq2,P1_f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [SC_HI+%l1],%f38
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P2_f26,C_pp1,P2_f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P2_f22,C_qq2,P2_f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [SC_HI+%l2],%f42
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P0_f4,C_q2,P0_f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P1_f12,P1_f16,P1_f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P1_f14,C_qq1,P1_f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P2_f22,P2_f26,P2_f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P2_f24,C_qq1,P2_f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P0_f2,P0_f4,P0_f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P1_f16,C_ONE,P1_f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P1_f12,P1_f14,P1_f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P2_f26,C_ONE,P2_f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P2_f22,P2_f24,P2_f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P0_f4,C_q1,P0_f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P1_f10,P1_f16,P1_f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%o7+%l1],P1_f12
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P2_f20,P2_f26,P2_f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%o7+%l2],P2_f22
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P1_f14,%f36,P1_f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1]%asi,%l0 ! preload next argument
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P2_f24,%f40,P2_f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1]%asi,P0_f0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P1_f16,%f38,P1_f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1+4]%asi,P0_f1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P2_f26,%f42,P2_f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i1,%i2,%i1 ! x += stridex
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P0_f2,P0_f4,P0_f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd P1_f16,P1_f14,P1_f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd P2_f26,P2_f24,P2_f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis !!(vsin)fmuld P0_f6,P0_f4,P0_f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd P1_f12,P1_f16,P1_f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd P2_f22,P2_f26,P2_f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd C_ONE,P0_f4,P0_f6 !!(vsin)faddd P0_f6,P0_f4,P0_f6 ! faddd then spaces for processing
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P1_f16,%f36,P1_f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P2_f26,%f40,P2_f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andn %l0,MSK_SIGN,%l0 ! hx &= ~0x80000000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop !!(vsin) fors P0_f6,P0_f9,P0_f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis addcc %i0,-1,%i0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop !!(vsin) fors P1_f16,P1_f19,P1_f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bg,pt %icc,.loop0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop !!(vsin) fors P2_f26,P2_f29,P2_f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba,pt %icc,.endloop0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 32
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.case5:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sethi %hi(0x3fc3c000),%o7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fand P1_f18,MSK_BITSHI17,P1_f12
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P0_f0,P0_f0,P0_f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub %l1,%o7,%l1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add SC_HI,8,%g1;add SC_LO,8,%o7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P2_f20,P2_f20,P2_f22
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd P1_f10,P1_f12,P1_f10
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis srl %l1,10,%l1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %o1,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmovd P0_f0,P0_f6 !ID for processing
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P0_f2,C_q4,P0_f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %o0,%o3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P2_f22,C_q4,P2_f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %o2,%o5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P1_f10,P1_f10,P1_f12
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andn %l1,0x1f,%l1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P0_f4,C_q3,P0_f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P2_f24,C_q3,P2_f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P1_f12,C_pp2,P1_f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%g1+%l1],%f36
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P0_f2,P0_f4,P0_f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P2_f22,P2_f24,P2_f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P1_f16,C_pp1,P1_f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P1_f12,C_qq2,P1_f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [SC_HI+%l1],%f38
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P0_f4,C_q2,P0_f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P2_f24,C_q2,P2_f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P1_f12,P1_f16,P1_f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P1_f14,C_qq1,P1_f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P0_f2,P0_f4,P0_f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P2_f22,P2_f24,P2_f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P1_f16,C_ONE,P1_f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P1_f12,P1_f14,P1_f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P0_f4,C_q1,P0_f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P2_f24,C_q1,P2_f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P1_f10,P1_f16,P1_f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%o7+%l1],P1_f12
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P1_f14,%f36,P1_f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1]%asi,%l0 ! preload next argument
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P0_f2,P0_f4,P0_f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1]%asi,P0_f0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P1_f16,%f38,P1_f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1+4]%asi,P0_f1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P2_f22,P2_f24,P2_f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i1,%i2,%i1 ! x += stridex
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis !!(vsin)fmuld P0_f6,P0_f4,P0_f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd P1_f16,P1_f14,P1_f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis !!(vsin)fmuld P2_f20,P2_f24,P2_f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd C_ONE,P0_f4,P0_f6 !!(vsin)faddd P0_f6,P0_f4,P0_f6 ! faddd then spaces for processing
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd P1_f12,P1_f16,P1_f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd C_ONE,P2_f24,P2_f26 !!(vsin)faddd P2_f20,P2_f24,P2_f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop !!(vsin) fors P0_f6,P0_f9,P0_f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andn %l0,MSK_SIGN,%l0 ! hx &= ~0x80000000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P1_f16,%f36,P1_f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis addcc %i0,-1,%i0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop !!(vsin) fors P2_f26,P2_f29,P2_f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bg,pt %icc,.loop0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop !!(vsin) fors P1_f16,P1_f19,P1_f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba,pt %icc,.endloop0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 32
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.case6:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st P2_f27,[%o5+4]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %l2,LIM_l5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpadd32s P2_f20,MSK_BIT13,P2_f28
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bl,pn %icc,.case7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sethi %hi(0x3fc3c000),%o7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fand P2_f28,MSK_BITSHI17,P2_f22
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P0_f0,P0_f0,P0_f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub %l2,%o7,%l2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add SC_HI,8,%g1;add SC_LO,8,%o7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P1_f10,P1_f10,P1_f12
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd P2_f20,P2_f22,P2_f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis srl %l2,10,%l2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %o2,%o5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmovd P0_f0,P0_f6 !ID for processing
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P0_f2,C_q4,P0_f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %o0,%o3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P1_f12,C_q4,P1_f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %o1,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P2_f20,P2_f20,P2_f22
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andn %l2,0x1f,%l2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P0_f4,C_q3,P0_f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P1_f14,C_q3,P1_f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P2_f22,C_pp2,P2_f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%g1+%l2],%f40
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P0_f2,P0_f4,P0_f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P1_f12,P1_f14,P1_f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P2_f26,C_pp1,P2_f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P2_f22,C_qq2,P2_f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [SC_HI+%l2],%f42
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P0_f4,C_q2,P0_f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P1_f14,C_q2,P1_f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P2_f22,P2_f26,P2_f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P2_f24,C_qq1,P2_f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P0_f2,P0_f4,P0_f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P1_f12,P1_f14,P1_f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P2_f26,C_ONE,P2_f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P2_f22,P2_f24,P2_f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P0_f4,C_q1,P0_f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P1_f14,C_q1,P1_f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P2_f20,P2_f26,P2_f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%o7+%l2],P2_f22
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P2_f24,%f40,P2_f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1]%asi,%l0 ! preload next argument
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P0_f2,P0_f4,P0_f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1]%asi,P0_f0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P2_f26,%f42,P2_f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1+4]%asi,P0_f1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P1_f12,P1_f14,P1_f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i1,%i2,%i1 ! x += stridex
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis !!(vsin)fmuld P0_f6,P0_f4,P0_f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd P2_f26,P2_f24,P2_f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis !!(vsin)fmuld P1_f10,P1_f14,P1_f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd C_ONE,P0_f4,P0_f6 !!(vsin)faddd P0_f6,P0_f4,P0_f6 ! faddd then spaces for processing
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd P2_f22,P2_f26,P2_f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd C_ONE,P1_f14,P1_f16 !!(vsin)faddd P1_f10,P1_f14,P1_f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop !!(vsin) fors P0_f6,P0_f9,P0_f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andn %l0,MSK_SIGN,%l0 ! hx &= ~0x80000000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P2_f26,%f40,P2_f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis addcc %i0,-1,%i0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop !!(vsin) fors P1_f16,P1_f19,P1_f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bg,pt %icc,.loop0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop !!(vsin) fors P2_f26,P2_f29,P2_f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba,pt %icc,.endloop0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 32
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.case7:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P0_f0,P0_f0,P0_f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmovd P0_f0,P0_f6 !ID for processing
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %o0,%o3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P1_f10,P1_f10,P1_f12
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %o1,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P2_f20,P2_f20,P2_f22
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %o2,%o5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P0_f2,C_q4,P0_f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1]%asi,%l0 ! preload next argument
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P1_f12,C_q4,P1_f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1]%asi,P0_f0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P2_f22,C_q4,P2_f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1+4]%asi,P0_f1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P0_f4,C_q3,P0_f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i1,%i2,%i1 ! x += stridex
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P1_f14,C_q3,P1_f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P2_f24,C_q3,P2_f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P0_f2,P0_f4,P0_f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P1_f12,P1_f14,P1_f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P2_f22,P2_f24,P2_f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P0_f4,C_q2,P0_f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P1_f14,C_q2,P1_f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P2_f24,C_q2,P2_f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P0_f2,P0_f4,P0_f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P1_f12,P1_f14,P1_f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P2_f22,P2_f24,P2_f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P0_f4,C_q1,P0_f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P1_f14,C_q1,P1_f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P2_f24,C_q1,P2_f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P0_f2,P0_f4,P0_f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P1_f12,P1_f14,P1_f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P2_f22,P2_f24,P2_f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis !!(vsin)fmuld P0_f6,P0_f4,P0_f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis !!(vsin)fmuld P1_f10,P1_f14,P1_f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis !!(vsin)fmuld P2_f20,P2_f24,P2_f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd C_ONE,P0_f4,P0_f6 !!(vsin)faddd P0_f6,P0_f4,P0_f6 ! faddd then spaces for processing
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd C_ONE,P1_f14,P1_f16 !!(vsin)faddd P1_f10,P1_f14,P1_f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd C_ONE,P2_f24,P2_f26 !!(vsin)faddd P2_f20,P2_f24,P2_f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andn %l0,MSK_SIGN,%l0 ! hx &= ~0x80000000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop !!(vsin) fors P0_f6,P0_f9,P0_f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis addcc %i0,-1,%i0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop !!(vsin) fors P1_f16,P1_f19,P1_f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bg,pt %icc,.loop0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop !!(vsin) fors P2_f26,P2_f29,P2_f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba,pt %icc,.endloop0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 32
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.endloop2:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %l1,LIM_l5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bl,pn %icc,1f
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fabsd P1_f10,P1_f10
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sethi %hi(0x3fc3c000),%o7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpadd32s P1_f10,MSK_BIT13,P1_f18
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fand P1_f18,MSK_BITSHI17,P1_f12
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub %l1,%o7,%l1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add SC_HI,8,%g1;add SC_LO,8,%o7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd P1_f10,P1_f12,P1_f10
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis srl %l1,10,%l1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P1_f10,P1_f10,P1_f12
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andn %l1,0x1f,%l1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P1_f12,C_pp2,P2_f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%g1+%l1],%f36
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P2_f20,C_pp1,P2_f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P1_f12,C_qq2,P1_f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [SC_HI+%l1],%f38
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P1_f12,P2_f20,P2_f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P1_f14,C_qq1,P1_f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P2_f20,C_ONE,P2_f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P1_f12,P1_f14,P1_f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P1_f10,P2_f20,P2_f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%o7+%l1],P1_f12
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P1_f14,%f36,P1_f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P2_f20,%f38,P2_f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd P2_f20,P1_f14,P2_f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd P1_f12,P2_f20,P2_f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba,pt %icc,2f
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P2_f20,%f36,P2_f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis1:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P1_f10,P1_f10,P1_f12
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P1_f12,C_q4,P1_f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P1_f14,C_q3,P1_f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P1_f12,P1_f14,P1_f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P1_f14,C_q2,P1_f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P1_f12,P1_f14,P1_f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P1_f14,C_q1,P1_f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P1_f12,P1_f14,P1_f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis !!(vsin)fmuld P1_f10,P1_f14,P1_f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd C_ONE,P1_f14,P2_f20 !!(vsin)faddd P1_f10,P1_f14,P2_f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis2:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop !!(vsin) fors P2_f20,P1_f19,P2_f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st P2_f20,[%o1]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st P2_f21,[%o1+4]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.endloop1:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %l0,LIM_l5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bl,pn %icc,1f
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fabsd P0_f0,P0_f0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sethi %hi(0x3fc3c000),%o7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpadd32s P0_f0,MSK_BIT13,P0_f8
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fand P0_f8,MSK_BITSHI17,P0_f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub %l0,%o7,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add SC_HI,8,%g1;add SC_LO,8,%o7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd P0_f0,P0_f2,P0_f0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis srl %l0,10,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P0_f0,P0_f0,P0_f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andn %l0,0x1f,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P0_f2,C_pp2,P2_f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%g1+%l0],%f32
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P2_f20,C_pp1,P2_f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P0_f2,C_qq2,P0_f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [SC_HI+%l0],%f34
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P0_f2,P2_f20,P2_f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P0_f4,C_qq1,P0_f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P2_f20,C_ONE,P2_f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P0_f2,P0_f4,P0_f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P0_f0,P2_f20,P2_f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%o7+%l0],P0_f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P0_f4,%f32,P0_f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P2_f20,%f34,P2_f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd P2_f20,P0_f4,P2_f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd P0_f2,P2_f20,P2_f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba,pt %icc,2f
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P2_f20,%f32,P2_f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis1:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P0_f0,P0_f0,P0_f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P0_f2,C_q4,P0_f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P0_f4,C_q3,P0_f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P0_f2,P0_f4,P0_f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P0_f4,C_q2,P0_f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P0_f2,P0_f4,P0_f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd P0_f4,C_q1,P0_f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld P0_f2,P0_f4,P0_f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis !!(vsin)fmuld P0_f0,P0_f4,P0_f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd C_ONE,P0_f4,P2_f20 !!(vsin)faddd P0_f0,P0_f4,P2_f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis2:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop !!(vsin) fors P2_f20,P0_f9,P2_f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st P2_f20,[%o0]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st P2_f21,[%o0+4]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.endloop0:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st P0_f6,[%o3]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st P0_f7,[%o3+4]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st P1_f16,[%o4]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st P1_f17,[%o4+4]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st P2_f26,[%o5]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st P2_f27,[%o5+4]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! return. finished off with only primary range arguments
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ret
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis restore
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 32
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.range0:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %l0,LIM_l6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bg,a,pt %icc,.MEDIUM ! branch to Medium range on big arg.
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot, annulled if branch not taken
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov 0x1,LIM_l6 ! set biguns flag or
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtoi P0_f0,P0_f2; fmovd C_ONE,P0_f0 ; st P0_f0,[%o0] ! *y = *x with inexact if x nonzero
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st P0_f1,[%o0+4]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis !nop ! (vsin) fdtoi P0_f0,P0_f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis addcc %i0,-1,%i0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ble,pn %icc,.endloop0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot, harmless if branch taken
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i3,%i4,%i3 ! y += stridey
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andn %l1,MSK_SIGN,%l0 ! hx &= ~0x80000000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmovd P1_f10,P0_f0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba,pt %icc,.loop0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i1,%i2,%i1 ! x += stridex
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 32
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.range1:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %l1,LIM_l6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bg,a,pt %icc,.MEDIUM ! branch to Medium range on big arg.
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot, annulled if branch not taken
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov 0x2,LIM_l6 ! set biguns flag or
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtoi P1_f10,P1_f12; fmovd C_ONE,P1_f10 ; st P1_f10,[%o1] ! *y = *x with inexact if x nonzero
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st P1_f11,[%o1+4]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis !nop ! (vsin) fdtoi P1_f10,P1_f12
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis addcc %i0,-1,%i0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ble,pn %icc,.endloop1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot, harmless if branch taken
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i3,%i4,%i3 ! y += stridey
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andn %l2,MSK_SIGN,%l1 ! hx &= ~0x80000000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmovd P2_f20,P1_f10
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba,pt %icc,.loop1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i1,%i2,%i1 ! x += stridex
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 32
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.range2:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %l2,LIM_l6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bg,a,pt %icc,.MEDIUM ! brance to Medium range on big arg.
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot, annulled if branch not taken
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov 0x3,LIM_l6 ! set biguns flag or
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fdtoi P2_f20,P2_f22; fmovd C_ONE,P2_f20 ; st P2_f20,[%o2] ! *y = *x with inexact if x nonzero
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st P2_f21,[%o2+4]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop ! (vsin) fdtoi P2_f20,P2_f22
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis1:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis addcc %i0,-1,%i0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ble,pn %icc,.endloop2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%i1],%l2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%i1],P2_f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%i1+4],P2_f21
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andn %l2,MSK_SIGN,%l2 ! hx &= ~0x80000000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba,pt %icc,.loop2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i1,%i2,%i1 ! x += stridex
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 32
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.MEDIUM:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! ========== medium range ==========
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! register use
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! i0 n
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! i1 x
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! i2 stridex
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! i3 y
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! i4 stridey
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! i5 0x80000000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! l0 hx0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! l1 hx1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! l2 hx2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! l3 __vlibm_TBL_sincos_hi
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! l4 __vlibm_TBL_sincos_lo
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! l5 constants
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! l6 biguns stored here : still called LIM_l6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! l7 0x413921fb
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! the following are 64-bit registers in both V8+ and V9
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! g1 scratch
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! g5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! o0 py0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! o1 py1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! o2 py2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! o3 n0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! o4 n1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! o5 n2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! o7 scratch
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f0 x0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f2 n0,y0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f8 scratch for table base
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f9 signbit0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f10 x1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f12 n1,y1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f18 scratch for table base
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f19 signbit1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f20 x2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f22 n2,y2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f28 scratch for table base
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f29 signbit2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f30 0x80000000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f31 0x4000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f32
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f34
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f36
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f38
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f40 invpio2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f42 round
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f44 0xffff800000000000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f46 pio2_1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f48 pio2_2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f50 pio2_3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f52 pio2_3t
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f54 one
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f56 pp1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f58 pp2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f60 qq1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! f62 qq2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis PIC_SET(g5,constants,l5)
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ! %o3,%o4,%o5 need to be stored
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st P0_f6,[%o3]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sethi %hi(0x413921fb),%l7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st P0_f7,[%o3+4]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis or %l7,%lo(0x413921fb),%l7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st P1_f16,[%o4]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st P1_f17,[%o4+4]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st P2_f26,[%o5]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st P2_f27,[%o5+4]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l5+invpio2],%f40
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l5+round],%f42
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l5+pio2_1],%f46
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l5+pio2_2],%f48
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l5+pio2_3],%f50
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l5+pio2_3t],%f52
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis std %f54,[%fp+x0_1+8] ! set up stack data
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis std %f54,[%fp+x1_1+8]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis std %f54,[%fp+x2_1+8]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis stx %g0,[%fp+y0_0+8]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis stx %g0,[%fp+y1_0+8]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis stx %g0,[%fp+y2_0+8]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! branched here in the middle of the array. Need to adjust
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! for the members of the triple that were selected in the primary
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! loop.
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! no adjustment since all three selected here
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis subcc LIM_l6,0x1,%g0 ! continue in LOOP0?
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bz,a %icc,.LOOP0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov 0x0,LIM_l6 ! delay slot set biguns=0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! ajust 1st triple since 2d and 3d done here
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis subcc LIM_l6,0x2,%g0 ! continue in LOOP1?
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f0,%f40,%f2 ! adj LOOP0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bz,a %icc,.LOOP1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov 0x0,LIM_l6 ! delay slot set biguns=0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! ajust 1st and 2d triple since 3d done here
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis subcc LIM_l6,0x3,%g0 ! continue in LOOP2?
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis !done fmuld %f0,%f40,%f2 ! adj LOOP0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub %i3,%i4,%i3 ! adjust to not double increment
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f10,%f40,%f12 ! adj LOOP1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f2,%f42,%f2 ! adj LOOP1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bz,a %icc,.LOOP2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov 0x0,LIM_l6 ! delay slot set biguns=0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba .LOOP0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! -- 16 byte aligned
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 32
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.LOOP0:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1]%asi,%l1 ! preload next argument
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %i3,%o0 ! py0 = y
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1]%asi,%f10
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %l0,%l7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i3,%i4,%i3 ! y += stridey
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bg,pn %icc,.BIG0 ! if hx > 0x413921fb
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1+4]%asi,%f11
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis addcc %i0,-1,%i0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i1,%i2,%i1 ! x += stridex
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ble,pn %icc,.ENDLOOP1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andn %l1,%i5,%l1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f0,%f40,%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fabsd %f54,%f54 ! a nop for alignment only
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.LOOP1:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1]%asi,%l2 ! preload next argument
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %i3,%o1 ! py1 = y
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1]%asi,%f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %l1,%l7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i3,%i4,%i3 ! y += stridey
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bg,pn %icc,.BIG1 ! if hx > 0x413921fb
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1+4]%asi,%f21
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis addcc %i0,-1,%i0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i1,%i2,%i1 ! x += stridex
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ble,pn %icc,.ENDLOOP2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andn %l2,%i5,%l2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f10,%f40,%f12
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f2,%f42,%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.LOOP2:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f3,[%fp+n0]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %i3,%o2 ! py2 = y
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %l2,%l7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i3,%i4,%i3 ! y += stridey
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f20,%f40,%f22
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bg,pn %icc,.BIG2 ! if hx > 0x413921fb
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %l5,thresh+4,%o7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f12,%f42,%f12
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f13,[%fp+n1]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! -
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %l5,thresh,%g1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f22,%f42,%f22
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f23,[%fp+n2]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f2,%f42,%f2 ! n
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f12,%f42,%f12 ! n
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f22,%f42,%f22 ! n
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f2,%f46,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f12,%f46,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f22,%f46,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f0,%f4,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f2,%f48,%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f10,%f14,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f12,%f48,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f20,%f24,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f22,%f48,%f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f4,%f6,%f0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+n0],%o3 ; add %o3,1,%o3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f14,%f16,%f10
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+n1],%o4 ; add %o4,1,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f24,%f26,%f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+n2],%o5 ; add %o5,1,%o5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f4,%f0,%f32
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %o3,1,%o3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f14,%f10,%f34
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %o4,1,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f24,%f20,%f36
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %o5,1,%o5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f32,%f6,%f32
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f2,%f50,%f8
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sll %o3,3,%o3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f34,%f16,%f34
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f12,%f50,%f18
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sll %o4,3,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f36,%f26,%f36
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f22,%f50,%f28
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sll %o5,3,%o5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f8,%f32,%f8
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%g1+%o3],%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f18,%f34,%f18
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%g1+%o4],%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f28,%f36,%f28
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%g1+%o5],%f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f0,%f8,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f10,%f18,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f20,%f28,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f0,%f4,%f32
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f10,%f14,%f34
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f20,%f24,%f36
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f32,%f8,%f32
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f2,%f52,%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f34,%f18,%f34
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f12,%f52,%f12
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f36,%f28,%f36
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f22,%f52,%f22
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f2,%f32,%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%o7+%o3],%f8
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f12,%f34,%f12
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%o7+%o4],%f18
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f22,%f36,%f22
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%o7+%o5],%f28
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f4,%f2,%f0 ! x
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f14,%f12,%f10 ! x
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f24,%f22,%f20 ! x
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f4,%f0,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f14,%f10,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f24,%f20,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fands %f0,%f30,%f9 ! save signbit
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fands %f10,%f30,%f19 ! save signbit
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fands %f20,%f30,%f29 ! save signbit
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fabsd %f0,%f0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis std %f0,[%fp+x0_1]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fabsd %f10,%f10
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis std %f10,[%fp+x1_1]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fabsd %f20,%f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis std %f20,[%fp+x2_1]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f4,%f2,%f2 ! y
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f14,%f12,%f12 ! y
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f24,%f22,%f22 ! y
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fcmpgt32 %f6,%f0,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fcmpgt32 %f16,%f10,%l1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fcmpgt32 %f26,%f20,%l2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! -- 16 byte aligned
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fxors %f2,%f9,%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fxors %f12,%f19,%f12
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fxors %f22,%f29,%f22
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fands %f9,%f8,%f9 ! if (n & 1) clear sign bit
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andcc %l0,2,%g0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bne,pn %icc,.CASE4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fands %f19,%f18,%f19 ! if (n & 1) clear sign bit
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andcc %l1,2,%g0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bne,pn %icc,.CASE2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fands %f29,%f28,%f29 ! if (n & 1) clear sign bit
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andcc %l2,2,%g0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bne,pn %icc,.CASE1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpadd32s %f0,%f31,%f8
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sethi %hi(0x3fc3c000),%o7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+x0_1],%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpadd32s %f10,%f31,%f18
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %l3,8,%g1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+x1_1],%l1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpadd32s %f20,%f31,%f28
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+x2_1],%l2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fand %f8,%f44,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub %l0,%o7,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fand %f18,%f44,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub %l1,%o7,%l1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fand %f28,%f44,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub %l2,%o7,%l2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f0,%f4,%f0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis srl %l0,10,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f10,%f14,%f10
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis srl %l1,10,%l1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f20,%f24,%f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis srl %l2,10,%l2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f0,%f2,%f0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andn %l0,0x1f,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f10,%f12,%f10
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andn %l1,0x1f,%l1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f20,%f22,%f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andn %l2,0x1f,%l2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f0,%f0,%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %l0,%o3,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f10,%f10,%f12
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %l1,%o4,%l1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f20,%f20,%f22
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %l2,%o5,%l2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f2,%f58,%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l3+%l0],%f32
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f12,%f58,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l3+%l1],%f34
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f22,%f58,%f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l3+%l2],%f36
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f6,%f56,%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f2,%f62,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f16,%f56,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f12,%f62,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f26,%f56,%f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f22,%f62,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f2,%f6,%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f4,%f60,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f12,%f16,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f14,%f60,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f22,%f26,%f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f24,%f60,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f6,%f54,%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f2,%f4,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f16,%f54,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f12,%f14,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f26,%f54,%f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f22,%f24,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f0,%f6,%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%g1+%l0],%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f10,%f16,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%g1+%l1],%f12
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f20,%f26,%f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%g1+%l2],%f22
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f4,%f32,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l4+%l0],%f0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f14,%f34,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l4+%l1],%f10
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f24,%f36,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l4+%l2],%f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f6,%f2,%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f16,%f12,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f26,%f22,%f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f6,%f4,%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f16,%f14,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f26,%f24,%f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f6,%f0,%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f16,%f10,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f26,%f20,%f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f6,%f32,%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f16,%f34,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f26,%f36,%f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.FIXSIGN:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+n0],%o3 ; add %o3,1,%o3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %l5,thresh-4,%g1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+n1],%o4 ; add %o4,1,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+n2],%o5 ; add %o5,1,%o5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %o3,2,%o3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sll %o3,2,%o3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %o4,2,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1]%asi,%l0 ! preload next argument
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sll %o4,2,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %o5,2,%o5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%g1+%o3],%f8
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sll %o5,2,%o5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%g1+%o4],%f18
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%g1+%o5],%f28
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fxors %f9,%f8,%f9
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1]%asi,%f0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fxors %f29,%f28,%f29
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis lda [%i1+4]%asi,%f1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fxors %f19,%f18,%f19
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fors %f6,%f9,%f6 ! tack on sign
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i1,%i2,%i1 ! x += stridex
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f6,[%o0]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fors %f26,%f29,%f26 ! tack on sign
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f7,[%o0+4]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fors %f16,%f19,%f16 ! tack on sign
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f26,[%o2]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f27,[%o2+4]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis addcc %i0,-1,%i0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f16,[%o1]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andn %l0,%i5,%l0 ! hx &= ~0x80000000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bg,pt %icc,.LOOP0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f17,[%o1+4]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba,pt %icc,.ENDLOOP0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 32
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.CASE1:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpadd32s %f10,%f31,%f18
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sethi %hi(0x3fc3c000),%o7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+x0_1],%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fand %f8,%f44,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %l3,8,%g1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+x1_1],%l1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fand %f18,%f44,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub %l0,%o7,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f0,%f4,%f0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis srl %l0,10,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub %l1,%o7,%l1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f10,%f14,%f10
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis srl %l1,10,%l1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f20,%f20,%f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l5+%o5],%f36
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %l5,%o5,%l2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f0,%f2,%f0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andn %l0,0x1f,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f10,%f12,%f10
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andn %l1,0x1f,%l1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f20,%f36,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l2+0x10],%f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %fp,%o5,%o5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f0,%f0,%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %l0,%o3,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f10,%f10,%f12
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %l1,%o4,%l1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f24,%f26,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l2+0x20],%f36
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f2,%f58,%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l3+%l0],%f32
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f12,%f58,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l3+%l1],%f34
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f20,%f24,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l2+0x30],%f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f6,%f56,%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f2,%f62,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f16,%f56,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f12,%f62,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f24,%f36,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%o5+x2_1],%f36
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f2,%f6,%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f4,%f60,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f12,%f16,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f14,%f60,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f20,%f24,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f6,%f54,%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f2,%f4,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%g1+%l0],%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f16,%f54,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f12,%f14,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%g1+%l1],%f12
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f24,%f26,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f0,%f6,%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l4+%l0],%f0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f10,%f16,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l4+%l1],%f10
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f4,%f32,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis std %f22,[%fp+y2_0]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f14,%f34,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f6,%f2,%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f16,%f12,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f20,%f24,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f6,%f4,%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f16,%f14,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f36,%f24,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%o5+y2_0],%f22
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f6,%f0,%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f16,%f10,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f24,%f22,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f6,%f32,%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f16,%f34,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba,pt %icc,.FIXSIGN
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f36,%f24,%f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 32
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.CASE2:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpadd32s %f0,%f31,%f8
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+x0_1],%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andcc %l2,2,%g0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bne,pn %icc,.CASE3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sethi %hi(0x3fc3c000),%o7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpadd32s %f20,%f31,%f28
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+x2_1],%l2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fand %f8,%f44,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub %l0,%o7,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %l3,8,%g1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fand %f28,%f44,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub %l2,%o7,%l2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f0,%f4,%f0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis srl %l0,10,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f20,%f24,%f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis srl %l2,10,%l2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f10,%f10,%f10
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l5+%o4],%f34
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %l5,%o4,%l1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f0,%f2,%f0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andn %l0,0x1f,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f20,%f22,%f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andn %l2,0x1f,%l2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f10,%f34,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l1+0x10],%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %fp,%o4,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f0,%f0,%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %l0,%o3,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f20,%f20,%f22
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %l2,%o5,%l2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f14,%f16,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l1+0x20],%f34
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f2,%f58,%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l3+%l0],%f32
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f22,%f58,%f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l3+%l2],%f36
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f10,%f14,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l1+0x30],%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f6,%f56,%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f2,%f62,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f26,%f56,%f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f22,%f62,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f14,%f34,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%o4+x1_1],%f34
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f2,%f6,%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f4,%f60,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f22,%f26,%f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f24,%f60,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f10,%f14,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f6,%f54,%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f2,%f4,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%g1+%l0],%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f26,%f54,%f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f22,%f24,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%g1+%l2],%f22
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f14,%f16,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f0,%f6,%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l4+%l0],%f0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f20,%f26,%f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l4+%l2],%f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f4,%f32,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis std %f12,[%fp+y1_0]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f24,%f36,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f6,%f2,%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f26,%f22,%f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f10,%f14,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f6,%f4,%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f26,%f24,%f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f34,%f14,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%o4+y1_0],%f12
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f6,%f0,%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f26,%f20,%f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f14,%f12,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f6,%f32,%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f26,%f36,%f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba,pt %icc,.FIXSIGN
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f34,%f14,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 32
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.CASE3:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fand %f8,%f44,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %l3,8,%g1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub %l0,%o7,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f10,%f10,%f10
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l5+%o4],%f34
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %l5,%o4,%l1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f0,%f4,%f0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis srl %l0,10,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f20,%f20,%f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l5+%o5],%f36
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %l5,%o5,%l2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f10,%f34,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l1+0x10],%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %fp,%o4,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f0,%f2,%f0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andn %l0,0x1f,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f20,%f36,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l2+0x10],%f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %fp,%o5,%o5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f14,%f16,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l1+0x20],%f34
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f0,%f0,%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %l0,%o3,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f24,%f26,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l2+0x20],%f36
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f10,%f14,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l1+0x30],%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f2,%f58,%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l3+%l0],%f32
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f20,%f24,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l2+0x30],%f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f14,%f34,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%o4+x1_1],%f34
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f6,%f56,%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f2,%f62,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f24,%f36,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%o5+x2_1],%f36
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f10,%f14,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis std %f12,[%fp+y1_0]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f2,%f6,%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f4,%f60,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f20,%f24,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis std %f22,[%fp+y2_0]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f14,%f16,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f6,%f54,%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f2,%f4,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%g1+%l0],%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f24,%f26,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f10,%f14,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f0,%f6,%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l4+%l0],%f0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f4,%f32,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f20,%f24,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f6,%f2,%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f34,%f14,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%o4+y1_0],%f12
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f36,%f24,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%o5+y2_0],%f22
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f6,%f4,%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f14,%f12,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f24,%f22,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f6,%f0,%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f34,%f14,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f36,%f24,%f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba,pt %icc,.FIXSIGN
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f6,%f32,%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 32
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.CASE4:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fands %f29,%f28,%f29 ! if (n & 1) clear sign bit
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sethi %hi(0x3fc3c000),%o7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andcc %l1,2,%g0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bne,pn %icc,.CASE6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andcc %l2,2,%g0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpadd32s %f10,%f31,%f18
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+x1_1],%l1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bne,pn %icc,.CASE5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %l3,8,%g1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+x2_1],%l2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpadd32s %f20,%f31,%f28
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fand %f18,%f44,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub %l1,%o7,%l1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fand %f28,%f44,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub %l2,%o7,%l2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f10,%f14,%f10
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis srl %l1,10,%l1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f20,%f24,%f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis srl %l2,10,%l2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f0,%f0,%f0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l5+%o3],%f32
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %l5,%o3,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f10,%f12,%f10
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andn %l1,0x1f,%l1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f20,%f22,%f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andn %l2,0x1f,%l2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f0,%f32,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l0+0x10],%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %fp,%o3,%o3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f10,%f10,%f12
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %l1,%o4,%l1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f20,%f20,%f22
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %l2,%o5,%l2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f4,%f6,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l0+0x20],%f32
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f12,%f58,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l3+%l1],%f34
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f22,%f58,%f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l3+%l2],%f36
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f0,%f4,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l0+0x30],%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f16,%f56,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f12,%f62,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f26,%f56,%f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f22,%f62,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f4,%f32,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%o3+x0_1],%f32
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f12,%f16,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f14,%f60,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f22,%f26,%f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f24,%f60,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f0,%f4,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f16,%f54,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f12,%f14,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%g1+%l1],%f12
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f26,%f54,%f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f22,%f24,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%g1+%l2],%f22
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f4,%f6,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f10,%f16,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l4+%l1],%f10
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f20,%f26,%f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l4+%l2],%f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f14,%f34,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis std %f2,[%fp+y0_0]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f24,%f36,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f0,%f4,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f16,%f12,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f26,%f22,%f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f32,%f4,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%o3+y0_0],%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f16,%f14,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f26,%f24,%f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f4,%f2,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f16,%f10,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f26,%f20,%f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f32,%f4,%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f16,%f34,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba,pt %icc,.FIXSIGN
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f26,%f36,%f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 32
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.CASE5:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fand %f18,%f44,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub %l1,%o7,%l1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f0,%f0,%f0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l5+%o3],%f32
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %l5,%o3,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f10,%f14,%f10
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis srl %l1,10,%l1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f20,%f20,%f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l5+%o5],%f36
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %l5,%o5,%l2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f0,%f32,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l0+0x10],%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %fp,%o3,%o3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f10,%f12,%f10
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andn %l1,0x1f,%l1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f20,%f36,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l2+0x10],%f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %fp,%o5,%o5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f4,%f6,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l0+0x20],%f32
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f10,%f10,%f12
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %l1,%o4,%l1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f24,%f26,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l2+0x20],%f36
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f0,%f4,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l0+0x30],%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f12,%f58,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l3+%l1],%f34
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f20,%f24,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l2+0x30],%f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f4,%f32,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%o3+x0_1],%f32
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f16,%f56,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f12,%f62,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f24,%f36,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%o5+x2_1],%f36
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f0,%f4,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis std %f2,[%fp+y0_0]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f12,%f16,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f14,%f60,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f20,%f24,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis std %f22,[%fp+y2_0]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f4,%f6,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f16,%f54,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f12,%f14,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%g1+%l1],%f12
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f24,%f26,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f0,%f4,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f10,%f16,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l4+%l1],%f10
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f14,%f34,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f20,%f24,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f16,%f12,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f32,%f4,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%o3+y0_0],%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f36,%f24,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%o5+y2_0],%f22
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f16,%f14,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f4,%f2,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f24,%f22,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f16,%f10,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f32,%f4,%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f36,%f24,%f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba,pt %icc,.FIXSIGN
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f16,%f34,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 32
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.CASE6:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+x2_1],%l2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %l3,8,%g1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bne,pn %icc,.CASE7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpadd32s %f20,%f31,%f28
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fand %f28,%f44,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l5+%o3],%f32
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %l5,%o3,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f0,%f0,%f0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub %l2,%o7,%l2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f20,%f24,%f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis srl %l2,10,%l2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f10,%f10,%f10
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l5+%o4],%f34
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %l5,%o4,%l1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f0,%f32,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l0+0x10],%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %fp,%o3,%o3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f20,%f22,%f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andn %l2,0x1f,%l2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f10,%f34,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l1+0x10],%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %fp,%o4,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f4,%f6,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l0+0x20],%f32
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f20,%f20,%f22
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %l2,%o5,%l2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f14,%f16,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l1+0x20],%f34
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f0,%f4,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l0+0x30],%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f22,%f58,%f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l3+%l2],%f36
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f10,%f14,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l1+0x30],%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f4,%f32,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%o3+x0_1],%f32
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f26,%f56,%f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f22,%f62,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f14,%f34,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%o4+x1_1],%f34
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f0,%f4,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis std %f2,[%fp+y0_0]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f22,%f26,%f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f24,%f60,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f10,%f14,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis std %f12,[%fp+y1_0]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f4,%f6,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f26,%f54,%f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f22,%f24,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%g1+%l2],%f22
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f14,%f16,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f0,%f4,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f20,%f26,%f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l4+%l2],%f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f24,%f36,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f10,%f14,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f26,%f22,%f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f32,%f4,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%o3+y0_0],%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f34,%f14,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%o4+y1_0],%f12
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f26,%f24,%f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f4,%f2,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f14,%f12,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f26,%f20,%f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f32,%f4,%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f34,%f14,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba,pt %icc,.FIXSIGN
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f26,%f36,%f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 32
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.CASE7:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f0,%f0,%f0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l5+%o3],%f32
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %l5,%o3,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f10,%f10,%f10
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l5+%o4],%f34
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %l5,%o4,%l1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f20,%f20,%f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l5+%o5],%f36
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %l5,%o5,%l2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f0,%f32,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l0+0x10],%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %fp,%o3,%o3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f10,%f34,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l1+0x10],%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %fp,%o4,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f20,%f36,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l2+0x10],%f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %fp,%o5,%o5
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f4,%f6,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l0+0x20],%f32
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f14,%f16,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l1+0x20],%f34
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f24,%f26,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l2+0x20],%f36
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f0,%f4,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l0+0x30],%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f10,%f14,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l1+0x30],%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f20,%f24,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l2+0x30],%f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f4,%f32,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%o3+x0_1],%f32
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f14,%f34,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%o4+x1_1],%f34
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f24,%f36,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%o5+x2_1],%f36
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f0,%f4,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis std %f2,[%fp+y0_0]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f10,%f14,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis std %f12,[%fp+y1_0]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f20,%f24,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis std %f22,[%fp+y2_0]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f4,%f6,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f14,%f16,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f24,%f26,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f0,%f4,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f10,%f14,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f20,%f24,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f32,%f4,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%o3+y0_0],%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f34,%f14,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%o4+y1_0],%f12
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f36,%f24,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%o5+y2_0],%f22
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f4,%f2,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f14,%f12,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f24,%f22,%f24
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f32,%f4,%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f34,%f14,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba,pt %icc,.FIXSIGN
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f36,%f24,%f26
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 32
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.ENDLOOP2:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f10,%f40,%f12
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %l5,thresh,%g1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f12,%f42,%f12
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f13,[%fp+n1]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f12,%f42,%f12 ! n
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f12,%f46,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f10,%f14,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f12,%f48,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f14,%f16,%f10
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+n1],%o4 ; add %o4,1,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f14,%f10,%f34
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %o4,1,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f34,%f16,%f34
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f12,%f50,%f18
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sll %o4,3,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f18,%f34,%f18
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%g1+%o4],%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f10,%f18,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f10,%f14,%f34
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %l5,thresh+4,%o7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f34,%f18,%f34
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f12,%f52,%f12
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f12,%f34,%f12
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%o7+%o4],%f18
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f14,%f12,%f10 ! x
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f14,%f10,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fands %f10,%f30,%f19 ! save signbit
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fabsd %f10,%f10
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis std %f10,[%fp+x1_1]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f14,%f12,%f12 ! y
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fcmpgt32 %f16,%f10,%l1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fxors %f12,%f19,%f12
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fands %f19,%f18,%f19 ! if (n & 1) clear sign bit
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andcc %l1,2,%g0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bne,pn %icc,1f
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpadd32s %f10,%f31,%f18
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+x1_1],%l1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fand %f18,%f44,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sethi %hi(0x3fc3c000),%o7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %l3,8,%g1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f10,%f14,%f10
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub %l1,%o7,%l1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis srl %l1,10,%l1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f10,%f12,%f10
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andn %l1,0x1f,%l1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f10,%f10,%f12
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %l1,%o4,%l1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f12,%f58,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l3+%l1],%f34
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f16,%f56,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f12,%f62,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f12,%f16,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f14,%f60,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f16,%f54,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f12,%f14,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%g1+%l1],%f12
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f10,%f16,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l4+%l1],%f10
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f14,%f34,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f16,%f12,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f16,%f14,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f16,%f10,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba,pt %icc,2f
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f16,%f34,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis1:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f10,%f10,%f10
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l5+%o4],%f34
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %l5,%o4,%l1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f10,%f34,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l1+0x10],%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %fp,%o4,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f14,%f16,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l1+0x20],%f34
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f10,%f14,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l1+0x30],%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f14,%f34,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%o4+x1_1],%f34
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f10,%f14,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis std %f12,[%fp+y1_0]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f14,%f16,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f10,%f14,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f34,%f14,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%o4+y1_0],%f12
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f14,%f12,%f14
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f34,%f14,%f16
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis2:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %l5,thresh-4,%g1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+n1],%o4 ; add %o4,1,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %o4,2,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sll %o4,2,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%g1+%o4],%f18
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fxors %f19,%f18,%f19
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fors %f16,%f19,%f16 ! tack on sign
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f16,[%o1]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f17,[%o1+4]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.ENDLOOP1:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f0,%f40,%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %l5,thresh,%g1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f2,%f42,%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f3,[%fp+n0]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f2,%f42,%f2 ! n
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f2,%f46,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f0,%f4,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f2,%f48,%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f4,%f6,%f0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+n0],%o3 ; add %o3,1,%o3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f4,%f0,%f32
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %o3,1,%o3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f32,%f6,%f32
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f2,%f50,%f8
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sll %o3,3,%o3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f8,%f32,%f8
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%g1+%o3],%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f0,%f8,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f0,%f4,%f32
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %l5,thresh+4,%o7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f32,%f8,%f32
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f2,%f52,%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f2,%f32,%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%o7+%o3],%f8
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f4,%f2,%f0 ! x
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f4,%f0,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fands %f0,%f30,%f9 ! save signbit
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fabsd %f0,%f0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis std %f0,[%fp+x0_1]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f4,%f2,%f2 ! y
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fcmpgt32 %f6,%f0,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fxors %f2,%f9,%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fands %f9,%f8,%f9 ! if (n & 1) clear sign bit
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andcc %l0,2,%g0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bne,pn %icc,1f
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fpadd32s %f0,%f31,%f8
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+x0_1],%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fand %f8,%f44,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sethi %hi(0x3fc3c000),%o7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %l3,8,%g1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f0,%f4,%f0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sub %l0,%o7,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis srl %l0,10,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f0,%f2,%f0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andn %l0,0x1f,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f0,%f0,%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %l0,%o3,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f2,%f58,%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l3+%l0],%f32
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f6,%f56,%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f2,%f62,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f2,%f6,%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f4,%f60,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f6,%f54,%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f2,%f4,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%g1+%l0],%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f0,%f6,%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l4+%l0],%f0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f4,%f32,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f6,%f2,%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f6,%f4,%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f6,%f0,%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba,pt %icc,2f
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f6,%f32,%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis1:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f0,%f0,%f0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l5+%o3],%f32
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %l5,%o3,%l0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f0,%f32,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l0+0x10],%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %fp,%o3,%o3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f4,%f6,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l0+0x20],%f32
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f0,%f4,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%l0+0x30],%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f4,%f32,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%o3+x0_1],%f32
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f0,%f4,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis std %f2,[%fp+y0_0]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f4,%f6,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f0,%f4,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmuld %f32,%f4,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldd [%o3+y0_0],%f2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f4,%f2,%f4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis faddd %f32,%f4,%f6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis2:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %l5,thresh-4,%g1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+n0],%o3 ; add %o3,1,%o3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis and %o3,2,%o3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sll %o3,2,%o3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%g1+%o3],%f8
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fxors %f9,%f8,%f9
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fors %f6,%f9,%f6 ! tack on sign
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f6,[%o0]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f7,[%o0+4]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.ENDLOOP0:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! check for huge arguments remaining
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis tst LIM_l6
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis be,pt %icc,.exit
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! ========== huge range (use C code) ==========
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#ifdef __sparcv9
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldx [%fp+xsave],%o1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ldx [%fp+ysave],%o3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#else
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+xsave],%o1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+ysave],%o3
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#endif
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+nsave],%o0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+sxsave],%o2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%fp+sysave],%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sra %o2,0,%o2 ! sign-extend for V9
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sra %o4,0,%o4
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis call __vlibm_vcos_big
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %l7,%o5 ! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.exit:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ret
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis restore
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 32
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.SKIP0:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis addcc %i0,-1,%i0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ble,pn %icc,.ENDLOOP0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot, harmless if branch taken
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i3,%i4,%i3 ! y += stridey
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andn %l1,%i5,%l0 ! hx &= ~0x80000000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmovs %f10,%f0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%i1+4],%f1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba,pt %icc,.LOOP0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i1,%i2,%i1 ! x += stridex
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 32
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.SKIP1:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis addcc %i0,-1,%i0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ble,pn %icc,.ENDLOOP1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot, harmless if branch taken
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i3,%i4,%i3 ! y += stridey
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andn %l2,%i5,%l1 ! hx &= ~0x80000000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmovs %f20,%f10
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%i1+4],%f11
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba,pt %icc,.LOOP1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i1,%i2,%i1 ! x += stridex
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 32
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.SKIP2:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis addcc %i0,-1,%i0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ble,pn %icc,.ENDLOOP2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot, harmless if branch taken
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i3,%i4,%i3 ! y += stridey
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%i1],%l2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%i1],%f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%i1+4],%f21
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andn %l2,%i5,%l2 ! hx &= ~0x80000000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba,pt %icc,.LOOP2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i1,%i2,%i1 ! x += stridex
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 32
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.BIG0:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sethi %hi(0x7ff00000),%o7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %l0,%o7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bl,a,pt %icc,1f ! if hx < 0x7ff00000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot, annulled if branch not taken
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %l7,LIM_l6 ! set biguns flag or
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f0,%f0,%f0 ! y = x - x
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f0,[%o0]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f1,[%o0+4]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis1:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis addcc %i0,-1,%i0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ble,pn %icc,.ENDLOOP0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot, harmless if branch taken
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andn %l1,%i5,%l0 ! hx &= ~0x80000000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmovd %f10,%f0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba,pt %icc,.LOOP0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i1,%i2,%i1 ! x += stridex
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 32
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.BIG1:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sethi %hi(0x7ff00000),%o7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %l1,%o7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bl,a,pt %icc,1f ! if hx < 0x7ff00000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot, annulled if branch not taken
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %l7,LIM_l6 ! set biguns flag or
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f10,%f10,%f10 ! y = x - x
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f10,[%o1]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f11,[%o1+4]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis1:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis addcc %i0,-1,%i0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ble,pn %icc,.ENDLOOP1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot, harmless if branch taken
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andn %l2,%i5,%l1 ! hx &= ~0x80000000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fmovd %f20,%f10
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba,pt %icc,.LOOP1
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i1,%i2,%i1 ! x += stridex
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis .align 32
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis.BIG2:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis sethi %hi(0x7ff00000),%o7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis cmp %l2,%o7
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis bl,a,pt %icc,1f ! if hx < 0x7ff00000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot, annulled if branch not taken
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis mov %l7,LIM_l6 ! set biguns flag or
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis fsubd %f20,%f20,%f20 ! y = x - x
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f20,[%o2]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis st %f21,[%o2+4]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis1:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis addcc %i0,-1,%i0
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ble,pn %icc,.ENDLOOP2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis nop
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%i1],%l2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%i1],%f20
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ld [%i1+4],%f21
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis andn %l2,%i5,%l2 ! hx &= ~0x80000000
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ba,pt %icc,.LOOP2
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis! delay slot
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis add %i1,%i2,%i1 ! x += stridex
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis SET_SIZE(__vcos)
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis