]> git.ipfire.org Git - thirdparty/gcc.git/blame - libgcc/config/arc/fp-hack.h
Update copyright years.
[thirdparty/gcc.git] / libgcc / config / arc / fp-hack.h
CommitLineData
83ffe9cd 1/* Copyright (C) 2007-2023 Free Software Foundation, Inc.
d38a64b4
JR
2 Contributor: Joern Rennecke <joern.rennecke@embecosm.com>
3 on behalf of Synopsys Inc.
4
5This file is part of GCC.
6
7GCC is free software; you can redistribute it and/or modify it under
8the terms of the GNU General Public License as published by the Free
9Software Foundation; either version 3, or (at your option) any later
10version.
11
12GCC is distributed in the hope that it will be useful, but WITHOUT ANY
13WARRANTY; without even the implied warranty of MERCHANTABILITY or
14FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
15for more details.
16
17Under Section 7 of GPL version 3, you are granted additional
18permissions described in the GCC Runtime Library Exception, version
193.1, as published by the Free Software Foundation.
20
21You should have received a copy of the GNU General Public License and
22a copy of the GCC Runtime Library Exception along with this program;
23see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
24<http://www.gnu.org/licenses/>. */
25
26/* This file selects the single-precision parts of fp-bit.c that are
27 still needed for some ARC hardware variants; it also renames functions
28 that duplicate asm-coded functionality so that their results can be
29 used to compare with the optimized versions for debugging. */
30
31#define ARC_FP_DEBUG 1
32#define FINE_GRAINED_LIBRARIES
2744b8b2
CZ
33
34#if defined (__ARC700__) || defined (__ARC_FPX_QUARK__)
35#define ARC_OPTFPE 1
36#endif
48c842ab
CZ
37
38#if !ARC_OPTFPE || ARC_FP_DEBUG
d38a64b4
JR
39#define L_pack_sf
40#define L_unpack_sf
41#define L_make_sf
42#define L_thenan_sf
43#endif
48c842ab 44#if !ARC_OPTFPE
d38a64b4
JR
45#define L_addsub_sf
46#define L_mul_sf
47#define L_div_sf
48#define L_sf_to_df
49#define L_si_to_sf
50#define L_sf_to_si
51#define L_usi_to_sf
52#elif ARC_FP_DEBUG
53#define L_addsub_sf
54#define __addsf3 __addsf3_c
55#define __subsf3 __subsf3_c
56#define L_mul_sf
57#define __mulsf3 __mulsf3_c
58#define L_div_sf
59#define __divsf3 __divsf3_c
60#define L_sf_to_df
61#define __extendsfdf2 __extendsfdf2_c
62#define L_si_to_sf
63#define __floatsisf __floatsisf_c
64#define L_sf_to_si
65#define __fixsfsi __fixsfsi_c
66#define L_usi_to_sf
67#define __floatunsisf __floatunsisf_c
68#endif
48c842ab 69#if !ARC_OPTFPE
d38a64b4
JR
70#define L_fpcmp_parts_sf
71#define L_compare_sf
72#define L_eq_sf
73#define L_ne_sf
74#define L_gt_sf
75#define L_ge_sf
76#define L_lt_sf
77#define L_le_sf
78#define L_unord_sf
79#define L_negate_sf
80#elif ARC_FP_DEBUG
81#define L_fpcmp_parts_sf
82#define L_eq_sf
83#define __eqsf2 __eqsf2_c
84#define L_gt_sf
85#define __gtsf2 __gtsf2_c
86#define L_ge_sf
87#define __gesf2 __gesf2_c
88#define L_unord_sf
89#define __unordsf2 __unordsf2_c
90#endif