This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Complex vectorization


Hi,

I'm currently working on trying to implement a way to use the SIMD
instructions of the SSEx family when computing a vector of complex
numbers.

I have to say that I have never worked on compilation techniques before,
and that I only have little understanding of the vectorization problems.

I've spent a fait amount of time reading documentation and code, and I
came to the conclusion that, at least for the multiplication and
division of complex numbers, I had to implement them as functions in the
libgcc as their scalar counterpart, __mul*c3 and __div*c3.

I face a couple of issues here : what are the C types corresponding to
the vector types, assuming they exist ?

And, also important : I understand that the processor has to be in a
certain state to use the SIMD instructions. Will it stay that way when
calling a function, thus changing partially the environment ?

Have a nice day,

Simon Chopin

Attachment: signature.asc
Description: Digital signature


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]