X64: Make all arithmetic ops, and a few other, try to avoid rsp and r12 as base register.
authorlrn@chromium.org <lrn@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Wed, 19 May 2010 08:16:52 +0000 (08:16 +0000)
committerlrn@chromium.org <lrn@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Wed, 19 May 2010 08:16:52 +0000 (08:16 +0000)
commit7410865adbdb817bb1050fbb0688f31eaebba1a6
tree5ce2c35113fe11f514a0b939127727b3df0e6f9e
parentc5b8a2c9ecf16d95c69f05851751d56b8a36012d
X64: Make all arithmetic ops, and a few other, try to avoid rsp and r12 as base register.
Using rsp or r12 as the "base" register of the ModR/M byte forces a SIB byte,
even with no index register. Some operations can avoid this by using another,
equivalent, encoding that swaps the meaning of the base and register parts.

Review URL: http://codereview.chromium.org/2075010

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4678 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
src/x64/assembler-x64.cc
src/x64/assembler-x64.h