Correction: It doesn't ignore REX.W, it just happens that default size is 64
bits, and REX.W forces size to 64 bits, so it makes no difference. You could
probably make a difference by combining REX.W with the operand size prefix
(0x66).

On Mon, Jun 22, 2009 at 10:26 AM, Lasse R.H. Nielsen <l...@chromium.org>wrote:

> REX without REX.W may be different from no REX at all, but in this case it
> isn't. The push/pop operations ignore REX.W, so the REX prefix is only
> necessary for high-bits of registers. We use rex_32 for REX with no REX.W,
> although  it should perhaps be called rex_default_operand_size :).
>
> On Mon, Jun 22, 2009 at 10:18 AM, <whe...@chromium.org> wrote:
>
>>
>>
>> http://codereview.chromium.org/141032/diff/1/2
>> File src/x64/assembler-x64.cc (right):
>>
>> http://codereview.chromium.org/141032/diff/1/2#newcode1197
>> Line 1197: emit_rex_64(dst);
>> On 2009/06/22 07:52:46, Lasse Reichstein wrote:
>> > If REX.W isn't required, we might as well use
>> emit_optional_rex_32(dst)
>>
>>
>> It is misleading to the code reader to read rex_32 for an actual 64-bit
>> move.  Actually, REX without REX.W may be diffrerent than no REX at all.
>>
>> http://codereview.chromium.org/141032
>>
>> >>
>>
>
>
> --
> Lasse R.H. Nielsen / l...@chromium.org'Faith without judgement merely
> degrades the spirit divine'
>
>


-- 
Lasse R.H. Nielsen / l...@chromium.org'Faith without judgement merely
degrades the spirit divine'

--~--~---------~--~----~------------~-------~--~----~
v8-dev mailing list
v8-dev@googlegroups.com
http://groups.google.com/group/v8-dev
-~----------~----~----~----~------~----~------~--~---

Reply via email to