trunk/src/emu/cpu/mips/mips3drc.c
r241671 | r241672 | |
2774 | 2774 | UML_FSTOINT(block, FPR64(FDREG), FPR32(FSREG), SIZE_QWORD, ROUND_ROUND);// fstoint <fdreg>,<fsreg>,qword,round |
2775 | 2775 | else /* ROUND.L.D - MIPS III */ |
2776 | 2776 | UML_FDTOINT(block, FPR64(FDREG), FPR64(FSREG), SIZE_QWORD, ROUND_ROUND);// fdtoint <fdreg>,<fsreg>,qword,round |
| 2777 | UML_DSEXT(block, FPR64(FDREG), FPR64(FDREG), SIZE_DWORD); |
2777 | 2778 | return TRUE; |
2778 | 2779 | |
2779 | 2780 | case 0x09: |
r241671 | r241672 | |
2781 | 2782 | UML_FSTOINT(block, FPR64(FDREG), FPR32(FSREG), SIZE_QWORD, ROUND_TRUNC);// fstoint <fdreg>,<fsreg>,qword,trunc |
2782 | 2783 | else /* TRUNC.L.D - MIPS III */ |
2783 | 2784 | UML_FDTOINT(block, FPR64(FDREG), FPR64(FSREG), SIZE_QWORD, ROUND_TRUNC);// fdtoint <fdreg>,<fsreg>,qword,trunc |
| 2785 | UML_DSEXT(block, FPR64(FDREG), FPR64(FDREG), SIZE_DWORD); |
2784 | 2786 | return TRUE; |
2785 | 2787 | |
2786 | 2788 | case 0x0a: |
r241671 | r241672 | |
2788 | 2790 | UML_FSTOINT(block, FPR64(FDREG), FPR32(FSREG), SIZE_QWORD, ROUND_CEIL);// fstoint <fdreg>,<fsreg>,qword,ceil |
2789 | 2791 | else /* CEIL.L.D - MIPS III */ |
2790 | 2792 | UML_FDTOINT(block, FPR64(FDREG), FPR64(FSREG), SIZE_QWORD, ROUND_CEIL);// fdtoint <fdreg>,<fsreg>,qword,ceil |
| 2793 | UML_DSEXT(block, FPR64(FDREG), FPR64(FDREG), SIZE_DWORD); |
2791 | 2794 | return TRUE; |
2792 | 2795 | |
2793 | 2796 | case 0x0b: |
r241671 | r241672 | |
2795 | 2798 | UML_FSTOINT(block, FPR64(FDREG), FPR32(FSREG), SIZE_QWORD, ROUND_FLOOR);// fstoint <fdreg>,<fsreg>,qword,floor |
2796 | 2799 | else /* FLOOR.L.D - MIPS III */ |
2797 | 2800 | UML_FDTOINT(block, FPR64(FDREG), FPR64(FSREG), SIZE_QWORD, ROUND_FLOOR);// fdtoint <fdreg>,<fsreg>,qword,floor |
| 2801 | UML_DSEXT(block, FPR64(FDREG), FPR64(FDREG), SIZE_DWORD); |
2798 | 2802 | return TRUE; |
2799 | 2803 | |
2800 | 2804 | case 0x0c: |