Bug 901518 - Don't try to use a double register as a memory location. r=shu, a=akeybl
authorMarty Rosenberg <mrosenberg@mozilla.com>
Tue, 06 Aug 2013 13:25:49 -0400
changeset 154027 fe08b2ee300be96fada5305a2b8cae0e0bf4ca1c
parent 154026 d3fd02421f32b2513c249a604adaee4388f87149
child 154028 478206fb256f099be927723ee8420842a2980ab5
push id2859
push userakeybl@mozilla.com
push dateMon, 16 Sep 2013 19:14:59 +0000
treeherdermozilla-beta@87d3c51cd2bf [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersshu, akeybl
bugs901518
milestone25.0a2
Bug 901518 - Don't try to use a double register as a memory location. r=shu, a=akeybl
js/src/jit/arm/MacroAssembler-arm.h
--- a/js/src/jit/arm/MacroAssembler-arm.h
+++ b/js/src/jit/arm/MacroAssembler-arm.h
@@ -1194,17 +1194,17 @@ class MacroAssemblerARMCompat : public M
     }
     void storeDouble(FloatRegister src, BaseIndex addr) {
         // Harder cases not handled yet.
         JS_ASSERT(addr.offset == 0);
         uint32_t scale = Imm32::ShiftOf(addr.scale).value;
         ma_vstr(src, addr.base, addr.index, scale);
     }
     void moveDouble(FloatRegister src, FloatRegister dest) {
-        ma_vstr(src, Operand(dest));
+        ma_vmov(src, dest);
     }
 
     void storeFloat(FloatRegister src, Address addr) {
         ma_vstr(VFPRegister(src).singleOverlay(), Operand(addr));
     }
     void storeFloat(FloatRegister src, BaseIndex addr) {
         // Harder cases not handled yet.
         JS_ASSERT(addr.offset == 0);