/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License (the "License").
* You may not use this file except in compliance with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/*
* Copyright 2011 Nexenta Systems, Inc. All rights reserved.
*/
/*
* Copyright 2006 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
.file "__vrhypot.S"
#include "libm.h"
.align 64
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! !!!!! algorithm !!!!!
!
!
! hx0 &= 0x7fffffff;
! hy0 &= 0x7fffffff;
!
! j0 &= 0x7ff00000;
!
!
! {
!
!
!
! continue;
! }
! {
! if ( ii == 0 )
! {
!
! continue;
! }
! if ( hx0 < 0x00080000 )
! {
! }
! else
! {
! ((long long*)&dtmp0)[0] = 0x0007ffffffffffffULL;
! }
! if ( hy0 < 0x00080000 )
! {
! }
! else
! {
! ((long long*)&dtmp0)[0] = 0x0007ffffffffffffULL;
! }
! *(long long*)&scl0 = 0x7fd0000000000000ULL;
! }
! else
! {
! }
!
!
!
! iarr >>= 11;
! iarr &= 0x1fc;
!
!
!
!
!
!
!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
#ifdef __sparcv9
#else
#endif
.begin:
.begin1:
.cont0:
.cont1:
.cont4:
.cont7:
.cont8:
.cont11:
.cont12:
.cont15:
.cont16:
.cont19a:
.cont19b:
.cont20:
.cont23a:
.cont23b:
.cont24:
.cont27a:
.cont27b:
.cont28:
.align 16
.cont31:
.cont32:
.cont35a:
.cont35b:
.cont36:
.cont39a:
.cont39b:
.cont40:
.cont43a:
.cont43b:
.cont44:
.cont47a:
.cont47b:
.cont48:
.cont51a:
.cont51b:
.cont52:
.cont55a:
.cont55b:
.cont56:
.cont59a:
.cont59b:
.cont60:
.tail:
.align 16
.spec0:
1:
2:
3:
.align 16
.spec1:
1:
1:
1:
.align 16
.update0:
ble 1f
1:
.align 16
.update1:
ble,a 1f
1:
.align 16
.update2:
ble 1f
1:
.align 16
.update3:
ble 1f
1:
.align 16
.update4:
ble,a 1f
1:
.align 16
.update5:
ble 1f
1:
.align 16
.update6:
ble 1f
1:
.align 16
.update7:
ble,a 1f
1:
.align 16
.update9:
ble 1f
1:
.align 16
.update10:
ble 1f
1:
.align 16
.update11:
ble,a 1f
1:
.align 16
.update13:
ble 1f
1:
.align 16
.update14:
ble 1f
1:
.align 16
.update15:
ble,a 1f
1:
.align 16
.update17:
ble 1f
1:
.align 16
.update18:
ble 1f
1:
.align 16
.update19:
ble,a 1f
1:
.align 16
.update21:
ble 1f
1:
.align 16
.update22:
ble 1f
1:
.align 16
.update23:
ble,a 1f
1:
.align 16
.update25:
ble 1f
1:
.align 16
.update26:
ble 1f
1:
.align 16
.update27:
ble,a 1f
1:
.align 16
.update29:
ble 1f
1:
.align 16
.update30:
ble 1f
1:
.align 16
.update31:
ble,a 1f
1:
.align 16
.update33:
ble 1f
1:
.align 16
.update34:
ble 1f
1:
.align 16
.update35:
ble,a 1f
1:
.align 16
.update37:
ble 1f
1:
.align 16
.update38:
ble 1f
1:
.align 16
.update39:
ble,a 1f
1:
.align 16
.update41:
ble 1f
1:
.align 16
.update42:
ble 1f
1:
.align 16
.update43:
ble,a 1f
1:
.align 16
.update45:
ble 1f
1:
.align 16
.update46:
ble 1f
1:
.align 16
.update47:
ble,a 1f
1:
.align 16
.update49:
ble 1f
1:
.align 16
.update50:
ble 1f
1:
.align 16
.update51:
ble,a 1f
1:
.align 16
.update53:
ble 1f
1:
.align 16
.update54:
ble 1f
1:
.align 16
.update55:
ble,a 1f
1:
.align 16
.update57:
ble 1f
1:
.align 16
.update58:
ble 1f
1:
.align 16
.update59:
ble,a 1f
1:
.align 16
.exit: