/*
* 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 "__vsin.S"
#include "libm.h"
.align 64
!--------------------------------------------------------------
!--------------------------------------------------------------
! register use
! i0 n
! i1 x
! i3 y
! i5 0x80000000
! l5 0x3fc90000
! l6 0x3e400000
! l7 0x3fe921fb
! g5
! f2
! f4
! f6
! f12
! f14
! f16
! f22
! f24
! f26
! f30 0x80000000
! f31 0x4000
! f32
! f34
! f36
! f38
! f40
! f42
! f44 0xffff800000000000
#ifdef __sparcv9
#else
#endif
.align 32
.loop0:
.loop1:
.loop2:
.align 32
.case1:
.align 32
.case2:
.align 32
.case3:
.align 32
.case4:
.align 32
.case5:
.align 32
.case6:
.align 32
.case7:
.align 32
.endloop2:
1:
2:
.endloop1:
1:
2:
.endloop0:
.align 32
.range0:
.align 32
.range1:
.align 32
.range2:
1:
.align 32
.MEDIUM:
! register use
! i0 n
! i1 x
! i3 y
! i5 0x80000000
! l7 0x413921fb
! g5
! f4
! f6
! f14
! f16
! f24
! f26
! f30 0x80000000
! f31 0x4000
! f32
! f34
! f36
! f38
! f44 0xffff800000000000
! loop.
.align 32
.LOOP0:
.LOOP1:
.LOOP2:
! -
.FIXSIGN:
.align 32
.CASE1:
.align 32
.CASE2:
.align 32
.CASE3:
.align 32
.CASE4:
.align 32
.CASE5:
.align 32
.CASE6:
.align 32
.CASE7:
.align 32
.ENDLOOP2:
1:
2:
.ENDLOOP1:
1:
2:
.ENDLOOP0:
#ifdef __sparcv9
#else
#endif
.exit:
.align 32
.SKIP0:
.align 32
.SKIP1:
.align 32
.SKIP2:
.align 32
.BIG0:
1:
.align 32
.BIG1:
1:
.align 32
.BIG2:
1: