ARM: Define the setend instruction.
authorGabe Black <gblack@eecs.umich.edu>
Wed, 2 Jun 2010 17:58:10 +0000 (12:58 -0500)
committerGabe Black <gblack@eecs.umich.edu>
Wed, 2 Jun 2010 17:58:10 +0000 (12:58 -0500)
src/arch/arm/isa/insts/misc.isa

index 7ec18c9e96ae26ab4f0ab2ac6173c408a5dc2721..c7caf5cb793f0e3ac08282e783085e4b3a591560 100644 (file)
@@ -534,4 +534,16 @@ let {{
     header_output += BasicDeclare.subst(leavexIop)
     decoder_output += BasicConstructor.subst(leavexIop)
     exec_output += PredOpExecute.subst(leavexIop)
+
+    setendCode = '''
+        CPSR cpsr = Cpsr;
+        cpsr.e = imm;
+        Cpsr = cpsr;
+    '''
+    setendIop = InstObjParams("setend", "Setend", "ImmOp",
+                              { "code": setendCode,
+                                "predicate_test": predicateTest }, [])
+    header_output += ImmOpDeclare.subst(setendIop)
+    decoder_output += ImmOpConstructor.subst(setendIop)
+    exec_output += PredOpExecute.subst(setendIop)
 }};