GMP 6.2.1 core2 x86_64 assembler error "operands invalid for `movq'"

Simon Sobisch simonsobisch at gnu.org
Tue Nov 1 23:32:02 CET 2022


Am 01.11.2022 um 22:55 schrieb Torbjörn Granlund:
> Simon Sobisch <simonsobisch at gnu.org> writes:
> 
>    config.status: linking ../mpn/x86_64/core2/popcount.asm to mpn/popcount.asm
>    config.status: linking ../mpn/x86_64/core2/hamdist.asm to mpn/hamdist.asm
> 
>    tmp-popcount.s:181:suffix or operands invalid for `movq'
>    tmp-hamdist.s:206:suffix or operands invalid for `movq'
> 
> Is this on a recent version of macos with current versions gcc+binutils
> installed?  Or is either old variants?

That is an old MacBook with the most current "developer command line 
tools" that were available (from 2013/2014 if I remember correctly).

> This is not the same bug as we worked around for register-to-register
> copying on x86-32 some years ago.  It is not cleer what syntax this
> assembler might accept, and which also gives the right instruction (here
> and on non-prolematic hosts).

Sigh. Sadly I don't know enough about assembly to patch it myself :-(
But I can test because that machine is now available to me (it was 
passed to me instead of being thrown away; I did a reset, installed the 
most current software that was supported there and now try to get some 
programs running via terminal).

Note: running configure with ABI=32 (which leads to use of x86 instead 
of x86_64) leads to all files compiling and also all tests passing.
Therefore we at least know that the syntax used there including that old 
register to register workaround _does_ work correct with that assembler.

Thank you for getting back to me on this topic.
Simon



More information about the gmp-bugs mailing list