ART: Fix clobbering low part in 32-bit version of X86Mir2Lir::GenNegDouble

If source registers overlap destination registers the low part of result can be clobbered in current implementation.
For example, for 'neg-double v5, v6' bytecode compiler can generates the following instructions:
  lea     ecx, [edx + 0x80000000]
  mov     eax, ecx

The fix forces source registers to be temp so there is no need to copy the low part.

Change-Id: I986ca17d1dc45c9e9d44a66e501cd354af496fde
Signed-off-by: Pavel Vyssotski <pavel.n.vyssotski@intel.com>
1 file changed