Merge branch 'cell-merge' of master.kernel.org:/pub/scm/linux/kernel/git/arnd/cell-2.6
[linux-2.6] / arch / powerpc / math-emu / fctiwz.c
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
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 }