Commit d4812a97 authored by Pavel Vyssotski's avatar Pavel Vyssotski
Browse files

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: default avatarPavel Vyssotski <pavel.n.vyssotski@intel.com>
parent bb5b390c
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment