Fix primary reason why the SH simulation hasn't been working on 64 bit hosts.

sim/sh/
	* interp.c (dmul): Split into dmul_s and dmul_u.  Use explicit integer
	width types and simplify implementation.
	* gencode.c (dmuls.l, dmulu.l): Use new functions dmul_s and dmul_u.
This commit is contained in:
Oleg Endo
2016-04-10 11:00:01 +09:00
parent ba442f0f41
commit 93e6fe04cc
3 changed files with 21 additions and 37 deletions

View File

@ -405,11 +405,11 @@ static op tab[] =
},
{ "", "nm", "dmuls.l <REG_M>,<REG_N>", "0011nnnnmmmm1101",
"dmul (1/*signed*/, R[n], R[m]);",
"dmul_s (R[n], R[m]);",
},
{ "", "nm", "dmulu.l <REG_M>,<REG_N>", "0011nnnnmmmm0101",
"dmul (0/*unsigned*/, R[n], R[m]);",
"dmul_u (R[n], R[m]);",
},
{ "n", "n", "dt <REG_N>", "0100nnnn00010000",