ARM: Decode the setend instruction.
authorGabe Black <gblack@eecs.umich.edu>
Wed, 2 Jun 2010 17:58:11 +0000 (12:58 -0500)
committerGabe Black <gblack@eecs.umich.edu>
Wed, 2 Jun 2010 17:58:11 +0000 (12:58 -0500)
src/arch/arm/isa/formats/data.isa
src/arch/arm/isa/formats/uncond.isa

index 6fb698e759b87f3ff3bee5cd28cc2f9446f81ae9..19a9ee9fe5b0c5f56eef75d0d44f21326e98947d 100644 (file)
@@ -1024,7 +1024,7 @@ def format Thumb16Misc() {{
             {
                 const uint32_t opBits = bits(machInst, 7, 5);
                 if (opBits == 2) {
-                    return new WarnUnimplemented("setend", machInst);
+                    return new Setend(machInst, bits(machInst, 3));
                 } else if (opBits == 3) {
                     return new WarnUnimplemented("cps", machInst);
                 }
index d305ee996c7eba29c989f479390e12c09c2ce3a2..fd2f66e7523c192fa4b0f3ca4243b6a17609bc2f 100644 (file)
@@ -44,7 +44,7 @@ def format ArmUnconditional() {{
             const uint32_t op2 = bits(machInst, 7, 4);
             if (op1 == 0x10) {
                 if (bits((uint32_t)rn, 0) == 1 && op2 == 0) {
-                    return new WarnUnimplemented("setend", machInst);
+                    return new Setend(machInst, bits(machInst, 9));
                 } else if (bits((uint32_t)rn, 0) == 0 && bits(op2, 1) == 0) {
                     return new WarnUnimplemented("cps", machInst);
                 }