Fixes to enable TrackLiveTemps optimization on x86.

- Created new kRegRegStore instruction class for Movdrx, where the
  source is first, and the destination is second.

- Reverted neg_float and neg_double implementation to prevent confusion
  of register types when optimizations are performed.

- Swapped order of loads for wide values to prevent base pointer from
  being clobbered when the base pointer equals the low destination reg.

- Implemented opRegCopyWide for general purpose reg source to floating
  point reg destination and vice versa.

- Added more opcode coverage to x86 disassembler.

Change-Id: I4e58eec91742cc51333003fa5a678ba5b23eb575
diff --git a/src/compiler/Frontend.cc b/src/compiler/Frontend.cc
index aeee4f0..bcaba10 100644
--- a/src/compiler/Frontend.cc
+++ b/src/compiler/Frontend.cc
@@ -791,8 +791,7 @@
     // Disable some optimizations on X86 for now
     cUnit->disableOpt |= (
         (1 << kLoadStoreElimination) |
-        (1 << kPromoteRegs) |
-        (1 << kTrackLiveTemps));
+        (1 << kPromoteRegs));
   }
   /* Are we generating code for the debugger? */
   if (compiler.IsDebuggingSupported()) {