Merge pull request #578 from lioncash/hint

thumb32: Implement hint instructions
This commit is contained in:
merry 2021-02-22 14:31:49 +00:00 committed by GitHub
commit e753b223e2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 36 additions and 6 deletions

View file

@ -95,12 +95,12 @@ INST(thumb32_MOVT, "MOVT", "11110i101100iiii0iiidd
//INST(thumb32_MSR_reg_3, "MSR (reg)", "111100111000----10-0--1---0-----") //INST(thumb32_MSR_reg_3, "MSR (reg)", "111100111000----10-0--1---0-----")
//INST(thumb32_MSR_reg_4, "MSR (reg)", "111100111000----10-0--00--0-----") //INST(thumb32_MSR_reg_4, "MSR (reg)", "111100111000----10-0--00--0-----")
//INST(thumb32_NOP, "NOP", "111100111010----10-0-00000000000") INST(thumb32_NOP, "NOP", "11110011101011111000000000000000")
//INST(thumb32_YIELD, "YIELD", "111100111010----10-0-00000000001") INST(thumb32_YIELD, "YIELD", "11110011101011111000000000000001")
//INST(thumb32_WFE, "WFE", "111100111010----10-0-00000000010") INST(thumb32_WFE, "WFE", "11110011101011111000000000000010")
//INST(thumb32_WFI, "WFI", "111100111010----10-0-00000000011") INST(thumb32_WFI, "WFI", "11110011101011111000000000000011")
//INST(thumb32_SEV, "SEV", "111100111010----10-0-00000000100") INST(thumb32_SEV, "SEV", "11110011101011111000000000000100")
//INST(thumb32_SEVL, "SEVL", "111100111010----10-0-00000000101") INST(thumb32_SEVL, "SEVL", "11110011101011111000000000000101")
//INST(thumb32_DBG, "DBG", "111100111010----10-0-0001111----") //INST(thumb32_DBG, "DBG", "111100111010----10-0-0001111----")
//INST(thumb32_CPS, "CPS", "111100111010----10-0------------") //INST(thumb32_CPS, "CPS", "111100111010----10-0------------")

View file

@ -30,8 +30,32 @@ bool ThumbTranslatorVisitor::thumb32_ISB([[maybe_unused]] Imm<4> option) {
return false; return false;
} }
bool ThumbTranslatorVisitor::thumb32_NOP() {
return thumb16_NOP();
}
bool ThumbTranslatorVisitor::thumb32_SEV() {
return thumb16_SEV();
}
bool ThumbTranslatorVisitor::thumb32_SEVL() {
return thumb16_SEVL();
}
bool ThumbTranslatorVisitor::thumb32_UDF() { bool ThumbTranslatorVisitor::thumb32_UDF() {
return thumb16_UDF(); return thumb16_UDF();
} }
bool ThumbTranslatorVisitor::thumb32_WFE() {
return thumb16_WFE();
}
bool ThumbTranslatorVisitor::thumb32_WFI() {
return thumb16_WFI();
}
bool ThumbTranslatorVisitor::thumb32_YIELD() {
return thumb16_YIELD();
}
} // namespace Dynarmic::A32 } // namespace Dynarmic::A32

View file

@ -168,7 +168,13 @@ struct ThumbTranslatorVisitor final {
bool thumb32_DMB(Imm<4> option); bool thumb32_DMB(Imm<4> option);
bool thumb32_DSB(Imm<4> option); bool thumb32_DSB(Imm<4> option);
bool thumb32_ISB(Imm<4> option); bool thumb32_ISB(Imm<4> option);
bool thumb32_NOP();
bool thumb32_SEV();
bool thumb32_SEVL();
bool thumb32_UDF(); bool thumb32_UDF();
bool thumb32_WFE();
bool thumb32_WFI();
bool thumb32_YIELD();
// thumb32 branch instructions // thumb32 branch instructions
bool thumb32_BL_imm(Imm<1> S, Imm<10> hi, Imm<1> j1, Imm<1> j2, Imm<11> lo); bool thumb32_BL_imm(Imm<1> S, Imm<10> hi, Imm<1> j1, Imm<1> j2, Imm<11> lo);