trunk/src/emu/cpu/mips/mips3drc.c
r241673 | r241674 | |
2764 | 2764 | |
2765 | 2765 | case 0x07: |
2766 | 2766 | if (IS_SINGLE(op)) /* NEG.S - MIPS I */ |
| 2767 | { |
2767 | 2768 | 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 | } |
2768 | 2772 | else /* NEG.D - MIPS I */ |
| 2773 | { |
2769 | 2774 | 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 | } |
2770 | 2778 | return TRUE; |
2771 | 2779 | |
2772 | 2780 | case 0x08: |