Mercurial > hg > CbC > CbC_gcc
comparison gcc/config/fp-bit.h @ 67:f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
author | nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 22 Mar 2011 17:18:12 +0900 |
parents | a06113de4d67 |
children |
comparison
equal
deleted
inserted
replaced
65:65488c3d617d | 67:f6334be47118 |
---|---|
1 /* Header file for fp-bit.c. */ | 1 /* Header file for fp-bit.c. */ |
2 /* Copyright (C) 2000, 2002, 2003, 2006, 2009 Free Software Foundation, Inc. | 2 /* Copyright (C) 2000, 2002, 2003, 2006, 2009, 2010 |
3 Free Software Foundation, Inc. | |
3 | 4 |
4 This file is part of GCC. | 5 This file is part of GCC. |
5 | 6 |
6 GCC is free software; you can redistribute it and/or modify it under | 7 GCC is free software; you can redistribute it and/or modify it under |
7 the terms of the GNU General Public License as published by the Free | 8 the terms of the GNU General Public License as published by the Free |
215 typedef USItype halffractype; | 216 typedef USItype halffractype; |
216 typedef DFtype FLO_type; | 217 typedef DFtype FLO_type; |
217 typedef DItype intfrac; | 218 typedef DItype intfrac; |
218 #endif /* FLOAT */ | 219 #endif /* FLOAT */ |
219 | 220 |
220 #ifdef US_SOFTWARE_GOFAST | 221 #ifdef TFLOAT |
221 # ifdef TFLOAT | 222 # define add __addtf3 |
222 # error "GOFAST TFmode not supported" | 223 # define sub __subtf3 |
223 # elif defined FLOAT | 224 # define multiply __multf3 |
224 # define add fpadd | 225 # define divide __divtf3 |
225 # define sub fpsub | 226 # define compare __cmptf2 |
226 # define multiply fpmul | 227 # define _eq_f2 __eqtf2 |
227 # define divide fpdiv | 228 # define _ne_f2 __netf2 |
228 # define compare fpcmp | 229 # define _gt_f2 __gttf2 |
229 # define _unord_f2 __unordsf2 | 230 # define _ge_f2 __getf2 |
230 # define usi_to_float __floatunsisf | 231 # define _lt_f2 __lttf2 |
231 # define si_to_float sitofp | 232 # define _le_f2 __letf2 |
232 # define float_to_si fptosi | 233 # define _unord_f2 __unordtf2 |
233 # define float_to_usi fptoui | 234 # define usi_to_float __floatunsitf |
234 # define negate __negsf2 | 235 # define si_to_float __floatsitf |
235 # define sf_to_df fptodp | 236 # define float_to_si __fixtfsi |
236 # define sf_to_tf __extendsftf2 | 237 # define float_to_usi __fixunstfsi |
237 # else | 238 # define negate __negtf2 |
238 # define add dpadd | 239 # define tf_to_sf __trunctfsf2 |
239 # define sub dpsub | 240 # define tf_to_df __trunctfdf2 |
240 # define multiply dpmul | 241 #elif defined FLOAT |
241 # define divide dpdiv | 242 # define add __addsf3 |
242 # define compare dpcmp | 243 # define sub __subsf3 |
243 # define _unord_f2 __unorddf2 | 244 # define multiply __mulsf3 |
244 # define usi_to_float __floatunsidf | 245 # define divide __divsf3 |
245 # define si_to_float litodp | 246 # define compare __cmpsf2 |
246 # define float_to_si dptoli | 247 # define _eq_f2 __eqsf2 |
247 # define float_to_usi dptoul | 248 # define _ne_f2 __nesf2 |
248 # define negate __negdf2 | 249 # define _gt_f2 __gtsf2 |
249 # define df_to_sf dptofp | 250 # define _ge_f2 __gesf2 |
250 # define df_to_tf __extenddftf2 | 251 # define _lt_f2 __ltsf2 |
251 # endif /* FLOAT */ | 252 # define _le_f2 __lesf2 |
253 # define _unord_f2 __unordsf2 | |
254 # define usi_to_float __floatunsisf | |
255 # define si_to_float __floatsisf | |
256 # define float_to_si __fixsfsi | |
257 # define float_to_usi __fixunssfsi | |
258 # define negate __negsf2 | |
259 # define sf_to_df __extendsfdf2 | |
260 # define sf_to_tf __extendsftf2 | |
252 #else | 261 #else |
253 # ifdef TFLOAT | 262 # define add __adddf3 |
254 # define add __addtf3 | 263 # define sub __subdf3 |
255 # define sub __subtf3 | 264 # define multiply __muldf3 |
256 # define multiply __multf3 | 265 # define divide __divdf3 |
257 # define divide __divtf3 | 266 # define compare __cmpdf2 |
258 # define compare __cmptf2 | 267 # define _eq_f2 __eqdf2 |
259 # define _eq_f2 __eqtf2 | 268 # define _ne_f2 __nedf2 |
260 # define _ne_f2 __netf2 | 269 # define _gt_f2 __gtdf2 |
261 # define _gt_f2 __gttf2 | 270 # define _ge_f2 __gedf2 |
262 # define _ge_f2 __getf2 | 271 # define _lt_f2 __ltdf2 |
263 # define _lt_f2 __lttf2 | 272 # define _le_f2 __ledf2 |
264 # define _le_f2 __letf2 | 273 # define _unord_f2 __unorddf2 |
265 # define _unord_f2 __unordtf2 | 274 # define usi_to_float __floatunsidf |
266 # define usi_to_float __floatunsitf | 275 # define si_to_float __floatsidf |
267 # define si_to_float __floatsitf | 276 # define float_to_si __fixdfsi |
268 # define float_to_si __fixtfsi | 277 # define float_to_usi __fixunsdfsi |
269 # define float_to_usi __fixunstfsi | 278 # define negate __negdf2 |
270 # define negate __negtf2 | 279 # define df_to_sf __truncdfsf2 |
271 # define tf_to_sf __trunctfsf2 | 280 # define df_to_tf __extenddftf2 |
272 # define tf_to_df __trunctfdf2 | 281 #endif /* FLOAT */ |
273 # elif defined FLOAT | |
274 # define add __addsf3 | |
275 # define sub __subsf3 | |
276 # define multiply __mulsf3 | |
277 # define divide __divsf3 | |
278 # define compare __cmpsf2 | |
279 # define _eq_f2 __eqsf2 | |
280 # define _ne_f2 __nesf2 | |
281 # define _gt_f2 __gtsf2 | |
282 # define _ge_f2 __gesf2 | |
283 # define _lt_f2 __ltsf2 | |
284 # define _le_f2 __lesf2 | |
285 # define _unord_f2 __unordsf2 | |
286 # define usi_to_float __floatunsisf | |
287 # define si_to_float __floatsisf | |
288 # define float_to_si __fixsfsi | |
289 # define float_to_usi __fixunssfsi | |
290 # define negate __negsf2 | |
291 # define sf_to_df __extendsfdf2 | |
292 # define sf_to_tf __extendsftf2 | |
293 # else | |
294 # define add __adddf3 | |
295 # define sub __subdf3 | |
296 # define multiply __muldf3 | |
297 # define divide __divdf3 | |
298 # define compare __cmpdf2 | |
299 # define _eq_f2 __eqdf2 | |
300 # define _ne_f2 __nedf2 | |
301 # define _gt_f2 __gtdf2 | |
302 # define _ge_f2 __gedf2 | |
303 # define _lt_f2 __ltdf2 | |
304 # define _le_f2 __ledf2 | |
305 # define _unord_f2 __unorddf2 | |
306 # define usi_to_float __floatunsidf | |
307 # define si_to_float __floatsidf | |
308 # define float_to_si __fixdfsi | |
309 # define float_to_usi __fixunsdfsi | |
310 # define negate __negdf2 | |
311 # define df_to_sf __truncdfsf2 | |
312 # define df_to_tf __extenddftf2 | |
313 # endif /* FLOAT */ | |
314 #endif /* US_SOFTWARE_GOFAST */ | |
315 | 282 |
316 #ifndef INLINE | 283 #ifndef INLINE |
317 #define INLINE __inline__ | 284 #define INLINE __inline__ |
318 #endif | 285 #endif |
319 | 286 |
435 | 402 |
436 #if defined(L_compare_sf) || defined(L_compare_df) || defined(L_compare_tf) | 403 #if defined(L_compare_sf) || defined(L_compare_df) || defined(L_compare_tf) |
437 extern CMPtype compare (FLO_type, FLO_type); | 404 extern CMPtype compare (FLO_type, FLO_type); |
438 #endif | 405 #endif |
439 | 406 |
440 #ifndef US_SOFTWARE_GOFAST | |
441 | |
442 #if defined(L_eq_sf) || defined(L_eq_df) || defined(L_eq_tf) | 407 #if defined(L_eq_sf) || defined(L_eq_df) || defined(L_eq_tf) |
443 extern CMPtype _eq_f2 (FLO_type, FLO_type); | 408 extern CMPtype _eq_f2 (FLO_type, FLO_type); |
444 #endif | 409 #endif |
445 | 410 |
446 #if defined(L_ne_sf) || defined(L_ne_df) || defined(L_ne_tf) | 411 #if defined(L_ne_sf) || defined(L_ne_df) || defined(L_ne_tf) |
465 | 430 |
466 #if defined(L_unord_sf) || defined(L_unord_df) || defined(L_unord_tf) | 431 #if defined(L_unord_sf) || defined(L_unord_df) || defined(L_unord_tf) |
467 extern CMPtype _unord_f2 (FLO_type, FLO_type); | 432 extern CMPtype _unord_f2 (FLO_type, FLO_type); |
468 #endif | 433 #endif |
469 | 434 |
470 #endif /* ! US_SOFTWARE_GOFAST */ | |
471 | |
472 #if defined(L_si_to_sf) || defined(L_si_to_df) || defined(L_si_to_tf) | 435 #if defined(L_si_to_sf) || defined(L_si_to_df) || defined(L_si_to_tf) |
473 extern FLO_type si_to_float (SItype); | 436 extern FLO_type si_to_float (SItype); |
474 #endif | 437 #endif |
475 | 438 |
476 #if defined(L_sf_to_si) || defined(L_df_to_si) || defined(L_tf_to_si) | 439 #if defined(L_sf_to_si) || defined(L_df_to_si) || defined(L_tf_to_si) |
477 extern SItype float_to_si (FLO_type); | 440 extern SItype float_to_si (FLO_type); |
478 #endif | 441 #endif |
479 | 442 |
480 #if defined(L_sf_to_usi) || defined(L_df_to_usi) || defined(L_tf_to_usi) | 443 #if defined(L_tf_to_usi) |
481 #if defined(US_SOFTWARE_GOFAST) || defined(L_tf_to_usi) | |
482 extern USItype float_to_usi (FLO_type); | 444 extern USItype float_to_usi (FLO_type); |
483 #endif | |
484 #endif | 445 #endif |
485 | 446 |
486 #if defined(L_usi_to_sf) || defined(L_usi_to_df) || defined(L_usi_to_tf) | 447 #if defined(L_usi_to_sf) || defined(L_usi_to_df) || defined(L_usi_to_tf) |
487 extern FLO_type usi_to_float (USItype); | 448 extern FLO_type usi_to_float (USItype); |
488 #endif | 449 #endif |