A64: Implement CLREX

This commit is contained in:
MerryMage 2018-02-13 12:23:04 +00:00
parent b7a2c1a7df
commit 2a6619d59c
2 changed files with 6 additions and 1 deletions

View file

@ -61,7 +61,7 @@ INST(SEVL, "SEVL", "11010
//INST(AUTIB_2, "AUTIB, AUTIB1716, AUTIBSP, AUTIBZ, AUTIZB", "1101010100000011001000-111-11111") //INST(AUTIB_2, "AUTIB, AUTIB1716, AUTIBSP, AUTIBZ, AUTIZB", "1101010100000011001000-111-11111")
//INST(ESB, "ESB", "11010101000000110010001000011111") //INST(ESB, "ESB", "11010101000000110010001000011111")
//INST(PSB, "PSB CSYNC", "11010101000000110010001000111111") //INST(PSB, "PSB CSYNC", "11010101000000110010001000111111")
//INST(CLREX, "CLREX", "11010101000000110011MMMM01011111") INST(CLREX, "CLREX", "11010101000000110011MMMM01011111")
INST(DSB, "DSB", "11010101000000110011MMMM10011111") INST(DSB, "DSB", "11010101000000110011MMMM10011111")
INST(DMB, "DMB", "11010101000000110011MMMM10111111") INST(DMB, "DMB", "11010101000000110011MMMM10111111")
//INST(ISB, "ISB", "11010101000000110011MMMM11011111") //INST(ISB, "ISB", "11010101000000110011MMMM11011111")

View file

@ -36,6 +36,11 @@ bool TranslatorVisitor::SEVL() {
return true; return true;
} }
bool TranslatorVisitor::CLREX(Imm<4> /*CRm*/) {
ir.ClearExclusive();
return true;
}
bool TranslatorVisitor::DSB(Imm<4> /*CRm*/) { bool TranslatorVisitor::DSB(Imm<4> /*CRm*/) {
ir.DataSynchronizationBarrier(); ir.DataSynchronizationBarrier();
return true; return true;