Import pre-release gcc-5.0 to new vendor branch
[dragonfly.git] / contrib / gcc-5.0 / libgcc / config / arc / fp-hack.h
1 /* Copyright (C) 2007-2015 Free Software Foundation, Inc.
2    Contributor: Joern Rennecke <joern.rennecke@embecosm.com>
3                 on behalf of Synopsys Inc.
4
5 This file is part of GCC.
6
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 3, or (at your option) any later
10 version.
11
12 GCC is distributed in the hope that it will be useful, but WITHOUT ANY
13 WARRANTY; without even the implied warranty of MERCHANTABILITY or
14 FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
15 for more details.
16
17 Under Section 7 of GPL version 3, you are granted additional
18 permissions described in the GCC Runtime Library Exception, version
19 3.1, as published by the Free Software Foundation.
20
21 You should have received a copy of the GNU General Public License and
22 a copy of the GCC Runtime Library Exception along with this program;
23 see 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
33 #if !defined (__ARC_NORM__) || ARC_FP_DEBUG
34 #define L_pack_sf
35 #define L_unpack_sf
36 #define L_make_sf
37 #define L_thenan_sf
38 #endif
39 #ifndef __ARC_NORM__
40 #define L_addsub_sf
41 #define L_mul_sf
42 #define L_div_sf
43 #define L_sf_to_df
44 #define L_si_to_sf
45 #define L_sf_to_si
46 #define L_usi_to_sf
47 #elif ARC_FP_DEBUG
48 #define L_addsub_sf
49 #define __addsf3 __addsf3_c
50 #define __subsf3 __subsf3_c
51 #define L_mul_sf
52 #define __mulsf3 __mulsf3_c
53 #define L_div_sf
54 #define __divsf3 __divsf3_c
55 #define L_sf_to_df
56 #define __extendsfdf2 __extendsfdf2_c
57 #define L_si_to_sf
58 #define __floatsisf __floatsisf_c
59 #define L_sf_to_si
60 #define __fixsfsi __fixsfsi_c
61 #define L_usi_to_sf
62 #define __floatunsisf __floatunsisf_c
63 #endif
64 #ifndef __ARC_NORM__
65 #define L_fpcmp_parts_sf
66 #define L_compare_sf
67 #define L_eq_sf
68 #define L_ne_sf
69 #define L_gt_sf
70 #define L_ge_sf
71 #define L_lt_sf
72 #define L_le_sf
73 #define L_unord_sf
74 #define L_negate_sf
75 #elif ARC_FP_DEBUG
76 #define L_fpcmp_parts_sf
77 #define L_eq_sf
78 #define __eqsf2 __eqsf2_c
79 #define L_gt_sf
80 #define __gtsf2 __gtsf2_c
81 #define L_ge_sf
82 #define __gesf2 __gesf2_c
83 #define L_unord_sf
84 #define __unordsf2 __unordsf2_c
85 #endif