x86_64: Fix svml_d_tanh8_core_avx512.S code formatting

This commit contains following formatting changes

1. Instructions proceeded by a tab.
2. Instruction less than 8 characters in length have a tab
   between it and the first operand.
3. Instruction greater than 7 characters in length have a
   space between it and the first operand.
4. Tabs after `#define`d names and their value.
5. 8 space at the beginning of line replaced by tab.
6. Indent comments with code.
7. Remove redundent .text section.
8. 1 space between line content and line comment.
9. Space after all commas.

Reviewed-by: Noah Goldstein <goldstein.w.n@gmail.com>
This commit is contained in:
Sunil K Pandey 2022-03-07 10:47:15 -08:00
parent 28ba5ee77f
commit 6de743a4e3

View File

@ -28,7 +28,7 @@
* and to approximate tanh(.) with a polynomial on each of them.
*
* IEEE SPECIAL CONDITIONS:
* x = [+,-]0, r = [+,-]0
* x = [+, -]0, r = [+, -]0
* x = +Inf, r = +1
* x = -Inf, r = -1
* x = QNaN, r = QNaN
@ -72,401 +72,399 @@
/* Offsets for data table __svml_dtanh_data_internal
*/
#define _dC 0
#define _dP0 128
#define _dP1 256
#define _dP2 384
#define _dP3 512
#define _dP4 640
#define _dP5 768
#define _dP6 896
#define _dP7 1024
#define _dP8 1152
#define _dP9 1280
#define _dP10 1408
#define _dP11 1536
#define _dP12 1664
#define _dP13 1792
#define _dP14 1920
#define _dP15 2048
#define _dP16 2176
#define _dP17 2304
#define _iExpMantMask_UISA 2432
#define _iMinIdxOfsMask_UISA 2496
#define _iMaxIdxMask_UISA 2560
#define _dbSignMask 2624
#define _dbAbsMask 2688
#define _iExpMantMask 2752
#define _iExpMask 2816
#define _iMinIdxOfsMask 2880
#define _iMaxIdxMask 2944
#define _dC 0
#define _dP0 128
#define _dP1 256
#define _dP2 384
#define _dP3 512
#define _dP4 640
#define _dP5 768
#define _dP6 896
#define _dP7 1024
#define _dP8 1152
#define _dP9 1280
#define _dP10 1408
#define _dP11 1536
#define _dP12 1664
#define _dP13 1792
#define _dP14 1920
#define _dP15 2048
#define _dP16 2176
#define _dP17 2304
#define _iExpMantMask_UISA 2432
#define _iMinIdxOfsMask_UISA 2496
#define _iMaxIdxMask_UISA 2560
#define _dbSignMask 2624
#define _dbAbsMask 2688
#define _iExpMantMask 2752
#define _iExpMask 2816
#define _iMinIdxOfsMask 2880
#define _iMaxIdxMask 2944
#include <sysdep.h>
.text
.section .text.evex512,"ax",@progbits
.section .text.evex512, "ax", @progbits
ENTRY(_ZGVeN8v_tanh_skx)
pushq %rbp
cfi_def_cfa_offset(16)
movq %rsp, %rbp
cfi_def_cfa(6, 16)
cfi_offset(6, -16)
andq $-64, %rsp
subq $320, %rsp
vpsrlq $32, %zmm0, %zmm4
vmovups %zmm0, (%rsp)
vmovups __svml_dtanh_data_internal(%rip), %zmm14
vmovups _dP0+__svml_dtanh_data_internal(%rip), %zmm15
vpmovqd %zmm4, %ymm5
pushq %rbp
cfi_def_cfa_offset(16)
movq %rsp, %rbp
cfi_def_cfa(6, 16)
cfi_offset(6, -16)
andq $-64, %rsp
subq $320, %rsp
vpsrlq $32, %zmm0, %zmm4
vmovups %zmm0, (%rsp)
vmovups __svml_dtanh_data_internal(%rip), %zmm14
vmovups _dP0+__svml_dtanh_data_internal(%rip), %zmm15
vpmovqd %zmm4, %ymm5
/* Constant loading */
vandpd _dbAbsMask+__svml_dtanh_data_internal(%rip), %zmm0, %zmm13
vandpd _dbSignMask+__svml_dtanh_data_internal(%rip), %zmm0, %zmm3
/* Constant loading */
vandpd _dbAbsMask+__svml_dtanh_data_internal(%rip), %zmm0, %zmm13
vandpd _dbSignMask+__svml_dtanh_data_internal(%rip), %zmm0, %zmm3
/* Here huge arguments, INF and NaNs are filtered out to callout. */
vpand _iExpMantMask_UISA+__svml_dtanh_data_internal(%rip), %ymm5, %ymm7
vmovups _dP2+__svml_dtanh_data_internal(%rip), %zmm0
vmovups _dP16+__svml_dtanh_data_internal(%rip), %zmm4
vmovups _dP15+__svml_dtanh_data_internal(%rip), %zmm5
vmovups %zmm3, 64(%rsp)
vmovups _dP3+__svml_dtanh_data_internal(%rip), %zmm3
vpsubd _iMinIdxOfsMask_UISA+__svml_dtanh_data_internal(%rip), %ymm7, %ymm8
/* Here huge arguments, INF and NaNs are filtered out to callout. */
vpand _iExpMantMask_UISA+__svml_dtanh_data_internal(%rip), %ymm5, %ymm7
vmovups _dP2+__svml_dtanh_data_internal(%rip), %zmm0
vmovups _dP16+__svml_dtanh_data_internal(%rip), %zmm4
vmovups _dP15+__svml_dtanh_data_internal(%rip), %zmm5
vmovups %zmm3, 64(%rsp)
vmovups _dP3+__svml_dtanh_data_internal(%rip), %zmm3
vpsubd _iMinIdxOfsMask_UISA+__svml_dtanh_data_internal(%rip), %ymm7, %ymm8
/* if VMIN, VMAX is defined for I type */
vxorps %ymm9, %ymm9, %ymm9
vpmaxsd %ymm9, %ymm8, %ymm10
vpminsd _iMaxIdxMask_UISA+__svml_dtanh_data_internal(%rip), %ymm10, %ymm11
vpsrld $19, %ymm11, %ymm12
vmovups _dP12+__svml_dtanh_data_internal(%rip), %zmm8
vmovups _dP11+__svml_dtanh_data_internal(%rip), %zmm9
vmovups _dP10+__svml_dtanh_data_internal(%rip), %zmm10
vmovups _dP9+__svml_dtanh_data_internal(%rip), %zmm11
vpmovzxdq %ymm12, %zmm2
vmovups _dP8+__svml_dtanh_data_internal(%rip), %zmm12
vpermt2pd _dP2+64+__svml_dtanh_data_internal(%rip), %zmm2, %zmm0
vpermt2pd _dC+64+__svml_dtanh_data_internal(%rip), %zmm2, %zmm14
vpermt2pd _dP16+64+__svml_dtanh_data_internal(%rip), %zmm2, %zmm4
vpermt2pd _dP15+64+__svml_dtanh_data_internal(%rip), %zmm2, %zmm5
vsubpd {rn-sae}, %zmm14, %zmm13, %zmm1
vpermt2pd _dP12+64+__svml_dtanh_data_internal(%rip), %zmm2, %zmm8
vpermt2pd _dP11+64+__svml_dtanh_data_internal(%rip), %zmm2, %zmm9
vpermt2pd _dP10+64+__svml_dtanh_data_internal(%rip), %zmm2, %zmm10
vpermt2pd _dP9+64+__svml_dtanh_data_internal(%rip), %zmm2, %zmm11
vpermt2pd _dP8+64+__svml_dtanh_data_internal(%rip), %zmm2, %zmm12
vpermt2pd _dP3+64+__svml_dtanh_data_internal(%rip), %zmm2, %zmm3
vpermt2pd _dP0+64+__svml_dtanh_data_internal(%rip), %zmm2, %zmm15
vmovups %zmm0, 192(%rsp)
vmovups _dP17+__svml_dtanh_data_internal(%rip), %zmm0
vmovups _dP7+__svml_dtanh_data_internal(%rip), %zmm13
vmovups _dP6+__svml_dtanh_data_internal(%rip), %zmm14
vmovups %zmm3, 256(%rsp)
vmovups _dP5+__svml_dtanh_data_internal(%rip), %zmm3
vmovups %zmm15, 128(%rsp)
vmovups _dP4+__svml_dtanh_data_internal(%rip), %zmm15
vpermt2pd _dP17+64+__svml_dtanh_data_internal(%rip), %zmm2, %zmm0
vpermt2pd _dP7+64+__svml_dtanh_data_internal(%rip), %zmm2, %zmm13
vpermt2pd _dP6+64+__svml_dtanh_data_internal(%rip), %zmm2, %zmm14
vpermt2pd _dP5+64+__svml_dtanh_data_internal(%rip), %zmm2, %zmm3
vpermt2pd _dP4+64+__svml_dtanh_data_internal(%rip), %zmm2, %zmm15
vfmadd213pd {rn-sae}, %zmm4, %zmm1, %zmm0
vpcmpgtd _iExpMask+__svml_dtanh_data_internal(%rip), %ymm7, %ymm6
vmovmskps %ymm6, %edx
vmovups _dP14+__svml_dtanh_data_internal(%rip), %zmm6
vfmadd213pd {rn-sae}, %zmm5, %zmm1, %zmm0
vmovups _dP13+__svml_dtanh_data_internal(%rip), %zmm7
vpermt2pd _dP14+64+__svml_dtanh_data_internal(%rip), %zmm2, %zmm6
vpermt2pd _dP13+64+__svml_dtanh_data_internal(%rip), %zmm2, %zmm7
vfmadd213pd {rn-sae}, %zmm6, %zmm1, %zmm0
vmovups 256(%rsp), %zmm2
vfmadd213pd {rn-sae}, %zmm7, %zmm1, %zmm0
vfmadd213pd {rn-sae}, %zmm8, %zmm1, %zmm0
vfmadd213pd {rn-sae}, %zmm9, %zmm1, %zmm0
vfmadd213pd {rn-sae}, %zmm10, %zmm1, %zmm0
vfmadd213pd {rn-sae}, %zmm11, %zmm1, %zmm0
vfmadd213pd {rn-sae}, %zmm12, %zmm1, %zmm0
vfmadd213pd {rn-sae}, %zmm13, %zmm1, %zmm0
vfmadd213pd {rn-sae}, %zmm14, %zmm1, %zmm0
vfmadd213pd {rn-sae}, %zmm3, %zmm1, %zmm0
vmovups 128(%rsp), %zmm3
vfmadd213pd {rn-sae}, %zmm15, %zmm1, %zmm0
vfmadd213pd {rn-sae}, %zmm2, %zmm1, %zmm0
vmovups 192(%rsp), %zmm2
vfmadd213pd {rn-sae}, %zmm2, %zmm1, %zmm0
vfmadd213pd {rn-sae}, %zmm3, %zmm1, %zmm0
vorpd 64(%rsp), %zmm0, %zmm0
testl %edx, %edx
/* if VMIN, VMAX is defined for I type */
vxorps %ymm9, %ymm9, %ymm9
vpmaxsd %ymm9, %ymm8, %ymm10
vpminsd _iMaxIdxMask_UISA+__svml_dtanh_data_internal(%rip), %ymm10, %ymm11
vpsrld $19, %ymm11, %ymm12
vmovups _dP12+__svml_dtanh_data_internal(%rip), %zmm8
vmovups _dP11+__svml_dtanh_data_internal(%rip), %zmm9
vmovups _dP10+__svml_dtanh_data_internal(%rip), %zmm10
vmovups _dP9+__svml_dtanh_data_internal(%rip), %zmm11
vpmovzxdq %ymm12, %zmm2
vmovups _dP8+__svml_dtanh_data_internal(%rip), %zmm12
vpermt2pd _dP2+64+__svml_dtanh_data_internal(%rip), %zmm2, %zmm0
vpermt2pd _dC+64+__svml_dtanh_data_internal(%rip), %zmm2, %zmm14
vpermt2pd _dP16+64+__svml_dtanh_data_internal(%rip), %zmm2, %zmm4
vpermt2pd _dP15+64+__svml_dtanh_data_internal(%rip), %zmm2, %zmm5
vsubpd {rn-sae}, %zmm14, %zmm13, %zmm1
vpermt2pd _dP12+64+__svml_dtanh_data_internal(%rip), %zmm2, %zmm8
vpermt2pd _dP11+64+__svml_dtanh_data_internal(%rip), %zmm2, %zmm9
vpermt2pd _dP10+64+__svml_dtanh_data_internal(%rip), %zmm2, %zmm10
vpermt2pd _dP9+64+__svml_dtanh_data_internal(%rip), %zmm2, %zmm11
vpermt2pd _dP8+64+__svml_dtanh_data_internal(%rip), %zmm2, %zmm12
vpermt2pd _dP3+64+__svml_dtanh_data_internal(%rip), %zmm2, %zmm3
vpermt2pd _dP0+64+__svml_dtanh_data_internal(%rip), %zmm2, %zmm15
vmovups %zmm0, 192(%rsp)
vmovups _dP17+__svml_dtanh_data_internal(%rip), %zmm0
vmovups _dP7+__svml_dtanh_data_internal(%rip), %zmm13
vmovups _dP6+__svml_dtanh_data_internal(%rip), %zmm14
vmovups %zmm3, 256(%rsp)
vmovups _dP5+__svml_dtanh_data_internal(%rip), %zmm3
vmovups %zmm15, 128(%rsp)
vmovups _dP4+__svml_dtanh_data_internal(%rip), %zmm15
vpermt2pd _dP17+64+__svml_dtanh_data_internal(%rip), %zmm2, %zmm0
vpermt2pd _dP7+64+__svml_dtanh_data_internal(%rip), %zmm2, %zmm13
vpermt2pd _dP6+64+__svml_dtanh_data_internal(%rip), %zmm2, %zmm14
vpermt2pd _dP5+64+__svml_dtanh_data_internal(%rip), %zmm2, %zmm3
vpermt2pd _dP4+64+__svml_dtanh_data_internal(%rip), %zmm2, %zmm15
vfmadd213pd {rn-sae}, %zmm4, %zmm1, %zmm0
vpcmpgtd _iExpMask+__svml_dtanh_data_internal(%rip), %ymm7, %ymm6
vmovmskps %ymm6, %edx
vmovups _dP14+__svml_dtanh_data_internal(%rip), %zmm6
vfmadd213pd {rn-sae}, %zmm5, %zmm1, %zmm0
vmovups _dP13+__svml_dtanh_data_internal(%rip), %zmm7
vpermt2pd _dP14+64+__svml_dtanh_data_internal(%rip), %zmm2, %zmm6
vpermt2pd _dP13+64+__svml_dtanh_data_internal(%rip), %zmm2, %zmm7
vfmadd213pd {rn-sae}, %zmm6, %zmm1, %zmm0
vmovups 256(%rsp), %zmm2
vfmadd213pd {rn-sae}, %zmm7, %zmm1, %zmm0
vfmadd213pd {rn-sae}, %zmm8, %zmm1, %zmm0
vfmadd213pd {rn-sae}, %zmm9, %zmm1, %zmm0
vfmadd213pd {rn-sae}, %zmm10, %zmm1, %zmm0
vfmadd213pd {rn-sae}, %zmm11, %zmm1, %zmm0
vfmadd213pd {rn-sae}, %zmm12, %zmm1, %zmm0
vfmadd213pd {rn-sae}, %zmm13, %zmm1, %zmm0
vfmadd213pd {rn-sae}, %zmm14, %zmm1, %zmm0
vfmadd213pd {rn-sae}, %zmm3, %zmm1, %zmm0
vmovups 128(%rsp), %zmm3
vfmadd213pd {rn-sae}, %zmm15, %zmm1, %zmm0
vfmadd213pd {rn-sae}, %zmm2, %zmm1, %zmm0
vmovups 192(%rsp), %zmm2
vfmadd213pd {rn-sae}, %zmm2, %zmm1, %zmm0
vfmadd213pd {rn-sae}, %zmm3, %zmm1, %zmm0
vorpd 64(%rsp), %zmm0, %zmm0
testl %edx, %edx
/* Go to special inputs processing branch */
jne L(SPECIAL_VALUES_BRANCH)
# LOE rbx r12 r13 r14 r15 edx zmm0
/* Go to special inputs processing branch */
jne L(SPECIAL_VALUES_BRANCH)
# LOE rbx r12 r13 r14 r15 edx zmm0
/* Restore registers
* and exit the function
*/
/* Restore registers
* and exit the function
*/
L(EXIT):
movq %rbp, %rsp
popq %rbp
cfi_def_cfa(7, 8)
cfi_restore(6)
ret
cfi_def_cfa(6, 16)
cfi_offset(6, -16)
movq %rbp, %rsp
popq %rbp
cfi_def_cfa(7, 8)
cfi_restore(6)
ret
cfi_def_cfa(6, 16)
cfi_offset(6, -16)
/* Branch to process
* special inputs
*/
/* Branch to process
* special inputs
*/
L(SPECIAL_VALUES_BRANCH):
vmovups (%rsp), %zmm1
vmovups %zmm0, 128(%rsp)
vmovups %zmm1, 64(%rsp)
# LOE rbx r12 r13 r14 r15 edx zmm0
vmovups (%rsp), %zmm1
vmovups %zmm0, 128(%rsp)
vmovups %zmm1, 64(%rsp)
# LOE rbx r12 r13 r14 r15 edx zmm0
xorl %eax, %eax
# LOE rbx r12 r13 r14 r15 eax edx
xorl %eax, %eax
# LOE rbx r12 r13 r14 r15 eax edx
vzeroupper
movq %r12, 16(%rsp)
/* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -304; DW_OP_plus) */
.cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xd0, 0xfe, 0xff, 0xff, 0x22
movl %eax, %r12d
movq %r13, 8(%rsp)
/* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -312; DW_OP_plus) */
.cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc8, 0xfe, 0xff, 0xff, 0x22
movl %edx, %r13d
movq %r14, (%rsp)
/* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -320; DW_OP_plus) */
.cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xfe, 0xff, 0xff, 0x22
# LOE rbx r15 r12d r13d
vzeroupper
movq %r12, 16(%rsp)
/* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -304; DW_OP_plus) */
.cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xd0, 0xfe, 0xff, 0xff, 0x22
movl %eax, %r12d
movq %r13, 8(%rsp)
/* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -312; DW_OP_plus) */
.cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc8, 0xfe, 0xff, 0xff, 0x22
movl %edx, %r13d
movq %r14, (%rsp)
/* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -320; DW_OP_plus) */
.cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xfe, 0xff, 0xff, 0x22
# LOE rbx r15 r12d r13d
/* Range mask
* bits check
*/
/* Range mask
* bits check
*/
L(RANGEMASK_CHECK):
btl %r12d, %r13d
btl %r12d, %r13d
/* Call scalar math function */
jc L(SCALAR_MATH_CALL)
# LOE rbx r15 r12d r13d
/* Call scalar math function */
jc L(SCALAR_MATH_CALL)
# LOE rbx r15 r12d r13d
/* Special inputs
* processing loop
*/
/* Special inputs
* processing loop
*/
L(SPECIAL_VALUES_LOOP):
incl %r12d
cmpl $8, %r12d
incl %r12d
cmpl $8, %r12d
/* Check bits in range mask */
jl L(RANGEMASK_CHECK)
# LOE rbx r15 r12d r13d
/* Check bits in range mask */
jl L(RANGEMASK_CHECK)
# LOE rbx r15 r12d r13d
movq 16(%rsp), %r12
cfi_restore(12)
movq 8(%rsp), %r13
cfi_restore(13)
movq (%rsp), %r14
cfi_restore(14)
vmovups 128(%rsp), %zmm0
movq 16(%rsp), %r12
cfi_restore(12)
movq 8(%rsp), %r13
cfi_restore(13)
movq (%rsp), %r14
cfi_restore(14)
vmovups 128(%rsp), %zmm0
/* Go to exit */
jmp L(EXIT)
/* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -304; DW_OP_plus) */
.cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xd0, 0xfe, 0xff, 0xff, 0x22
/* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -312; DW_OP_plus) */
.cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc8, 0xfe, 0xff, 0xff, 0x22
/* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -320; DW_OP_plus) */
.cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xfe, 0xff, 0xff, 0x22
# LOE rbx r12 r13 r14 r15 zmm0
/* Go to exit */
jmp L(EXIT)
/* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -304; DW_OP_plus) */
.cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xd0, 0xfe, 0xff, 0xff, 0x22
/* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -312; DW_OP_plus) */
.cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc8, 0xfe, 0xff, 0xff, 0x22
/* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -320; DW_OP_plus) */
.cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xfe, 0xff, 0xff, 0x22
# LOE rbx r12 r13 r14 r15 zmm0
/* Scalar math fucntion call
* to process special input
*/
/* Scalar math fucntion call
* to process special input
*/
L(SCALAR_MATH_CALL):
movl %r12d, %r14d
movsd 64(%rsp,%r14,8), %xmm0
call tanh@PLT
# LOE rbx r14 r15 r12d r13d xmm0
movl %r12d, %r14d
movsd 64(%rsp, %r14, 8), %xmm0
call tanh@PLT
# LOE rbx r14 r15 r12d r13d xmm0
movsd %xmm0, 128(%rsp,%r14,8)
movsd %xmm0, 128(%rsp, %r14, 8)
/* Process special inputs in loop */
jmp L(SPECIAL_VALUES_LOOP)
# LOE rbx r15 r12d r13d
/* Process special inputs in loop */
jmp L(SPECIAL_VALUES_LOOP)
# LOE rbx r15 r12d r13d
END(_ZGVeN8v_tanh_skx)
.section .rodata, "a"
.align 64
.section .rodata, "a"
.align 64
#ifdef __svml_dtanh_data_internal_typedef
typedef unsigned int VUINT32;
typedef struct
{
__declspec(align(64)) VUINT32 _dC[16][2];
__declspec(align(64)) VUINT32 _dP0[16][2];
__declspec(align(64)) VUINT32 _dP1[16][2];
__declspec(align(64)) VUINT32 _dP2[16][2];
__declspec(align(64)) VUINT32 _dP3[16][2];
__declspec(align(64)) VUINT32 _dP4[16][2];
__declspec(align(64)) VUINT32 _dP5[16][2];
__declspec(align(64)) VUINT32 _dP6[16][2];
__declspec(align(64)) VUINT32 _dP7[16][2];
__declspec(align(64)) VUINT32 _dP8[16][2];
__declspec(align(64)) VUINT32 _dP9[16][2];
__declspec(align(64)) VUINT32 _dP10[16][2];
__declspec(align(64)) VUINT32 _dP11[16][2];
__declspec(align(64)) VUINT32 _dP12[16][2];
__declspec(align(64)) VUINT32 _dP13[16][2];
__declspec(align(64)) VUINT32 _dP14[16][2];
__declspec(align(64)) VUINT32 _dP15[16][2];
__declspec(align(64)) VUINT32 _dP16[16][2];
__declspec(align(64)) VUINT32 _dP17[16][2];
__declspec(align(64)) VUINT32 _iExpMantMask_UISA[16][1];
__declspec(align(64)) VUINT32 _iMinIdxOfsMask_UISA[16][1];
__declspec(align(64)) VUINT32 _iMaxIdxMask_UISA[16][1];
__declspec(align(64)) VUINT32 _dbSignMask[8][2];
__declspec(align(64)) VUINT32 _dbAbsMask[8][2];
__declspec(align(64)) VUINT32 _iExpMantMask[16][1];
__declspec(align(64)) VUINT32 _iExpMask[16][1];
__declspec(align(64)) VUINT32 _iMinIdxOfsMask[16][1];
__declspec(align(64)) VUINT32 _iMaxIdxMask[16][1];
typedef struct {
__declspec(align(64)) VUINT32 _dC[16][2];
__declspec(align(64)) VUINT32 _dP0[16][2];
__declspec(align(64)) VUINT32 _dP1[16][2];
__declspec(align(64)) VUINT32 _dP2[16][2];
__declspec(align(64)) VUINT32 _dP3[16][2];
__declspec(align(64)) VUINT32 _dP4[16][2];
__declspec(align(64)) VUINT32 _dP5[16][2];
__declspec(align(64)) VUINT32 _dP6[16][2];
__declspec(align(64)) VUINT32 _dP7[16][2];
__declspec(align(64)) VUINT32 _dP8[16][2];
__declspec(align(64)) VUINT32 _dP9[16][2];
__declspec(align(64)) VUINT32 _dP10[16][2];
__declspec(align(64)) VUINT32 _dP11[16][2];
__declspec(align(64)) VUINT32 _dP12[16][2];
__declspec(align(64)) VUINT32 _dP13[16][2];
__declspec(align(64)) VUINT32 _dP14[16][2];
__declspec(align(64)) VUINT32 _dP15[16][2];
__declspec(align(64)) VUINT32 _dP16[16][2];
__declspec(align(64)) VUINT32 _dP17[16][2];
__declspec(align(64)) VUINT32 _iExpMantMask_UISA[16][1];
__declspec(align(64)) VUINT32 _iMinIdxOfsMask_UISA[16][1];
__declspec(align(64)) VUINT32 _iMaxIdxMask_UISA[16][1];
__declspec(align(64)) VUINT32 _dbSignMask[8][2];
__declspec(align(64)) VUINT32 _dbAbsMask[8][2];
__declspec(align(64)) VUINT32 _iExpMantMask[16][1];
__declspec(align(64)) VUINT32 _iExpMask[16][1];
__declspec(align(64)) VUINT32 _iMinIdxOfsMask[16][1];
__declspec(align(64)) VUINT32 _iMaxIdxMask[16][1];
} __svml_dtanh_data_internal;
#endif
__svml_dtanh_data_internal:
/*== _dC ==*/
.quad 0x0000000000000000, 0x3fcc000000000000, 0x3fd4000000000000, 0x3fdc000000000000
.quad 0x3fe4000000000000, 0x3fec000000000000, 0x3ff4000000000000, 0x3ffc000000000000
.quad 0x4004000000000000, 0x400c000000000000, 0x4014000000000000, 0x401c000000000000
.quad 0x4024000000000000, 0x402c000000000000, 0x4034000000000000, 0x0000000000000000
/*== p0 ==*/
.align 64
.quad 0x0000000000000000, 0x3fcb8fd0416a7c92, 0x3fd35f98a0ea650e, 0x3fda5729ee488037
.quad 0x3fe1bf47eabb8f95, 0x3fe686650b8c2015, 0x3feb2523bb6b2dee, 0x3fee1fbf97e33527
.quad 0x3fef9258260a71c2, 0x3feff112c63a9077, 0x3fefff419668df11, 0x3feffffc832750f2
.quad 0x3feffffffdc96f35, 0x3fefffffffffcf58, 0x3ff0000000000000, 0x3ff0000000000000
/*== p1 ==*/
.align 64
.quad 0x0000000000000000, 0x3c65e23ebcd3bcbe, 0xbc4c600bac3adf00, 0x3c6c44091785d040
.quad 0x3c8221d7a6e3674b, 0x3c69f89d2cf6b85c, 0x3c73b3e9ec0b8f1c, 0xbc7f8d4b0428aada
.quad 0xbc7c52d880cf43c0, 0x3c7dd36e37096480, 0x3c7b4f6380c442ca, 0xbc729755de470096
.quad 0x3c84cf852845efbd, 0x3c6fc4fb440a5378, 0xbc63981083b55870, 0x0000000000000000
/*== p2 ==*/
.align 64
.quad 0x3ff0000000000000, 0x3fee842ca3f08532, 0x3fed11574af58f1b, 0x3fea945b9c24e4f9
.quad 0x3fe6284c3374f815, 0x3fe02500a09f8d6e, 0x3fd1f25131e3a8c0, 0x3fbd22ca1c24a139
.quad 0x3f9b3afe1fba5c76, 0x3f6dd37d19b22b21, 0x3f27ccec13a9ef96, 0x3ecbe6c3f33250ae
.quad 0x3e41b4865394f75f, 0x3d8853f01bda5f28, 0x3c73953c0197ef58, 0x0000000000000000
/*== p3 ==*/
.align 64
.quad 0xbbf0b3ea3fdfaa19, 0xbfca48aaeb53bc21, 0xbfd19921f4329916, 0xbfd5e0f09bef8011
.quad 0xbfd893b59c35c882, 0xbfd6ba7cb7576538, 0xbfce7291743d7555, 0xbfbb6d85a01efb80
.quad 0xbf9addae58c7141a, 0xbf6dc59376c7aa19, 0xbf27cc5e74677410, 0xbecbe6c0e8b4cc87
.quad 0xbe41b486526b0565, 0xbd8853f01bef63a4, 0xbc73955be519be31, 0x0000000000000000
/*== p4 ==*/
.align 64
.quad 0xbfd5555555555555, 0xbfd183afc292ba11, 0xbfcc1a4b039c9bfa, 0xbfc16e1e6d8d0be6
.quad 0xbf92426c751e48a2, 0x3fb4f152b2bad124, 0x3fbbba40cbef72be, 0x3fb01ba038be6a3d
.quad 0x3f916df44871efc8, 0x3f63c6869dfc8870, 0x3f1fb9aef915d828, 0x3ec299d1e27c6e11
.quad 0x3e379b5ddcca334c, 0x3d8037f57bc62c9a, 0x3c6a2d4b50a2cff7, 0x0000000000000000
/*== p5 ==*/
.align 64
.quad 0xbce6863ee44ed636, 0x3fc04dcd0476c75e, 0x3fc43d3449a80f08, 0x3fc5c26f3699b7e7
.quad 0x3fc1a686f6ab2533, 0x3faf203c316ce730, 0xbf89c7a02788557c, 0xbf98157e26e0d541
.quad 0xbf807b55c1c7d278, 0xbf53a18d5843190f, 0xbf0fb6bbc89b1a5b, 0xbeb299c9c684a963
.quad 0xbe279b5dd4fb3d01, 0xbd7037f57ae72aa6, 0xbc5a2ca2bba78e86, 0x0000000000000000
/*== p6 ==*/
.align 64
.quad 0x3fc1111111112ab5, 0x3fb5c19efdfc08ad, 0x3fa74c98dc34fbac, 0xbf790d6a8eff0a77
.quad 0xbfac3c021789a786, 0xbfae2196b7326859, 0xbf93a7a011ff8c2a, 0x3f6e4709c7e8430e
.quad 0x3f67682afa611151, 0x3f3ef2ee77717cbf, 0x3ef95a4482f180b7, 0x3e9dc2c27da3b603
.quad 0x3e12e2afd9f7433e, 0x3d59f320348679ba, 0x3c44b61d9bbcc940, 0x0000000000000000
/*== p7 ==*/
.align 64
.quad 0xbda1ea19ddddb3b4, 0xbfb0b8df995ce4df, 0xbfb2955cf41e8164, 0xbfaf9d05c309f7c6
.quad 0xbf987d27ccff4291, 0x3f8b2ca62572b098, 0x3f8f1cf6c7f5b00a, 0x3f60379811e43dd5
.quad 0xbf4793826f78537e, 0xbf2405695e36240f, 0xbee0e08de39ce756, 0xbe83d709ba5f714e
.quad 0xbdf92e3fc5ee63e0, 0xbd414cc030f2110e, 0xbc2ba022e8d82a87, 0x0000000000000000
/*== p8 ==*/
.align 64
.quad 0xbfaba1ba1990520b, 0xbf96e37bba52f6fc, 0x3ecff7df18455399, 0x3f97362834d33a4e
.quad 0x3f9e7f8380184b45, 0x3f869543e7c420d4, 0xbf7326bd4914222a, 0xbf5fc15b0a9d98fa
.quad 0x3f14cffcfa69fbb6, 0x3f057e48e5b79d10, 0x3ec33b66d7d77264, 0x3e66ac4e578b9b10
.quad 0x3ddcc74b8d3d5c42, 0x3d23c589137f92b4, 0x3c107f8e2c8707a1, 0x0000000000000000
/*== p9 ==*/
.align 64
.quad 0xbe351ca7f096011f, 0x3f9eaaf3320c3851, 0x3f9cf823fe761fc1, 0x3f9022271754ff1f
.quad 0xbf731fe77c9c60af, 0xbf84a6046865ec7d, 0xbf4ca3f1f2b9192b, 0x3f4c77dee0afd227
.quad 0x3f04055bce68597a, 0xbee2bf0cb4a71647, 0xbea31eaafe73efd5, 0xbe46abb02c4368ed
.quad 0xbdbcc749ca8079dd, 0xbd03c5883836b9d2, 0xbbf07a5416264aec, 0x0000000000000000
/*== p10 ==*/
.align 64
.quad 0x3f9664f94e6ac14e, 0xbf94d3343bae39dd, 0xbf7bc748e60df843, 0xbf8c89372b43ba85
.quad 0xbf8129a092de747a, 0x3f60c85b4d538746, 0x3f5be9392199ec18, 0xbf2a0c68a4489f10
.quad 0xbf00462601dc2faa, 0x3eb7b6a219dea9f4, 0x3e80cbcc8d4c5c8a, 0x3e2425bb231a5e29
.quad 0x3d9992a4beac8662, 0x3ce191ba5ed3fb67, 0x3bc892450bad44c4, 0x0000000000000000
/*== p11 ==*/
.align 64
.quad 0xbea8c4c1fd7852fe, 0xbfccce16b1046f13, 0xbf81a16f224bb7b6, 0xbf62cbf00406bc09
.quad 0x3f75b29bb02cf69b, 0x3f607df0f9f90c17, 0xbf4b852a6e0758d5, 0xbf0078c63d1b8445
.quad 0x3eec12eadd55be7a, 0xbe6fa600f593181b, 0xbe5a3c935dce3f7d, 0xbe001c6d95e3ae96
.quad 0xbd74755a00ea1fd3, 0xbcbc1c6c063bb7ac, 0xbba3be9a4460fe00, 0x0000000000000000
/*== p12 ==*/
.align 64
.quad 0xbf822404577aa9dd, 0x403d8b07f7a82aa3, 0xbf9f44ab92fbab0a, 0x3fb2eac604473d6a
.quad 0x3f45f87d903aaac8, 0xbf5e104671036300, 0x3f19bc98ddf0f340, 0x3f0d4304bc9246e8
.quad 0xbed13c415f7b9d41, 0xbe722b8d9720cdb0, 0x3e322666d739bec0, 0x3dd76a553d7e7918
.quad 0x3d4de0fa59416a39, 0x3c948716cf3681b4, 0x3b873f9f2d2fda99, 0x0000000000000000
/*== p13 ==*/
.align 64
.quad 0xbefdd99a221ed573, 0x4070593a3735bab4, 0xbfccab654e44835e, 0x3fd13ed80037dbac
.quad 0xbf6045b9076cc487, 0x3f2085ee7e8ac170, 0x3f23524622610430, 0xbeff12a6626911b4
.quad 0x3eab9008bca408af, 0x3e634df71865f620, 0xbe05bb1bcf83ca73, 0xbdaf2ac143fb6762
.quad 0xbd23eae52a3dbf57, 0xbc6b5e3e9ca0955e, 0xbb5eca68e2c1ba2e, 0x0000000000000000
/*== p14 ==*/
.align 64
.quad 0x3f6e3be689423841, 0xc0d263511f5baac1, 0x40169f73b15ebe5c, 0xc025c1dd41cd6cb5
.quad 0xbf58fd89fe05e0d1, 0x3f73f7af01d5af7a, 0xbf1e40bdead17e6b, 0x3ee224cd6c4513e5
.quad 0xbe24b645e68eeaa3, 0xbe4abfebfb72bc83, 0x3dd51c38f8695ed3, 0x3d8313ac38c6832b
.quad 0x3cf7787935626685, 0x3c401ffc49c6bc29, 0xbabf0b21acfa52ab, 0x0000000000000000
/*== p15 ==*/
.align 64
.quad 0xbf2a1306713a4f3a, 0xc1045e509116b066, 0x4041fab9250984ce, 0xc0458d090ec3de95
.quad 0xbf74949d60113d63, 0x3f7c9fd6200d0ade, 0x3f02cd40e0ad0a9f, 0xbe858ab8e019f311
.quad 0xbe792fa6323b7cf8, 0x3e2df04d67876402, 0xbd95c72be95e4d2c, 0xbd55a89c30203106
.quad 0xbccad6b3bb9eff65, 0xbc12705ccd3dd884, 0xba8e0a4c47ae75f5, 0x0000000000000000
/*== p16 ==*/
.align 64
.quad 0xbf55d7e76dc56871, 0x41528c38809c90c7, 0xc076d57fb5190b02, 0x4085f09f888f8ada
.quad 0x3fa246332a2fcba5, 0xbfb29d851a896fcd, 0x3ed9065ae369b212, 0xbeb8e1ba4c98a030
.quad 0x3e6ffd0766ad4016, 0xbe0c63c29f505f5b, 0xbd7fab216b9e0e49, 0x3d2826b62056aa27
.quad 0x3ca313e31762f523, 0x3bea37aa21895319, 0x3ae5c7f1fd871496, 0x0000000000000000
/*== p17 ==*/
.align 64
.quad 0x3f35e67ab76a26e7, 0x41848ee0627d8206, 0xc0a216d618b489ec, 0x40a5b89107c8af4f
.quad 0x3fb69d8374520eda, 0xbfbded519f981716, 0xbef02d288b5b3371, 0x3eb290981209c1a6
.quad 0xbe567e924bf5ff6e, 0x3de3f7f7de6b0eb6, 0x3d69ed18bae3ebbc, 0xbcf7534c4f3dfa71
.quad 0xbc730b73f1eaff20, 0xbbba2cff8135d462, 0xbab5a71b5f7d9035, 0x0000000000000000
.align 64
.long 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000 /* _iExpMantMask_UISA */
.align 64
.long 0x3fc00000, 0x3fc00000, 0x3fc00000, 0x3fc00000, 0x3fc00000, 0x3fc00000, 0x3fc00000, 0x3fc00000, 0x3fc00000, 0x3fc00000, 0x3fc00000, 0x3fc00000, 0x3fc00000, 0x3fc00000, 0x3fc00000, 0x3fc00000 /* _iMinIdxOfsMask_UISA */
.align 64
.long 0x00780000, 0x00780000, 0x00780000, 0x00780000, 0x00780000, 0x00780000, 0x00780000, 0x00780000, 0x00780000, 0x00780000, 0x00780000, 0x00780000, 0x00780000, 0x00780000, 0x00780000, 0x00780000 /* _iMaxIdxMask_UISA */
.align 64
.quad 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000 /* _dbSignMask */
.align 64
.quad 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff /* _dbAbsMask */
.align 64
.long 0x7ffe0000, 0x7ffe0000, 0x7ffe0000, 0x7ffe0000, 0x7ffe0000, 0x7ffe0000, 0x7ffe0000, 0x7ffe0000, 0x7ffe0000, 0x7ffe0000, 0x7ffe0000, 0x7ffe0000, 0x7ffe0000, 0x7ffe0000, 0x7ffe0000, 0x7ffe0000 /* _iExpMantMask */
.align 64
.long 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000 /* _iExpMask */
.align 64
.long 0x3fbe0000, 0x3fbe0000, 0x3fbe0000, 0x3fbe0000, 0x3fbe0000, 0x3fbe0000, 0x3fbe0000, 0x3fbe0000, 0x3fbe0000, 0x3fbe0000, 0x3fbe0000, 0x3fbe0000, 0x3fbe0000, 0x3fbe0000, 0x3fbe0000, 0x3fbe0000 /* _iMinIdxOfsMask */
.align 64
.long 0x00760000, 0x00760000, 0x00760000, 0x00760000, 0x00760000, 0x00760000, 0x00760000, 0x00760000, 0x00760000, 0x00760000, 0x00760000, 0x00760000, 0x00760000, 0x00760000, 0x00760000, 0x00760000 /* _iMaxIdxMask */
.align 64
.type __svml_dtanh_data_internal,@object
.size __svml_dtanh_data_internal,.-__svml_dtanh_data_internal
/* _dC */
.quad 0x0000000000000000, 0x3fcc000000000000, 0x3fd4000000000000, 0x3fdc000000000000
.quad 0x3fe4000000000000, 0x3fec000000000000, 0x3ff4000000000000, 0x3ffc000000000000
.quad 0x4004000000000000, 0x400c000000000000, 0x4014000000000000, 0x401c000000000000
.quad 0x4024000000000000, 0x402c000000000000, 0x4034000000000000, 0x0000000000000000
/* p0 */
.align 64
.quad 0x0000000000000000, 0x3fcb8fd0416a7c92, 0x3fd35f98a0ea650e, 0x3fda5729ee488037
.quad 0x3fe1bf47eabb8f95, 0x3fe686650b8c2015, 0x3feb2523bb6b2dee, 0x3fee1fbf97e33527
.quad 0x3fef9258260a71c2, 0x3feff112c63a9077, 0x3fefff419668df11, 0x3feffffc832750f2
.quad 0x3feffffffdc96f35, 0x3fefffffffffcf58, 0x3ff0000000000000, 0x3ff0000000000000
/* p1 */
.align 64
.quad 0x0000000000000000, 0x3c65e23ebcd3bcbe, 0xbc4c600bac3adf00, 0x3c6c44091785d040
.quad 0x3c8221d7a6e3674b, 0x3c69f89d2cf6b85c, 0x3c73b3e9ec0b8f1c, 0xbc7f8d4b0428aada
.quad 0xbc7c52d880cf43c0, 0x3c7dd36e37096480, 0x3c7b4f6380c442ca, 0xbc729755de470096
.quad 0x3c84cf852845efbd, 0x3c6fc4fb440a5378, 0xbc63981083b55870, 0x0000000000000000
/* p2 */
.align 64
.quad 0x3ff0000000000000, 0x3fee842ca3f08532, 0x3fed11574af58f1b, 0x3fea945b9c24e4f9
.quad 0x3fe6284c3374f815, 0x3fe02500a09f8d6e, 0x3fd1f25131e3a8c0, 0x3fbd22ca1c24a139
.quad 0x3f9b3afe1fba5c76, 0x3f6dd37d19b22b21, 0x3f27ccec13a9ef96, 0x3ecbe6c3f33250ae
.quad 0x3e41b4865394f75f, 0x3d8853f01bda5f28, 0x3c73953c0197ef58, 0x0000000000000000
/* p3 */
.align 64
.quad 0xbbf0b3ea3fdfaa19, 0xbfca48aaeb53bc21, 0xbfd19921f4329916, 0xbfd5e0f09bef8011
.quad 0xbfd893b59c35c882, 0xbfd6ba7cb7576538, 0xbfce7291743d7555, 0xbfbb6d85a01efb80
.quad 0xbf9addae58c7141a, 0xbf6dc59376c7aa19, 0xbf27cc5e74677410, 0xbecbe6c0e8b4cc87
.quad 0xbe41b486526b0565, 0xbd8853f01bef63a4, 0xbc73955be519be31, 0x0000000000000000
/* p4 */
.align 64
.quad 0xbfd5555555555555, 0xbfd183afc292ba11, 0xbfcc1a4b039c9bfa, 0xbfc16e1e6d8d0be6
.quad 0xbf92426c751e48a2, 0x3fb4f152b2bad124, 0x3fbbba40cbef72be, 0x3fb01ba038be6a3d
.quad 0x3f916df44871efc8, 0x3f63c6869dfc8870, 0x3f1fb9aef915d828, 0x3ec299d1e27c6e11
.quad 0x3e379b5ddcca334c, 0x3d8037f57bc62c9a, 0x3c6a2d4b50a2cff7, 0x0000000000000000
/* p5 */
.align 64
.quad 0xbce6863ee44ed636, 0x3fc04dcd0476c75e, 0x3fc43d3449a80f08, 0x3fc5c26f3699b7e7
.quad 0x3fc1a686f6ab2533, 0x3faf203c316ce730, 0xbf89c7a02788557c, 0xbf98157e26e0d541
.quad 0xbf807b55c1c7d278, 0xbf53a18d5843190f, 0xbf0fb6bbc89b1a5b, 0xbeb299c9c684a963
.quad 0xbe279b5dd4fb3d01, 0xbd7037f57ae72aa6, 0xbc5a2ca2bba78e86, 0x0000000000000000
/* p6 */
.align 64
.quad 0x3fc1111111112ab5, 0x3fb5c19efdfc08ad, 0x3fa74c98dc34fbac, 0xbf790d6a8eff0a77
.quad 0xbfac3c021789a786, 0xbfae2196b7326859, 0xbf93a7a011ff8c2a, 0x3f6e4709c7e8430e
.quad 0x3f67682afa611151, 0x3f3ef2ee77717cbf, 0x3ef95a4482f180b7, 0x3e9dc2c27da3b603
.quad 0x3e12e2afd9f7433e, 0x3d59f320348679ba, 0x3c44b61d9bbcc940, 0x0000000000000000
/* p7 */
.align 64
.quad 0xbda1ea19ddddb3b4, 0xbfb0b8df995ce4df, 0xbfb2955cf41e8164, 0xbfaf9d05c309f7c6
.quad 0xbf987d27ccff4291, 0x3f8b2ca62572b098, 0x3f8f1cf6c7f5b00a, 0x3f60379811e43dd5
.quad 0xbf4793826f78537e, 0xbf2405695e36240f, 0xbee0e08de39ce756, 0xbe83d709ba5f714e
.quad 0xbdf92e3fc5ee63e0, 0xbd414cc030f2110e, 0xbc2ba022e8d82a87, 0x0000000000000000
/* p8 */
.align 64
.quad 0xbfaba1ba1990520b, 0xbf96e37bba52f6fc, 0x3ecff7df18455399, 0x3f97362834d33a4e
.quad 0x3f9e7f8380184b45, 0x3f869543e7c420d4, 0xbf7326bd4914222a, 0xbf5fc15b0a9d98fa
.quad 0x3f14cffcfa69fbb6, 0x3f057e48e5b79d10, 0x3ec33b66d7d77264, 0x3e66ac4e578b9b10
.quad 0x3ddcc74b8d3d5c42, 0x3d23c589137f92b4, 0x3c107f8e2c8707a1, 0x0000000000000000
/* p9 */
.align 64
.quad 0xbe351ca7f096011f, 0x3f9eaaf3320c3851, 0x3f9cf823fe761fc1, 0x3f9022271754ff1f
.quad 0xbf731fe77c9c60af, 0xbf84a6046865ec7d, 0xbf4ca3f1f2b9192b, 0x3f4c77dee0afd227
.quad 0x3f04055bce68597a, 0xbee2bf0cb4a71647, 0xbea31eaafe73efd5, 0xbe46abb02c4368ed
.quad 0xbdbcc749ca8079dd, 0xbd03c5883836b9d2, 0xbbf07a5416264aec, 0x0000000000000000
/* p10 */
.align 64
.quad 0x3f9664f94e6ac14e, 0xbf94d3343bae39dd, 0xbf7bc748e60df843, 0xbf8c89372b43ba85
.quad 0xbf8129a092de747a, 0x3f60c85b4d538746, 0x3f5be9392199ec18, 0xbf2a0c68a4489f10
.quad 0xbf00462601dc2faa, 0x3eb7b6a219dea9f4, 0x3e80cbcc8d4c5c8a, 0x3e2425bb231a5e29
.quad 0x3d9992a4beac8662, 0x3ce191ba5ed3fb67, 0x3bc892450bad44c4, 0x0000000000000000
/* p11 */
.align 64
.quad 0xbea8c4c1fd7852fe, 0xbfccce16b1046f13, 0xbf81a16f224bb7b6, 0xbf62cbf00406bc09
.quad 0x3f75b29bb02cf69b, 0x3f607df0f9f90c17, 0xbf4b852a6e0758d5, 0xbf0078c63d1b8445
.quad 0x3eec12eadd55be7a, 0xbe6fa600f593181b, 0xbe5a3c935dce3f7d, 0xbe001c6d95e3ae96
.quad 0xbd74755a00ea1fd3, 0xbcbc1c6c063bb7ac, 0xbba3be9a4460fe00, 0x0000000000000000
/* p12 */
.align 64
.quad 0xbf822404577aa9dd, 0x403d8b07f7a82aa3, 0xbf9f44ab92fbab0a, 0x3fb2eac604473d6a
.quad 0x3f45f87d903aaac8, 0xbf5e104671036300, 0x3f19bc98ddf0f340, 0x3f0d4304bc9246e8
.quad 0xbed13c415f7b9d41, 0xbe722b8d9720cdb0, 0x3e322666d739bec0, 0x3dd76a553d7e7918
.quad 0x3d4de0fa59416a39, 0x3c948716cf3681b4, 0x3b873f9f2d2fda99, 0x0000000000000000
/* p13 */
.align 64
.quad 0xbefdd99a221ed573, 0x4070593a3735bab4, 0xbfccab654e44835e, 0x3fd13ed80037dbac
.quad 0xbf6045b9076cc487, 0x3f2085ee7e8ac170, 0x3f23524622610430, 0xbeff12a6626911b4
.quad 0x3eab9008bca408af, 0x3e634df71865f620, 0xbe05bb1bcf83ca73, 0xbdaf2ac143fb6762
.quad 0xbd23eae52a3dbf57, 0xbc6b5e3e9ca0955e, 0xbb5eca68e2c1ba2e, 0x0000000000000000
/* p14 */
.align 64
.quad 0x3f6e3be689423841, 0xc0d263511f5baac1, 0x40169f73b15ebe5c, 0xc025c1dd41cd6cb5
.quad 0xbf58fd89fe05e0d1, 0x3f73f7af01d5af7a, 0xbf1e40bdead17e6b, 0x3ee224cd6c4513e5
.quad 0xbe24b645e68eeaa3, 0xbe4abfebfb72bc83, 0x3dd51c38f8695ed3, 0x3d8313ac38c6832b
.quad 0x3cf7787935626685, 0x3c401ffc49c6bc29, 0xbabf0b21acfa52ab, 0x0000000000000000
/* p15 */
.align 64
.quad 0xbf2a1306713a4f3a, 0xc1045e509116b066, 0x4041fab9250984ce, 0xc0458d090ec3de95
.quad 0xbf74949d60113d63, 0x3f7c9fd6200d0ade, 0x3f02cd40e0ad0a9f, 0xbe858ab8e019f311
.quad 0xbe792fa6323b7cf8, 0x3e2df04d67876402, 0xbd95c72be95e4d2c, 0xbd55a89c30203106
.quad 0xbccad6b3bb9eff65, 0xbc12705ccd3dd884, 0xba8e0a4c47ae75f5, 0x0000000000000000
/* p16 */
.align 64
.quad 0xbf55d7e76dc56871, 0x41528c38809c90c7, 0xc076d57fb5190b02, 0x4085f09f888f8ada
.quad 0x3fa246332a2fcba5, 0xbfb29d851a896fcd, 0x3ed9065ae369b212, 0xbeb8e1ba4c98a030
.quad 0x3e6ffd0766ad4016, 0xbe0c63c29f505f5b, 0xbd7fab216b9e0e49, 0x3d2826b62056aa27
.quad 0x3ca313e31762f523, 0x3bea37aa21895319, 0x3ae5c7f1fd871496, 0x0000000000000000
/* p17 */
.align 64
.quad 0x3f35e67ab76a26e7, 0x41848ee0627d8206, 0xc0a216d618b489ec, 0x40a5b89107c8af4f
.quad 0x3fb69d8374520eda, 0xbfbded519f981716, 0xbef02d288b5b3371, 0x3eb290981209c1a6
.quad 0xbe567e924bf5ff6e, 0x3de3f7f7de6b0eb6, 0x3d69ed18bae3ebbc, 0xbcf7534c4f3dfa71
.quad 0xbc730b73f1eaff20, 0xbbba2cff8135d462, 0xbab5a71b5f7d9035, 0x0000000000000000
.align 64
.long 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000 /* _iExpMantMask_UISA */
.align 64
.long 0x3fc00000, 0x3fc00000, 0x3fc00000, 0x3fc00000, 0x3fc00000, 0x3fc00000, 0x3fc00000, 0x3fc00000, 0x3fc00000, 0x3fc00000, 0x3fc00000, 0x3fc00000, 0x3fc00000, 0x3fc00000, 0x3fc00000, 0x3fc00000 /* _iMinIdxOfsMask_UISA */
.align 64
.long 0x00780000, 0x00780000, 0x00780000, 0x00780000, 0x00780000, 0x00780000, 0x00780000, 0x00780000, 0x00780000, 0x00780000, 0x00780000, 0x00780000, 0x00780000, 0x00780000, 0x00780000, 0x00780000 /* _iMaxIdxMask_UISA */
.align 64
.quad 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000 /* _dbSignMask */
.align 64
.quad 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff /* _dbAbsMask */
.align 64
.long 0x7ffe0000, 0x7ffe0000, 0x7ffe0000, 0x7ffe0000, 0x7ffe0000, 0x7ffe0000, 0x7ffe0000, 0x7ffe0000, 0x7ffe0000, 0x7ffe0000, 0x7ffe0000, 0x7ffe0000, 0x7ffe0000, 0x7ffe0000, 0x7ffe0000, 0x7ffe0000 /* _iExpMantMask */
.align 64
.long 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000 /* _iExpMask */
.align 64
.long 0x3fbe0000, 0x3fbe0000, 0x3fbe0000, 0x3fbe0000, 0x3fbe0000, 0x3fbe0000, 0x3fbe0000, 0x3fbe0000, 0x3fbe0000, 0x3fbe0000, 0x3fbe0000, 0x3fbe0000, 0x3fbe0000, 0x3fbe0000, 0x3fbe0000, 0x3fbe0000 /* _iMinIdxOfsMask */
.align 64
.long 0x00760000, 0x00760000, 0x00760000, 0x00760000, 0x00760000, 0x00760000, 0x00760000, 0x00760000, 0x00760000, 0x00760000, 0x00760000, 0x00760000, 0x00760000, 0x00760000, 0x00760000, 0x00760000 /* _iMaxIdxMask */
.align 64
.type __svml_dtanh_data_internal, @object
.size __svml_dtanh_data_internal, .-__svml_dtanh_data_internal