views:

85

answers:

3

What are these data types for? __m64, __m128, __m256 ?

+3  A: 

MMX Technology Packed Arithmetic Intrinsics (C++).

Mike Atlas
Thanks Mike, that's what I was looking for.
David
Basically the answer is that they're enhanced datatypes intended for use in specialized processors, which have optimized instructions available for these types.
Mike Atlas
+3  A: 

A quick google-search gives me:

Unfortunately I can't readily find what __m256 is but I suspect it is along the same lines.

Basically, data structures for MMX and similar technologies.

Lasse V. Karlsen
__m256 is new extended data type in latest SIMD upgrade from intel
Andrey
Of course, I searched for __m256 first and found the same stuff that you did.
David
Which, I should add, as you saw was not useful. [sigh]
David
+2  A: 

they are SSE instructions, including new AVX extension. http://www.serc.iisc.ernet.in/ComputingFacilities/systems/Dell_Doc/Intel_C++_Compiler/en_US/compiler_c/main_cls/intref_cls/common/intref_avx_details.htm and here

they store vectors - multiple values at the same time. you can do calculations on all values in a vector simultaneously with special instructions. Chech links

Andrey