/*
* 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 "__vrsqrt.S"
#include "libm.h"
.align 64
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! !!!!! algorithm !!!!!
! if ( hx >= 0x7ff00000 )
! {
! continue;
! }
! if ( hx < 0x00100000 )
! {
!
! {
! continue;
! }
! else if ( hx >= 0 )
! {
! if ( hx < 0x00080000 )
! {
! }
! else
! {
! }
! }
! else
! {
! continue;
! }
! }
!
! iexp += 0x5fe;
! hx >>= 10;
! hx &= 0x7f8;
! hx += 8;
! hx &= -16;
!
!
!
!
!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.begin:
.begin1:
.cont0:
.cont1:
.cont2:
.cont3:
.cont4:
.cont5:
.cont6:
.cont7:
.cont8:
.cont9:
.cont10:
.cont11:
.align 16
.cont12:
.cont13:
.cont14:
.cont15:
.cont16:
.cont17:
.cont18:
.cont19:
.cont20:
.cont21:
.cont22:
.cont23:
.cont24:
.cont25:
.tail:
.align 16
.spec0:
.align 16
.spec1:
bz,a 2f
bl,a 2f
bge,a 1f
1:
2:
.align 16
.update0:
.align 16
.update1:
bl 1f
bz 1f
bge,a 2f
2:
1:
.align 16
.update2:
.align 16
.update3:
bl 1f
bz 1f
bge,a 2f
2:
1:
.align 16
.update4:
.align 16
.update5:
bl 1f
bz 1f
bge,a 2f
2:
1:
.align 16
.update6:
.align 16
.update7:
bl 1f
bz 1f
bge,a 2f
2:
1:
.align 16
.update8:
.align 16
.update9:
bl 1f
bz 1f
bge,a 2f
2:
1:
.align 16
.update10:
.align 16
.update11:
bl 1f
bz 1f
bge,a 2f
2:
1:
.align 16
.update12:
.align 16
.update13:
bl 1f
bz 1f
bge,a 2f
2:
1:
.align 16
.update14:
.align 16
.update15:
bl 1f
bz 1f
bge,a 2f
2:
1:
.align 16
.update16:
.align 16
.update17:
bl 1f
bz 1f
bge,a 2f
2:
1:
.align 16
.update18:
.align 16
.update19:
bl 1f
bz 1f
bge,a 2f
2:
1:
.align 16
.update20:
.align 16
.update21:
bl 1f
bz 1f
bge,a 2f
2:
1:
.align 16
.update22:
.align 16
.update23:
bl 1f
bz 1f
bge,a 2f
2:
1:
.align 16
.update24:
.align 16
.update25:
bl 1f
bz 1f
bge,a 2f
2:
1:
.exit: