On Thu, Jun 13, 2019 at 06:52:24PM +0000, Song Liu 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? 

Not for AT&T syntax:

~ $ cat test.S
movabs $0x1111111111111111, %rax
~ $ as test.S
~ $ objdump -d a.out

a.out:     file format elf64-x86-64


Disassembly of section .text:

0000000000000000 <.text>:
   0:   48 b8 11 11 11 11 11    movabs $0x1111111111111111,%rax
   7:   11 11 11

-- 
Josh

Reply via email to