* Kevin Kofler:
Dave Love wrote:
> they'd be rather limited by the compiler options we're supposed to use,
> that don't include vectorization, so you don't even get the benefit you
> could from SSE2. (I've been told off in review for turning that on,
> though an FPC member has approved it.)
Why don't we enable -ftree-vectorize by default?
GCC upstream thinks that it is still not beneficial in general.
Obviously, there will always be *some* regressions, but for GCC 9, the
thinking was that the regressions still outweight the striking benefits
in some cases.
I believe Clang enables the auto-vectorizer at -O2.
> However, hwcaps won't help for programs with no separate
> performance component; Gromacs is an example. On a heterogeneous HPC
> system you need multiple parallel-installable versions with a convention
> for the paths they'll be on.
As I wrote elsewhere in this huge thread: just turn the program into a
library with a dummy main program.
That requires manual work, so it's unclear how to do this for large
parts of the distribution. And people will worry about PIC-related
losses, or due to assumptions regarding symbol interposition (which
affect inter-procedural analysis). The latter even affects Fedora
because PIE does not turn off these optimizations.