diff --git a/src/frontend/A32/decoder/thumb32.inc b/src/frontend/A32/decoder/thumb32.inc index 2d452b85..f8d215a8 100644 --- a/src/frontend/A32/decoder/thumb32.inc +++ b/src/frontend/A32/decoder/thumb32.inc @@ -97,7 +97,7 @@ INST(thumb32_MOVT, "MOVT", "11110i101100iiii0iiidd INST(thumb32_NOP, "NOP", "11110011101011111000000000000000") 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_SEV, "SEV", "111100111010----10-0-00000000100") //INST(thumb32_SEVL, "SEVL", "111100111010----10-0-00000000101") diff --git a/src/frontend/A32/translate/impl/thumb32_control.cpp b/src/frontend/A32/translate/impl/thumb32_control.cpp index 1578a60a..463cbe94 100644 --- a/src/frontend/A32/translate/impl/thumb32_control.cpp +++ b/src/frontend/A32/translate/impl/thumb32_control.cpp @@ -38,6 +38,10 @@ bool ThumbTranslatorVisitor::thumb32_UDF() { return thumb16_UDF(); } +bool ThumbTranslatorVisitor::thumb32_WFE() { + return thumb16_WFE(); +} + bool ThumbTranslatorVisitor::thumb32_YIELD() { return thumb16_YIELD(); } diff --git a/src/frontend/A32/translate/impl/translate_thumb.h b/src/frontend/A32/translate/impl/translate_thumb.h index b185c852..171b81f5 100644 --- a/src/frontend/A32/translate/impl/translate_thumb.h +++ b/src/frontend/A32/translate/impl/translate_thumb.h @@ -170,6 +170,7 @@ struct ThumbTranslatorVisitor final { bool thumb32_ISB(Imm<4> option); bool thumb32_NOP(); bool thumb32_UDF(); + bool thumb32_WFE(); bool thumb32_YIELD(); // thumb32 branch instructions