https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99228
--- Comment #5 from g.peterh...@t-online.de --- Here is a better test case. https://godbolt.org/z/3Gq783 I've found: sgn_complex - always inefficient code, TYPE and SIZE do not matter, even with -Ofast or -fast-math for TYPE=double SIZE=1 - abs/mul/div/pow2_complex ok - zero_complex not vectorized, also with -Ofast or -ffast-math SIZE=2 - abs/mul/div/pow2/zero_complex only with scalar operations, never vectorized SIZE=4 and larger - abs/mul/div/pow2/zero_complex ok for TYPE=float SIZE=1 - abs/mul/pow2_complex ok - div/zero_complex not vectorized, also with -Ofast or -ffast-math SIZE=2 - abs/mul/div/pow2/zero_complex only with scalar operations, never vectorized SIZE=4 - abs/pow2/zero_complex ok - mul_complex inefficient, xmm instead of ymm, also with -Ofast or -ffast-math - div_complex ok with O3, but with Ofast/fast-math only xmm instead of ymm SIZE=8 and larger - abs/mul/div/pow2_complex ok