[X86_64] Smaller code for xchg_rr when one register is accumulator.
<https://webkit.org/b/130004>

Generate the 1-byte version of "xchg eax, reg" when possible.

Reviewed by Benjamin Poulain.

* assembler/X86Assembler.h:
(JSC::X86Assembler::xchgl_rr):
(JSC::X86Assembler::xchgq_rr):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@165365 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[X86_64] Smaller code for store64(imm, address) when imm fits in 32 bits.
<https://webkit.org/b/130002>

Generate this:

    mov [address], imm32

Instead of this:

    mov scratchRegister, imm32
    mov [address], scratchRegister

For store64(imm, address) where the 64-bit immediate can be passed as
a sign-extended 32-bit value.

Reviewed by Benjamin Poulain.

* assembler/MacroAssemblerX86_64.h:
(CAN_SIGN_EXTEND_32_64):
(JSC::MacroAssemblerX86_64::store64):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@165366 268f45cc-cd09-0410-ab3c-d52691b4dbfc