mirror of
https://github.com/xenia-project/xenia.git
synced 2025-12-06 07:12:03 +01:00
[a64] Refactor REV{32,64} to REV
Let the register type determine the reverse-size REV32 was also the wrong instruction to use.
This commit is contained in:
parent
2b3147b2ed
commit
4f5c640f3c
|
|
@ -642,7 +642,7 @@ struct LOAD_OFFSET_I32
|
||||||
auto addr_reg = ComputeMemoryAddressOffset(e, i.src1, i.src2);
|
auto addr_reg = ComputeMemoryAddressOffset(e, i.src1, i.src2);
|
||||||
if (i.instr->flags & LoadStoreFlags::LOAD_STORE_BYTE_SWAP) {
|
if (i.instr->flags & LoadStoreFlags::LOAD_STORE_BYTE_SWAP) {
|
||||||
e.LDR(i.dest, addr_reg);
|
e.LDR(i.dest, addr_reg);
|
||||||
e.REV32(i.dest.reg().toX(), i.dest.reg().toX());
|
e.REV(i.dest.reg().toX(), i.dest.reg().toX());
|
||||||
} else {
|
} else {
|
||||||
e.LDR(i.dest, addr_reg);
|
e.LDR(i.dest, addr_reg);
|
||||||
}
|
}
|
||||||
|
|
@ -655,7 +655,7 @@ struct LOAD_OFFSET_I64
|
||||||
auto addr_reg = ComputeMemoryAddressOffset(e, i.src1, i.src2);
|
auto addr_reg = ComputeMemoryAddressOffset(e, i.src1, i.src2);
|
||||||
if (i.instr->flags & LoadStoreFlags::LOAD_STORE_BYTE_SWAP) {
|
if (i.instr->flags & LoadStoreFlags::LOAD_STORE_BYTE_SWAP) {
|
||||||
e.LDR(i.dest, addr_reg);
|
e.LDR(i.dest, addr_reg);
|
||||||
e.REV64(i.dest, i.dest);
|
e.REV(i.dest, i.dest);
|
||||||
} else {
|
} else {
|
||||||
e.LDR(i.dest, addr_reg);
|
e.LDR(i.dest, addr_reg);
|
||||||
}
|
}
|
||||||
|
|
@ -774,7 +774,7 @@ struct LOAD_I32 : Sequence<LOAD_I32, I<OPCODE_LOAD, I32Op, I64Op>> {
|
||||||
auto addr_reg = ComputeMemoryAddress(e, i.src1);
|
auto addr_reg = ComputeMemoryAddress(e, i.src1);
|
||||||
if (i.instr->flags & LoadStoreFlags::LOAD_STORE_BYTE_SWAP) {
|
if (i.instr->flags & LoadStoreFlags::LOAD_STORE_BYTE_SWAP) {
|
||||||
e.LDR(i.dest, addr_reg);
|
e.LDR(i.dest, addr_reg);
|
||||||
e.REV32(i.dest.reg().toX(), i.dest.reg().toX());
|
e.REV(i.dest, i.dest);
|
||||||
} else {
|
} else {
|
||||||
e.LDR(i.dest, addr_reg);
|
e.LDR(i.dest, addr_reg);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue