[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:
Wunkolo 2024-05-06 12:57:16 -07:00
parent 2b3147b2ed
commit 4f5c640f3c
1 changed files with 3 additions and 3 deletions

View File

@ -642,7 +642,7 @@ struct LOAD_OFFSET_I32
auto addr_reg = ComputeMemoryAddressOffset(e, i.src1, i.src2);
if (i.instr->flags & LoadStoreFlags::LOAD_STORE_BYTE_SWAP) {
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 {
e.LDR(i.dest, addr_reg);
}
@ -655,7 +655,7 @@ struct LOAD_OFFSET_I64
auto addr_reg = ComputeMemoryAddressOffset(e, i.src1, i.src2);
if (i.instr->flags & LoadStoreFlags::LOAD_STORE_BYTE_SWAP) {
e.LDR(i.dest, addr_reg);
e.REV64(i.dest, i.dest);
e.REV(i.dest, i.dest);
} else {
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);
if (i.instr->flags & LoadStoreFlags::LOAD_STORE_BYTE_SWAP) {
e.LDR(i.dest, addr_reg);
e.REV32(i.dest.reg().toX(), i.dest.reg().toX());
e.REV(i.dest, i.dest);
} else {
e.LDR(i.dest, addr_reg);
}