aboutsummaryrefslogtreecommitdiff
path: root/opcodes/or1k-opc.c
diff options
context:
space:
mode:
Diffstat (limited to 'opcodes/or1k-opc.c')
-rw-r--r--opcodes/or1k-opc.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/opcodes/or1k-opc.c b/opcodes/or1k-opc.c
index 1ec127f..3e1df59 100644
--- a/opcodes/or1k-opc.c
+++ b/opcodes/or1k-opc.c
@@ -59,6 +59,10 @@ static const CGEN_IFMT ifmt_l_trap ATTRIBUTE_UNUSED = {
32, 32, 0xffff0000, { { F (F_OPCODE) }, { F (F_OP_25_5) }, { F (F_RESV_20_5) }, { F (F_UIMM16) }, { 0 } }
};
+static const CGEN_IFMT ifmt_l_msync ATTRIBUTE_UNUSED = {
+ 32, 32, 0xffffffff, { { F (F_OPCODE) }, { F (F_OP_25_5) }, { F (F_RESV_20_21) }, { 0 } }
+};
+
static const CGEN_IFMT ifmt_l_rfe ATTRIBUTE_UNUSED = {
32, 32, 0xffffffff, { { F (F_OPCODE) }, { F (F_RESV_25_26) }, { 0 } }
};
@@ -226,6 +230,24 @@ static const CGEN_OPCODE or1k_cgen_insn_opcode_table[MAX_INSNS] =
{ { MNEM, ' ', OP (UIMM16), 0 } },
& ifmt_l_trap, { 0x20000000 }
},
+/* l.msync */
+ {
+ { 0, 0, 0, 0 },
+ { { MNEM, 0 } },
+ & ifmt_l_msync, { 0x22000000 }
+ },
+/* l.psync */
+ {
+ { 0, 0, 0, 0 },
+ { { MNEM, 0 } },
+ & ifmt_l_msync, { 0x22800000 }
+ },
+/* l.csync */
+ {
+ { 0, 0, 0, 0 },
+ { { MNEM, 0 } },
+ & ifmt_l_msync, { 0x23000000 }
+ },
/* l.rfe */
{
{ 0, 0, 0, 0 },