summaryrefslogtreecommitdiff
path: root/vm/mterp/c/OP_CONST_4.c
diff options
context:
space:
mode:
Diffstat (limited to 'vm/mterp/c/OP_CONST_4.c')
-rw-r--r--vm/mterp/c/OP_CONST_4.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/vm/mterp/c/OP_CONST_4.c b/vm/mterp/c/OP_CONST_4.c
new file mode 100644
index 0000000..800ef9a
--- /dev/null
+++ b/vm/mterp/c/OP_CONST_4.c
@@ -0,0 +1,11 @@
+HANDLE_OPCODE(OP_CONST_4 /*vA, #+B*/)
+ {
+ s4 tmp;
+
+ vdst = INST_A(inst);
+ tmp = (s4) (INST_B(inst) << 28) >> 28; // sign extend 4-bit value
+ ILOGV("|const/4 v%d,#0x%02x", vdst, (s4)tmp);
+ SET_REGISTER(vdst, tmp);
+ }
+ FINISH(1);
+OP_END