1 /* Copyright (C) 2007-2021 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 34 #if defined (__ARC700__) || defined (__ARC_FPX_QUARK__) 35 #define ARC_OPTFPE 1 36 #endif 37 38 #if !ARC_OPTFPE || ARC_FP_DEBUG 39 #define L_pack_sf 40 #define L_unpack_sf 41 #define L_make_sf 42 #define L_thenan_sf 43 #endif 44 #if !ARC_OPTFPE 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 69 #if !ARC_OPTFPE 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 91