ARM64: Fix SHR logic error.
authorJacob.Bramley@arm.com <Jacob.Bramley@arm.com@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Wed, 20 Aug 2014 14:58:18 +0000 (14:58 +0000)
committerJacob.Bramley@arm.com <Jacob.Bramley@arm.com@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Wed, 20 Aug 2014 14:58:18 +0000 (14:58 +0000)
commitda48f1246ca8fe7896404f18d56b39b93487409b
treed483b5e5d453317b4d68a05902250552fd43c711
parentae1a83859271c91ee969795de6a396eb4914b69e
ARM64: Fix SHR logic error.

The `right == 0` checks only worked for `0 <= right < 32`. This patch
replaces the checks with simple tests for negative results.

The attached test can detect this error, but the test relies on a broken
flag (--noopt-safe-uint32-operations), so it is skipped for now. See
issue 3487 for details.

BUG=
R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23243 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
src/arm64/full-codegen-arm64.cc
src/arm64/lithium-codegen-arm64.cc
test/mjsunit/compiler/shift-shr.js [new file with mode: 0644]
test/mjsunit/mjsunit.status