153443Sbostic /*- 2*61160Sbostic * Copyright (c) 1992, 1993 3*61160Sbostic * The Regents of the University of California. All rights reserved. 453443Sbostic * 553794Sbostic * This software was developed by the Computer Systems Engineering group 653794Sbostic * at Lawrence Berkeley Laboratory under DARPA contract BG 91-66 and 753794Sbostic * contributed to Berkeley. 853794Sbostic * 953443Sbostic * %sccs.include.redist.c% 1053443Sbostic */ 1153443Sbostic 1253443Sbostic #if defined(LIBC_SCCS) && !defined(lint) 13*61160Sbostic static char sccsid[] = "@(#)negdi2.c 8.1 (Berkeley) 06/04/93"; 1453443Sbostic #endif /* LIBC_SCCS and not lint */ 1553443Sbostic 1653794Sbostic #include "quad.h" 1753459Sbostic 1853794Sbostic /* 1953794Sbostic * Return -a (or, equivalently, 0 - a), in quad. See subdi3.c. 2053794Sbostic */ 2154431Sbostic quad_t __negdi2(a)2254431Sbostic__negdi2(a) 2354431Sbostic quad_t a; 2453443Sbostic { 2553794Sbostic union uu aa, res; 2653443Sbostic 2753794Sbostic aa.q = a; 2853794Sbostic res.ul[L] = -aa.ul[L]; 2953794Sbostic res.ul[H] = -aa.ul[H] - (res.ul[L] > 0); 3053794Sbostic return (res.q); 3153443Sbostic } 32