1 #include <linux/types.h>
2 #include <linux/errno.h>
3 #include <asm/uaccess.h>
4 
5 #include "soft-fp.h"
6 #include "double.h"
7 
8 int
fctiwz(u32 * frD,void * frB)9 fctiwz(u32 *frD, void *frB)
10 {
11 	FP_DECL_D(B);
12 	u32 fpscr;
13 	unsigned int r;
14 
15 	fpscr = __FPU_FPSCR;
16 	__FPU_FPSCR &= ~(3);
17 	__FPU_FPSCR |= FP_RND_ZERO;
18 
19 	__FP_UNPACK_D(B, frB);
20 	FP_TO_INT_D(r, B, 32, 1);
21 	frD[1] = r;
22 
23 	__FPU_FPSCR = fpscr;
24 
25 #ifdef DEBUG
26 	printk("%s: D %p, B %p: ", __FUNCTION__, frD, frB);
27 	dump_double(frD);
28 	printk("\n");
29 #endif
30 
31 	return 0;
32 }
33