Reverted latest JIT improvements, since they introduced a bug - bumped version to 2.20 beta

This commit is contained in:
Dimitris Panokostas 2018-04-24 21:21:15 +02:00
parent b46f477887
commit fdb2b54b22
14 changed files with 4913 additions and 5007 deletions

View file

@ -8,7 +8,7 @@
* Modified 2005 Peter Keunecke
*/
#include <cmath>
#include <math.h>
#include "sysconfig.h"
#include "sysdeps.h"
@ -77,7 +77,7 @@ STATIC_INLINE int comp_fp_get (uae_u32 opcode, uae_u16 extra, int treg)
case 6: /* (d8,An,Xn) or (bd,An,Xn) or ([bd,An,Xn],od) or ([bd,An],Xn,od) */
{
uae_u32 dp = comp_get_iword ((m68k_pc_offset += 2) - 2);
calc_disp_ea_020 (reg + 8, dp, S1);
calc_disp_ea_020 (reg + 8, dp, S1, S2);
break;
}
case 7:
@ -173,25 +173,25 @@ STATIC_INLINE int comp_fp_get (uae_u32 opcode, uae_u16 extra, int treg)
switch (size) {
case 0: /* Long */
readlong (S1, S2);
readlong (S1, S2, S3);
fmov_l_rr (treg, S2);
return 2;
case 1: /* Single */
readlong (S1, S2);
readlong (S1, S2, S3);
fmov_s_rr (treg, S2);
return 1;
case 2: /* Long Double */
fp_to_exten_rm (treg, S1);
return 0;
case 4: /* Word */
readword (S1, S2);
readword (S1, S2, S3);
fmov_w_rr (treg, S2);
return 1;
case 5: /* Double */
fp_to_double_rm (treg, S1);
return 2;
case 6: /* Byte */
readbyte (S1, S2);
readbyte (S1, S2, S3);
fmov_b_rr (treg, S2);
return 1;
default:
@ -251,7 +251,7 @@ STATIC_INLINE int comp_fp_put (uae_u32 opcode, uae_u16 extra)
case 6: /* (d8,An,Xn) or (bd,An,Xn) or ([bd,An,Xn],od) or ([bd,An],Xn,od) */
{
uae_u32 dp = comp_get_iword ((m68k_pc_offset += 2) - 2);
calc_disp_ea_020 (reg + 8, dp, S1);
calc_disp_ea_020 (reg + 8, dp, S1, S2);
break;
}
case 7:
@ -276,25 +276,25 @@ STATIC_INLINE int comp_fp_put (uae_u32 opcode, uae_u16 extra)
switch (size) {
case 0: /* Long */
fmov_to_l_rr(S2, sreg);
writelong_clobber (S1, S2);
writelong_clobber (S1, S2, S3);
return 0;
case 1: /* Single */
fmov_to_s_rr(S2, sreg);
writelong_clobber (S1, S2);
writelong_clobber (S1, S2, S3);
return 0;
case 2:/* Long Double */
fp_from_exten_mr (S1, sreg);
return 0;
case 4: /* Word */
fmov_to_w_rr(S2, sreg);
writeword_clobber (S1, S2);
writeword_clobber (S1, S2, S3);
return 0;
case 5: /* Double */
fp_from_double_mr(S1, sreg);
return 0;
case 6: /* Byte */
fmov_to_b_rr(S2, sreg);
writebyte (S1, S2);
writebyte (S1, S2, S3);
return 0;
default:
return -1;