__vcosf.S revision 25c28e83beb90e7c80452a7c818c5e6f73a07dc8
/*
* 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 "__vcosf.S"
#include "libm.h"
.align 64
.word 0x3f490fdb,0
.word 0x49c90fdb,0
.word 0x7f800000,0
.word 0x80000000,0
#define S0 0x0
#define S1 0x08
#define S2 0x10
#define one 0x18
#define mhalf 0x20
#define C0 0x28
#define C1 0x30
#define C2 0x38
#define invpio2 0x40
#define round 0x48
#define pio2_1 0x50
#define pio2_t 0x58
#define thresh1 0x60
#define thresh2 0x68
#define inf 0x70
#define signbit 0x78
#define tmps 0x30
! register use
! i0 n
! i1 x
! i3 y
! l4
! l5
! l6
! l7
! g1
! g5
! o4
! o5
! o7
! f20
! f22
! f24
! f26
! f30
! f32
! f34
! f36
#ifdef __sparcv9
#else
#endif
.align 16
.start:
.cont:
.check1:
.check2:
.check3:
.align 16
.medium:
!.case0:
.align 16
.case1:
.align 16
.case2:
.align 16
.case3:
.align 16
.case4:
.align 16
.case5:
.align 16
.case6:
.align 16
.case7:
.align 16
.case8:
.align 16
.case9:
.align 16
.case10:
.align 16
.case11:
.align 16
.case12:
.align 16
.case13:
.align 16
.case14:
.align 16
.case15:
.align 32
.end:
#ifdef __sparcv9
#else
#endif
.exit:
.align 32
.last1:
.last2:
.last3:
.align 16
.range0:
1:
1:
.align 16
.range1:
1:
1:
.align 16
.range2:
1:
1:
.align 16
.range3:
1:
1: