On Fri, 2011-02-04 at 09:43 +0200, Udi Finkelstein wrote: > I'm not an x86-64 expert, but it implies from intel docs that 64 bit > immediate values are supported only for the MOV instruction: > > Udi
You're correct. I re-check both Intel and AMD documents and neither one support imm64 in any operations besides mov and push (AMD only, so it seems). I wonder how I missed that one.... Thanks for the help. - Gilboa > > On Fri, Feb 4, 2011 at 9:02 AM, Gilboa Davara <[email protected]> > wrote: > Hello all, > > I'm trying to pass the following command inside GCC inline > assembly > block (which targets x86_64 kernel and usermode). > > asm volatile > { > ... > "andq $0x5555555555555555, %%r11 ;" > ... > } > > And getting the following error: > 'Error: operand type mismatch for `and'' > > The 32bit version of this code (which uses $0x55555555 > constant value) > works just fine. > Shaving ~4 digits off the constant value, seems to working as > well. > > So, any idea how I can force-feed 64bit hex values into 64bit > inline > assembly? > > - Gilboa > > > _______________________________________________ > Linux-il mailing list > [email protected] > http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il > > _______________________________________________ Linux-il mailing list [email protected] http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il
