diff options
author | Pavel Vyssotski <pavel.n.vyssotski@intel.com> | 2014-11-11 12:37:56 +0600 |
---|---|---|
committer | Pavel Vyssotski <pavel.n.vyssotski@intel.com> | 2014-11-11 12:37:56 +0600 |
commit | d4812a97de5d54d29c2964b2db7c2d52217be60e (patch) | |
tree | cfeb33d9da9f085efefb0c3add993e61b54cc08d /compiler/optimizing/graph_visualizer.cc | |
parent | bb5b390c3b7c1d6571e73672124f82cc40026f6a (diff) |
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>
Diffstat (limited to 'compiler/optimizing/graph_visualizer.cc')
0 files changed, 0 insertions, 0 deletions