initial commit
[glibc.git] / sysdeps / x86_64 / fpu / svml_s_expf_data.S
1 /* Data for function expf.
2 Copyright (C) 2014-2022 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19 #include "svml_s_expf_data.h"
20
21 .section .rodata, "a"
22 .align 64
23
24 /* Data table for vector implementations of function expf.
25 The table may contain polynomial, reduction, lookup coefficients and
26 other coefficients obtained through different methods of research and
27 experimental work. */
28
29 .globl __svml_sexp_data
30 __svml_sexp_data:
31
32 /* Range reduction coefficients:
33 * log(2) inverted */
34 float_vector __sInvLn2 0x3fb8aa3b
35
36 /* right shifter constant */
37 float_vector __sShifter 0x4b400000
38
39 /* log(2) high part */
40 float_vector __sLn2hi 0x3f317200
41
42 /* log(2) low part */
43 float_vector __sLn2lo 0x35bfbe8e
44
45 /* bias */
46 float_vector __iBias 0x0000007f
47
48 /* Polynomial coefficients:
49 * Here we approximate 2^x on [-0.5, 0.5] */
50 float_vector __sPC0 0x3f800000
51 float_vector __sPC1 0x3f7ffffe
52 float_vector __sPC2 0x3effff34
53 float_vector __sPC3 0x3e2aacac
54 float_vector __sPC4 0x3d2b8392
55 float_vector __sPC5 0x3c07d9fe
56
57 /* absolute value mask */
58 float_vector __iAbsMask 0x7fffffff
59
60 /* working domain range */
61 float_vector __iDomainRange 0x42aeac4f
62 .type __svml_sexp_data,@object
63 .size __svml_sexp_data,.-__svml_sexp_data