GMP 6.0.0a on AMD A8-6600K

Niels Möller nisse at
Sun Apr 12 13:06:10 UTC 2015

Kevin Buckley <kevin.m.buckley at> writes:

> Program received signal SIGILL, Illegal instruction.
> 0x000000000040214f in check_onebit () at t-get_d.c:86
> 86            np[bit/GMP_NUMB_BITS] = CNST_LIMB(1) << (bit % GMP_NUMB_BITS);
> (gdb) p $pc
> $1 = (void (*)()) 0x40214f <check_onebit+79>

> => 0x000000000040214f <+79>:    vmovsd 0x9031(%rip),%xmm2        # 0x40b188

So this is in code generated by gcc. I have no idea what the vmovsd
does, or which instruction set extension it belongs to. Hopefully
someone else does.

In the mean time, you could try playing with the command line options to
gcc and see if you can stop it from generating this instruction.


Niels Möller. PGP-encrypted email is preferred. Keyid C0B98E26.
Internet email is subject to wholesale government surveillance.

More information about the gmp-bugs mailing list