https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115710
kargls at comcast dot net changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |kargls at comcast dot net --- Comment #1 from kargls at comcast dot net --- Looks like a wrong component was chosen. I get nearly identical assembly with #include <complex.h> #include <math.h> void foo(double complex *a, double *b, int n) { for (int i=0; i < n; i++) b[i] = cabs(a[i]) * cabs(a[i]); } ~/work/bin/gcc -S -mavx2 -mfma -Ofast -o zc.s a.c ~/work/bin/gfortran -S -mavx2 -mfma -Ofast -o zf.s -fno-underscore a.f90