Chromium Code Reviews| Index: src/x64/assembler-x64.cc |
| =================================================================== |
| --- src/x64/assembler-x64.cc (revision 13579) |
| +++ src/x64/assembler-x64.cc (working copy) |
| @@ -1505,13 +1505,12 @@ |
| void Assembler::movq(Register dst, int64_t value, RelocInfo::Mode rmode) { |
| // Non-relocatable values might not need a 64-bit representation. |
| if (RelocInfo::IsNone(rmode)) { |
| - // Sadly, there is no zero or sign extending move for 8-bit immediates. |
| - if (is_int32(value)) { |
| - movq(dst, Immediate(static_cast<int32_t>(value))); |
| - return; |
| - } else if (is_uint32(value)) { |
| + if (is_uint32(value)) { |
| movl(dst, Immediate(static_cast<int32_t>(value))); |
| return; |
| + } else if (is_int32(value)) { |
|
Yang
2013/02/06 10:28:59
What is the purpose of this change?
Zheng Liu
2013/02/06 11:34:08
Code might be smaller, as [mov r64, imm32] always
Yang
2013/02/06 11:39:18
But this change seems to be to the effect of chang
|
| + movq(dst, Immediate(static_cast<int32_t>(value))); |
| + return; |
| } |
| // Value cannot be represented by 32 bits, so do a full 64 bit immediate |
| // value. |