https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78762
Bug ID: 78762
Summary: Regression: Splitting unaligned AVX loads also when
AVX2 is enabled
Product: gcc
Version: 7.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: linux at carewolf dot com
Target Milestone: ---
Created attachment 40295
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=40295&action=edit
Test
In gcc 7 when not optimizing for speed or newer Intel architectures unaligned
AVX loads are now split.
It appears this is on purpose, and the code related to it quite old, but I
haven't been able to trigger it with older versions gcc (tried 4.9, 5 and 6).
However this is a special tuning intended for Sandybridge and possibly AMD
cpus. It does not trigger on any AVX2 processor. Therefore it now causes a
universal performance degradation in code optimized for generic AVX2.
I suggest this tuning is disabled when avx2 is enabled.