Using profile-guided optimization (PGO)
gcc -O3 -march=native -pg -fprofile-generate ...
# Run a benchmark or program's typical load
gcc -O3 -march=native -fprofile-use ...
Check compiler preprocessor defines
# E.g. check for the version of OpenMP supported
echo | cpp -fopenmp -dM | grep -i open
#define _OPENMP 200805
Compiling gcc
Download gcc tarball, run contrib/download_prerequisites script to download external libraries to build as part of gcc.
./configure --prefix=/opt/gcc-custom --disable-multilib --disable-libada --enable-languages=c,c++