[Bug tree-optimization/114324] [13/14/15 Regression] AVX2 vectorisation performance regression with gfortran 13/14
mjr19 at cam dot ac.uk
gcc-bugzilla@gcc.gnu.org
Wed May 1 13:21:38 GMT 2024
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114324
--- Comment #5 from mjr19 at cam dot ac.uk ---
Note that bug 114767 also turns out to be a case in which the inability to
alternate neg and nop along a vector leads to poor performance with some
operations on the complex type. That optimisation improvement request also
discusses that the ability to alternate add and nop could be beneficial.
Ifort can alternate neg and nop, at least in the simple case of
complex(kind(1d0)) :: c(*)
do i=1,n
c(i)=conjg(c(i))
enddo
Helped by aggressive default unrolling, it ends up being almost four times
faster than gfortran-14 on the machine I tested it on. On asking gfortran-14 to
unroll, the difference is reduced to about a factor of two.
More information about the Gcc-bugs
mailing list