Quick experiment with ARMv6 instructions.

This is a commented-out experiment with ARMv6 instructions, which our
existing products support.  (We can't use these unless we want to define
an ARMv6 target.  For what we gain with these, it's not worthwhile.)
diff --git a/vm/Android.mk b/vm/Android.mk
index 7638613..a2fd6d1 100644
--- a/vm/Android.mk
+++ b/vm/Android.mk
@@ -252,6 +252,7 @@
 
 ifeq ($(TARGET_ARCH),arm)
   #TARGET_ARCH_VARIANT := armv5te-vfp
+  #LOCAL_CFLAGS += -march=armv6
   MTERP_ARCH_KNOWN := true
   # Select architecture-specific sources (armv4t, armv5te etc.)
   LOCAL_SRC_FILES += \
diff --git a/vm/mterp/armv6/OP_INT_TO_BYTE.S b/vm/mterp/armv6/OP_INT_TO_BYTE.S
new file mode 100644
index 0000000..40d8a5c
--- /dev/null
+++ b/vm/mterp/armv6/OP_INT_TO_BYTE.S
@@ -0,0 +1,2 @@
+%verify "executed"
+%include "armv5te/unop.S" {"instr":"sxtb    r0, r0"}
diff --git a/vm/mterp/armv6/OP_INT_TO_CHAR.S b/vm/mterp/armv6/OP_INT_TO_CHAR.S
new file mode 100644
index 0000000..3f0fdad
--- /dev/null
+++ b/vm/mterp/armv6/OP_INT_TO_CHAR.S
@@ -0,0 +1,2 @@
+%verify "executed"
+%include "armv5te/unop.S" {"instr":"uxth    r0, r0"}
diff --git a/vm/mterp/armv6/OP_INT_TO_SHORT.S b/vm/mterp/armv6/OP_INT_TO_SHORT.S
new file mode 100644
index 0000000..82274c4
--- /dev/null
+++ b/vm/mterp/armv6/OP_INT_TO_SHORT.S
@@ -0,0 +1,2 @@
+%verify "executed"
+%include "armv5te/unop.S" {"instr":"sxth    r0, r0"}
diff --git a/vm/mterp/config-armv5te-vfp b/vm/mterp/config-armv5te-vfp
index 3749eed..cc77002 100644
--- a/vm/mterp/config-armv5te-vfp
+++ b/vm/mterp/config-armv5te-vfp
@@ -85,6 +85,11 @@
     #op OP_REM_DOUBLE_2ADDR armv5te
     #op OP_REM_FLOAT armv5te
     #op OP_REM_FLOAT_2ADDR armv5te
+
+    # experiment, unrelated to vfp
+    #op OP_INT_TO_BYTE armv6
+    #op OP_INT_TO_CHAR armv6
+    #op OP_INT_TO_SHORT armv6
 op-end
 
 # "helper" code for C; include if you use any of the C stubs (this generates