1 /* $Id: fcmpd.c,v 1.8 1999/05/28 13:41:36 jj Exp $
2 * arch/sparc/math-emu/fcmpd.c
4 * Copyright (C) 1997, 1999 Jakub Jelinek (jj@ultra.linux.cz)
5 * Copyright (C) 1998 Peter Maydell (pmaydell@chiark.greenend.org.uk)
13 int FCMPD(void *rd
, void *rs2
, void *rs1
)
16 FP_DECL_D(A
); FP_DECL_D(B
);
20 FP_UNPACK_RAW_DP(A
, rs1
);
21 FP_UNPACK_RAW_DP(B
, rs2
);
22 FP_CMP_D(ret
, B
, A
, 3);
23 if (ret
== 3 && (FP_ISSIGNAN_D(A
) || FP_ISSIGNAN_D(B
)))
24 FP_SET_EXCEPTION(FP_EX_INVALID
);
25 if (!FP_INHIBIT_RESULTS
) {
26 if (ret
== -1) ret
= 2;