ARM64: Faster immediate check and fix corner cases

Improve the code used to check for encodable logical immediates, fix some corner
cases associated with moving kWMinInt into W registers, and add tests.

BUG=
R=ulan@chromium.org

Review URL: https://codereview.chromium.org/341123003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22120 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
ARM64: optimize TruncateDoubleToI

R=ulan@chromium.org, bmeurer@chromium.org

BUG=

Review URL: https://codereview.chromium.org/355853003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22121 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
X87: KeyedLoadIC should have same register spec as LoadIC.

port r22103.

original commit message:
On arm, arm64 and x64 there is a different register specification between LoadIC and KeyedLoadIC.

It would be nicer if these are the same, allowing some key optimizations.

BUG=
R=weiliang.lin@intel.com

Review URL: https://codereview.chromium.org/366583002

Patch from Chunyang Dai <chunyang.dai@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22122 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Revert "ARM64: Faster immediate check and fix corner cases"

This reverts r22120 due to build breakage of arm64.debug target.

TBR=m.m.capewell@googlemail.com

Review URL: https://codereview.chromium.org/361973002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22123 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Revert "Add msan build option." (r22109)

Building d8 with msan requires instrumented libc++. Currently the
advised way to do this is from a chromium checkout with d8 as target.

R=jarin@chromium.org

Review URL: https://codereview.chromium.org/361963003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22124 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Merge remote-tracking branch 'upstream/bleeding_edge' into bleeding_edge