Commit testcase for PR25990.
[official-gcc.git] / libgcc-math / i386 / sse2.h
blob30428827a8a58d2a0c1756db73b5237f339a8277
1 /* This re-writes the math routines in flt-32 and dbl-64 to have their
2 exported symbols prefix with __libm_sse2 for an SSE2 ABI implementation.
3 Copyright (C) 2006 Free Software Foundation, Inc.
5 This file is part of GCC.
7 GCC is free software; you can redistribute it and/or modify it under
8 the terms of the GNU General Public License as published by the Free
9 Software Foundation; either version 2, or (at your option) any later
10 version.
12 In addition to the permissions in the GNU General Public License, the
13 Free Software Foundation gives you unlimited permission to link the
14 compiled version of this file into combinations with other programs,
15 and to distribute those combinations without any restriction coming
16 from the use of this file. (The General Public License restrictions
17 do apply in other respects; for example, they cover modification of
18 the file, and distribution when not linked into a combine
19 executable.)
21 GCC is distributed in the hope that it will be useful, but WITHOUT ANY
22 WARRANTY; without even the implied warranty of MERCHANTABILITY or
23 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
24 for more details.
26 You should have received a copy of the GNU General Public License
27 along with GCC; see the file COPYING. If not, write to the Free
28 Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
29 02110-1301, USA. */
31 #include "libc-symbols.h"
33 #undef weak_alias
34 #undef strong_alias
35 #undef hidden_def
36 #define weak_alias(a,b)
37 #define strong_alias(a,b)
38 #define hidden_def(a)
40 /* s_atanf.c */
41 #define __atanf __libm_sse2_atanf
43 /* e_asinf.c */
44 #define __ieee754_acosf __libm_sse2_acosf
45 #define __ieee754_asinf __libm_sse2_asinf
47 /* e_atan2f.c */
48 #define __ieee754_atan2f __libm_sse2_atan2f
49 #define __ieee754_expf __libm_sse2_expf
51 /* e_log10f.c */
52 #define __ieee754_log10f __libm_sse2_log10f
54 /* e_logf.c */
55 #define __ieee754_logf __libm_sse2_logf
57 /* e_powf.c */
58 #define __ieee754_powf __libm_sse2_powf
60 /* s_sinf.c */
61 #define __sinf __libm_sse2_sinf
62 #define __cosf __libm_sse2_cosf
64 /* s_tanf.c */
65 #define __tanf __libm_sse2_tanf
67 /* s_atan.c */
68 #define atan __libm_sse2_atan
70 /* e_asin.c */
71 #define __ieee754_acos __libm_sse2_acos
72 #define __ieee754_asin __libm_sse2_asin
74 /* e_atan2.c */
75 #define __ieee754_atan2 __libm_sse2_atan2
77 /* e_exp.c */
78 #define __ieee754_exp __libm_sse2_exp
80 /* e_log10.c */
81 #define __ieee754_log10 __libm_sse2_log10
83 /* e_log.c */
84 #define __ieee754_log __libm_sse2_log
86 /* e_pow.c */
87 #define __ieee754_pow __libm_sse2_pow
89 /* s_sin.c */
90 #define __cos __libm_sse2_cos
91 #define __sin __libm_sse2_sin
93 /* s_tan.c */
94 #define tan __libm_sse2_tan