1 /* Definitions for code generation pass of GNU compiler. 2 Copyright (C) 2001 Free Software Foundation, Inc. 3 4 This file is part of GCC. 5 6 GCC is free software; you can redistribute it and/or modify 7 it under the terms of the GNU General Public License as published by 8 the Free Software Foundation; either version 2, or (at your option) 9 any later version. 10 11 GCC is distributed in the hope that it will be useful, 12 but WITHOUT ANY WARRANTY; without even the implied warranty of 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 GNU General Public License for more details. 15 16 You should have received a copy of the GNU General Public License 17 along with GCC; see the file COPYING. If not, write to 18 the Free Software Foundation, 59 Temple Place - Suite 330, 19 Boston, MA 02111-1307, USA. */ 20 21 #ifndef GCC_LIBFUNCS_H 22 #define GCC_LIBFUNCS_H 23 24 /* Enumeration of indexes into libfunc_table. */ 25 enum libfunc_index 26 { 27 LTI_extendsfdf2, 28 LTI_extendsfxf2, 29 LTI_extendsftf2, 30 LTI_extenddfxf2, 31 LTI_extenddftf2, 32 33 LTI_truncdfsf2, 34 LTI_truncxfsf2, 35 LTI_trunctfsf2, 36 LTI_truncxfdf2, 37 LTI_trunctfdf2, 38 39 LTI_abort, 40 LTI_memcpy, 41 LTI_memmove, 42 LTI_bcopy, 43 LTI_memcmp, 44 LTI_bcmp, 45 LTI_memset, 46 LTI_bzero, 47 48 LTI_unwind_resume, 49 LTI_eh_personality, 50 LTI_setjmp, 51 LTI_longjmp, 52 LTI_unwind_sjlj_register, 53 LTI_unwind_sjlj_unregister, 54 55 LTI_eqhf2, 56 LTI_nehf2, 57 LTI_gthf2, 58 LTI_gehf2, 59 LTI_lthf2, 60 LTI_lehf2, 61 LTI_unordhf2, 62 63 LTI_eqsf2, 64 LTI_nesf2, 65 LTI_gtsf2, 66 LTI_gesf2, 67 LTI_ltsf2, 68 LTI_lesf2, 69 LTI_unordsf2, 70 71 LTI_eqdf2, 72 LTI_nedf2, 73 LTI_gtdf2, 74 LTI_gedf2, 75 LTI_ltdf2, 76 LTI_ledf2, 77 LTI_unorddf2, 78 79 LTI_eqxf2, 80 LTI_nexf2, 81 LTI_gtxf2, 82 LTI_gexf2, 83 LTI_ltxf2, 84 LTI_lexf2, 85 LTI_unordxf2, 86 87 LTI_eqtf2, 88 LTI_netf2, 89 LTI_gttf2, 90 LTI_getf2, 91 LTI_lttf2, 92 LTI_letf2, 93 LTI_unordtf2, 94 95 LTI_floatsisf, 96 LTI_floatdisf, 97 LTI_floattisf, 98 99 LTI_floatsidf, 100 LTI_floatdidf, 101 LTI_floattidf, 102 103 LTI_floatsixf, 104 LTI_floatdixf, 105 LTI_floattixf, 106 107 LTI_floatsitf, 108 LTI_floatditf, 109 LTI_floattitf, 110 111 LTI_fixsfsi, 112 LTI_fixsfdi, 113 LTI_fixsfti, 114 115 LTI_fixdfsi, 116 LTI_fixdfdi, 117 LTI_fixdfti, 118 119 LTI_fixxfsi, 120 LTI_fixxfdi, 121 LTI_fixxfti, 122 123 LTI_fixtfsi, 124 LTI_fixtfdi, 125 LTI_fixtfti, 126 127 LTI_fixunssfsi, 128 LTI_fixunssfdi, 129 LTI_fixunssfti, 130 131 LTI_fixunsdfsi, 132 LTI_fixunsdfdi, 133 LTI_fixunsdfti, 134 135 LTI_fixunsxfsi, 136 LTI_fixunsxfdi, 137 LTI_fixunsxfti, 138 139 LTI_fixunstfsi, 140 LTI_fixunstfdi, 141 LTI_fixunstfti, 142 143 LTI_profile_function_entry, 144 LTI_profile_function_exit, 145 146 LTI_MAX 147 }; 148 149 /* SYMBOL_REF rtx's for the library functions that are called 150 implicitly and not via optabs. */ 151 extern GTY(()) rtx libfunc_table[LTI_MAX]; 152 153 /* Accessor macros for libfunc_table. */ 154 #define extendsfdf2_libfunc (libfunc_table[LTI_extendsfdf2]) 155 #define extendsfxf2_libfunc (libfunc_table[LTI_extendsfxf2]) 156 #define extendsftf2_libfunc (libfunc_table[LTI_extendsftf2]) 157 #define extenddfxf2_libfunc (libfunc_table[LTI_extenddfxf2]) 158 #define extenddftf2_libfunc (libfunc_table[LTI_extenddftf2]) 159 160 #define truncdfsf2_libfunc (libfunc_table[LTI_truncdfsf2]) 161 #define truncxfsf2_libfunc (libfunc_table[LTI_truncxfsf2]) 162 #define trunctfsf2_libfunc (libfunc_table[LTI_trunctfsf2]) 163 #define truncxfdf2_libfunc (libfunc_table[LTI_truncxfdf2]) 164 #define trunctfdf2_libfunc (libfunc_table[LTI_trunctfdf2]) 165 166 #define abort_libfunc (libfunc_table[LTI_abort]) 167 #define memcpy_libfunc (libfunc_table[LTI_memcpy]) 168 #define memmove_libfunc (libfunc_table[LTI_memmove]) 169 #define bcopy_libfunc (libfunc_table[LTI_bcopy]) 170 #define memcmp_libfunc (libfunc_table[LTI_memcmp]) 171 #define bcmp_libfunc (libfunc_table[LTI_bcmp]) 172 #define memset_libfunc (libfunc_table[LTI_memset]) 173 #define bzero_libfunc (libfunc_table[LTI_bzero]) 174 175 #define unwind_resume_libfunc (libfunc_table[LTI_unwind_resume]) 176 #define eh_personality_libfunc (libfunc_table[LTI_eh_personality]) 177 #define setjmp_libfunc (libfunc_table[LTI_setjmp]) 178 #define longjmp_libfunc (libfunc_table[LTI_longjmp]) 179 #define unwind_sjlj_register_libfunc (libfunc_table[LTI_unwind_sjlj_register]) 180 #define unwind_sjlj_unregister_libfunc \ 181 (libfunc_table[LTI_unwind_sjlj_unregister]) 182 183 #define eqhf2_libfunc (libfunc_table[LTI_eqhf2]) 184 #define nehf2_libfunc (libfunc_table[LTI_nehf2]) 185 #define gthf2_libfunc (libfunc_table[LTI_gthf2]) 186 #define gehf2_libfunc (libfunc_table[LTI_gehf2]) 187 #define lthf2_libfunc (libfunc_table[LTI_lthf2]) 188 #define lehf2_libfunc (libfunc_table[LTI_lehf2]) 189 #define unordhf2_libfunc (libfunc_table[LTI_unordhf2]) 190 191 #define eqsf2_libfunc (libfunc_table[LTI_eqsf2]) 192 #define nesf2_libfunc (libfunc_table[LTI_nesf2]) 193 #define gtsf2_libfunc (libfunc_table[LTI_gtsf2]) 194 #define gesf2_libfunc (libfunc_table[LTI_gesf2]) 195 #define ltsf2_libfunc (libfunc_table[LTI_ltsf2]) 196 #define lesf2_libfunc (libfunc_table[LTI_lesf2]) 197 #define unordsf2_libfunc (libfunc_table[LTI_unordsf2]) 198 199 #define eqdf2_libfunc (libfunc_table[LTI_eqdf2]) 200 #define nedf2_libfunc (libfunc_table[LTI_nedf2]) 201 #define gtdf2_libfunc (libfunc_table[LTI_gtdf2]) 202 #define gedf2_libfunc (libfunc_table[LTI_gedf2]) 203 #define ltdf2_libfunc (libfunc_table[LTI_ltdf2]) 204 #define ledf2_libfunc (libfunc_table[LTI_ledf2]) 205 #define unorddf2_libfunc (libfunc_table[LTI_unorddf2]) 206 207 #define eqxf2_libfunc (libfunc_table[LTI_eqxf2]) 208 #define nexf2_libfunc (libfunc_table[LTI_nexf2]) 209 #define gtxf2_libfunc (libfunc_table[LTI_gtxf2]) 210 #define gexf2_libfunc (libfunc_table[LTI_gexf2]) 211 #define ltxf2_libfunc (libfunc_table[LTI_ltxf2]) 212 #define lexf2_libfunc (libfunc_table[LTI_lexf2]) 213 #define unordxf2_libfunc (libfunc_table[LTI_unordxf2]) 214 215 #define eqtf2_libfunc (libfunc_table[LTI_eqtf2]) 216 #define netf2_libfunc (libfunc_table[LTI_netf2]) 217 #define gttf2_libfunc (libfunc_table[LTI_gttf2]) 218 #define getf2_libfunc (libfunc_table[LTI_getf2]) 219 #define lttf2_libfunc (libfunc_table[LTI_lttf2]) 220 #define letf2_libfunc (libfunc_table[LTI_letf2]) 221 #define unordtf2_libfunc (libfunc_table[LTI_unordtf2]) 222 223 #define floatsisf_libfunc (libfunc_table[LTI_floatsisf]) 224 #define floatdisf_libfunc (libfunc_table[LTI_floatdisf]) 225 #define floattisf_libfunc (libfunc_table[LTI_floattisf]) 226 227 #define floatsidf_libfunc (libfunc_table[LTI_floatsidf]) 228 #define floatdidf_libfunc (libfunc_table[LTI_floatdidf]) 229 #define floattidf_libfunc (libfunc_table[LTI_floattidf]) 230 231 #define floatsixf_libfunc (libfunc_table[LTI_floatsixf]) 232 #define floatdixf_libfunc (libfunc_table[LTI_floatdixf]) 233 #define floattixf_libfunc (libfunc_table[LTI_floattixf]) 234 235 #define floatsitf_libfunc (libfunc_table[LTI_floatsitf]) 236 #define floatditf_libfunc (libfunc_table[LTI_floatditf]) 237 #define floattitf_libfunc (libfunc_table[LTI_floattitf]) 238 239 #define fixsfsi_libfunc (libfunc_table[LTI_fixsfsi]) 240 #define fixsfdi_libfunc (libfunc_table[LTI_fixsfdi]) 241 #define fixsfti_libfunc (libfunc_table[LTI_fixsfti]) 242 243 #define fixdfsi_libfunc (libfunc_table[LTI_fixdfsi]) 244 #define fixdfdi_libfunc (libfunc_table[LTI_fixdfdi]) 245 #define fixdfti_libfunc (libfunc_table[LTI_fixdfti]) 246 247 #define fixxfsi_libfunc (libfunc_table[LTI_fixxfsi]) 248 #define fixxfdi_libfunc (libfunc_table[LTI_fixxfdi]) 249 #define fixxfti_libfunc (libfunc_table[LTI_fixxfti]) 250 251 #define fixtfsi_libfunc (libfunc_table[LTI_fixtfsi]) 252 #define fixtfdi_libfunc (libfunc_table[LTI_fixtfdi]) 253 #define fixtfti_libfunc (libfunc_table[LTI_fixtfti]) 254 255 #define fixunssfsi_libfunc (libfunc_table[LTI_fixunssfsi]) 256 #define fixunssfdi_libfunc (libfunc_table[LTI_fixunssfdi]) 257 #define fixunssfti_libfunc (libfunc_table[LTI_fixunssfti]) 258 259 #define fixunsdfsi_libfunc (libfunc_table[LTI_fixunsdfsi]) 260 #define fixunsdfdi_libfunc (libfunc_table[LTI_fixunsdfdi]) 261 #define fixunsdfti_libfunc (libfunc_table[LTI_fixunsdfti]) 262 263 #define fixunsxfsi_libfunc (libfunc_table[LTI_fixunsxfsi]) 264 #define fixunsxfdi_libfunc (libfunc_table[LTI_fixunsxfdi]) 265 #define fixunsxfti_libfunc (libfunc_table[LTI_fixunsxfti]) 266 267 #define fixunstfsi_libfunc (libfunc_table[LTI_fixunstfsi]) 268 #define fixunstfdi_libfunc (libfunc_table[LTI_fixunstfdi]) 269 #define fixunstfti_libfunc (libfunc_table[LTI_fixunstfti]) 270 271 #define profile_function_entry_libfunc (libfunc_table[LTI_profile_function_entry]) 272 #define profile_function_exit_libfunc (libfunc_table[LTI_profile_function_exit]) 273 274 #endif /* GCC_LIBFUNCS_H */ 275