Use Thumb sp-relative store.

When storing a register to stack, we used to always generate Thumb2 store.
This CL uses a kThumbStrSpRel instruction when generating sp-relative stores
with a Thumb source register.

Change-Id: If729b5428c41350f8dc253e71ce8b63acbbc2acc
diff --git a/src/compiler/dex/quick/arm/utility_arm.cc b/src/compiler/dex/quick/arm/utility_arm.cc
index ba543ac..33e8210 100644
--- a/src/compiler/dex/quick/arm/utility_arm.cc
+++ b/src/compiler/dex/quick/arm/utility_arm.cc
@@ -966,9 +966,14 @@
           short_form = true;
           encoded_disp >>= 2;
         }
-      break;
+        break;
       }
-      if (all_low_regs && displacement < 128 && displacement >= 0) {
+      if (ARM_LOWREG(r_src) && (rBase == r13sp) &&
+          (displacement <= 1020) && (displacement >= 0)) {
+        short_form = true;
+        encoded_disp >>= 2;
+        opcode = kThumbStrSpRel;
+      } else if (all_low_regs && displacement < 128 && displacement >= 0) {
         DCHECK_EQ((displacement & 0x3), 0);
         short_form = true;
         encoded_disp >>= 2;