FP breakage workaround

This should get the x86 runtests passing again until I track down
the root cause.  The bug is related to the invoke/move_result fusing,
but the problem remained after fixing the issue with x86 using a
different return register for floats.  This CL disables the fusing for
x86.

Change-Id: Id2b2ebc5ebd4089fe3053d8f077dcadba3466de0
diff --git a/src/compiler/codegen/MethodCodegenDriver.cc b/src/compiler/codegen/MethodCodegenDriver.cc
index e06cf3f..edf880b 100644
--- a/src/compiler/codegen/MethodCodegenDriver.cc
+++ b/src/compiler/codegen/MethodCodegenDriver.cc
@@ -159,10 +159,10 @@
   if (info->result.location != kLocInvalid) {
     // We have a following MOVE_RESULT - do it now.
     if (info->result.wide) {
-      RegLocation retLoc = oatGetReturnWide(cUnit, false);
+      RegLocation retLoc = oatGetReturnWide(cUnit, info->result.fp);
       storeValueWide(cUnit, info->result, retLoc);
     } else {
-      RegLocation retLoc = oatGetReturn(cUnit, false);
+      RegLocation retLoc = oatGetReturn(cUnit, info->result.fp);
       storeValue(cUnit, info->result, retLoc);
     }
   }
@@ -179,6 +179,9 @@
 {
   CallInfo* info = (CallInfo*)oatNew(cUnit, sizeof(CallInfo), true,
                                          kAllocMisc);
+#if defined(TARGET_X86)
+  info->result.location = kLocInvalid;
+#else
   MIR* moveResultMIR = oatFindMoveResult(cUnit, bb, mir);
   if (moveResultMIR == NULL) {
     info->result.location = kLocInvalid;
@@ -186,6 +189,7 @@
     info->result = oatGetRawDest(cUnit, moveResultMIR);
     moveResultMIR->dalvikInsn.opcode = Instruction::NOP;
   }
+#endif
   info->numArgWords = mir->ssaRep->numUses;
   info->args = (info->numArgWords == 0) ? NULL : (RegLocation*)
       oatNew(cUnit, sizeof(RegLocation) * info->numArgWords, false, kAllocMisc);