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

Reply via email to