| Index: src/x64/codegen-x64.cc
|
| ===================================================================
|
| --- src/x64/codegen-x64.cc (revision 4871)
|
| +++ src/x64/codegen-x64.cc (working copy)
|
| @@ -8177,7 +8177,7 @@
|
| // ST[0] == double value
|
| // rbx = bits of double value.
|
| // rdx = also bits of double value.
|
| - // Compute hash (h is 32 bits, bits are 64):
|
| + // Compute hash (h is 32 bits, bits are 64 and the shifts are arithmetic):
|
| // h = h0 = bits ^ (bits >> 32);
|
| // h ^= h >> 16;
|
| // h ^= h >> 8;
|
| @@ -8188,9 +8188,9 @@
|
| __ movl(rcx, rdx);
|
| __ movl(rax, rdx);
|
| __ movl(rdi, rdx);
|
| - __ shrl(rdx, Immediate(8));
|
| - __ shrl(rcx, Immediate(16));
|
| - __ shrl(rax, Immediate(24));
|
| + __ sarl(rdx, Immediate(8));
|
| + __ sarl(rcx, Immediate(16));
|
| + __ sarl(rax, Immediate(24));
|
| __ xorl(rcx, rdx);
|
| __ xorl(rax, rdi);
|
| __ xorl(rcx, rax);
|
|
|