On Thu, Mar 24, 2011 at 12:55:44PM +0100, Richard Guenther wrote: > There are no vector of complex types and GCC internally does not handle > this case as well. Instead GCC lowers complex operations to Yep, sorry, my mistake. I meant array of complex. > piecewise scalar operations, thus vectorization would have vectors > of the complex components. There are a number of bugs in bugzilla > for complex vectorization, like PR37021 or PR40770.
And yet, when trying to multiply numbers, gcc says that complex isn't a supported type. From the links you provided, part of the solution would be to associate the complex type and the vector type of its scalar type. While it should work for most operations, providing support for the IMAGPART_EXPR and REALPART_EXPR, the multiplication and division operations are implemented as separated functions of libgcc. Because of that, they wouldn't gain from the vectorization, or I am mistaken (again) ? Cheers, Simon P.S. I am not aware of the list policy regarding the CCs, but I assumed you were already subscribed.