Fix intrinsic Long.reverseBytes().

Change-Id: I6cfab7e072f406439f0bde73f192149f0a6e58f7
diff --git a/compiler/dex/quick/gen_invoke.cc b/compiler/dex/quick/gen_invoke.cc
index b366fdd..c7d0014 100644
--- a/compiler/dex/quick/gen_invoke.cc
+++ b/compiler/dex/quick/gen_invoke.cc
@@ -968,8 +968,10 @@
   RegLocation rl_result = EvalLoc(rl_dest, kCoreReg, true);
   if (size == kLong) {
     RegLocation rl_i = LoadValueWide(rl_src_i, kCoreReg);
+    int reg_tmp = AllocTemp();
+    OpRegCopy(reg_tmp, rl_result.low_reg);
     OpRegReg(kOpRev, rl_result.low_reg, rl_i.high_reg);
-    OpRegReg(kOpRev, rl_result.high_reg, rl_i.low_reg);
+    OpRegReg(kOpRev, rl_result.high_reg, reg_tmp);
     StoreValueWide(rl_dest, rl_result);
   } else {
     DCHECK(size == kWord || size == kSignedHalf);