Previous 199869 Revisions Next

r33160 Monday 3rd November, 2014 at 09:53:30 UTC by Ryan Holtz
mips3drc: Sign-extend ROUND.L, TRUNC.L, CEIL.L and FLOOR.L [MooglyGuy]
[src/emu/cpu/mips]mips3drc.c

trunk/src/emu/cpu/mips/mips3drc.c
r241671r241672
27742774                  UML_FSTOINT(block, FPR64(FDREG), FPR32(FSREG), SIZE_QWORD, ROUND_ROUND);// fstoint <fdreg>,<fsreg>,qword,round
27752775               else                /* ROUND.L.D - MIPS III */
27762776                  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);
27772778               return TRUE;
27782779
27792780            case 0x09:
r241671r241672
27812782                  UML_FSTOINT(block, FPR64(FDREG), FPR32(FSREG), SIZE_QWORD, ROUND_TRUNC);// fstoint <fdreg>,<fsreg>,qword,trunc
27822783               else                /* TRUNC.L.D - MIPS III */
27832784                  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);
27842786               return TRUE;
27852787
27862788            case 0x0a:
r241671r241672
27882790                  UML_FSTOINT(block, FPR64(FDREG), FPR32(FSREG), SIZE_QWORD, ROUND_CEIL);// fstoint <fdreg>,<fsreg>,qword,ceil
27892791               else                /* CEIL.L.D - MIPS III */
27902792                  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);
27912794               return TRUE;
27922795
27932796            case 0x0b:
r241671r241672
27952798                  UML_FSTOINT(block, FPR64(FDREG), FPR32(FSREG), SIZE_QWORD, ROUND_FLOOR);// fstoint <fdreg>,<fsreg>,qword,floor
27962799               else                /* FLOOR.L.D - MIPS III */
27972800                  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);
27982802               return TRUE;
27992803
28002804            case 0x0c:


Previous 199869 Revisions Next


© 1997-2024 The MAME Team