summaryrefslogtreecommitdiffstats
path: root/arch/sparc/math-emu/fcmps.c
blob: 7e273320f9cb1f06d13fd40dd12726b90f26a937 (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 FCMPS(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 0;
}