Mercurial > hg > CbC > CbC_gcc
comparison gcc/config/soft-fp/trunctfxf2.c @ 0:a06113de4d67
first commit
author | kent <kent@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 17 Jul 2009 14:47:48 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:a06113de4d67 |
---|---|
1 /* Software floating-point emulation. | |
2 Truncate IEEE quad into IEEE extended | |
3 Copyright (C) 2007 Free Software Foundation, Inc. | |
4 This file is part of the GNU C Library. | |
5 Contributed by Uros Bizjak (ubizjak@gmail.com). | |
6 | |
7 The GNU C Library is free software; you can redistribute it and/or | |
8 modify it under the terms of the GNU Lesser General Public | |
9 License as published by the Free Software Foundation; either | |
10 version 2.1 of the License, or (at your option) any later version. | |
11 | |
12 In addition to the permissions in the GNU Lesser General Public | |
13 License, the Free Software Foundation gives you unlimited | |
14 permission to link the compiled version of this file into | |
15 combinations with other programs, and to distribute those | |
16 combinations without any restriction coming from the use of this | |
17 file. (The Lesser General Public License restrictions do apply in | |
18 other respects; for example, they cover modification of the file, | |
19 and distribution when not linked into a combine executable.) | |
20 | |
21 The GNU C Library is distributed in the hope that it will be useful, | |
22 but WITHOUT ANY WARRANTY; without even the implied warranty of | |
23 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
24 Lesser General Public License for more details. | |
25 | |
26 You should have received a copy of the GNU Lesser General Public | |
27 License along with the GNU C Library; if not, write to the Free | |
28 Software Foundation, 51 Franklin Street, Fifth Floor, Boston, | |
29 MA 02110-1301, USA. */ | |
30 | |
31 #include "soft-fp.h" | |
32 #include "extended.h" | |
33 #include "quad.h" | |
34 | |
35 XFtype __trunctfxf2(TFtype a) | |
36 { | |
37 FP_DECL_EX; | |
38 FP_DECL_Q(A); | |
39 FP_DECL_E(R); | |
40 XFtype r; | |
41 | |
42 FP_INIT_ROUNDMODE; | |
43 FP_UNPACK_SEMIRAW_Q(A, a); | |
44 #if (2 * _FP_W_TYPE_SIZE) < _FP_FRACBITS_Q | |
45 FP_TRUNC(E,Q,4,4,R,A); | |
46 #else | |
47 FP_TRUNC(E,Q,2,2,R,A); | |
48 #endif | |
49 FP_PACK_SEMIRAW_E(r, R); | |
50 FP_HANDLE_EXCEPTIONS; | |
51 | |
52 return r; | |
53 } |