Mulx: Illegal Instruction
peetpaul69 at gmail.com
Tue Dec 1 17:50:41 UTC 2015
Distro: Arch Linux (x86_64)
CPU: Intel Pentium G4400 (Skylake)
Kernel: Linux Kernel 4.2.5-1-ARCH
I discovered this bug while trying to compiling the linux kernel but
it ultimately failed.
The issue which occured was an SIGILL one. I traced down the issue
back to the assembly code and the result was that
it was executing a mulx instruction which apparently is invalid here
on my cpu (Pentium G4400).
A member suggested that it might be an issue with the detection logic in gmp.
For more detailed overview of the issue:
Disassembly of the illegal instruction:
Dump of assembler code for function __gmpn_sqr_basecase_coreibwl:
0x00007ffff7708000 <+0>: cmp $0x2,%rdx
0x00007ffff7708004 <+4>: jae 0x7ffff7708016
0x00007ffff7708006 <+6>: mov (%rsi),%rdx
=> 0x00007ffff7708009 <+9>: mulx %rdx,%rax,%rdx
More information about the gmp-bugs