mirror of
https://github.com/dingusdev/dingusppc.git
synced 2024-05-28 17:41:40 +00:00
ppcopcodes: Cleanup 3.
This commit is contained in:
parent
58ed5bb56e
commit
b9c12e44a4
|
@ -121,7 +121,7 @@ void dppc_interpreter::ppc_addic() {
|
||||||
}
|
}
|
||||||
|
|
||||||
template void dppc_interpreter::ppc_addic<RC0>();
|
template void dppc_interpreter::ppc_addic<RC0>();
|
||||||
template void dppc_interpreter::ppc_addic<RC1>();;
|
template void dppc_interpreter::ppc_addic<RC1>();
|
||||||
|
|
||||||
template <field_carry carry, field_rc rec, field_ov ov>
|
template <field_carry carry, field_rc rec, field_ov ov>
|
||||||
void dppc_interpreter::ppc_add() {
|
void dppc_interpreter::ppc_add() {
|
||||||
|
@ -428,7 +428,7 @@ void dppc_interpreter::ppc_neg() {
|
||||||
ppc_store_iresult_reg(reg_d, ppc_result_d);
|
ppc_store_iresult_reg(reg_d, ppc_result_d);
|
||||||
}
|
}
|
||||||
|
|
||||||
template void dppc_interpreter::ppc_neg<RC0, OV0>();;
|
template void dppc_interpreter::ppc_neg<RC0, OV0>();
|
||||||
template void dppc_interpreter::ppc_neg<RC0, OV1>();
|
template void dppc_interpreter::ppc_neg<RC0, OV1>();
|
||||||
template void dppc_interpreter::ppc_neg<RC1, OV0>();
|
template void dppc_interpreter::ppc_neg<RC1, OV0>();
|
||||||
template void dppc_interpreter::ppc_neg<RC1, OV1>();
|
template void dppc_interpreter::ppc_neg<RC1, OV1>();
|
||||||
|
@ -461,7 +461,7 @@ void dppc_interpreter::ppc_cntlzw() {
|
||||||
}
|
}
|
||||||
|
|
||||||
template void dppc_interpreter::ppc_cntlzw<RC0>();
|
template void dppc_interpreter::ppc_cntlzw<RC0>();
|
||||||
template void dppc_interpreter::ppc_cntlzw<RC1>();;
|
template void dppc_interpreter::ppc_cntlzw<RC1>();
|
||||||
|
|
||||||
template <field_rc rec>
|
template <field_rc rec>
|
||||||
void dppc_interpreter::ppc_mulhwu() {
|
void dppc_interpreter::ppc_mulhwu() {
|
||||||
|
@ -476,7 +476,7 @@ void dppc_interpreter::ppc_mulhwu() {
|
||||||
}
|
}
|
||||||
|
|
||||||
template void dppc_interpreter::ppc_mulhwu<RC0>();
|
template void dppc_interpreter::ppc_mulhwu<RC0>();
|
||||||
template void dppc_interpreter::ppc_mulhwu<RC1>();;
|
template void dppc_interpreter::ppc_mulhwu<RC1>();
|
||||||
|
|
||||||
template <field_rc rec>
|
template <field_rc rec>
|
||||||
void dppc_interpreter::ppc_mulhw() {
|
void dppc_interpreter::ppc_mulhw() {
|
||||||
|
@ -491,7 +491,7 @@ void dppc_interpreter::ppc_mulhw() {
|
||||||
}
|
}
|
||||||
|
|
||||||
template void dppc_interpreter::ppc_mulhw<RC0>();
|
template void dppc_interpreter::ppc_mulhw<RC0>();
|
||||||
template void dppc_interpreter::ppc_mulhw<RC1>();;
|
template void dppc_interpreter::ppc_mulhw<RC1>();
|
||||||
|
|
||||||
template <field_rc rec, field_ov ov>
|
template <field_rc rec, field_ov ov>
|
||||||
void dppc_interpreter::ppc_mullw() {
|
void dppc_interpreter::ppc_mullw() {
|
||||||
|
@ -557,7 +557,7 @@ void dppc_interpreter::ppc_divw() {
|
||||||
ppc_store_iresult_reg(reg_d, ppc_result_d);
|
ppc_store_iresult_reg(reg_d, ppc_result_d);
|
||||||
}
|
}
|
||||||
|
|
||||||
template void dppc_interpreter::ppc_divw<RC0, OV0>();;
|
template void dppc_interpreter::ppc_divw<RC0, OV0>();
|
||||||
template void dppc_interpreter::ppc_divw<RC0, OV1>();
|
template void dppc_interpreter::ppc_divw<RC0, OV1>();
|
||||||
template void dppc_interpreter::ppc_divw<RC1, OV0>();
|
template void dppc_interpreter::ppc_divw<RC1, OV0>();
|
||||||
template void dppc_interpreter::ppc_divw<RC1, OV1>();
|
template void dppc_interpreter::ppc_divw<RC1, OV1>();
|
||||||
|
@ -588,7 +588,7 @@ void dppc_interpreter::ppc_divwu() {
|
||||||
ppc_store_iresult_reg(reg_d, ppc_result_d);
|
ppc_store_iresult_reg(reg_d, ppc_result_d);
|
||||||
}
|
}
|
||||||
|
|
||||||
template void dppc_interpreter::ppc_divwu<RC0, OV0>();;
|
template void dppc_interpreter::ppc_divwu<RC0, OV0>();
|
||||||
template void dppc_interpreter::ppc_divwu<RC0, OV1>();
|
template void dppc_interpreter::ppc_divwu<RC0, OV1>();
|
||||||
template void dppc_interpreter::ppc_divwu<RC1, OV0>();
|
template void dppc_interpreter::ppc_divwu<RC1, OV0>();
|
||||||
template void dppc_interpreter::ppc_divwu<RC1, OV1>();
|
template void dppc_interpreter::ppc_divwu<RC1, OV1>();
|
||||||
|
@ -643,7 +643,7 @@ void dppc_interpreter::ppc_sraw() {
|
||||||
}
|
}
|
||||||
|
|
||||||
template void dppc_interpreter::ppc_sraw<RC0>();
|
template void dppc_interpreter::ppc_sraw<RC0>();
|
||||||
template void dppc_interpreter::ppc_sraw<RC1>();;
|
template void dppc_interpreter::ppc_sraw<RC1>();
|
||||||
|
|
||||||
template <field_rc rec>
|
template <field_rc rec>
|
||||||
void dppc_interpreter::ppc_srawi() {
|
void dppc_interpreter::ppc_srawi() {
|
||||||
|
@ -665,7 +665,7 @@ void dppc_interpreter::ppc_srawi() {
|
||||||
}
|
}
|
||||||
|
|
||||||
template void dppc_interpreter::ppc_srawi<RC0>();
|
template void dppc_interpreter::ppc_srawi<RC0>();
|
||||||
template void dppc_interpreter::ppc_srawi<RC1>();;
|
template void dppc_interpreter::ppc_srawi<RC1>();
|
||||||
|
|
||||||
/** mask generator for rotate and shift instructions (§ 4.2.1.4 PowerpC PEM) */
|
/** mask generator for rotate and shift instructions (§ 4.2.1.4 PowerpC PEM) */
|
||||||
static inline uint32_t rot_mask(unsigned rot_mb, unsigned rot_me) {
|
static inline uint32_t rot_mask(unsigned rot_mb, unsigned rot_me) {
|
||||||
|
@ -1641,7 +1641,7 @@ void dppc_interpreter::ppc_lha() {
|
||||||
ppc_grab_regsda(ppc_cur_instruction);
|
ppc_grab_regsda(ppc_cur_instruction);
|
||||||
ppc_effective_address = int32_t(int16_t(ppc_cur_instruction));
|
ppc_effective_address = int32_t(int16_t(ppc_cur_instruction));
|
||||||
ppc_effective_address += (reg_a ? ppc_result_a : 0);
|
ppc_effective_address += (reg_a ? ppc_result_a : 0);
|
||||||
int16_t val = mmu_read_vmem<uint16_t>(ppc_effective_address);
|
int16_t val = mmu_read_vmem<uint16_t>(ppc_effective_address);
|
||||||
ppc_store_iresult_reg(reg_d, int32_t(val));
|
ppc_store_iresult_reg(reg_d, int32_t(val));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1653,7 +1653,7 @@ void dppc_interpreter::ppc_lhau() {
|
||||||
if ((reg_a != reg_d) && reg_a != 0) {
|
if ((reg_a != reg_d) && reg_a != 0) {
|
||||||
ppc_effective_address = int32_t(int16_t(ppc_cur_instruction));
|
ppc_effective_address = int32_t(int16_t(ppc_cur_instruction));
|
||||||
ppc_effective_address += ppc_result_a;
|
ppc_effective_address += ppc_result_a;
|
||||||
int16_t val = mmu_read_vmem<uint16_t>(ppc_effective_address);
|
int16_t val = mmu_read_vmem<uint16_t>(ppc_effective_address);
|
||||||
ppc_store_iresult_reg(reg_d, int32_t(val));
|
ppc_store_iresult_reg(reg_d, int32_t(val));
|
||||||
uint32_t ppc_result_a = ppc_effective_address;
|
uint32_t ppc_result_a = ppc_effective_address;
|
||||||
ppc_store_iresult_reg(reg_a, ppc_result_a);
|
ppc_store_iresult_reg(reg_a, ppc_result_a);
|
||||||
|
@ -1669,7 +1669,7 @@ void dppc_interpreter::ppc_lhaux() {
|
||||||
ppc_grab_regsdab(ppc_cur_instruction);
|
ppc_grab_regsdab(ppc_cur_instruction);
|
||||||
if ((reg_a != reg_d) && reg_a != 0) {
|
if ((reg_a != reg_d) && reg_a != 0) {
|
||||||
ppc_effective_address = ppc_result_a + ppc_result_b;
|
ppc_effective_address = ppc_result_a + ppc_result_b;
|
||||||
int16_t val = mmu_read_vmem<uint16_t>(ppc_effective_address);
|
int16_t val = mmu_read_vmem<uint16_t>(ppc_effective_address);
|
||||||
ppc_store_iresult_reg(reg_d, int32_t(val));
|
ppc_store_iresult_reg(reg_d, int32_t(val));
|
||||||
uint32_t ppc_result_a = ppc_effective_address;
|
uint32_t ppc_result_a = ppc_effective_address;
|
||||||
ppc_store_iresult_reg(reg_a, ppc_result_a);
|
ppc_store_iresult_reg(reg_a, ppc_result_a);
|
||||||
|
@ -1685,7 +1685,7 @@ void dppc_interpreter::ppc_lhax() {
|
||||||
#endif
|
#endif
|
||||||
ppc_grab_regsdab(ppc_cur_instruction);
|
ppc_grab_regsdab(ppc_cur_instruction);
|
||||||
ppc_effective_address = ppc_result_b + (reg_a ? ppc_result_a : 0);
|
ppc_effective_address = ppc_result_b + (reg_a ? ppc_result_a : 0);
|
||||||
int16_t val = mmu_read_vmem<uint16_t>(ppc_effective_address);
|
int16_t val = mmu_read_vmem<uint16_t>(ppc_effective_address);
|
||||||
ppc_store_iresult_reg(reg_d, int32_t(val));
|
ppc_store_iresult_reg(reg_d, int32_t(val));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user