Subject: Re: bug#18438: 24.4.50; assertion failed in bidi.c

From: Ken Brown <[email-masked]>
Date: Fri, 10 Oct 2014 13:14:02 -0400

On 10/10/2014 11:12 AM, Eli Zaretskii wrote:
> Thanks.  Although I have a question to x86_64 experts here:
>
>>      0x00000001004fc42b <+8>:     mov    %ecx,0x10(%rbp)
>>      0x00000001004fc42e <+11>:    mov    0x10(%rbp),%eax
>>      0x00000001004fc431 <+14>:    mov    %rax,-0x8(%rbp)
>
> Do these 3 instructions ensure that the MSB 32 bits of RAX (and
> therefore the place where the result is stored at RBP+0x08) are zeroed
> out?

According to this, the answer is yes:

http://stackoverflow.com/questions/11177137/why-do-most-x64-instructions-zero-the-upper-part-of-a-32-bit-register

Ken