| 1 | /* Data for vector function logf. |
| 2 | Copyright (C) 2014-2020 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_logf_data.h" |
| 20 | |
| 21 | .section .rodata, "a" |
| 22 | .align 64 |
| 23 | |
| 24 | /* Data table for vector implementations of function logf. |
| 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_slog_data |
| 30 | __svml_slog_data: |
| 31 | |
| 32 | /* Polynomial sPoly[] coefficients: |
| 33 | * -5.0000000000000000000000000e-01 */ |
| 34 | float_vector _sPoly_1 0xbf000000 |
| 35 | |
| 36 | /* 3.3336564898490905761718750e-01 */ |
| 37 | float_vector _sPoly_2 0x3eaaaee7 |
| 38 | |
| 39 | /* -2.5004664063453674316406250e-01 */ |
| 40 | float_vector _sPoly_3 0xbe80061d |
| 41 | |
| 42 | /* 1.9822503626346588134765625e-01 */ |
| 43 | float_vector _sPoly_4 0x3e4afb81 |
| 44 | |
| 45 | /* -1.6462457180023193359375000e-01 */ |
| 46 | float_vector _sPoly_5 0xbe289358 |
| 47 | |
| 48 | /* 1.6964881122112274169921875e-01 */ |
| 49 | float_vector _sPoly_6 0x3e2db86b |
| 50 | |
| 51 | /* -1.5177205204963684082031250e-01 */ |
| 52 | float_vector _sPoly_7 0xbe1b6a22 |
| 53 | |
| 54 | /* Constant for work range check: Delta 80000000-7f800000 */ |
| 55 | float_vector _iHiDelta 0x00800000 |
| 56 | |
| 57 | /* Constant for work range check: 00800000 + Delta */ |
| 58 | float_vector _iLoRange 0x01000000 |
| 59 | |
| 60 | /* Mantissa break point SP 2/3 */ |
| 61 | float_vector _iBrkValue 0x3f2aaaab |
| 62 | |
| 63 | /* SP significand mask */ |
| 64 | float_vector _iOffExpoMask 0x007fffff |
| 65 | |
| 66 | /* 1.0f */ |
| 67 | float_vector _sOne 0x3f800000 |
| 68 | |
| 69 | /* SP log(2) */ |
| 70 | float_vector _sLn2 0x3f317218 |
| 71 | |
| 72 | /* SP infinity, +/- */ |
| 73 | .if .-__svml_slog_data != _sInfs |
| 74 | .err |
| 75 | .endif |
| 76 | .long 0x7f800000 |
| 77 | .long 0xff800000 |
| 78 | .rept 56 |
| 79 | .byte 0 |
| 80 | .endr |
| 81 | |
| 82 | /* SP one, +/- */ |
| 83 | .if .-__svml_slog_data != _sOnes |
| 84 | .err |
| 85 | .endif |
| 86 | .long 0x3f800000 |
| 87 | .long 0xbf800000 |
| 88 | .rept 56 |
| 89 | .byte 0 |
| 90 | .endr |
| 91 | |
| 92 | /* SP zero +/- */ |
| 93 | .if .-__svml_slog_data != _sZeros |
| 94 | .err |
| 95 | .endif |
| 96 | .long 0x00000000 |
| 97 | .long 0x80000000 |
| 98 | .rept 56 |
| 99 | .byte 0 |
| 100 | .endr |
| 101 | .type __svml_slog_data,@object |
| 102 | .size __svml_slog_data,.-__svml_slog_data |
| 103 | |