Abt SIMD Emulation
Paolo Bonzini
paolo.bonzini@lu.unisi.ch
Fri Oct 13 16:21:00 GMT 2006
>> 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
More information about the Gcc
mailing list