[turbofan] Optimize add operations to use 'leal' instruction on x64
authordanno@chromium.org <danno@chromium.org>
Fri, 7 Nov 2014 16:47:25 +0000 (16:47 +0000)
committerdanno@chromium.org <danno@chromium.org>
Fri, 7 Nov 2014 16:47:45 +0000 (16:47 +0000)
commit9a58807030208121b7e9f01aca2b932eb52e249f
treed9fa4802e52760a3edabc137744d3db20e67ff58
parentb86c30a2b3e361a59decfbbe1dc0b90b9b1945bd
[turbofan] Optimize add operations to use 'leal' instruction on x64

Add MemoryOperandMatcher that recognizes node clusters in the form
[%r1 + %r2*SCALE + OFFSET] and explicit support in the x64 Int32Add
selector to use it to translate complex adds to 'leal' instructions.

R=titzer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25223}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25223 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
src/compiler/node-matchers.h
src/compiler/x64/instruction-selector-x64.cc
test/mjsunit/compiler/division-by-constant.js
test/unittests/compiler/node-matchers-unittest.cc [new file with mode: 0644]
test/unittests/compiler/x64/instruction-selector-x64-unittest.cc
test/unittests/unittests.gyp