mirror of
https://git.suyu.dev/suyu/dynarmic.git
synced 2026-03-10 10:42:57 +00:00
A32: Merge ArmTranslateVistor and ThumbTranslateVisitor
This commit is contained in:
@@ -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();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user