On Tuesday 26 October 2010 14:56:02 ext tbp wrote: > On Tue, Oct 26, 2010 at 10:44 AM, André Pönitz <[email protected]> > wrote: > > For __m128 it's available in trunk now (change 26339061) > Many thanks. > > > If you think other types are interesting, too, drop me a note > > with a list. > As a preamble, i don't think detecting/handling packed scalar types by > their colloquial name is the Right Thing because: > A) __m128, __m128i and __m128d already alias multiple underlying types. > B) with SSE4 and soon AVX, many more such vector types are natively > handled by the hardware (i mean with dedicated instructions). > C) gcc allows to construct arbitrary vector types, like > typedef unsigned char v1k __attribute((vector_size(1024))); > v1k x, y; > v1k z = x + y; > > But the current fauna, as expressed by Intel's headers, is: > . 64bits: __m64 (MMX, SSE1+) > . 128bits: __m128, __m128d, __m128i (SSE2+) > . 256bits: __m256, __m256d, __m256i (AVX) > which each alias every other vector of same size built out of char, > short, int, long, long long, float, double (and every conceivable > signed and unsigned variants), plus a bitset of said size.
The aliasing is not really a problem, that can be handled as "one" type with different display options. So the user can switch freely, no? Andre' _______________________________________________ Qt-creator mailing list [email protected] http://lists.trolltech.com/mailman/listinfo/qt-creator
