corda/external/sgx_libm/intel64/tgammaf.S

1281 lines
31 KiB
ArmAsm
Raw Normal View History

/*
* Math library
*
* Copyright (C) 2016 Intel Corporation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
* * Neither the name of Intel Corporation nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*
* Author Name <jingwei.zhang@intel.com>
* History:
* 03-14-2016 Initial version. numerics svn rev. 12864
*/
.file "tgammaf.c"
.text
..TXTST0:
# -- Begin tgammaf
.text
.align 16,0x90
.globl tgammaf
tgammaf:
# parameter 1: %xmm0
..B1.1:
.cfi_startproc
..___tag_value_tgammaf.1:
..L2:
pushq %r12
.cfi_def_cfa_offset 16
.cfi_offset 12, -16
pushq %r13
.cfi_def_cfa_offset 24
.cfi_offset 13, -24
pushq %r14
.cfi_def_cfa_offset 32
.cfi_offset 14, -32
pushq %rbx
.cfi_def_cfa_offset 40
.cfi_offset 3, -40
pushq %rbp
.cfi_def_cfa_offset 48
.cfi_offset 6, -48
subq $32, %rsp
.cfi_def_cfa_offset 80
xorb %r12b, %r12b
pxor %xmm2, %xmm2
pxor %xmm1, %xmm1
movss %xmm0, 24(%rsp)
movd %xmm0, %r14d
movss %xmm1, (%rsp)
movsd %xmm2, 8(%rsp)
..___tag_value_tgammaf.14:
call fegetround@PLT
..___tag_value_tgammaf.15:
..B1.94:
movsd 8(%rsp), %xmm2
movl %eax, %ebp
..B1.2:
testl %ebp, %ebp
je ..B1.4
..B1.3:
xorl %edi, %edi
movb $1, %r12b
movsd %xmm2, 8(%rsp)
..___tag_value_tgammaf.16:
call fesetround@PLT
..___tag_value_tgammaf.17:
..B1.95:
movsd 8(%rsp), %xmm2
..B1.4:
movzwl 26(%rsp), %eax
andl $32640, %eax
shrl $7, %eax
movl 24(%rsp), %ebx
shrl $31, %ebx
cmpl $255, %eax
je ..B1.84
..B1.5:
movss 24(%rsp), %xmm5
andl $2147483647, %r14d
movl %r14d, 8(%rsp)
ucomiss (%rsp), %xmm5
jp ..B1.6
je ..B1.81
..B1.6:
cmpl $2097152, %r14d
jle ..B1.78
..B1.7:
testl %ebx, %ebx
je ..B1.16
..B1.8:
cmpl $150, %eax
jge ..B1.72
..B1.9:
movss .L_2il0floatpacket.2(%rip), %xmm3
movss 8(%rsp), %xmm4
movaps %xmm3, %xmm1
movss (%rsp), %xmm0
addss %xmm4, %xmm1
movss %xmm1, 20(%rsp)
movss %xmm0, 16(%rsp)
movss 20(%rsp), %xmm0
movl 20(%rsp), %r14d
subss %xmm3, %xmm0
comiss %xmm4, %xmm0
jbe ..B1.11
..B1.10:
incl %r14d
subss .L_2il0floatpacket.11(%rip), %xmm0
..B1.11:
ucomiss %xmm0, %xmm4
jp ..B1.12
je ..B1.69
..B1.12:
movss .L_2il0floatpacket.3(%rip), %xmm0
comiss %xmm5, %xmm0
jbe ..B1.17
..B1.13:
testb %r12b, %r12b
je ..B1.15
..B1.14:
movl %ebp, %edi
..___tag_value_tgammaf.18:
call fesetround@PLT
..___tag_value_tgammaf.19:
..B1.15:
lea _small_value_32(%rip), %rax
notl %r14d
andl $1, %r14d
movss (%rax,%r14,4), %xmm0
mulss .L_2il0floatpacket.4(%rip), %xmm0
movss %xmm0, 16(%rsp)
addq $32, %rsp
.cfi_def_cfa_offset 48
.cfi_restore 6
popq %rbp
.cfi_def_cfa_offset 40
.cfi_restore 3
popq %rbx
.cfi_def_cfa_offset 32
.cfi_restore 14
popq %r14
.cfi_def_cfa_offset 24
.cfi_restore 13
popq %r13
.cfi_def_cfa_offset 16
.cfi_restore 12
popq %r12
.cfi_def_cfa_offset 8
ret
.cfi_def_cfa_offset 80
.cfi_offset 3, -40
.cfi_offset 6, -48
.cfi_offset 12, -16
.cfi_offset 13, -24
.cfi_offset 14, -32
..B1.16:
movss (%rsp), %xmm0
movss %xmm0, 16(%rsp)
..B1.17:
cvtss2sd %xmm5, %xmm5
lea _overflow_boundary(%rip), %rdx
comisd (%rdx), %xmm5
jae ..B1.75
..B1.18:
movss .L_2il0floatpacket.2(%rip), %xmm9
testl %ebx, %ebx
je ..B1.20
..B1.19:
movss 8(%rsp), %xmm8
movaps %xmm9, %xmm2
movaps %xmm8, %xmm1
addss %xmm8, %xmm2
movss %xmm2, 20(%rsp)
pxor %xmm2, %xmm2
movss 20(%rsp), %xmm0
lea 8+_tgamma_sin_table(%rip), %rcx
lea 24+_tgamma_sin_table(%rip), %r8
subss %xmm9, %xmm0
movsd (%rcx), %xmm7
subss %xmm0, %xmm1
movd %xmm1, %edx
lea 40+_tgamma_sin_table(%rip), %r10
movsd (%r8), %xmm3
andl $2147483647, %edx
lea _tgamma_sin_table(%rip), %rsi
movl %edx, (%rsp)
lea 56+_tgamma_sin_table(%rip), %r14
movsd (%r10), %xmm4
lea 16+_tgamma_sin_table(%rip), %r9
lea 32+_tgamma_sin_table(%rip), %r11
lea 48+_tgamma_sin_table(%rip), %rdx
cvtss2sd (%rsp), %xmm2
movaps %xmm2, %xmm6
mulsd %xmm2, %xmm6
mulsd %xmm6, %xmm7
addsd %xmm6, %xmm3
addsd %xmm6, %xmm4
mulsd %xmm6, %xmm3
addsd (%rsi), %xmm7
mulsd %xmm6, %xmm4
mulsd %xmm6, %xmm7
addsd (%r9), %xmm3
addsd (%r11), %xmm4
mulsd %xmm3, %xmm7
movsd (%r14), %xmm5
mulsd %xmm4, %xmm7
addsd %xmm6, %xmm5
mulsd %xmm5, %xmm6
addsd (%rdx), %xmm6
mulsd %xmm6, %xmm7
mulsd %xmm2, %xmm7
addsd %xmm7, %xmm2
jmp ..B1.21
..B1.20:
movss 8(%rsp), %xmm8
..B1.21:
movaps %xmm8, %xmm1
addss %xmm9, %xmm8
movss %xmm8, 20(%rsp)
movss 20(%rsp), %xmm0
movl 20(%rsp), %ecx
subss %xmm9, %xmm0
andl $1048575, %ecx
comiss %xmm1, %xmm0
jbe ..B1.23
..B1.22:
decl %ecx
subss .L_2il0floatpacket.11(%rip), %xmm0
..B1.23:
comiss .L_2il0floatpacket.5(%rip), %xmm1
lea 1(%rcx), %r14d
jb ..B1.39
..B1.24:
movaps %xmm1, %xmm3
movl %ecx, %esi
andl $-8, %esi
movl %ecx, %edx
andl $7, %edx
cmpl $8, %ecx
movl %esi, %ecx
lea _tgamma_A_table(%rip), %r8
subss %xmm0, %xmm3
cvtss2sd %xmm3, %xmm3
movaps %xmm3, %xmm8
lea -2(%rdx), %eax
mulsd %xmm3, %xmm8
cmovl %eax, %edx
sarl $1, %ecx
addl %esi, %ecx
sarl $3, %esi
addl %esi, %ecx
movslq %ecx, %rcx
testl %edx, %edx
movsd (%r8,%rcx,8), %xmm9
mulsd %xmm3, %xmm9
movsd 8(%r8,%rcx,8), %xmm0
addsd %xmm8, %xmm9
mulsd %xmm3, %xmm0
addsd 48(%r8,%rcx,8), %xmm9
addsd %xmm8, %xmm0
mulsd 96(%r8,%rcx,8), %xmm9
addsd 56(%r8,%rcx,8), %xmm0
movsd 16(%r8,%rcx,8), %xmm4
mulsd %xmm3, %xmm4
mulsd %xmm0, %xmm9
addsd %xmm8, %xmm4
movsd 24(%r8,%rcx,8), %xmm5
mulsd %xmm3, %xmm5
addsd 64(%r8,%rcx,8), %xmm4
movsd 32(%r8,%rcx,8), %xmm6
addsd %xmm8, %xmm5
mulsd %xmm3, %xmm6
mulsd %xmm4, %xmm9
addsd 72(%r8,%rcx,8), %xmm5
addsd %xmm8, %xmm6
mulsd %xmm5, %xmm9
addsd 80(%r8,%rcx,8), %xmm6
movsd 40(%r8,%rcx,8), %xmm7
mulsd %xmm3, %xmm7
mulsd %xmm6, %xmm9
addsd %xmm7, %xmm8
movsd .L_2il0floatpacket.10(%rip), %xmm3
movsd %xmm3, 8(%rsp)
addsd 88(%r8,%rcx,8), %xmm8
mulsd %xmm8, %xmm9
movsd %xmm9, (%rsp)
je ..B1.29
..B1.25:
movl $1, %eax
jle ..B1.29
..B1.26:
pxor %xmm0, %xmm0
cvtss2sd %xmm1, %xmm0
..B1.27:
pxor %xmm4, %xmm4
movaps %xmm0, %xmm5
cvtsi2sd %eax, %xmm4
incl %eax
subsd %xmm4, %xmm5
mulsd %xmm5, %xmm3
cmpl %edx, %eax
jle ..B1.27
..B1.29:
testl %ebx, %ebx
je ..B1.35
..B1.30:
cvtss2sd %xmm1, %xmm1
mulsd %xmm2, %xmm1
mulsd (%rsp), %xmm1
mulsd %xmm3, %xmm1
movsd 8(%rsp), %xmm0
divsd %xmm1, %xmm0
movss .L_2il0floatpacket.6(%rip), %xmm2
movsd %xmm0, 8(%rsp)
comiss 24(%rsp), %xmm2
jbe ..B1.32
..B1.31:
lea _tgamma_A40_inv(%rip), %rax
mulsd (%rax), %xmm0
movsd %xmm0, 8(%rsp)
..B1.32:
testb %r12b, %r12b
je ..B1.34
..B1.33:
movl %ebp, %edi
..___tag_value_tgammaf.37:
call fesetround@PLT
..___tag_value_tgammaf.38:
..B1.34:
movsd 8(%rsp), %xmm0
cvtsd2ss %xmm0, %xmm0
movd %xmm0, %eax
shll $31, %r14d
xorl %r14d, %eax
movl %eax, 16(%rsp)
movss 16(%rsp), %xmm0
addq $32, %rsp
.cfi_def_cfa_offset 48
.cfi_restore 6
popq %rbp
.cfi_def_cfa_offset 40
.cfi_restore 3
popq %rbx
.cfi_def_cfa_offset 32
.cfi_restore 14
popq %r14
.cfi_def_cfa_offset 24
.cfi_restore 13
popq %r13
.cfi_def_cfa_offset 16
.cfi_restore 12
popq %r12
.cfi_def_cfa_offset 8
ret
.cfi_def_cfa_offset 80
.cfi_offset 3, -40
.cfi_offset 6, -48
.cfi_offset 12, -16
.cfi_offset 13, -24
.cfi_offset 14, -32
..B1.35:
movsd (%rsp), %xmm0
testb %r12b, %r12b
mulsd %xmm3, %xmm0
movsd %xmm0, (%rsp)
je ..B1.37
..B1.36:
movl %ebp, %edi
..___tag_value_tgammaf.56:
call fesetround@PLT
..___tag_value_tgammaf.57:
..B1.37:
movsd (%rsp), %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, 16(%rsp)
..B1.38:
addq $32, %rsp
.cfi_def_cfa_offset 48
.cfi_restore 6
popq %rbp
.cfi_def_cfa_offset 40
.cfi_restore 3
popq %rbx
.cfi_def_cfa_offset 32
.cfi_restore 14
popq %r14
.cfi_def_cfa_offset 24
.cfi_restore 13
popq %r13
.cfi_def_cfa_offset 16
.cfi_restore 12
popq %r12
.cfi_def_cfa_offset 8
ret
.cfi_def_cfa_offset 80
.cfi_offset 3, -40
.cfi_offset 6, -48
.cfi_offset 12, -16
.cfi_offset 13, -24
.cfi_offset 14, -32
..B1.39:
movss .L_2il0floatpacket.11(%rip), %xmm6
pxor %xmm0, %xmm0
cvtss2sd %xmm1, %xmm0
comiss %xmm1, %xmm6
jbe ..B1.41
..B1.40:
movsd .L_2il0floatpacket.10(%rip), %xmm3
addsd %xmm0, %xmm3
jmp ..B1.42
..B1.41:
movaps %xmm0, %xmm3
..B1.42:
comisd .L_2il0floatpacket.7(%rip), %xmm3
jb ..B1.44
..B1.43:
lea _tgamma_A175_table(%rip), %r13
subsd .L_2il0floatpacket.10(%rip), %xmm3
cvtsd2ss %xmm3, %xmm3
movss %xmm3, (%rsp)
jmp ..B1.50
..B1.44:
comisd .L_2il0floatpacket.8(%rip), %xmm3
jb ..B1.46
..B1.45:
lea _tgamma_A150_table(%rip), %r13
subsd .L_2il0floatpacket.10(%rip), %xmm3
cvtsd2ss %xmm3, %xmm3
movss %xmm3, (%rsp)
jmp ..B1.50
..B1.46:
movsd .L_2il0floatpacket.9(%rip), %xmm4
comisd %xmm4, %xmm3
jb ..B1.48
..B1.47:
lea _local_minimum(%rip), %rdx
lea _tgamma_A125_table(%rip), %r13
movsd .L_2il0floatpacket.10(%rip), %xmm4
addsd (%rdx), %xmm4
subsd %xmm4, %xmm3
cvtsd2ss %xmm3, %xmm3
movss %xmm3, (%rsp)
jmp ..B1.50
..B1.48:
comisd %xmm3, %xmm4
jbe ..B1.50
..B1.49:
lea _tgamma_A100_table(%rip), %r13
subsd .L_2il0floatpacket.10(%rip), %xmm3
cvtsd2ss %xmm3, %xmm3
movss %xmm3, (%rsp)
..B1.50:
movsd (%r13), %xmm3
testl %eax, %eax
movsd %xmm3, 8(%rsp)
je ..B1.53
..B1.51:
pxor %xmm4, %xmm4
cvtss2sd (%rsp), %xmm4
movsd 56(%r13), %xmm3
mulsd %xmm4, %xmm3
movsd 8(%rsp), %xmm5
addsd 48(%r13), %xmm3
mulsd %xmm4, %xmm3
addsd 40(%r13), %xmm3
mulsd %xmm4, %xmm3
addsd 32(%r13), %xmm3
mulsd %xmm4, %xmm3
addsd 24(%r13), %xmm3
mulsd %xmm4, %xmm3
addsd 16(%r13), %xmm3
mulsd %xmm4, %xmm3
addsd 8(%r13), %xmm3
mulsd %xmm3, %xmm4
addsd %xmm4, %xmm5
movsd %xmm5, 8(%rsp)
..B1.53:
comiss %xmm1, %xmm6
jbe ..B1.61
..B1.54:
testl %ebx, %ebx
je ..B1.58
..B1.55:
mulsd 8(%rsp), %xmm2
testb %r12b, %r12b
movsd .L_2il0floatpacket.10(%rip), %xmm0
divsd %xmm2, %xmm0
movsd %xmm0, (%rsp)
je ..B1.57
..B1.56:
movl %ebp, %edi
..___tag_value_tgammaf.75:
call fesetround@PLT
..___tag_value_tgammaf.76:
..B1.57:
movsd (%rsp), %xmm0
cvtsd2ss %xmm0, %xmm0
movd %xmm0, %eax
shll $31, %r14d
xorl %r14d, %eax
movl %eax, 16(%rsp)
movss 16(%rsp), %xmm0
addq $32, %rsp
.cfi_def_cfa_offset 48
.cfi_restore 6
popq %rbp
.cfi_def_cfa_offset 40
.cfi_restore 3
popq %rbx
.cfi_def_cfa_offset 32
.cfi_restore 14
popq %r14
.cfi_def_cfa_offset 24
.cfi_restore 13
popq %r13
.cfi_def_cfa_offset 16
.cfi_restore 12
popq %r12
.cfi_def_cfa_offset 8
ret
.cfi_def_cfa_offset 80
.cfi_offset 3, -40
.cfi_offset 6, -48
.cfi_offset 12, -16
.cfi_offset 13, -24
.cfi_offset 14, -32
..B1.58:
movsd 8(%rsp), %xmm1
testb %r12b, %r12b
divsd %xmm0, %xmm1
movsd %xmm1, 8(%rsp)
je ..B1.67
..B1.59:
movl %ebp, %edi
..___tag_value_tgammaf.94:
call fesetround@PLT
..___tag_value_tgammaf.95:
jmp ..B1.67
..B1.61:
testl %ebx, %ebx
je ..B1.65
..B1.62:
mulsd %xmm0, %xmm2
testb %r12b, %r12b
mulsd 8(%rsp), %xmm2
movsd .L_2il0floatpacket.10(%rip), %xmm1
divsd %xmm2, %xmm1
movsd %xmm1, (%rsp)
je ..B1.64
..B1.63:
movl %ebp, %edi
..___tag_value_tgammaf.96:
call fesetround@PLT
..___tag_value_tgammaf.97:
..B1.64:
movsd (%rsp), %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, 16(%rsp)
addq $32, %rsp
.cfi_def_cfa_offset 48
.cfi_restore 6
popq %rbp
.cfi_def_cfa_offset 40
.cfi_restore 3
popq %rbx
.cfi_def_cfa_offset 32
.cfi_restore 14
popq %r14
.cfi_def_cfa_offset 24
.cfi_restore 13
popq %r13
.cfi_def_cfa_offset 16
.cfi_restore 12
popq %r12
.cfi_def_cfa_offset 8
ret
.cfi_def_cfa_offset 80
.cfi_offset 3, -40
.cfi_offset 6, -48
.cfi_offset 12, -16
.cfi_offset 13, -24
.cfi_offset 14, -32
..B1.65:
testb %r12b, %r12b
je ..B1.67
..B1.66:
movl %ebp, %edi
..___tag_value_tgammaf.115:
call fesetround@PLT
..___tag_value_tgammaf.116:
..B1.67:
movsd 8(%rsp), %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, 16(%rsp)
..B1.68:
addq $32, %rsp
.cfi_def_cfa_offset 48
.cfi_restore 6
popq %rbp
.cfi_def_cfa_offset 40
.cfi_restore 3
popq %rbx
.cfi_def_cfa_offset 32
.cfi_restore 14
popq %r14
.cfi_def_cfa_offset 24
.cfi_restore 13
popq %r13
.cfi_def_cfa_offset 16
.cfi_restore 12
popq %r12
.cfi_def_cfa_offset 8
ret
.cfi_def_cfa_offset 80
.cfi_offset 3, -40
.cfi_offset 6, -48
.cfi_offset 12, -16
.cfi_offset 13, -24
.cfi_offset 14, -32
..B1.69:
testb %r12b, %r12b
je ..B1.71
..B1.70:
movl %ebp, %edi
..___tag_value_tgammaf.134:
call fesetround@PLT
..___tag_value_tgammaf.135:
..B1.71:
movss (%rsp), %xmm0
divss %xmm0, %xmm0
movss %xmm0, 16(%rsp)
addq $32, %rsp
.cfi_def_cfa_offset 48
.cfi_restore 6
popq %rbp
.cfi_def_cfa_offset 40
.cfi_restore 3
popq %rbx
.cfi_def_cfa_offset 32
.cfi_restore 14
popq %r14
.cfi_def_cfa_offset 24
.cfi_restore 13
popq %r13
.cfi_def_cfa_offset 16
.cfi_restore 12
popq %r12
.cfi_def_cfa_offset 8
ret
.cfi_def_cfa_offset 80
.cfi_offset 3, -40
.cfi_offset 6, -48
.cfi_offset 12, -16
.cfi_offset 13, -24
.cfi_offset 14, -32
..B1.72:
testb %r12b, %r12b
je ..B1.74
..B1.73:
movl %ebp, %edi
..___tag_value_tgammaf.153:
call fesetround@PLT
..___tag_value_tgammaf.154:
..B1.74:
movss (%rsp), %xmm0
divss %xmm0, %xmm0
movss %xmm0, 16(%rsp)
addq $32, %rsp
.cfi_def_cfa_offset 48
.cfi_restore 6
popq %rbp
.cfi_def_cfa_offset 40
.cfi_restore 3
popq %rbx
.cfi_def_cfa_offset 32
.cfi_restore 14
popq %r14
.cfi_def_cfa_offset 24
.cfi_restore 13
popq %r13
.cfi_def_cfa_offset 16
.cfi_restore 12
popq %r12
.cfi_def_cfa_offset 8
ret
.cfi_def_cfa_offset 80
.cfi_offset 3, -40
.cfi_offset 6, -48
.cfi_offset 12, -16
.cfi_offset 13, -24
.cfi_offset 14, -32
..B1.75:
testb %r12b, %r12b
je ..B1.77
..B1.76:
movl %ebp, %edi
..___tag_value_tgammaf.172:
call fesetround@PLT
..___tag_value_tgammaf.173:
..B1.77:
movl $1904214016, 20(%rsp)
movss 20(%rsp), %xmm1
movss 20(%rsp), %xmm0
mulss %xmm0, %xmm1
movss %xmm1, 20(%rsp)
movss 20(%rsp), %xmm0
movss %xmm0, 16(%rsp)
addq $32, %rsp
.cfi_def_cfa_offset 48
.cfi_restore 6
popq %rbp
.cfi_def_cfa_offset 40
.cfi_restore 3
popq %rbx
.cfi_def_cfa_offset 32
.cfi_restore 14
popq %r14
.cfi_def_cfa_offset 24
.cfi_restore 13
popq %r13
.cfi_def_cfa_offset 16
.cfi_restore 12
popq %r12
.cfi_def_cfa_offset 8
ret
.cfi_def_cfa_offset 80
.cfi_offset 3, -40
.cfi_offset 6, -48
.cfi_offset 12, -16
.cfi_offset 13, -24
.cfi_offset 14, -32
..B1.78:
movss (%rsp), %xmm0
testb %r12b, %r12b
movss %xmm0, 16(%rsp)
je ..B1.80
..B1.79:
movl %ebp, %edi
..___tag_value_tgammaf.191:
call fesetround@PLT
..___tag_value_tgammaf.192:
..B1.80:
movl %ebx, %ebx
lea _large_value_32(%rip), %rax
movl (%rax,%rbx,4), %edx
movl %edx, 20(%rsp)
movss 20(%rsp), %xmm0
mulss .L_2il0floatpacket.0(%rip), %xmm0
movss %xmm0, 20(%rsp)
movss 20(%rsp), %xmm0
movss %xmm0, 16(%rsp)
addq $32, %rsp
.cfi_def_cfa_offset 48
.cfi_restore 6
popq %rbp
.cfi_def_cfa_offset 40
.cfi_restore 3
popq %rbx
.cfi_def_cfa_offset 32
.cfi_restore 14
popq %r14
.cfi_def_cfa_offset 24
.cfi_restore 13
popq %r13
.cfi_def_cfa_offset 16
.cfi_restore 12
popq %r12
.cfi_def_cfa_offset 8
ret
.cfi_def_cfa_offset 80
.cfi_offset 3, -40
.cfi_offset 6, -48
.cfi_offset 12, -16
.cfi_offset 13, -24
.cfi_offset 14, -32
..B1.81:
testb %r12b, %r12b
je ..B1.83
..B1.82:
movl %ebp, %edi
..___tag_value_tgammaf.210:
call fesetround@PLT
..___tag_value_tgammaf.211:
..B1.83:
lea _ones(%rip), %rax
movss (%rax,%rbx,4), %xmm0
divss (%rsp), %xmm0
movss %xmm0, 16(%rsp)
addq $32, %rsp
.cfi_def_cfa_offset 48
.cfi_restore 6
popq %rbp
.cfi_def_cfa_offset 40
.cfi_restore 3
popq %rbx
.cfi_def_cfa_offset 32
.cfi_restore 14
popq %r14
.cfi_def_cfa_offset 24
.cfi_restore 13
popq %r13
.cfi_def_cfa_offset 16
.cfi_restore 12
popq %r12
.cfi_def_cfa_offset 8
ret
.cfi_def_cfa_offset 80
.cfi_offset 3, -40
.cfi_offset 6, -48
.cfi_offset 12, -16
.cfi_offset 13, -24
.cfi_offset 14, -32
..B1.84:
testb %r12b, %r12b
je ..B1.86
..B1.85:
movl %ebp, %edi
..___tag_value_tgammaf.229:
call fesetround@PLT
..___tag_value_tgammaf.230:
..B1.86:
testl %ebx, %ebx
je ..B1.89
..B1.87:
testl $8388607, 24(%rsp)
je ..B1.91
..B1.89:
movss (%rsp), %xmm0
movss %xmm0, 16(%rsp)
movl %r14d, 8(%rsp)
..B1.90:
movl 24(%rsp), %eax
movl %eax, 20(%rsp)
movss 20(%rsp), %xmm1
movss 20(%rsp), %xmm0
addss %xmm0, %xmm1
movss %xmm1, 20(%rsp)
movss 20(%rsp), %xmm0
movss %xmm0, 16(%rsp)
addq $32, %rsp
.cfi_def_cfa_offset 48
.cfi_restore 6
popq %rbp
.cfi_def_cfa_offset 40
.cfi_restore 3
popq %rbx
.cfi_def_cfa_offset 32
.cfi_restore 14
popq %r14
.cfi_def_cfa_offset 24
.cfi_restore 13
popq %r13
.cfi_def_cfa_offset 16
.cfi_restore 12
popq %r12
.cfi_def_cfa_offset 8
ret
.cfi_def_cfa_offset 80
.cfi_offset 3, -40
.cfi_offset 6, -48
.cfi_offset 12, -16
.cfi_offset 13, -24
.cfi_offset 14, -32
..B1.91:
movss .L_2il0floatpacket.1(%rip), %xmm0
divss (%rsp), %xmm0
movss %xmm0, 16(%rsp)
addq $32, %rsp
.cfi_def_cfa_offset 48
.cfi_restore 6
popq %rbp
.cfi_def_cfa_offset 40
.cfi_restore 3
popq %rbx
.cfi_def_cfa_offset 32
.cfi_restore 14
popq %r14
.cfi_def_cfa_offset 24
.cfi_restore 13
popq %r13
.cfi_def_cfa_offset 16
.cfi_restore 12
popq %r12
.cfi_def_cfa_offset 8
ret
.align 16,0x90
.cfi_endproc
.type tgammaf,@function
.size tgammaf,.-tgammaf
.data
# -- End tgammaf
.section .rodata, "a"
.align 8
.align 8
.L_2il0floatpacket.7:
.long 0x00000000,0x3ffc0000
.type .L_2il0floatpacket.7,@object
.size .L_2il0floatpacket.7,8
.align 8
.L_2il0floatpacket.8:
.long 0x00000000,0x3ff80000
.type .L_2il0floatpacket.8,@object
.size .L_2il0floatpacket.8,8
.align 8
.L_2il0floatpacket.9:
.long 0x00000000,0x3ff40000
.type .L_2il0floatpacket.9,@object
.size .L_2il0floatpacket.9,8
.align 8
.L_2il0floatpacket.10:
.long 0x00000000,0x3ff00000
.type .L_2il0floatpacket.10,@object
.size .L_2il0floatpacket.10,8
.align 4
.L_2il0floatpacket.0:
.long 0x71800000
.type .L_2il0floatpacket.0,@object
.size .L_2il0floatpacket.0,4
.align 4
.L_2il0floatpacket.1:
.long 0x80000000
.type .L_2il0floatpacket.1,@object
.size .L_2il0floatpacket.1,4
.align 4
.L_2il0floatpacket.2:
.long 0x4b400000
.type .L_2il0floatpacket.2,@object
.size .L_2il0floatpacket.2,4
.align 4
.L_2il0floatpacket.3:
.long 0xc22c0000
.type .L_2il0floatpacket.3,@object
.size .L_2il0floatpacket.3,4
.align 4
.L_2il0floatpacket.4:
.long 0x0d800000
.type .L_2il0floatpacket.4,@object
.size .L_2il0floatpacket.4,4
.align 4
.L_2il0floatpacket.5:
.long 0x40000000
.type .L_2il0floatpacket.5,@object
.size .L_2il0floatpacket.5,4
.align 4
.L_2il0floatpacket.6:
.long 0xc2200000
.type .L_2il0floatpacket.6,@object
.size .L_2il0floatpacket.6,4
.align 4
.L_2il0floatpacket.11:
.long 0x3f800000
.type .L_2il0floatpacket.11,@object
.size .L_2il0floatpacket.11,4
.align 4
_small_value_32:
.long 226492416
.long 2373976064
.type _small_value_32,@object
.size _small_value_32,8
.align 4
_overflow_boundary:
.long 0
.long 1078035746
.type _overflow_boundary,@object
.size _overflow_boundary,8
.align 4
_tgamma_sin_table:
.long 1980114658
.long 3200337074
.long 804494867
.long 1049689241
.long 2884431818
.long 1079329239
.long 930502348
.long 3223780109
.long 1245824743
.long 1080878479
.long 2510431012
.long 1073721695
.long 1661126174
.long 1078219640
.long 1205599443
.long 3223573914
.type _tgamma_sin_table,@object
.size _tgamma_sin_table,64
.align 4
_tgamma_A_table:
.long 3121394612
.long 1074393041
.long 2029996066
.long 1073722195
.long 4137005464
.long 1071238760
.long 3372276227
.long 3220751114
.long 68401302
.long 3222286887
.long 1275947047
.long 3223263002
.long 4031994882
.long 1074665426
.long 1089993416
.long 1074817170
.long 427005612
.long 1075089294
.long 1508975772
.long 1075601433
.long 2111623053
.long 1076192020
.long 75538972
.long 1077100653
.long 2171869559
.long 1055005400
.long 2919987515
.long 1074143787
.long 860307162
.long 1073890599
.long 2407232453
.long 1073038722
.long 1468490975
.long 3216757264
.long 846192051
.long 3221294835
.long 402234383
.long 3222573752
.long 2566208764
.long 1073763360
.long 162360449
.long 1073949715
.long 1512348533
.long 1074371728
.long 2920174397
.long 1074968946
.long 3785085665
.long 1075671857
.long 1922428759
.long 1076496000
.long 2446382284
.long 1072101083
.long 42366358
.long 1073746704
.long 3587290866
.long 1073390434
.long 1169958761
.long 1072607731
.long 3891474799
.long 3217275878
.long 1452792685
.long 3221010072
.long 1006385979
.long 3222363118
.long 3663632771
.long 1072778759
.long 3212960448
.long 1073036150
.long 2202365811
.long 1073636095
.long 2023822532
.long 1074258740
.long 40477660
.long 1075053854
.long 658935515
.long 1076010306
.long 932572503
.long 1105834679
.long 1233355998
.long 1073412029
.long 3033646034
.long 1073097432
.long 3149182759
.long 1072206908
.long 1726027606
.long 3217766868
.long 3439348786
.long 3220880557
.long 2080997065
.long 3222253033
.long 843307201
.long 1072200111
.long 3138702878
.long 1072613342
.long 3610734718
.long 1073142430
.long 2651617324
.long 1073914526
.long 2611481547
.long 1074796471
.long 3284459136
.long 1075745821
.long 1365755587
.long 1144167771
.long 2699624028
.long 1073212595
.long 2232824171
.long 1072922970
.long 3659224963
.long 1071959670
.long 3026238542
.long 3218100813
.long 4240441539
.long 3220810712
.long 1772362075
.long 3222132889
.long 3742687744
.long 1071863890
.long 56227394
.long 1072220001
.long 969667939
.long 1072882737
.long 880059910
.long 1073714908
.long 247554419
.long 1074515829
.long 48918556
.long 1075495246
.long 2601377264
.long 1185936586
.long 3625529495
.long 1073077476
.long 3298250746
.long 1072804056
.long 2971501690
.long 1071788510
.long 2950162741
.long 3218231788
.long 26528490
.long 3220765509
.long 3761284804
.long 3222050392
.long 3800626879
.long 1071658634
.long 1108715276
.long 1071977390
.long 286829382
.long 1072720005
.long 3141975933
.long 1073477575
.long 4145290123
.long 1074329952
.long 2167683451
.long 1075329952
.long 0
.long 1072693248
.type _tgamma_A_table,@object
.size _tgamma_A_table,624
.align 4
_tgamma_A40_inv:
.long 3988571200
.long 914969834
.type _tgamma_A40_inv,@object
.size _tgamma_A40_inv,8
.align 4
_tgamma_A175_table:
.long 1682645026
.long 1072688670
.long 3753006229
.long 3219243438
.long 177700005
.long 1072453288
.long 3289039035
.long 3219374666
.long 2492560830
.long 1071326765
.long 123078934
.long 3217486055
.long 3499570675
.long 1068068407
.long 1362583934
.long 3212265128
.type _tgamma_A175_table,@object
.size _tgamma_A175_table,64
.align 4
_tgamma_A150_table:
.long 988281800
.long 1072692321
.long 502740408
.long 3219277207
.long 2058512241
.long 1072588117
.long 2109547492
.long 3219675970
.long 3371209031
.long 1071892748
.long 3191518250
.long 3218447665
.long 3816909947
.long 1069498883
.long 1366906983
.long 3214177035
.type _tgamma_A150_table,@object
.size _tgamma_A150_table,64
.align 4
_local_minimum:
.long 2371549438
.long 1071483745
.type _local_minimum,@object
.size _local_minimum,8
.align 4
_tgamma_A125_table:
.long 2191760034
.long 1072453340
.long 2642694891
.long 3186525859
.long 1706815263
.long 1071344724
.long 1896485049
.long 3217079006
.long 441733475
.long 1069848224
.long 978611902
.long 3216500728
.long 351495825
.long 1068442485
.long 1680249708
.long 3216253219
.type _tgamma_A125_table,@object
.size _tgamma_A125_table,64
.align 4
_tgamma_A100_table:
.long 4293468318
.long 1072693247
.long 3444857508
.long 3219290252
.long 3510931740
.long 1072670280
.long 3644082616
.long 3219982336
.long 2685454907
.long 1072646231
.long 4151446349
.long 3220059936
.long 4004008463
.long 1072263166
.long 1217534056
.long 3218706582
.type _tgamma_A100_table,@object
.size _tgamma_A100_table,64
.align 4
_large_value_32:
.long 1904214016
.long 4051697664
.type _large_value_32,@object
.size _large_value_32,8
.align 4
_ones:
.long 1065353216
.long 3212836864
.type _ones,@object
.size _ones,8
.data
.section .note.GNU-stack, ""
// -- Begin DWARF2 SEGMENT .eh_frame
.section .eh_frame,"a",@progbits
.eh_frame_seg:
.align 1
# End