https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105923
Bug ID: 105923 Summary: unsupported return type ‘complex double’ for simd Product: gcc Version: 12.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: hjl.tools at gmail dot com CC: crazylht at gmail dot com, wwwhhhyyy333 at gmail dot com Target Milestone: --- Target: x86-64 [hjl@gnu-tgl-3 tmp]$ cat c.c __attribute__ ((__simd__ ("notinbranch"))) double _Complex foo (double _Complex __x) __attribute__ ((__nothrow__ , __leaf__)); double _Complex foo (double _Complex __x) __attribute__ ((__nothrow__ , __leaf__)); int N = 3200; double _Complex b[3200]; double _Complex a[3200]; void bar (void) { int i; for (i = 0; i < N; i += 1) b[i] = foo (a[i]); } [hjl@gnu-tgl-3 tmp]$ gcc -S -Ofast c.c c.c:3:17: warning: unsupported return type ‘complex double’ for simd 3 | double _Complex foo (double _Complex __x) __attribute__ ((__nothrow__ , __leaf__)); | ^~~ [hjl@gnu-tgl-3 tmp]$