<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Feb 18, 2016 at 11:08 PM, Tim Northover <span dir="ltr"><<a href="mailto:t.p.northover@gmail.com" target="_blank">t.p.northover@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 18 February 2016 at 04:27, Tamazov, Artem via llvm-dev<br>
<span class=""><<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>> wrote:<br>
<br>
> Even in your example, assembler replaces mov by movq, which, say, hints:<br>
<br>
</span>This is the difference between AT&T and Intel syntax (give llvm-mc the<br>
-output-asm-variant=1 option to see what something closer to what's<br>
been input).<br>
<br>
The x86 reference manual really does seem to list the 64-bit immediate<br>
move with mnemonic MOV. I'm not sure why GAS chose movabs, but this<br>
probably is a bug in our Intel syntax support.<br></blockquote><div><br>Yes, this is confused because different assembler takes different input. <br>For example, nasm accepts "mov" - but rejects "movabs", while LLVM only accepts "movabs" (Intel syntax) in this case.  <br><br></div><div>So this command will work for LLVM. Should we fix it so it works with "mov", according to Intel manual?<br><br><span class="im"><span>    $ echo "movabs r8, 0x12345678"|./bin/llvm-mc -assemble -show-encoding -x86-asm-syntax=intel -print-imm-hex -triple=x86_64</span></span><br></div></div></div></div>