summaryrefslogtreecommitdiffstats
path: root/arch/sparc/math-emu/fcmpes.c
blob: e20884cfde7d08cc0ae2836801ae62b007cc1ce4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include "soft-fp.h"
#include "single.h"

int FCMPES(void *rd, void *rs2, void *rs1)
{
	FP_DECL_S(A); FP_DECL_S(B);
	long ret;
	unsigned long *fsr = rd;
	
	__FP_UNPACK_S(A, rs1);
	__FP_UNPACK_S(B, rs2);
	FP_CMP_S(ret, B, A, 1);
	if (ret == -1)
		ret = 2;

	*fsr = (*fsr & ~0xc00) | (ret << 10); 
	return 1;
}