filename | src/sh4/sh4core.in |
changeset | 1230:64a91ef571fc |
prev | 1193:dff55bdc4f46 |
next | 1231:d63c808ddcd3 |
author | Nathan Keynes <nkeynes@lxdream.org> |
date | Thu Dec 29 15:41:56 2011 +1000 (10 years ago) |
permissions | -rw-r--r-- |
last change | Fix emu sign-extension of MULS.W instruction Change emu FMAC to match translator precision |
file | annotate | diff | log | raw |
1.1 --- a/src/sh4/sh4core.in Mon Dec 12 21:10:04 2011 +10001.2 +++ b/src/sh4/sh4core.in Thu Dec 29 15:41:56 2011 +10001.3 @@ -723,7 +723,7 @@1.4 :}1.5 MULS.W Rm, Rn {:1.6 sh4r.mac = (sh4r.mac&0xFFFFFFFF00000000LL) |1.7 - (uint32_t)(SIGNEXT32(sh4r.r[Rm]&0xFFFF) * SIGNEXT32(sh4r.r[Rn]&0xFFFF));1.8 + (uint32_t)(SIGNEXT32((int16_t)(sh4r.r[Rm])) * SIGNEXT32((int16_t)(sh4r.r[Rn])));1.9 :}1.10 NEGC Rm, Rn {:1.11 tmp = 0 - sh4r.r[Rm];1.12 @@ -1248,7 +1248,7 @@1.13 if( IS_FPU_DOUBLEPREC() ) {1.14 DR(FRn) += DR(FRm)*DR(0);1.15 } else {1.16 - FR(FRn) += FR(FRm)*FR(0);1.17 + FR(FRn) += (double)FR(FRm)*(double)FR(0);1.18 }1.19 :}1.20 FRCHG {:
.