case 0: /* Dn */
switch (size) {
case 0: /* Long */
- mov_l_mr ((uae_u32) temp_fp, reg);
- fmovi_rm (treg, (uae_u32) temp_fp);
+ mov_l_mr (uae_ptr32(temp_fp), reg);
+ fmovi_rm (treg, uae_ptr32(temp_fp));
return 2;
case 1: /* Single */
- mov_l_mr ((uae_u32) temp_fp, reg);
- fmovs_rm (treg, (uae_u32) temp_fp);
+ mov_l_mr (uae_ptr32(temp_fp), reg);
+ fmovs_rm (treg, uae_ptr32(temp_fp));
return 1;
case 4: /* Word */
sign_extend_16_rr (S1, reg);
- mov_l_mr ((uae_u32) temp_fp, S1);
- fmovi_rm (treg, (uae_u32) temp_fp);
+ mov_l_mr (uae_ptr32(temp_fp), S1);
+ fmovi_rm (treg, uae_ptr32(temp_fp));
return 1;
case 6: /* Byte */
sign_extend_8_rr (S1, reg);
- mov_l_mr ((uae_u32) temp_fp, S1);
- fmovi_rm (treg, (uae_u32) temp_fp);
+ mov_l_mr (uae_ptr32(temp_fp), S1);
+ fmovi_rm (treg, uae_ptr32(temp_fp));
return 1;
default:
return -1;
if (li == (int)si) {
//write_log ("converted immediate LONG constant to SINGLE\n");
- mov_l_mi((uae_u32)temp_fp, *(uae_u32 *)&si);
- fmovs_rm(treg, (uae_u32)temp_fp);
+ mov_l_mi(uae_ptr32(temp_fp), *(uae_u32 *)&si);
+ fmovs_rm(treg, uae_ptr32(temp_fp));
return 1;
}
//write_log ("immediate LONG constant\n");
- mov_l_mi((uae_u32)temp_fp, *(uae_u32 *)&li);
- fmovi_rm(treg, (uae_u32)temp_fp);
+ mov_l_mi(uae_ptr32(temp_fp), *(uae_u32 *)&li);
+ fmovi_rm(treg, uae_ptr32(temp_fp));
return 2;
}
case 1:
//write_log (_T("immediate SINGLE constant\n"));
- mov_l_mi((uae_u32)temp_fp, comp_get_ilong(m68k_pc_offset - 4));
- fmovs_rm(treg, (uae_u32)temp_fp);
+ mov_l_mi(uae_ptr32(temp_fp), comp_get_ilong(m68k_pc_offset - 4));
+ fmovs_rm(treg, uae_ptr32(temp_fp));
return 1;
case 2:
//write_log (_T("immediate LONG DOUBLE constant\n"));
- mov_l_mi((uae_u32)temp_fp, comp_get_ilong(m68k_pc_offset - 4));
- mov_l_mi(((uae_u32)temp_fp) + 4, comp_get_ilong(m68k_pc_offset - 8));
- mov_l_mi(((uae_u32)temp_fp) + 8, (uae_u32)comp_get_iword(m68k_pc_offset - 12));
- fmov_ext_rm(treg, (uae_u32)temp_fp);
+ 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));
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_u32)temp_fp,*(uae_u32 *)&si);
- fmovs_rm(treg,(uae_u32)temp_fp);
+ mov_l_mi(uae_ptr32(temp_fp),*(uae_u32 *)&si);
+ fmovs_rm(treg,uae_ptr32(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_u32)temp_fp, *(uae_u32 *)&si);
- fmovs_rm(treg, (uae_u32)temp_fp);
+ mov_l_mi(uae_ptr32(temp_fp), *(uae_u32 *)&si);
+ fmovs_rm(treg, uae_ptr32(temp_fp));
return 1;
}
//write_log (_T("immediate DOUBLE constant\n"));
- mov_l_mi((uae_u32)temp_fp, longarray[0]);
- mov_l_mi(((uae_u32)temp_fp) + 4, longarray[1]);
- fmov_rm(treg, (uae_u32)temp_fp);
+ 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));
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_u32)temp_fp, *(uae_u32 *)&si);
- fmovs_rm(treg, (uae_u32)temp_fp);
+ mov_l_mi(uae_ptr32(temp_fp), *(uae_u32 *)&si);
+ fmovs_rm(treg, uae_ptr32(temp_fp));
return 1;
}
default: /* never reached */
switch (size) {
case 0: /* Long */
readlong (S1, S2, S3);
- mov_l_mr ((uae_u32) temp_fp, S2);
- fmovi_rm (treg, (uae_u32) temp_fp);
+ mov_l_mr (uae_ptr32(temp_fp), S2);
+ fmovi_rm (treg, uae_ptr32(temp_fp));
return 2;
case 1: /* Single */
readlong (S1, S2, S3);
- mov_l_mr ((uae_u32) temp_fp, S2);
- fmovs_rm (treg, (uae_u32) temp_fp);
+ mov_l_mr (uae_ptr32(temp_fp), S2);
+ fmovs_rm (treg, uae_ptr32(temp_fp));
return 1;
case 2: /* Long Double */
readword (S1, S2, S3);
- mov_w_mr (((uae_u32) temp_fp) + 8, S2);
+ mov_w_mr ((uae_ptr32(temp_fp)) + 8, S2);
add_l_ri (S1, 4);
readlong (S1, S2, S3);
- mov_l_mr (((uae_u32) temp_fp) + 4, S2);
+ mov_l_mr ((uae_ptr32(temp_fp)) + 4, S2);
add_l_ri (S1, 4);
readlong (S1, S2, S3);
- mov_l_mr (((uae_u32) temp_fp), S2);
- fmov_ext_rm (treg, (uae_u32) (temp_fp));
+ mov_l_mr ((uae_ptr32(temp_fp)), S2);
+ fmov_ext_rm (treg, uae_ptr32(temp_fp));
return 0;
case 4: /* Word */
readword (S1, S2, S3);
sign_extend_16_rr (S2, S2);
- mov_l_mr ((uae_u32) temp_fp, S2);
- fmovi_rm (treg, (uae_u32) temp_fp);
+ mov_l_mr (uae_ptr32(temp_fp), S2);
+ fmovi_rm (treg, uae_ptr32(temp_fp));
return 1;
case 5: /* Double */
readlong (S1, S2, S3);
- mov_l_mr (((uae_u32) temp_fp) + 4, S2);
+ mov_l_mr ((uae_ptr32(temp_fp)) + 4, S2);
add_l_ri (S1, 4);
readlong (S1, S2, S3);
- mov_l_mr (((uae_u32) temp_fp), S2);
- fmov_rm (treg, (uae_u32) temp_fp);
+ mov_l_mr ((uae_ptr32(temp_fp)), S2);
+ fmov_rm (treg, uae_ptr32(temp_fp));
return 2;
case 6: /* Byte */
readbyte (S1, S2, S3);
sign_extend_8_rr (S2, S2);
- mov_l_mr ((uae_u32) temp_fp, S2);
- fmovi_rm (treg, (uae_u32) temp_fp);
+ mov_l_mr (uae_ptr32(temp_fp), S2);
+ fmovi_rm (treg, uae_ptr32(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_u32)temp_fp,sreg, clamp_bounds.l);
- mov_l_rm(reg,(uae_u32)temp_fp);
+ fmovi_mrb(uae_ptr32(temp_fp),sreg, clamp_bounds.l);
+ mov_l_rm(reg,uae_ptr32(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_u32) temp_fp, sreg, clamp_bounds.l);
- mov_l_rm (reg, (uae_u32) temp_fp);
+ fmovi_mrb (uae_ptr32(temp_fp), sreg, clamp_bounds.l);
+ mov_l_rm (reg, uae_ptr32(temp_fp));
return 0;
case 1: /* FMOVE.S FPx, Dn */
- fmovs_mr ((uae_u32) temp_fp, sreg);
- mov_l_rm (reg, (uae_u32) temp_fp);
+ fmovs_mr (uae_ptr32(temp_fp), sreg);
+ mov_l_rm (reg, uae_ptr32(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_u32)temp_fp,sreg, clamp_bounds.w);
- mov_w_rm(reg,(uae_u32)temp_fp);
+ fmovi_mrb(uae_ptr32(temp_fp),sreg, clamp_bounds.w);
+ mov_w_rm(reg,uae_ptr32(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_u32) temp_fp, sreg, clamp_bounds.w);
- mov_w_rm (reg, (uae_u32) temp_fp);
+ fmovi_mrb (uae_ptr32(temp_fp), sreg, clamp_bounds.w);
+ mov_w_rm (reg, uae_ptr32(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_u32)temp_fp,sreg, clamp_bounds.b);
- mov_b_rm(reg,(uae_u32)temp_fp);
+ fmovi_mrb(uae_ptr32(temp_fp),sreg, clamp_bounds.b);
+ mov_b_rm(reg,uae_ptr32(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_u32) temp_fp, sreg, clamp_bounds.b);
- mov_b_rm (reg, (uae_u32) temp_fp);
+ fmovi_mrb (uae_ptr32(temp_fp), sreg, clamp_bounds.b);
+ mov_b_rm (reg, uae_ptr32(temp_fp));
return 0;
default:
return -1;
}
switch (size) {
case 0: /* Long */
- fmovi_mrb ((uae_u32) temp_fp, sreg, clamp_bounds.l);
- mov_l_rm (S2, (uae_u32) temp_fp);
+ fmovi_mrb (uae_ptr32(temp_fp), sreg, clamp_bounds.l);
+ mov_l_rm (S2, uae_ptr32(temp_fp));
writelong_clobber (S1, S2, S3);
return 0;
case 1: /* Single */
- fmovs_mr ((uae_u32) temp_fp, sreg);
- mov_l_rm (S2, (uae_u32) temp_fp);
+ fmovs_mr (uae_ptr32(temp_fp), sreg);
+ mov_l_rm (S2, uae_ptr32(temp_fp));
writelong_clobber (S1, S2, S3);
return 0;
case 2:/* Long Double */
- fmov_ext_mr ((uae_u32) temp_fp, sreg);
- mov_w_rm (S2, (uae_u32) temp_fp + 8);
+ fmov_ext_mr (uae_ptr32(temp_fp), sreg);
+ mov_w_rm (S2, uae_ptr32(temp_fp) + 8);
writeword_clobber (S1, S2, S3);
add_l_ri (S1, 4);
- mov_l_rm (S2, (uae_u32) temp_fp + 4);
+ mov_l_rm (S2, uae_ptr32(temp_fp) + 4);
writelong_clobber (S1, S2, S3);
add_l_ri (S1, 4);
- mov_l_rm (S2, (uae_u32) temp_fp);
+ mov_l_rm (S2, uae_ptr32(temp_fp));
writelong_clobber (S1, S2, S3);
return 0;
case 4: /* Word */
- fmovi_mrb ((uae_u32) temp_fp, sreg, clamp_bounds.w);
- mov_l_rm (S2, (uae_u32) temp_fp);
+ fmovi_mrb (uae_ptr32(temp_fp), sreg, clamp_bounds.w);
+ mov_l_rm (S2, uae_ptr32(temp_fp));
writeword_clobber (S1, S2, S3);
return 0;
case 5: /* Double */
- fmov_mr ((uae_u32) temp_fp, sreg);
- mov_l_rm (S2, (uae_u32) temp_fp + 4);
+ fmov_mr (uae_ptr32(temp_fp), sreg);
+ mov_l_rm (S2, uae_ptr32(temp_fp) + 4);
writelong_clobber (S1, S2, S3);
add_l_ri (S1, 4);
- mov_l_rm (S2, (uae_u32) temp_fp);
+ mov_l_rm (S2, uae_ptr32(temp_fp));
writelong_clobber (S1, S2, S3);
return 0;
case 6: /* Byte */
- fmovi_mrb ((uae_u32) temp_fp, sreg, clamp_bounds.b);
- mov_l_rm (S2, (uae_u32) temp_fp);
+ fmovi_mrb (uae_ptr32(temp_fp), sreg, clamp_bounds.b);
+ mov_l_rm (S2, uae_ptr32(temp_fp));
writebyte (S1, S2, S3);
return 0;
default:
else {
off = comp_get_ilong ((m68k_pc_offset += 4) - 4);
}
- mov_l_ri (S1, (uae_u32)
- (comp_pc_p + off - (m68k_pc_offset - start_68k_offset)));
- mov_l_ri (PC_P, (uae_u32) comp_pc_p);
+ mov_l_ri (S1, uae_ptr32(
+ comp_pc_p + off - (m68k_pc_offset - start_68k_offset)));
+ mov_l_ri (PC_P, uae_ptr32(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_u32) ®s.fpcr, opcode & 15);
+ mov_l_mr (uae_ptr32(®s.fpcr), opcode & 15);
#if USE_X86_FPUCW
mov_l_rr (S1, opcode & 15);
and_l_ri (S1, 0xf0);
- fldcw_m_indexed (S1, (uae_u32) x86_fpucw);
+ fldcw_m_indexed (S1, uae_ptr32(x86_fpucw));
#endif
return;
}
// set_fpsr(m68k_dreg (regs, opcode & 15));
}
if (extra & 0x0400) { /* FPIAR */
- mov_l_mr ((uae_u32) ®s.fpiar, opcode & 15); return;
+ mov_l_mr (uae_ptr32(®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_u32) ®s.fpcr, val);
+ mov_l_mi (uae_ptr32(®s.fpcr), val);
#if USE_X86_FPUCW
mov_l_ri (S1, val & 0xf0);
- fldcw_m_indexed (S1, (uae_u32) x86_fpucw);
+ fldcw_m_indexed (S1, uae_ptr32(x86_fpucw));
#endif
return;
}
}
if (extra & 0x0400) { /* FPIAR */
uae_u32 val = comp_get_ilong ((m68k_pc_offset += 4) - 4);
- mov_l_mi ((uae_u32) ®s.fpiar, val);
+ mov_l_mi (uae_ptr32(®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_u32) ®s.fpcr); return;
+ mov_l_rm (opcode & 15, uae_ptr32(®s.fpcr)); return;
}
if (extra & 0x0800) { /* FPSR */
FAIL (1);
return;
}
if (extra & 0x0400) { /* FPIAR */
- mov_l_rm (opcode & 15, (uae_u32) ®s.fpiar); return;
+ mov_l_rm (opcode & 15, uae_ptr32(®s.fpiar)); return;
}
}
FAIL (1);
while (list) {
if (extra & 0x1000) { /* postincrement */
readword(ad,S2,S3);
- mov_w_mr(((uae_u32)temp_fp)+8,S2);
+ mov_w_mr((uae_ptr32(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_u32)temp_fp)+8,S2);
+ mov_w_mr((uae_ptr32(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_u32)temp_fp,fpp_movem_index2[list]);
- mov_w_rm(S2,(uae_u32)temp_fp+8);
+ fmov_ext_mr(uae_ptr32(temp_fp),fpp_movem_index2[list]);
+ mov_w_rm(S2,uae_ptr32(temp_fp)+8);
writeword_clobber(ad,S2,S3);
add_l_ri(ad,4);
- mov_l_rm(S2,(uae_u32)temp_fp+4);
+ mov_l_rm(S2,uae_ptr32(temp_fp)+4);
writelong_clobber(ad,S2,S3);
add_l_ri(ad,4);
- mov_l_rm(S2,(uae_u32)temp_fp);
+ mov_l_rm(S2,uae_ptr32(temp_fp));
writelong_clobber(ad,S2,S3);
add_l_ri(ad,4);
} else { /* predecrement */
- fmov_ext_mr((uae_u32)temp_fp,fpp_movem_index2[list]);
+ fmov_ext_mr(uae_ptr32(temp_fp),fpp_movem_index2[list]);
sub_l_ri(ad,4);
- mov_l_rm(S2,(uae_u32)temp_fp);
+ mov_l_rm(S2,uae_ptr32(temp_fp));
writelong_clobber(ad,S2,S3);
sub_l_ri(ad,4);
- mov_l_rm(S2,(uae_u32)temp_fp+4);
+ mov_l_rm(S2,uae_ptr32(temp_fp)+4);
writelong_clobber(ad,S2,S3);
sub_l_ri(ad,4);
- mov_w_rm(S2,(uae_u32)temp_fp+8);
+ mov_w_rm(S2,uae_ptr32(temp_fp)+8);
writeword_clobber(ad,S2,S3);
}
list = fpp_movem_next[list];
fmov_pi (dreg);
break;
case 0x0b:
- fmov_ext_rm (dreg, (uae_u32) &xhex_l10_2);
+ fmov_ext_rm (dreg, uae_ptr32(&xhex_l10_2));
break;
case 0x0c:
- fmov_ext_rm (dreg, (uae_u32) &xhex_exp_1);
+ fmov_ext_rm (dreg, uae_ptr32(&xhex_exp_1));
break;
case 0x0d:
fmov_log2_e (dreg);
break;
case 0x0e:
- fmov_ext_rm (dreg, (uae_u32) &xhex_l10_e);
+ fmov_ext_rm (dreg, uae_ptr32(&xhex_l10_e));
break;
case 0x0f:
fmov_0 (dreg);
fmov_loge_2 (dreg);
break;
case 0x31:
- fmov_ext_rm (dreg, (uae_u32) &xhex_ln_10);
+ fmov_ext_rm (dreg, uae_ptr32(&xhex_ln_10));
break;
case 0x32:
fmov_1 (dreg);
break;
case 0x33:
- fmovs_rm (dreg, (uae_u32) &fp_1e1);
+ fmovs_rm (dreg, uae_ptr32(&fp_1e1));
break;
case 0x34:
- fmovs_rm (dreg, (uae_u32) &fp_1e2);
+ fmovs_rm (dreg, uae_ptr32(&fp_1e2));
break;
case 0x35:
- fmovs_rm (dreg, (uae_u32) &fp_1e4);
+ fmovs_rm (dreg, uae_ptr32(&fp_1e4));
break;
case 0x36:
- fmov_rm (dreg, (uae_u32) &fp_1e8);
+ fmov_rm (dreg, uae_ptr32(&fp_1e8));
break;
case 0x37:
- fmov_ext_rm (dreg, (uae_u32) &xhex_1e16);
+ fmov_ext_rm (dreg, uae_ptr32(&xhex_1e16));
break;
case 0x38:
- fmov_ext_rm (dreg, (uae_u32) &xhex_1e32);
+ fmov_ext_rm (dreg, uae_ptr32(&xhex_1e32));
break;
case 0x39:
- fmov_ext_rm (dreg, (uae_u32) &xhex_1e64);
+ fmov_ext_rm (dreg, uae_ptr32(&xhex_1e64));
break;
case 0x3a:
- fmov_ext_rm (dreg, (uae_u32) &xhex_1e128);
+ fmov_ext_rm (dreg, uae_ptr32(&xhex_1e128));
break;
case 0x3b:
- fmov_ext_rm (dreg, (uae_u32) &xhex_1e256);
+ fmov_ext_rm (dreg, uae_ptr32(&xhex_1e256));
break;
case 0x3c:
- fmov_ext_rm (dreg, (uae_u32) &xhex_1e512);
+ fmov_ext_rm (dreg, uae_ptr32(&xhex_1e512));
break;
case 0x3d:
- fmov_ext_rm (dreg, (uae_u32) &xhex_1e1024);
+ fmov_ext_rm (dreg, uae_ptr32(&xhex_1e1024));
break;
case 0x3e:
- fmov_ext_rm (dreg, (uae_u32) &xhex_1e2048);
+ fmov_ext_rm (dreg, uae_ptr32(&xhex_1e2048));
break;
case 0x3f:
- fmov_ext_rm (dreg, (uae_u32) &xhex_1e4096);
+ fmov_ext_rm (dreg, uae_ptr32(&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_u32) x86_fpucw);
+ fldcw_m_indexed (S1, uae_ptr32(x86_fpucw));
frndint_rr (dreg, sreg);
- mov_l_rm (S1, (uae_u32) ®s.fpcr);
+ mov_l_rm (S1, uae_ptr32(®s.fpcr));
and_l_ri (S1, 0xf0); /* restore control word */
- fldcw_m_indexed (S1, (uae_u32) x86_fpucw);
+ fldcw_m_indexed (S1, uae_ptr32(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_u32) x86_fpucw);
+ fldcw_m_indexed (S1, uae_ptr32(x86_fpucw));
facos_rr (dreg, sreg);
- mov_l_rm (S1, (uae_u32) ®s.fpcr);
+ mov_l_rm (S1, uae_ptr32(®s.fpcr));
and_l_ri (S1, 0xf0); /* restore control word */
- fldcw_m_indexed (S1, (uae_u32) x86_fpucw);
+ fldcw_m_indexed (S1, uae_ptr32(x86_fpucw));
break;
}
#endif
fmov_rr (dreg, sreg);
}
else {
- fmovs_mr ((uae_u32) temp_fp, sreg);
- fmovs_rm (dreg, (uae_u32) temp_fp);
+ fmovs_mr (uae_ptr32(temp_fp), sreg);
+ fmovs_rm (dreg, uae_ptr32(temp_fp));
}
break;
case 0x44: /* FDMOVE */
fmov_rr (dreg, sreg);
}
else {
- fmov_mr ((uae_u32) temp_fp, sreg);
- fmov_rm (dreg, (uae_u32) temp_fp);
+ fmov_mr (uae_ptr32(temp_fp), sreg);
+ fmov_rm (dreg, uae_ptr32(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_u32) x86_fpucw);
+ fldcw_m_indexed (S1, uae_ptr32(x86_fpucw));
fsqrt_rr (dreg, sreg);
- mov_l_rm (S1, (uae_u32) ®s.fpcr);
+ mov_l_rm (S1, uae_ptr32(®s.fpcr));
and_l_ri (S1, 0xf0); /* restore control word */
- fldcw_m_indexed (S1, (uae_u32) x86_fpucw);
+ fldcw_m_indexed (S1, uae_ptr32(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_u32) x86_fpucw);
+ fldcw_m_indexed (S1, uae_ptr32(x86_fpucw));
fdiv_rr (dreg, sreg);
- mov_l_rm (S1, (uae_u32) ®s.fpcr);
+ mov_l_rm (S1, uae_ptr32(®s.fpcr));
and_l_ri (S1, 0xf0); /* restore control word */
- fldcw_m_indexed (S1, (uae_u32) x86_fpucw);
+ fldcw_m_indexed (S1, uae_ptr32(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_u32) x86_fpucw);
+ fldcw_m_indexed (S1, uae_ptr32(x86_fpucw));
fadd_rr (dreg, sreg);
- mov_l_rm (S1, (uae_u32) ®s.fpcr);
+ mov_l_rm (S1, uae_ptr32(®s.fpcr));
and_l_ri (S1, 0xf0); /* restore control word */
- fldcw_m_indexed (S1, (uae_u32) x86_fpucw);
+ fldcw_m_indexed (S1, uae_ptr32(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_u32) x86_fpucw);
+ fldcw_m_indexed (S1, uae_ptr32(x86_fpucw));
fmul_rr (dreg, sreg);
- mov_l_rm (S1, (uae_u32) ®s.fpcr);
+ mov_l_rm (S1, uae_ptr32(®s.fpcr));
and_l_ri (S1, 0xf0); /* restore control word */
- fldcw_m_indexed (S1, (uae_u32) x86_fpucw);
+ fldcw_m_indexed (S1, uae_ptr32(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_u32) x86_fpucw);
+ fldcw_m_indexed (S1, uae_ptr32(x86_fpucw));
fsub_rr (dreg, sreg);
- mov_l_rm (S1, (uae_u32) ®s.fpcr);
+ mov_l_rm (S1, uae_ptr32(®s.fpcr));
and_l_ri (S1, 0xf0); /* restore control word */
- fldcw_m_indexed (S1, (uae_u32) x86_fpucw);
+ fldcw_m_indexed (S1, uae_ptr32(x86_fpucw));
}
break;
}