glibc/sysdeps/x86_64/fpu/svml_d_trig_data.h
Andrew Senkevich 5872b8352a Combination of data tables for x86_64 vector functions sin, cos and sincos.
* sysdeps/x86_64/fpu/Makefile (libmvec-support): Fixed files list.
    * sysdeps/x86_64/fpu/multiarch/svml_d_cos2_core_sse4.S: Renamed variable
    and included header.
    * sysdeps/x86_64/fpu/multiarch/svml_d_cos4_core_avx2.S: Likewise.
    * sysdeps/x86_64/fpu/multiarch/svml_d_cos8_core_avx512.S: Likewise.
    * sysdeps/x86_64/fpu/multiarch/svml_d_sin2_core_sse4.S: Likewise.
    * sysdeps/x86_64/fpu/multiarch/svml_d_sin4_core_avx2.S: Likewise.
    * sysdeps/x86_64/fpu/multiarch/svml_d_sin8_core_avx512.S: Likewise.
    * sysdeps/x86_64/fpu/multiarch/svml_d_sincos2_core_sse4.S: Likewise.
    * sysdeps/x86_64/fpu/multiarch/svml_d_sincos4_core_avx2.S: Likewise.
    * sysdeps/x86_64/fpu/multiarch/svml_d_sincos8_core_avx512.S: Likewise.
    * sysdeps/x86_64/fpu/svml_d_trig_data.S: New file.
    * sysdeps/x86_64/fpu/svml_d_trig_data.h: Likewise.
    * sysdeps/x86_64/fpu/svml_d_cos2_core.S: Removed unneeded include.
    * sysdeps/x86_64/fpu/svml_d_cos4_core.S: Likewise.
    * sysdeps/x86_64/fpu/svml_d_cos8_core.S: Likewise.
    * sysdeps/x86_64/fpu/svml_d_cos_data.S: Removed file.
    * sysdeps/x86_64/fpu/svml_d_cos_data.h: Likewise.
    * sysdeps/x86_64/fpu/svml_d_sin_data.S: Likewise.
    * sysdeps/x86_64/fpu/svml_d_sin_data.h: Likewise.
    * sysdeps/x86_64/fpu/svml_d_sincos_data.S: Likewise.
    * sysdeps/x86_64/fpu/svml_d_sincos_data.h: Likewise.
2015-06-23 19:21:50 +03:00

73 lines
2.5 KiB
C

/* Offsets for data table for vectorized sin, cos, sincos.
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 D_TRIG_DATA_H
#define D_TRIG_DATA_H
#define __dAbsMask 0
#define __dRangeVal 64
#define __dRangeVal_sin 64*2
#define __dHalfPI 64*3
#define __dInvPI 64*4
#define __dRShifter 64*5
#define __dZero 64*6
#define __lNZero 64*7
#define __dOneHalf 64*8
#define __dPI1 64*9
#define __dPI2 64*10
#define __dPI3 64*11
#define __dPI4 64*12
#define __dPI1_FMA 64*13
#define __dPI2_FMA 64*14
#define __dPI3_FMA 64*15
#define __dHalfPI1 64*16
#define __dHalfPI2 64*17
#define __dHalfPI3 64*18
#define __dHalfPI4 64*19
#define __dC1 64*20
#define __dC2 64*21
#define __dC3 64*22
#define __dC4 64*23
#define __dC5 64*24
#define __dC6 64*25
#define __dC7 64*26
#define __dC1_sin 64*27
#define __dC2_sin 64*28
#define __dC3_sin 64*29
#define __dC4_sin 64*30
#define __dC5_sin 64*31
#define __dC6_sin 64*32
#define __dC7_sin 64*33
#define __dRShifter_la 64*34
#define __dRShifterm5_la 64*35
#define __dRXmax_la 64*36
#define __dAbsMask_la __dAbsMask
#define __dInvPI_la __dInvPI
#define __dSignMask __lNZero
.macro double_vector offset value
.if .-__svml_d_trig_data != \offset
.err
.endif
.rept 8
.quad \value
.endr
.endm
#endif