File: /usr/src/linux/arch/ppc/math-emu/fctiwz.c

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