LGTM, with changes.

http://codereview.chromium.org/293023/diff/5013/4029
File src/x64/assembler-x64.cc (right):

http://codereview.chromium.org/293023/diff/5013/4029#newcode1261
Line 1261: emit_rex_32(src, dst);
Use emit_optional_rex_32.
Ox66 prefix goes before REX.

http://codereview.chromium.org/293023/diff/5013/4029#newcode1492
Line 1492: emit_rex_64(dst, src);
In fact, this one, that you used as an example, is wrong too, I think.
I think we wrote it before we realized how every register write to a
32-bit register zeros out the top 32 bits.

http://codereview.chromium.org/293023/diff/5013/4029#newcode1512
Line 1512: emit_rex_64(dst, src);
I don't think this is needed.  Wouldn't the write to the 32-bit register
also zero out the top 32 bits?  I think this should be optional_rex_32,
and should be the exact same code as movzxwl.  In fact, it should just
be an inlined call to movzxwl.

http://codereview.chromium.org/293023

--~--~---------~--~----~------------~-------~--~----~
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
-~----------~----~----~----~------~----~------~--~---

Reply via email to