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