Developer Guide and Reference

Contents

Integer Vector Classes

The
Ivec
classes provide an interface to single instruction, multiple data (SIMD) processing using integer vectors of various sizes. The class hierarchy is represented in the following figure.
Ivec Class Hierarchy
The
M64
and
M128
classes define the
__m64
and
__m128i
data types from which the rest of the
Ivec
classes are derived. The first generation of child classes (the intermediate classes) are derived on element sizes of 128, 64, 32, 16, and 8 bits:
I128vec1,
I64vec1,
I64vec2,
I32vec2,
I32vec4,
I16vec4,
I16vec8,
I8vec8,
I8vec16
The second generation specify the signedness:
Is64vec2,
Iu64vec2,
Is32vec2,
Iu32vec2,
Is32vec4,
Iu32vec4,
Is16vec4,
Iu16vec4,
Is16vec8,
Iu16vec8,
Is8vec8,
Iu8vec8,
Is8vec16,
Iu8vec16
Intermixing the
M64
and
M128
data types will result in unexpected behavior.