Compiling GCC for different x86 CPU generation
Andrew Janke
floss@apjanke.net
Tue Jul 24 11:52:00 GMT 2018
On 7/24/18 6:10 AM, Xi Ruoyao wrote:
>
> I agree with Marc that the problem is likely to be in MPC/GMP/MPFR.
> Use contrib/download_prerequistes to get the source code of them,
> and try to compile GCC with --enable-bootstrap.
Found it!
Your suspicions were correct: it was in MPC.
I wasn't able to get debug symbols working (apparently they're hard on
macOS), but I found this program to dump instruction set extension names
- https://github.com/pkgw/elfx86exts - and ran it on gfortran and those
libraries, and that BMI2 MULX instruction showed up in libgmp.
$ elfx86exts libgmp.dylib
MODE64 (push)
SSE1 (xorps)
SSE2 (ucomisd)
CMOV (cmove)
BMI2 (mulx)
Rebuilding GMP for Core2 fixed the issue. This wasn't a gfortran/GCC
build problem after all.
Thank you for your help! This discussion was very useful.
Cheers,
Andrew
More information about the Gcc-help
mailing list