[Bug middle-end/80161] const argument hidden from AVX intrinsics due to OpenMP outlining
jakub at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Mar 24 10:07:00 GMT 2017
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80161
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |jakub at gcc dot gnu.org
--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Well, the last argument to these builtins has to be a constant, so e.g. at -O0
in C this will fail to compile as well, even without -fopenmp.
In C++ it of course compiles even at -O0 (with s/restrict/__restrict/g).
So, in C without -fopenmp you are relying on optimizations to propagate the
value into the intrinsics, and we don't (yet) have IPA propagation between
outlined OpenMP functions and their callers. In theory that should be doable,
but is too late for GCC 7.
More information about the Gcc-bugs
mailing list