glibc/sysdeps/x86_64/fpu/svml_s_trig_data.h
Andrew Senkevich 36870482d2 Combination of data tables for x86_64 vector functions sinf, cosf and sincosf.
* sysdeps/x86_64/fpu/Makefile (libmvec-support): Fixed files list.
    * sysdeps/x86_64/fpu/multiarch/svml_s_cosf4_core_sse4.S: Renamed variable
    and included header.
    * sysdeps/x86_64/fpu/multiarch/svml_s_cosf8_core_avx2.S: Likewise.
    * sysdeps/x86_64/fpu/multiarch/svml_s_cosf16_core_avx512.S: Likewise.
    * sysdeps/x86_64/fpu/multiarch/svml_s_sinf4_core_sse4.S: Likewise.
    * sysdeps/x86_64/fpu/multiarch/svml_s_sinf8_core_avx2.S: Likewise.
    * sysdeps/x86_64/fpu/multiarch/svml_s_sinf16_core_avx512.S: Likewise.
    * sysdeps/x86_64/fpu/multiarch/svml_s_sincosf4_core_sse4.S: Likewise.
    * sysdeps/x86_64/fpu/multiarch/svml_s_sincosf8_core_avx2.S: Likewise.
    * sysdeps/x86_64/fpu/multiarch/svml_s_sincosf16_core_avx512.S: Likewise.
    * sysdeps/x86_64/fpu/svml_s_trig_data.S: New file.
    * sysdeps/x86_64/fpu/svml_s_trig_data.h: Likewise.
    * sysdeps/x86_64/fpu/svml_s_cosf_data.S: Removed file.
    * sysdeps/x86_64/fpu/svml_s_cosf_data.h: Likewise.
    * sysdeps/x86_64/fpu/svml_s_sinf_data.S: Likewise.
    * sysdeps/x86_64/fpu/svml_s_sinf_data.h: Likewise.
    * sysdeps/x86_64/fpu/svml_s_sincosf_data.S: Likewise.
    * sysdeps/x86_64/fpu/svml_s_sincosf_data.h: Likewise.
2015-06-24 17:44:35 +03:00

63 lines
2.3 KiB
C

/* Offsets for data table for vectorized sinf, cosf, sincosf.
Copyright (C) 2014-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
#ifndef S_TRIG_DATA_H
#define S_TRIG_DATA_H
.macro float_vector offset value
.if .-__svml_s_trig_data != \offset
.err
.endif
.rept 16
.long \value
.endr
.endm
#define __sAbsMask 0
#define __sRangeReductionVal 64
#define __sRangeVal 64*2
#define __sS1 64*3
#define __sS2 64*4
#define __sC1 64*5
#define __sC2 64*6
#define __sPI1 64*7
#define __sPI2 64*8
#define __sPI3 64*9
#define __sPI4 64*10
#define __sPI1_FMA 64*11
#define __sPI2_FMA 64*12
#define __sPI3_FMA 64*13
#define __sA3 64*14
#define __sA5 64*15
#define __sA7 64*16
#define __sA9 64*17
#define __sA5_FMA 64*18
#define __sA7_FMA 64*19
#define __sA9_FMA 64*20
#define __sInvPI 64*21
#define __sRShifter 64*22
#define __sHalfPI 64*23
#define __sOneHalf 64*24
#define __iIndexMask 64*25
#define __i2pK_1 64*26
#define __sSignMask 64*27
#define __dT_cosf 64*28
#define __dT 64*92
#endif