OSDN Git Service

x86_64: Correct fix for cmp-long
authorSerguei Katkov <serguei.i.katkov@intel.com>
Mon, 23 Jun 2014 06:23:38 +0000 (13:23 +0700)
committerSerguei Katkov <serguei.i.katkov@intel.com>
Mon, 23 Jun 2014 17:40:03 +0000 (00:40 +0700)
commit1c55703526827b5fc63f5d4b8477f36574649342
treec71dacfb709787b57fba2ce117fb8ba120d7b150
parentbe781e55b86ddd2dacf12b80a26fa9a5612948c3
x86_64: Correct fix for cmp-long

We cannot rely on the sign of the sub instruction because
LONG_MAX - LONG_MIN = -1 and the sign will indicate that
LONG_MAX < KONG_MIN and it is incorrect.

The fix also contains small improvement for load wide constant.

Change-Id: I74df70d7c198cebff5cad8c1d5614c1d29b79a1b
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
compiler/dex/quick/x86/assemble_x86.cc
compiler/dex/quick/x86/int_x86.cc
compiler/dex/quick/x86/utility_x86.cc
compiler/dex/quick/x86/x86_lir.h