Annotation of sys/arch/hppa/spmath/mpyaccs.c, Revision 1.1.1.1
1.1 nbrk 1: /* $OpenBSD: mpyaccs.c,v 1.6 2003/04/10 17:27:58 mickey Exp $ */
2: /*
3: (c) Copyright 1986 HEWLETT-PACKARD COMPANY
4: To anyone who acknowledges that this file is provided "AS IS"
5: without any express or implied warranty:
6: permission to use, copy, modify, and distribute this file
7: for any purpose is hereby granted without fee, provided that
8: the above copyright notice and this notice appears in all
9: copies, and that the name of Hewlett-Packard Company not be
10: used in advertising or publicity pertaining to distribution
11: of the software without specific, written prior permission.
12: Hewlett-Packard Company makes no representations about the
13: suitability of this software for any purpose.
14: */
15: /* @(#)mpyaccs.c: Revision: 1.6.88.1 Date: 93/12/07 15:06:39 */
16:
17: #include "md.h"
18:
19: void
20: mpyaccs(opnd1,opnd2,result)
21: int opnd1, opnd2;
22: struct mdsfu_register *result;
23: {
24: struct mdsfu_register temp;
25: int carry, sign;
26:
27: s_xmpy(&opnd1,&opnd2,&temp);
28:
29: /* get result of low word add, and check for carry out */
30: if ((result_lo += (unsigned)temp.rslt_lo) < (unsigned)temp.rslt_lo)
31: carry = 1;
32: else
33: carry = 0;
34:
35: /* get result of high word add, and determine overflow status */
36: sign = result_hi ^ temp.rslt_hi;
37: result_hi += temp.rslt_hi + carry;
38: if (sign >= 0 && (temp.rslt_hi ^ result_hi) < 0)
39: overflow = TRUE;
40: }
CVSweb