A32: Merge ArmTranslateVistor and ThumbTranslateVisitor

This commit is contained in:
MerryMage
2021-05-03 22:20:05 +01:00
parent 6d292e3eac
commit cd837c5b37
51 changed files with 1635 additions and 1729 deletions

View File

@@ -3,11 +3,11 @@
* SPDX-License-Identifier: 0BSD
*/
#include "frontend/A32/translate/impl/translate_thumb.h"
#include "frontend/A32/translate/impl/translate.h"
namespace Dynarmic::A32 {
bool ThumbTranslatorVisitor::thumb32_BXJ(Reg m) {
bool TranslatorVisitor::thumb32_BXJ(Reg m) {
if (m == Reg::PC) {
return UnpredictableInstruction();
}
@@ -15,22 +15,22 @@ bool ThumbTranslatorVisitor::thumb32_BXJ(Reg m) {
return thumb16_BX(m);
}
bool ThumbTranslatorVisitor::thumb32_CLREX() {
bool TranslatorVisitor::thumb32_CLREX() {
ir.ClearExclusive();
return true;
}
bool ThumbTranslatorVisitor::thumb32_DMB([[maybe_unused]] Imm<4> option) {
bool TranslatorVisitor::thumb32_DMB(Imm<4> /*option*/) {
ir.DataMemoryBarrier();
return true;
}
bool ThumbTranslatorVisitor::thumb32_DSB([[maybe_unused]] Imm<4> option) {
bool TranslatorVisitor::thumb32_DSB(Imm<4> /*option*/) {
ir.DataSynchronizationBarrier();
return true;
}
bool ThumbTranslatorVisitor::thumb32_ISB([[maybe_unused]] Imm<4> option) {
bool TranslatorVisitor::thumb32_ISB(Imm<4> /*option*/) {
ir.InstructionSynchronizationBarrier();
ir.UpdateUpperLocationDescriptor();
ir.BranchWritePC(ir.Imm32(ir.current_location.PC() + 4));
@@ -38,31 +38,31 @@ bool ThumbTranslatorVisitor::thumb32_ISB([[maybe_unused]] Imm<4> option) {
return false;
}
bool ThumbTranslatorVisitor::thumb32_NOP() {
bool TranslatorVisitor::thumb32_NOP() {
return thumb16_NOP();
}
bool ThumbTranslatorVisitor::thumb32_SEV() {
bool TranslatorVisitor::thumb32_SEV() {
return thumb16_SEV();
}
bool ThumbTranslatorVisitor::thumb32_SEVL() {
bool TranslatorVisitor::thumb32_SEVL() {
return thumb16_SEVL();
}
bool ThumbTranslatorVisitor::thumb32_UDF() {
bool TranslatorVisitor::thumb32_UDF() {
return thumb16_UDF();
}
bool ThumbTranslatorVisitor::thumb32_WFE() {
bool TranslatorVisitor::thumb32_WFE() {
return thumb16_WFE();
}
bool ThumbTranslatorVisitor::thumb32_WFI() {
bool TranslatorVisitor::thumb32_WFI() {
return thumb16_WFI();
}
bool ThumbTranslatorVisitor::thumb32_YIELD() {
bool TranslatorVisitor::thumb32_YIELD() {
return thumb16_YIELD();
}