1 1.1 mrg /* Software floating-point emulation. 2 1.1 mrg Convert a 32bit signed integer to IEEE double 3 1.8 mrg Copyright (C) 1997-2019 Free Software Foundation, Inc. 4 1.1 mrg This file is part of the GNU C Library. 5 1.1 mrg Contributed by Richard Henderson (rth (at) cygnus.com) and 6 1.1 mrg Jakub Jelinek (jj (at) ultra.linux.cz). 7 1.1 mrg 8 1.1 mrg The GNU C Library is free software; you can redistribute it and/or 9 1.1 mrg modify it under the terms of the GNU Lesser General Public 10 1.1 mrg License as published by the Free Software Foundation; either 11 1.1 mrg version 2.1 of the License, or (at your option) any later version. 12 1.1 mrg 13 1.1 mrg In addition to the permissions in the GNU Lesser General Public 14 1.1 mrg License, the Free Software Foundation gives you unlimited 15 1.1 mrg permission to link the compiled version of this file into 16 1.1 mrg combinations with other programs, and to distribute those 17 1.1 mrg combinations without any restriction coming from the use of this 18 1.1 mrg file. (The Lesser General Public License restrictions do apply in 19 1.1 mrg other respects; for example, they cover modification of the file, 20 1.1 mrg and distribution when not linked into a combine executable.) 21 1.1 mrg 22 1.1 mrg The GNU C Library is distributed in the hope that it will be useful, 23 1.1 mrg but WITHOUT ANY WARRANTY; without even the implied warranty of 24 1.1 mrg MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 25 1.1 mrg Lesser General Public License for more details. 26 1.1 mrg 27 1.1 mrg You should have received a copy of the GNU Lesser General Public 28 1.1 mrg License along with the GNU C Library; if not, see 29 1.1 mrg <http://www.gnu.org/licenses/>. */ 30 1.1 mrg 31 1.3 mrg #define FP_NO_EXCEPTIONS 32 1.1 mrg #include "soft-fp.h" 33 1.1 mrg #include "double.h" 34 1.1 mrg 35 1.3 mrg DFtype 36 1.3 mrg __floatsidf (SItype i) 37 1.1 mrg { 38 1.3 mrg FP_DECL_D (A); 39 1.1 mrg DFtype a; 40 1.1 mrg 41 1.3 mrg FP_FROM_INT_D (A, i, SI_BITS, USItype); 42 1.3 mrg FP_PACK_RAW_D (a, A); 43 1.1 mrg 44 1.1 mrg return a; 45 1.1 mrg } 46