ARM: Implement the mrc and mcr instructions.
authorGabe Black <gblack@eecs.umich.edu>
Wed, 2 Jun 2010 17:58:08 +0000 (12:58 -0500)
committerGabe Black <gblack@eecs.umich.edu>
Wed, 2 Jun 2010 17:58:08 +0000 (12:58 -0500)
src/arch/arm/isa/insts/misc.isa

index 80f55e6ec6263623111323fbe4f3cd5604802874..42dea7b95dc8c75c4feeb475e5bad125038a5666 100644 (file)
@@ -500,4 +500,18 @@ let {{
     header_output += RegRegImmImmOpDeclare.subst(bfiIop)
     decoder_output += RegRegImmImmOpConstructor.subst(bfiIop)
     exec_output += PredOpExecute.subst(bfiIop)
+
+    mrc15Iop = InstObjParams("mrc", "Mrc15", "RegRegOp",
+                             { "code": "Dest = MiscOp1;",
+                               "predicate_test": predicateTest }, [])
+    header_output += RegRegOpDeclare.subst(mrc15Iop)
+    decoder_output += RegRegOpConstructor.subst(mrc15Iop)
+    exec_output += PredOpExecute.subst(mrc15Iop)
+
+    mcr15Iop = InstObjParams("mcr", "Mcr15", "RegRegOp",
+                             { "code": "MiscDest = Op1;",
+                               "predicate_test": predicateTest }, [])
+    header_output += RegRegOpDeclare.subst(mcr15Iop)
+    decoder_output += RegRegOpConstructor.subst(mcr15Iop)
+    exec_output += PredOpExecute.subst(mcr15Iop)
 }};