Previous 199869 Revisions Next

r33162 Monday 3rd November, 2014 at 10:10:35 UTC by Ryan Holtz
mips3drc: Generate -0.0 for NEG.S/D of 0.0 as FNEG does not on x86 [MooglyGuy]
[src/emu/bus/dmv]k803.c
[src/emu/cpu/mips]mips3drc.c

trunk/src/emu/bus/dmv/k803.c
r241673r241674
5353      : device_t(mconfig, DMV_K803, "K803 RTC", tag, owner, clock, "dmv_k803", __FILE__),
5454      device_dmvslot_interface( mconfig, *this ),
5555      m_rtc(*this, "rtc"),
56      m_dsw(*this, "DSW")
56      m_dsw(*this, "DWS")
5757{
5858}
5959
trunk/src/emu/cpu/mips/mips3drc.c
r241673r241674
27642764
27652765            case 0x07:
27662766               if (IS_SINGLE(op))  /* NEG.S - MIPS I */
2767               {
27672768                  UML_FSNEG(block, FPR32(FDREG), FPR32(FSREG));               // fsneg   <fdreg>,<fsreg>
2769                  UML_CMP(block, FPR32(FSREG), 0);                            // cmp     <fsreg>,0.0
2770                  UML_MOVc(block, COND_E, FPR32(FDREG), 0x80000000);          // mov     <fdreg>,-0.0,e
2771               }
27682772               else                /* NEG.D - MIPS I */
2773               {
27692774                  UML_FDNEG(block, FPR64(FDREG), FPR64(FSREG));               // fdneg   <fdreg>,<fsreg>
2775                  UML_CMP(block, FPR64(FSREG), 0);                            // cmp     <fsreg>,0.0
2776                  UML_DMOVc(block, COND_E, FPR64(FDREG), 0x8000000000000000L);// dmov    <fdreg>,-0.0,e
2777               }
27702778               return TRUE;
27712779
27722780            case 0x08:


Previous 199869 Revisions Next


© 1997-2024 The MAME Team