On Thu, Jun 13, 2019 at 06:52:24PM +0000, Song Liu wrote: > > On Jun 13, 2019, at 6:21 AM, Josh Poimboeuf <jpoimboe@xxxxxxxxxx> wrote: > > @@ -403,11 +403,11 @@ static void emit_mov_imm64(u8 **pprog, u32 dst_reg, > > * For emitting plain u32, where sign bit must not be > > * propagated LLVM tends to load imm64 over mov32 > > * directly, so save couple of bytes by just doing > > - * 'mov %eax, imm32' instead. > > + * 'mov imm32, %eax' instead. > > */ > > emit_mov_imm32(&prog, false, dst_reg, imm32_lo); > > } else { > > - /* movabsq %rax, imm64 */ > > + /* movabs imm64, %rax */ > > ^^^^^ Should this be moveabsq? > > > EMIT2(add_1mod(0x48, dst_reg), add_1reg(0xB8, dst_reg)); > > EMIT(imm32_lo, 4); > > EMIT(imm32_hi, 4); Song, can you please trim replies; I only found what you said because of Josh's reply.