[arm] Recognize comparisons of shifts with zero.
authorbmeurer@chromium.org <bmeurer@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Mon, 18 Aug 2014 11:10:01 +0000 (11:10 +0000)
committerbmeurer@chromium.org <bmeurer@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Mon, 18 Aug 2014 11:10:01 +0000 (11:10 +0000)
commite4db78e7059ae4b3a1dc3bc04ef2a3636c2c0ff6
tree3e09261d207c5694e8611cd66fddbd5e79c2f7e0
parent8da9f23d4436c1ab6dd987db981e0ab4d2937cc5
[arm] Recognize comparisons of shifts with zero.

For example, recognize

  0 == r1 << r2

and generate a single

  MOVS rt, r1, lsl r2

instruction.

TEST=cctest,compiler-unittests
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23148 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
src/arm/macro-assembler-arm.h
src/compiler/arm/code-generator-arm.cc
src/compiler/arm/instruction-selector-arm.cc
test/cctest/compiler/test-run-machops.cc
test/compiler-unittests/arm/instruction-selector-arm-unittest.cc