negtf2.c revision 1.1 1 1.1 mrg /* Software floating-point emulation.
2 1.1 mrg Return -a
3 1.1 mrg Copyright (C) 1997,1999,2006 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.1 mrg #include "soft-fp.h"
32 1.1 mrg #include "quad.h"
33 1.1 mrg
34 1.1 mrg TFtype __negtf2(TFtype a)
35 1.1 mrg {
36 1.1 mrg FP_DECL_EX;
37 1.1 mrg FP_DECL_Q(A); FP_DECL_Q(R);
38 1.1 mrg TFtype r;
39 1.1 mrg
40 1.1 mrg FP_UNPACK_Q(A, a);
41 1.1 mrg FP_NEG_Q(R, A);
42 1.1 mrg FP_PACK_Q(r, R);
43 1.1 mrg FP_CLEAR_EXCEPTIONS;
44 1.1 mrg FP_HANDLE_EXCEPTIONS;
45 1.1 mrg
46 1.1 mrg return r;
47 1.1 mrg }
48