[Bug tree-optimization/70354] [6 Regression] Wrong code with -O3 -march=broadwell and -march=skylake-avx512.
jakub at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Mar 22 15:22:00 GMT 2016
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70354
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
Assignee|unassigned at gcc dot gnu.org |jakub at gcc dot gnu.org
--- Comment #11 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Created attachment 38059
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=38059&action=edit
gcc6-pr70354.patch
Untested fix. Sadly, it will slightly penalize code that use 64-bit shift
counts (defined within the vectorized loop), by adding a vectorized and in
there; but the information whether the 64-bit value had been passed unmodified
into the shift count or whether something has been added to it or subtracted
from it or otherwise modified the upper 32 bits is lost, unless we keep the
shift counters in the type that has been there (or widen to int if narrower).
But that would penalize scalar code.
More information about the Gcc-bugs
mailing list