Import 2.3.4pre3
[davej-history.git] / arch / sparc / math-emu / fsmuld.c
blob2f873e501c6b3f73dc14646a05af8c8d517bca30
1 /* $Id: fsmuld.c,v 1.9 1999/05/28 13:42:12 jj Exp $
2 * arch/sparc/math-emu/fsmuld.c
4 * Copyright (C) 1997, 1999 Jakub Jelinek (jj@ultra.linux.cz)
5 * Copyright (C) 1998 Peter Maydell (pmaydell@chiark.greenend.org.uk)
7 */
9 #include "sfp-util.h"
10 #include "soft-fp.h"
11 #include "double.h"
12 #include "single.h"
14 int FSMULD(void *rd, void *rs2, void *rs1)
16 FP_DECL_EX;
17 FP_DECL_S(IN); FP_DECL_D(A); FP_DECL_D(B); FP_DECL_D(R);
19 FP_UNPACK_SP(IN, rs1);
20 FP_CONV(D,S,2,1,A,IN);
21 FP_UNPACK_SP(IN, rs2);
22 FP_CONV(D,S,2,1,B,IN);
23 FP_MUL_D(R, A, B);
24 FP_PACK_DP(rd, R);
25 FP_HANDLE_EXCEPTIONS;