Displaying 1 result from an estimated 1 matches for "filliatr".
Did you mean:
fillial
2016 Feb 18
2
Bug in X86 assembler?
You can't use mov.
I am not an x86 expert, but after quick googling:
Recall that immediates are normally restricted to 32 bits. To load a larger constant into a quad register, use
movabsq, which takes a full 64-bit immediate as its source
[https://www.lri.fr/~filliatr/ens/compil/x86-64.pdf]
Even in your example, assembler replaces mov by movq, which, say, hints:
>>>>> $ echo "mov r8, 0x12345678"|./bin/llvm-mc -assemble -show-encoding -x86-asm-syntax=intel -print-imm-hex -triple=x86_64
>>>>> .text
>>>>>...