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]

Re: Abt SIMD Emulation


For targets which doesn't have simd hardware support like fr30 ,  simd stuff is emulated?
Is there some flags/macros in gcc to indicate that?

To indicate what?

I guess to indicate that the vector is emulated. The TYPE_MODE of the vector type, in that case, is BLKmode or an integer mode.


How is it done in other targets which deosnt have the hardware support?

In the obvious tedious way: as a loop over the elements.

With the additional optimization that & | ^ ~ can be done word-by-word, + - can use bit-twiddling if there are at least 4 elements by word (otherwise it is not profitable), and that smaller SIMD instructions (e.g. 2 8-byte SIMD instructions to emulate a 16-byte vector) may be used if supported.


See tree-ssa-vect-generic.c for the gory details.

Paolo


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