diff options
Diffstat (limited to 'arch/sparc/math-emu/fdmulq.c')
-rw-r--r-- | arch/sparc/math-emu/fdmulq.c | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/arch/sparc/math-emu/fdmulq.c b/arch/sparc/math-emu/fdmulq.c index dd9c7953c..96772d4ef 100644 --- a/arch/sparc/math-emu/fdmulq.c +++ b/arch/sparc/math-emu/fdmulq.c @@ -1,15 +1,26 @@ +/* $Id: fdmulq.c,v 1.9 1999/05/28 13:41:56 jj Exp $ + * arch/sparc/math-emu/fdmulq.c + * + * Copyright (C) 1997, 1999 Jakub Jelinek (jj@ultra.linux.cz) + * Copyright (C) 1998 Peter Maydell (pmaydell@chiark.greenend.org.uk) + * + */ + +#include "sfp-util.h" #include "soft-fp.h" #include "quad.h" #include "double.h" int FDMULQ(void *rd, void *rs2, void *rs1) { + FP_DECL_EX; FP_DECL_D(IN); FP_DECL_Q(A); FP_DECL_Q(B); FP_DECL_Q(R); - __FP_UNPACK_D(IN, rs1); + FP_UNPACK_DP(IN, rs1); FP_CONV(Q,D,4,2,A,IN); - __FP_UNPACK_D(IN, rs2); + FP_UNPACK_DP(IN, rs2); FP_CONV(Q,D,4,2,B,IN); FP_MUL_Q(R, A, B); - return __FP_PACK_Q(rd, R); + FP_PACK_QP(rd, R); + FP_HANDLE_EXCEPTIONS; } |