On 2016-08-27 10:27, jeff wrote:
Brian Inglis wrote:
Apparently it's a mobile Broadwell without AVX or AVX2,
which might be assumed present in gcc as compiled,
requiring a custom gcc build to run on that cpu.
My reply:
You are correct. The gcc people replied to my bug report with:
"So the problem is your GMP/MPFR are compiled for one type of CPU and cannot be
copied to other type."
They closed it as a resolved issue.
So the problem is that gcc now requires GMP, and GMP was compiled with options 
that
are not compatible with my CPU. I can fix the issue for myself by compiling 
everything
from scratch.
The bigger issue is can cygwin distribute a version of gcc that will work with 
all modern
processors, including mine, with it's weird lack of AVX and AVX2. Since I ran 
into the
issue, I suspect anyone else with a mobile processor like mine will run into 
the issue.
I don't know enough about how cygwin is built and installed to know how 
different versions
of the GMP library might be distributed for different Intel processors.
But the problem is not going to go away, and really should be addressed in 
order to make
cygwin run on all reasonable platforms.

You could download devel sources for the MPC, MPFR, GMP, ISL, and
CLOOG packages to check what options are used for the builds and
whether AVX options are assumed on Broadwell cpus.

GMP provides a build option, which could cause such a problem:
"Fat binary, --enable-fat
    Using --enable-fat selects a “fat binary” build on x86,
where optimized low level subroutines are chosen at runtime according
to the CPU detected.
This means more code, but gives good performance on all x86 chips.
(This option might become available for more architectures in the future.)"

These libraries should be designed to run code either independent of,
or dependent only on available, cpu features, but checks may not be
sufficiently specific for newer variants.

You may want to try searching for and filing bugs against GMP and/or
MPFR with a link back to the GCC report, unless someone hereabouts
can provide more specific info about a possible failure source.

--
Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

Reply via email to