illegal instruction error with "get_d"

Torbjorn Granlund tg at
Wed Apr 2 17:22:37 UTC 2014

edA-qa mort-ora-y <eda-qa at> writes:

  Program received signal SIGILL, Illegal instruction.
  0x00007ffff433b70e in __gmpn_get_d () from /opt/gmp/install/lib/
  (gdb) x/10i $pc
  => 0x7ffff433b70e <__gmpn_get_d+158>:   vmovsd -0x8(%rsp),%xmm0
     0x7ffff433b714 <__gmpn_get_d+164>:   retq
     0x7ffff433b715 <__gmpn_get_d+165>:   nopl   (%rax)
     0x7ffff433b718 <__gmpn_get_d+168>:   cmp    $0x1,%rsi
     0x7ffff433b71c <__gmpn_get_d+172>:   jle    0x7ffff433b6bf
     0x7ffff433b71e <__gmpn_get_d+174>:   mov    -0x10(%r9),%rsi
     0x7ffff433b722 <__gmpn_get_d+178>:   mov    %eax,%ecx
     0x7ffff433b724 <__gmpn_get_d+180>:   shr    %cl,%rsi
     0x7ffff433b727 <__gmpn_get_d+183>:   or     %rsi,%rdi
     0x7ffff433b72a <__gmpn_get_d+186>:   jmp    0x7ffff433b6bf

I think that nails it. There were problems in old Xen releases too with
AVX instructions.  But wait, perhaps your GMP build is misconfigured,
and your CPU doesn't really handle AVX insn?

I cannot find any mention of the CPU type and GMP configure string used
in your bug report.

If this is a similar bug to te one in Xen, than we're stuck.  Xen claims
support in CPUid (both AVX and XSAVE bits are set).  But AVX
instructions all yield ILLOPsignals.

Please encrypt, key id 0xC8601622

More information about the gmp-bugs mailing list