case 0: /* Dn */
switch (size) {
case 0: /* Long */
- mov_l_mr (uae_ptr32(temp_fp), reg);
- fmovi_rm (treg, uae_ptr32(temp_fp));
+ mov_l_mr (uae_p32(temp_fp), reg);
+ fmovi_rm (treg, uae_p32(temp_fp));
return 2;
case 1: /* Single */
- mov_l_mr (uae_ptr32(temp_fp), reg);
- fmovs_rm (treg, uae_ptr32(temp_fp));
+ mov_l_mr (uae_p32(temp_fp), reg);
+ fmovs_rm (treg, uae_p32(temp_fp));
return 1;
case 4: /* Word */
sign_extend_16_rr (S1, reg);
- mov_l_mr (uae_ptr32(temp_fp), S1);
- fmovi_rm (treg, uae_ptr32(temp_fp));
+ mov_l_mr (uae_p32(temp_fp), S1);
+ fmovi_rm (treg, uae_p32(temp_fp));
return 1;
case 6: /* Byte */
sign_extend_8_rr (S1, reg);
- mov_l_mr (uae_ptr32(temp_fp), S1);
- fmovi_rm (treg, uae_ptr32(temp_fp));
+ mov_l_mr (uae_p32(temp_fp), S1);
+ fmovi_rm (treg, uae_p32(temp_fp));
return 1;
default:
return -1;
if (li == (int)si) {
//write_log ("converted immediate LONG constant to SINGLE\n");
- mov_l_mi(uae_ptr32(temp_fp), *(uae_u32 *)&si);
- fmovs_rm(treg, uae_ptr32(temp_fp));
+ mov_l_mi(uae_p32(temp_fp), *(uae_u32 *)&si);
+ fmovs_rm(treg, uae_p32(temp_fp));
return 1;
}
//write_log ("immediate LONG constant\n");
- mov_l_mi(uae_ptr32(temp_fp), *(uae_u32 *)&li);
- fmovi_rm(treg, uae_ptr32(temp_fp));
+ mov_l_mi(uae_p32(temp_fp), *(uae_u32 *)&li);
+ fmovi_rm(treg, uae_p32(temp_fp));
return 2;
}
case 1:
//write_log (_T("immediate SINGLE constant\n"));
- mov_l_mi(uae_ptr32(temp_fp), comp_get_ilong(m68k_pc_offset - 4));
- fmovs_rm(treg, uae_ptr32(temp_fp));
+ mov_l_mi(uae_p32(temp_fp), comp_get_ilong(m68k_pc_offset - 4));
+ fmovs_rm(treg, uae_p32(temp_fp));
return 1;
case 2:
//write_log (_T("immediate LONG DOUBLE constant\n"));
- mov_l_mi(uae_ptr32(temp_fp), comp_get_ilong(m68k_pc_offset - 4));
- mov_l_mi((uae_ptr32(temp_fp)) + 4, comp_get_ilong(m68k_pc_offset - 8));
- mov_l_mi((uae_ptr32(temp_fp)) + 8, (uae_u32)comp_get_iword(m68k_pc_offset - 12));
- fmov_ext_rm(treg, uae_ptr32(temp_fp));
+ mov_l_mi(uae_p32(temp_fp), comp_get_ilong(m68k_pc_offset - 4));
+ mov_l_mi((uae_p32(temp_fp)) + 4, comp_get_ilong(m68k_pc_offset - 8));
+ mov_l_mi((uae_p32(temp_fp)) + 8, (uae_u32)comp_get_iword(m68k_pc_offset - 12));
+ fmov_ext_rm(treg, uae_p32(temp_fp));
return 0;
case 4:
{
float si = (float)(uae_s16)comp_get_iword(m68k_pc_offset-2);
//write_log (_T("converted immediate WORD constant %f to SINGLE\n"), si);
- mov_l_mi(uae_ptr32(temp_fp),*(uae_u32 *)&si);
- fmovs_rm(treg,uae_ptr32(temp_fp));
+ mov_l_mi(uae_p32(temp_fp),*(uae_u32 *)&si);
+ fmovs_rm(treg,uae_p32(temp_fp));
return 1;
}
case 5:
if (*(double *)longarray == (double)si) {
//write_log (_T("SPEED GAIN: converted a DOUBLE constant to SINGLE\n"));
- mov_l_mi(uae_ptr32(temp_fp), *(uae_u32 *)&si);
- fmovs_rm(treg, uae_ptr32(temp_fp));
+ mov_l_mi(uae_p32(temp_fp), *(uae_u32 *)&si);
+ fmovs_rm(treg, uae_p32(temp_fp));
return 1;
}
//write_log (_T("immediate DOUBLE constant\n"));
- mov_l_mi(uae_ptr32(temp_fp), longarray[0]);
- mov_l_mi((uae_ptr32(temp_fp)) + 4, longarray[1]);
- fmov_rm(treg, uae_ptr32(temp_fp));
+ mov_l_mi(uae_p32(temp_fp), longarray[0]);
+ mov_l_mi((uae_p32(temp_fp)) + 4, longarray[1]);
+ fmov_rm(treg, uae_p32(temp_fp));
return 2;
}
case 6:
float si = (float)(uae_s8)comp_get_ibyte(m68k_pc_offset - 2);
//write_log (_T("converted immediate BYTE constant to SINGLE\n"));
- mov_l_mi(uae_ptr32(temp_fp), *(uae_u32 *)&si);
- fmovs_rm(treg, uae_ptr32(temp_fp));
+ mov_l_mi(uae_p32(temp_fp), *(uae_u32 *)&si);
+ fmovs_rm(treg, uae_p32(temp_fp));
return 1;
}
default: /* never reached */
switch (size) {
case 0: /* Long */
readlong (S1, S2, S3);
- mov_l_mr (uae_ptr32(temp_fp), S2);
- fmovi_rm (treg, uae_ptr32(temp_fp));
+ mov_l_mr (uae_p32(temp_fp), S2);
+ fmovi_rm (treg, uae_p32(temp_fp));
return 2;
case 1: /* Single */
readlong (S1, S2, S3);
- mov_l_mr (uae_ptr32(temp_fp), S2);
- fmovs_rm (treg, uae_ptr32(temp_fp));
+ mov_l_mr (uae_p32(temp_fp), S2);
+ fmovs_rm (treg, uae_p32(temp_fp));
return 1;
case 2: /* Long Double */
readword (S1, S2, S3);
- mov_w_mr ((uae_ptr32(temp_fp)) + 8, S2);
+ mov_w_mr ((uae_p32(temp_fp)) + 8, S2);
add_l_ri (S1, 4);
readlong (S1, S2, S3);
- mov_l_mr ((uae_ptr32(temp_fp)) + 4, S2);
+ mov_l_mr ((uae_p32(temp_fp)) + 4, S2);
add_l_ri (S1, 4);
readlong (S1, S2, S3);
- mov_l_mr ((uae_ptr32(temp_fp)), S2);
- fmov_ext_rm (treg, uae_ptr32(temp_fp));
+ mov_l_mr ((uae_p32(temp_fp)), S2);
+ fmov_ext_rm (treg, uae_p32(temp_fp));
return 0;
case 4: /* Word */
readword (S1, S2, S3);
sign_extend_16_rr (S2, S2);
- mov_l_mr (uae_ptr32(temp_fp), S2);
- fmovi_rm (treg, uae_ptr32(temp_fp));
+ mov_l_mr (uae_p32(temp_fp), S2);
+ fmovi_rm (treg, uae_p32(temp_fp));
return 1;
case 5: /* Double */
readlong (S1, S2, S3);
- mov_l_mr ((uae_ptr32(temp_fp)) + 4, S2);
+ mov_l_mr ((uae_p32(temp_fp)) + 4, S2);
add_l_ri (S1, 4);
readlong (S1, S2, S3);
- mov_l_mr ((uae_ptr32(temp_fp)), S2);
- fmov_rm (treg, uae_ptr32(temp_fp));
+ mov_l_mr ((uae_p32(temp_fp)), S2);
+ fmov_rm (treg, uae_p32(temp_fp));
return 2;
case 6: /* Byte */
readbyte (S1, S2, S3);
sign_extend_8_rr (S2, S2);
- mov_l_mr (uae_ptr32(temp_fp), S2);
- fmovi_rm (treg, uae_ptr32(temp_fp));
+ mov_l_mr (uae_p32(temp_fp), S2);
+ fmovi_rm (treg, uae_p32(temp_fp));
return 1;
default:
return -1;
if (!(regs.fpcr & 0xf0)) { /* if extended round to nearest */
mov_l_ri(S1,0x10); /* use extended round to zero mode */
fldcw_m_indexed(S1,(uae_u32)x86_fpucw);
- fmovi_mrb(uae_ptr32(temp_fp),sreg, clamp_bounds.l);
- mov_l_rm(reg,uae_ptr32(temp_fp));
+ fmovi_mrb(uae_p32(temp_fp),sreg, clamp_bounds.l);
+ mov_l_rm(reg,uae_p32(temp_fp));
mov_l_rm(S1,(uae_u32)®s.fpcr);
and_l_ri(S1,0xf0); /* restore control word */
fldcw_m_indexed(S1,(uae_u32)x86_fpucw);
return 0;
}
#endif
- fmovi_mrb (uae_ptr32(temp_fp), sreg, clamp_bounds.l);
- mov_l_rm (reg, uae_ptr32(temp_fp));
+ fmovi_mrb (uae_p32(temp_fp), sreg, clamp_bounds.l);
+ mov_l_rm (reg, uae_p32(temp_fp));
return 0;
case 1: /* FMOVE.S FPx, Dn */
- fmovs_mr (uae_ptr32(temp_fp), sreg);
- mov_l_rm (reg, uae_ptr32(temp_fp));
+ fmovs_mr (uae_p32(temp_fp), sreg);
+ mov_l_rm (reg, uae_p32(temp_fp));
return 0;
case 4: /* FMOVE.W FPx, Dn */
#if USE_X86_FPUCW && 0
if (!(regs.fpcr & 0xf0)) { /* if extended round to nearest */
mov_l_ri(S1,0x10); /* use extended round to zero mode */
fldcw_m_indexed(S1,(uae_u32)x86_fpucw);
- fmovi_mrb(uae_ptr32(temp_fp),sreg, clamp_bounds.w);
- mov_w_rm(reg,uae_ptr32(temp_fp));
+ fmovi_mrb(uae_p32(temp_fp),sreg, clamp_bounds.w);
+ mov_w_rm(reg,uae_p32(temp_fp));
mov_l_rm(S1,(uae_u32)®s.fpcr);
and_l_ri(S1,0xf0); /* restore control word */
fldcw_m_indexed(S1,(uae_u32)x86_fpucw);
return 0;
}
#endif
- fmovi_mrb (uae_ptr32(temp_fp), sreg, clamp_bounds.w);
- mov_w_rm (reg, uae_ptr32(temp_fp));
+ fmovi_mrb (uae_p32(temp_fp), sreg, clamp_bounds.w);
+ mov_w_rm (reg, uae_p32(temp_fp));
return 0;
case 6: /* FMOVE.B FPx, Dn */
#if USE_X86_FPUCW && 0
if (!(regs.fpcr & 0xf0)) { /* if extended round to nearest */
mov_l_ri(S1,0x10); /* use extended round to zero mode */
fldcw_m_indexed(S1,(uae_u32)x86_fpucw);
- fmovi_mrb(uae_ptr32(temp_fp),sreg, clamp_bounds.b);
- mov_b_rm(reg,uae_ptr32(temp_fp));
+ fmovi_mrb(uae_p32(temp_fp),sreg, clamp_bounds.b);
+ mov_b_rm(reg,uae_p32(temp_fp));
mov_l_rm(S1,(uae_u32)®s.fpcr);
and_l_ri(S1,0xf0); /* restore control word */
fldcw_m_indexed(S1,(uae_u32)x86_fpucw);
return 0;
}
#endif
- fmovi_mrb (uae_ptr32(temp_fp), sreg, clamp_bounds.b);
- mov_b_rm (reg, uae_ptr32(temp_fp));
+ fmovi_mrb (uae_p32(temp_fp), sreg, clamp_bounds.b);
+ mov_b_rm (reg, uae_p32(temp_fp));
return 0;
default:
return -1;
}
switch (size) {
case 0: /* Long */
- fmovi_mrb (uae_ptr32(temp_fp), sreg, clamp_bounds.l);
- mov_l_rm (S2, uae_ptr32(temp_fp));
+ fmovi_mrb (uae_p32(temp_fp), sreg, clamp_bounds.l);
+ mov_l_rm (S2, uae_p32(temp_fp));
writelong_clobber (S1, S2, S3);
return 0;
case 1: /* Single */
- fmovs_mr (uae_ptr32(temp_fp), sreg);
- mov_l_rm (S2, uae_ptr32(temp_fp));
+ fmovs_mr (uae_p32(temp_fp), sreg);
+ mov_l_rm (S2, uae_p32(temp_fp));
writelong_clobber (S1, S2, S3);
return 0;
case 2:/* Long Double */
- fmov_ext_mr (uae_ptr32(temp_fp), sreg);
- mov_w_rm (S2, uae_ptr32(temp_fp) + 8);
+ fmov_ext_mr (uae_p32(temp_fp), sreg);
+ mov_w_rm (S2, uae_p32(temp_fp) + 8);
writeword_clobber (S1, S2, S3);
add_l_ri (S1, 4);
- mov_l_rm (S2, uae_ptr32(temp_fp) + 4);
+ mov_l_rm (S2, uae_p32(temp_fp) + 4);
writelong_clobber (S1, S2, S3);
add_l_ri (S1, 4);
- mov_l_rm (S2, uae_ptr32(temp_fp));
+ mov_l_rm (S2, uae_p32(temp_fp));
writelong_clobber (S1, S2, S3);
return 0;
case 4: /* Word */
- fmovi_mrb (uae_ptr32(temp_fp), sreg, clamp_bounds.w);
- mov_l_rm (S2, uae_ptr32(temp_fp));
+ fmovi_mrb (uae_p32(temp_fp), sreg, clamp_bounds.w);
+ mov_l_rm (S2, uae_p32(temp_fp));
writeword_clobber (S1, S2, S3);
return 0;
case 5: /* Double */
- fmov_mr (uae_ptr32(temp_fp), sreg);
- mov_l_rm (S2, uae_ptr32(temp_fp) + 4);
+ fmov_mr (uae_p32(temp_fp), sreg);
+ mov_l_rm (S2, uae_p32(temp_fp) + 4);
writelong_clobber (S1, S2, S3);
add_l_ri (S1, 4);
- mov_l_rm (S2, uae_ptr32(temp_fp));
+ mov_l_rm (S2, uae_p32(temp_fp));
writelong_clobber (S1, S2, S3);
return 0;
case 6: /* Byte */
- fmovi_mrb (uae_ptr32(temp_fp), sreg, clamp_bounds.b);
- mov_l_rm (S2, uae_ptr32(temp_fp));
+ fmovi_mrb (uae_p32(temp_fp), sreg, clamp_bounds.b);
+ mov_l_rm (S2, uae_p32(temp_fp));
writebyte (S1, S2, S3);
return 0;
default:
else {
off = comp_get_ilong ((m68k_pc_offset += 4) - 4);
}
- mov_l_ri (S1, uae_ptr32(
+ mov_l_ri (S1, uae_p32(
comp_pc_p + off - (m68k_pc_offset - start_68k_offset)));
- mov_l_ri (PC_P, uae_ptr32(comp_pc_p));
+ mov_l_ri (PC_P, uae_p32(comp_pc_p));
/* Now they are both constant. Might as well fold in m68k_pc_offset */
add_l_ri (S1, m68k_pc_offset);
case 4: /* FMOVE.L <EA>, ControlReg */
if (!(opcode & 0x30)) { /* Dn or An */
if (extra & 0x1000) { /* FPCR */
- mov_l_mr (uae_ptr32(®s.fpcr), opcode & 15);
+ mov_l_mr (uae_p32(®s.fpcr), opcode & 15);
#if USE_X86_FPUCW
mov_l_rr (S1, opcode & 15);
and_l_ri (S1, 0xf0);
- fldcw_m_indexed (S1, uae_ptr32(x86_fpucw));
+ fldcw_m_indexed (S1, uae_p32(x86_fpucw));
#endif
return;
}
// set_fpsr(m68k_dreg (regs, opcode & 15));
}
if (extra & 0x0400) { /* FPIAR */
- mov_l_mr (uae_ptr32(®s.fpiar), opcode & 15); return;
+ mov_l_mr (uae_p32(®s.fpiar), opcode & 15); return;
}
}
else if ((opcode & 0x3f) == 0x3c) {
if (extra & 0x1000) { /* FPCR */
uae_u32 val = comp_get_ilong ((m68k_pc_offset += 4) - 4);
- mov_l_mi (uae_ptr32(®s.fpcr), val);
+ mov_l_mi (uae_p32(®s.fpcr), val);
#if USE_X86_FPUCW
mov_l_ri (S1, val & 0xf0);
- fldcw_m_indexed (S1, uae_ptr32(x86_fpucw));
+ fldcw_m_indexed (S1, uae_p32(x86_fpucw));
#endif
return;
}
}
if (extra & 0x0400) { /* FPIAR */
uae_u32 val = comp_get_ilong ((m68k_pc_offset += 4) - 4);
- mov_l_mi (uae_ptr32(®s.fpiar), val);
+ mov_l_mi (uae_p32(®s.fpiar), val);
return;
}
}
case 5: /* FMOVE.L ControlReg, <EA> */
if (!(opcode & 0x30)) { /* Dn or An */
if (extra & 0x1000) { /* FPCR */
- mov_l_rm (opcode & 15, uae_ptr32(®s.fpcr)); return;
+ mov_l_rm (opcode & 15, uae_p32(®s.fpcr)); return;
}
if (extra & 0x0800) { /* FPSR */
FAIL (1);
return;
}
if (extra & 0x0400) { /* FPIAR */
- mov_l_rm (opcode & 15, uae_ptr32(®s.fpiar)); return;
+ mov_l_rm (opcode & 15, uae_p32(®s.fpiar)); return;
}
}
FAIL (1);
while (list) {
if (extra & 0x1000) { /* postincrement */
readword(ad,S2,S3);
- mov_w_mr((uae_ptr32(temp_fp))+8,S2);
+ mov_w_mr((uae_p32(temp_fp))+8,S2);
add_l_ri(ad,4);
readlong(ad,S2,S3);
mov_l_mr((uae_u32)(temp_fp)+4,S2);
mov_l_mr((uae_u32)(temp_fp)+4,S2);
sub_l_ri(ad,4);
readword(ad,S2,S3);
- mov_w_mr((uae_ptr32(temp_fp))+8,S2);
+ mov_w_mr((uae_p32(temp_fp))+8,S2);
fmov_ext_rm(fpp_movem_index2[list],(uae_u32)(temp_fp));
}
list = fpp_movem_next[list];
if ((ad = comp_fp_adr(opcode)) < 0) {FAIL(1);return;}
while (list) {
if (extra & 0x1000) { /* postincrement */
- fmov_ext_mr(uae_ptr32(temp_fp),fpp_movem_index2[list]);
- mov_w_rm(S2,uae_ptr32(temp_fp)+8);
+ fmov_ext_mr(uae_p32(temp_fp),fpp_movem_index2[list]);
+ mov_w_rm(S2,uae_p32(temp_fp)+8);
writeword_clobber(ad,S2,S3);
add_l_ri(ad,4);
- mov_l_rm(S2,uae_ptr32(temp_fp)+4);
+ mov_l_rm(S2,uae_p32(temp_fp)+4);
writelong_clobber(ad,S2,S3);
add_l_ri(ad,4);
- mov_l_rm(S2,uae_ptr32(temp_fp));
+ mov_l_rm(S2,uae_p32(temp_fp));
writelong_clobber(ad,S2,S3);
add_l_ri(ad,4);
} else { /* predecrement */
- fmov_ext_mr(uae_ptr32(temp_fp),fpp_movem_index2[list]);
+ fmov_ext_mr(uae_p32(temp_fp),fpp_movem_index2[list]);
sub_l_ri(ad,4);
- mov_l_rm(S2,uae_ptr32(temp_fp));
+ mov_l_rm(S2,uae_p32(temp_fp));
writelong_clobber(ad,S2,S3);
sub_l_ri(ad,4);
- mov_l_rm(S2,uae_ptr32(temp_fp)+4);
+ mov_l_rm(S2,uae_p32(temp_fp)+4);
writelong_clobber(ad,S2,S3);
sub_l_ri(ad,4);
- mov_w_rm(S2,uae_ptr32(temp_fp)+8);
+ mov_w_rm(S2,uae_p32(temp_fp)+8);
writeword_clobber(ad,S2,S3);
}
list = fpp_movem_next[list];
fmov_pi (dreg);
break;
case 0x0b:
- fmov_ext_rm (dreg, uae_ptr32(&xhex_l10_2));
+ fmov_ext_rm (dreg, uae_p32(&xhex_l10_2));
break;
case 0x0c:
- fmov_ext_rm (dreg, uae_ptr32(&xhex_exp_1));
+ fmov_ext_rm (dreg, uae_p32(&xhex_exp_1));
break;
case 0x0d:
fmov_log2_e (dreg);
break;
case 0x0e:
- fmov_ext_rm (dreg, uae_ptr32(&xhex_l10_e));
+ fmov_ext_rm (dreg, uae_p32(&xhex_l10_e));
break;
case 0x0f:
fmov_0 (dreg);
fmov_loge_2 (dreg);
break;
case 0x31:
- fmov_ext_rm (dreg, uae_ptr32(&xhex_ln_10));
+ fmov_ext_rm (dreg, uae_p32(&xhex_ln_10));
break;
case 0x32:
fmov_1 (dreg);
break;
case 0x33:
- fmovs_rm (dreg, uae_ptr32(&fp_1e1));
+ fmovs_rm (dreg, uae_p32(&fp_1e1));
break;
case 0x34:
- fmovs_rm (dreg, uae_ptr32(&fp_1e2));
+ fmovs_rm (dreg, uae_p32(&fp_1e2));
break;
case 0x35:
- fmovs_rm (dreg, uae_ptr32(&fp_1e4));
+ fmovs_rm (dreg, uae_p32(&fp_1e4));
break;
case 0x36:
- fmov_rm (dreg, uae_ptr32(&fp_1e8));
+ fmov_rm (dreg, uae_p32(&fp_1e8));
break;
case 0x37:
- fmov_ext_rm (dreg, uae_ptr32(&xhex_1e16));
+ fmov_ext_rm (dreg, uae_p32(&xhex_1e16));
break;
case 0x38:
- fmov_ext_rm (dreg, uae_ptr32(&xhex_1e32));
+ fmov_ext_rm (dreg, uae_p32(&xhex_1e32));
break;
case 0x39:
- fmov_ext_rm (dreg, uae_ptr32(&xhex_1e64));
+ fmov_ext_rm (dreg, uae_p32(&xhex_1e64));
break;
case 0x3a:
- fmov_ext_rm (dreg, uae_ptr32(&xhex_1e128));
+ fmov_ext_rm (dreg, uae_p32(&xhex_1e128));
break;
case 0x3b:
- fmov_ext_rm (dreg, uae_ptr32(&xhex_1e256));
+ fmov_ext_rm (dreg, uae_p32(&xhex_1e256));
break;
case 0x3c:
- fmov_ext_rm (dreg, uae_ptr32(&xhex_1e512));
+ fmov_ext_rm (dreg, uae_p32(&xhex_1e512));
break;
case 0x3d:
- fmov_ext_rm (dreg, uae_ptr32(&xhex_1e1024));
+ fmov_ext_rm (dreg, uae_p32(&xhex_1e1024));
break;
case 0x3e:
- fmov_ext_rm (dreg, uae_ptr32(&xhex_1e2048));
+ fmov_ext_rm (dreg, uae_p32(&xhex_1e2048));
break;
case 0x3f:
- fmov_ext_rm (dreg, uae_ptr32(&xhex_1e4096));
+ fmov_ext_rm (dreg, uae_p32(&xhex_1e4096));
break;
default:
FAIL (1);
frndint_rr (dreg, sreg); /* during the JIT compilation and not at runtime */
else {
mov_l_ri (S1, 0x10); /* extended round to zero */
- fldcw_m_indexed (S1, uae_ptr32(x86_fpucw));
+ fldcw_m_indexed (S1, uae_p32(x86_fpucw));
frndint_rr (dreg, sreg);
- mov_l_rm (S1, uae_ptr32(®s.fpcr));
+ mov_l_rm (S1, uae_p32(®s.fpcr));
and_l_ri (S1, 0xf0); /* restore control word */
- fldcw_m_indexed (S1, uae_ptr32(x86_fpucw));
+ fldcw_m_indexed (S1, uae_p32(x86_fpucw));
}
break;
#endif
#if USE_X86_FPUCW
if ((regs.fpcr & 0x30) != 0x10) { /* use round to zero */
mov_l_ri (S1, (regs.fpcr & 0xC0) | 0x10);
- fldcw_m_indexed (S1, uae_ptr32(x86_fpucw));
+ fldcw_m_indexed (S1, uae_p32(x86_fpucw));
facos_rr (dreg, sreg);
- mov_l_rm (S1, uae_ptr32(®s.fpcr));
+ mov_l_rm (S1, uae_p32(®s.fpcr));
and_l_ri (S1, 0xf0); /* restore control word */
- fldcw_m_indexed (S1, uae_ptr32(x86_fpucw));
+ fldcw_m_indexed (S1, uae_p32(x86_fpucw));
break;
}
#endif
fmov_rr (dreg, sreg);
}
else {
- fmovs_mr (uae_ptr32(temp_fp), sreg);
- fmovs_rm (dreg, uae_ptr32(temp_fp));
+ fmovs_mr (uae_p32(temp_fp), sreg);
+ fmovs_rm (dreg, uae_p32(temp_fp));
}
break;
case 0x44: /* FDMOVE */
fmov_rr (dreg, sreg);
}
else {
- fmov_mr (uae_ptr32(temp_fp), sreg);
- fmov_rm (dreg, uae_ptr32(temp_fp));
+ fmov_mr (uae_p32(temp_fp), sreg);
+ fmov_rm (dreg, uae_p32(temp_fp));
}
break;
case 0x41: /* FSSQRT */
fsqrt_rr (dreg, sreg);
else { /* if we have SINGLE presision, force DOUBLE */
mov_l_ri (S1, (regs.fpcr & 0x30) | 0x80);
- fldcw_m_indexed (S1, uae_ptr32(x86_fpucw));
+ fldcw_m_indexed (S1, uae_p32(x86_fpucw));
fsqrt_rr (dreg, sreg);
- mov_l_rm (S1, uae_ptr32(®s.fpcr));
+ mov_l_rm (S1, uae_p32(®s.fpcr));
and_l_ri (S1, 0xf0); /* restore control word */
- fldcw_m_indexed (S1, uae_ptr32(x86_fpucw));
+ fldcw_m_indexed (S1, uae_p32(x86_fpucw));
}
break;
}
fdiv_rr (dreg, sreg);
else { /* if we have SINGLE presision, force DOUBLE */
mov_l_ri (S1, (regs.fpcr & 0x30) | 0x80);
- fldcw_m_indexed (S1, uae_ptr32(x86_fpucw));
+ fldcw_m_indexed (S1, uae_p32(x86_fpucw));
fdiv_rr (dreg, sreg);
- mov_l_rm (S1, uae_ptr32(®s.fpcr));
+ mov_l_rm (S1, uae_p32(®s.fpcr));
and_l_ri (S1, 0xf0); /* restore control word */
- fldcw_m_indexed (S1, uae_ptr32(x86_fpucw));
+ fldcw_m_indexed (S1, uae_p32(x86_fpucw));
}
break;
}
fadd_rr (dreg, sreg);
else { /* if we have SINGLE presision, force DOUBLE */
mov_l_ri (S1, (regs.fpcr & 0x30) | 0x80);
- fldcw_m_indexed (S1, uae_ptr32(x86_fpucw));
+ fldcw_m_indexed (S1, uae_p32(x86_fpucw));
fadd_rr (dreg, sreg);
- mov_l_rm (S1, uae_ptr32(®s.fpcr));
+ mov_l_rm (S1, uae_p32(®s.fpcr));
and_l_ri (S1, 0xf0); /* restore control word */
- fldcw_m_indexed (S1, uae_ptr32(x86_fpucw));
+ fldcw_m_indexed (S1, uae_p32(x86_fpucw));
}
break;
}
fmul_rr (dreg, sreg);
else { /* if we have SINGLE presision, force DOUBLE */
mov_l_ri (S1, (regs.fpcr & 0x30) | 0x80);
- fldcw_m_indexed (S1, uae_ptr32(x86_fpucw));
+ fldcw_m_indexed (S1, uae_p32(x86_fpucw));
fmul_rr (dreg, sreg);
- mov_l_rm (S1, uae_ptr32(®s.fpcr));
+ mov_l_rm (S1, uae_p32(®s.fpcr));
and_l_ri (S1, 0xf0); /* restore control word */
- fldcw_m_indexed (S1, uae_ptr32(x86_fpucw));
+ fldcw_m_indexed (S1, uae_p32(x86_fpucw));
}
break;
}
fsub_rr (dreg, sreg);
else { /* if we have SINGLE presision, force DOUBLE */
mov_l_ri (S1, (regs.fpcr & 0x30) | 0x80);
- fldcw_m_indexed (S1, uae_ptr32(x86_fpucw));
+ fldcw_m_indexed (S1, uae_p32(x86_fpucw));
fsub_rr (dreg, sreg);
- mov_l_rm (S1, uae_ptr32(®s.fpcr));
+ mov_l_rm (S1, uae_p32(®s.fpcr));
and_l_ri (S1, 0xf0); /* restore control word */
- fldcw_m_indexed (S1, uae_ptr32(x86_fpucw));
+ fldcw_m_indexed (S1, uae_p32(x86_fpucw));
}
break;
}
uae_log("JIT: " format "\n", ##__VA_ARGS__);
#define jit_log2(format, ...)
-#define MEMBaseDiff uae_ptr32(NATMEM_OFFSET)
+#define MEMBaseDiff uae_p32(NATMEM_OFFSET)
#ifdef NATMEM_OFFSET
#define FIXED_ADDRESSING 1
else if (r==FLAGX)
raw_load_flagx(bestreg,r);
else {
- raw_mov_l_rm(bestreg,uae_ptr32(live.state[r].mem));
+ raw_mov_l_rm(bestreg,uae_p32(live.state[r].mem));
}
live.state[r].dirtysize=0;
set_status(r,CLEAN);
static inline int isinrom(uintptr addr)
{
#ifdef UAE
- return (addr >= uae_ptr32(kickmem_bank.baseaddr) &&
- addr < uae_ptr32(kickmem_bank.baseaddr + 8 * 65536));
+ return (addr >= uae_p32(kickmem_bank.baseaddr) &&
+ addr < uae_p32(kickmem_bank.baseaddr + 8 * 65536));
#else
return ((addr >= (uintptr)ROMBaseHost) && (addr < (uintptr)ROMBaseHost + ROMSize));
#endif
mov_l_rr(f,address);
shrl_l_ri(f,16); /* The index into the baseaddr table */
- mov_l_rm_indexed(f,uae_ptr32(baseaddr),f);
+ mov_l_rm_indexed(f,uae_p32(baseaddr),f);
if (address==source) { /* IBrowse does this! */
if (size > 1) {
mov_l_rr(f,address);
shrl_l_ri(f,16); /* The index into the mem bank table */
- mov_l_rm_indexed(f,uae_ptr32(mem_banks),f);
+ mov_l_rm_indexed(f,uae_p32(mem_banks),f);
/* Now f holds a pointer to the actual membank */
mov_l_rR(f,f,offset);
/* Now f holds the address of the b/w/lput function */
mov_l_rr(f,address);
shrl_l_ri(f,16); /* The index into the baseaddr table */
- mov_l_rm_indexed(f,uae_ptr32(baseaddr),f);
+ mov_l_rm_indexed(f,uae_p32(baseaddr),f);
/* f now holds the offset */
switch(size) {
mov_l_rr(f,address);
shrl_l_ri(f,16); /* The index into the mem bank table */
- mov_l_rm_indexed(f,uae_ptr32(mem_banks),f);
+ mov_l_rm_indexed(f,uae_p32(mem_banks),f);
/* Now f holds a pointer to the actual membank */
mov_l_rR(f,f,offset);
/* Now f holds the address of the b/w/lget function */
mov_l_rr(f,address);
mov_l_rr(dest,address); // gb-- nop if dest==address
shrl_l_ri(f,16);
- mov_l_rm_indexed(f,uae_ptr32(baseaddr),f);
+ mov_l_rm_indexed(f,uae_p32(baseaddr),f);
add_l(dest,f);
forget_about(tmp);
}
f=dest;
mov_l_rr(f,address);
shrl_l_ri(f,16); /* The index into the baseaddr bank table */
- mov_l_rm_indexed(dest,uae_ptr32(baseaddr),f);
+ mov_l_rm_indexed(dest,uae_p32(baseaddr),f);
add_l(dest,address);
and_l_ri (dest, ~1);
forget_about(tmp);
}
raw_dec_sp(stack_space);
r=REG_PC_TMP;
- raw_mov_l_rm(r,(uintptr)®s.pc_p);
+ raw_mov_l_rm(r, uae_p32(®s.pc_p));
raw_and_l_ri(r,TAGMASK);
- raw_jmp_m_indexed((uintptr)cache_tags,r,SIZEOF_VOID_P);
+ raw_jmp_m_indexed(uae_p32(cache_tags), r, SIZEOF_VOID_P);
/* now the exit points */
align_target(align_jumps);
if (need_to_preserve[i])
raw_pop_l_r(i);
}
- raw_jmp((uintptr)do_nothing);
+ raw_jmp(uae_p32(do_nothing));
align_target(align_jumps);
popall_execute_normal=get_target();
if (need_to_preserve[i])
raw_pop_l_r(i);
}
- raw_jmp((uintptr)execute_normal);
+ raw_jmp(uae_p32(execute_normal));
align_target(align_jumps);
popall_cache_miss=get_target();
if (need_to_preserve[i])
raw_pop_l_r(i);
}
- raw_jmp((uintptr)cache_miss);
+ raw_jmp(uae_p32(cache_miss));
align_target(align_jumps);
popall_recompile_block=get_target();
if (need_to_preserve[i])
raw_pop_l_r(i);
}
- raw_jmp((uintptr)recompile_block);
+ raw_jmp(uae_p32(recompile_block));
align_target(align_jumps);
popall_exec_nostats=get_target();
if (need_to_preserve[i])
raw_pop_l_r(i);
}
- raw_jmp((uintptr)exec_nostats);
+ raw_jmp(uae_p32(exec_nostats));
align_target(align_jumps);
popall_check_checksum=get_target();
if (need_to_preserve[i])
raw_pop_l_r(i);
}
- raw_jmp((uintptr)check_checksum);
+ raw_jmp(uae_p32(check_checksum));
#ifdef UAE
/* FIXME: write-protect popallspace? */
bi->handler=
bi->handler_to_use=(cpuop_func*)get_target();
- raw_cmp_l_mi(uae_ptr32(®s.pc_p),uae_ptr32(pc_hist[0].location));
- raw_jnz(uae_ptr32(popall_cache_miss));
+ raw_cmp_l_mi(uae_p32(®s.pc_p),uae_p32(pc_hist[0].location));
+ raw_jnz(uae_p32(popall_cache_miss));
/* This was 16 bytes on the x86, so now aligned on (n+1)*32 */
was_comp=0;
was_comp=0;
}
raw_mov_l_ri(REG_PAR1,(uae_u32)opcode);
- raw_mov_l_ri(REG_PAR2,uae_ptr32(®s));
+ raw_mov_l_ri(REG_PAR2,uae_p32(®s));
#if USE_NORMAL_CALLING_CONVENTION
raw_push_l_r(REG_PAR2);
raw_push_l_r(REG_PAR1);
raw_jz_b_oponly();
branchadd=(uae_s8*)get_target();
emit_byte(0);
- raw_sub_l_mi(uae_ptr32(&countdown),scaled_cycles(totcycles));
+ raw_sub_l_mi(uae_p32(&countdown),scaled_cycles(totcycles));
raw_jmp((uintptr)popall_do_nothing);
*branchadd=(uintptr)get_target()-(uintptr)branchadd-1;
}
/* predicted outcome */
tbi=get_blockinfo_addr_new((void*)t1,1);
match_states(tbi);
- raw_sub_l_mi(uae_ptr32(&countdown),scaled_cycles(totcycles));
+ raw_sub_l_mi(uae_p32(&countdown),scaled_cycles(totcycles));
raw_jcc_l_oponly(9);
tba=(uae_u32*)get_target();
emit_jmp_target(get_handler(t1));
match_states(tbi);
//flush(1); /* Can only get here if was_comp==1 */
- raw_sub_l_mi(uae_ptr32(&countdown),scaled_cycles(totcycles));
+ raw_sub_l_mi(uae_p32(&countdown),scaled_cycles(totcycles));
raw_jcc_l_oponly(9);
tba=(uae_u32*)get_target();
emit_jmp_target(get_handler(t2));
raw_and_l_ri(r,TAGMASK);
int r2 = (r==0) ? 1 : 0;
raw_mov_l_ri(r2,(uintptr)popall_do_nothing);
- raw_sub_l_mi(uae_ptr32(&countdown),scaled_cycles(totcycles));
+ raw_sub_l_mi(uae_p32(&countdown),scaled_cycles(totcycles));
#if USE_NEW_RTASM
raw_cmov_l_rm_indexed(r2,(uintptr)cache_tags,r,SIZEOF_VOID_P,9);
#else
tbi=get_blockinfo_addr_new((void*)(uintptr)v,1);
match_states(tbi);
- raw_sub_l_mi(uae_ptr32(&countdown),scaled_cycles(totcycles));
+ raw_sub_l_mi(uae_p32(&countdown),scaled_cycles(totcycles));
raw_jcc_l_oponly(9);
tba=(uae_u32*)get_target();
emit_jmp_target(get_handler(v));
raw_and_l_ri(r,TAGMASK);
int r2 = (r==0) ? 1 : 0;
raw_mov_l_ri(r2,(uintptr)popall_do_nothing);
- raw_sub_l_mi(uae_ptr32(&countdown),scaled_cycles(totcycles));
+ raw_sub_l_mi(uae_p32(&countdown),scaled_cycles(totcycles));
#if USE_NEW_RTASM
raw_cmov_l_rm_indexed(r2,(uintptr)cache_tags,r,SIZEOF_VOID_P,9);
#else
- raw_cmov_l_rm_indexed(r2,(uintptr)cache_tags,r,9);
+ raw_cmov_l_rm_indexed(r2, uae_p32(cache_tags),r,9);
#endif
raw_jmp_r(r2);
}