I364vec2
unpack_high(I64vec2 A, I64vec2 B)
Is64vec2
unpack_high(Is64vec2 A, Is64vec2 B)
Iu64vec2
unpack_high(Iu64vec2 A, Iu64vec2 B)
Interleave the 64-bit value from the high half of A
with
the 64-bit value from the high half of B
.
R0 = A1;
R1 = B1;
Corresponding
intrinsic: _mm_unpackhi_epi64
I32vec4
unpack_high(I32vec4 A, I32vec4 B)
Is32vec4
unpack_high(Is32vec4 A, Is32vec4 B)
Iu32vec4
unpack_high(Iu32vec4 A, Iu32vec4 B)
Interleave
the two 32-bit values from the high half of A
with the
two 32-bit values from the high half of B
.
R0 = A1;
R1 = B1;
R2 = A2;
R3 = B2;
Corresponding
intrinsic:
_mm_unpackhi_epi32
I32vec2
unpack_high(I32vec2 A, I32vec2 B)
Is32vec2
unpack_high(Is32vec2 A, Is32vec2 B)
Iu32vec2
unpack_high(Iu32vec2 A, Iu32vec2 B)
Interleave
the 32-bit value from the high half of A
with the 32-bit
value from the high half of B
.
R0 = A1;
R1 = B1;
Corresponding
intrinsic: _mm_unpackhi_pi32
I16vec8
unpack_high(I16vec8 A, I16vec8 B)
Is16vec8
unpack_high(Is16vec8 A, Is16vec8 B)
Iu16vec8
unpack_high(Iu16vec8 A, Iu16vec8 B)
Interleave
the four 16-bit values from the high half of A
with the
two 16-bit values from the high half of B
.
R0
= A2;
R1
= B2;R2 = A3;
R3
= B3;
Corresponding
intrinsic: _mm_unpackhi_epi16
I16vec4
unpack_high(I16vec4 A, I16vec4 B)
Is16vec4
unpack_high(Is16vec4 A, Is16vec4 B)
Iu16vec4
unpack_high(Iu16vec4 A, Iu16vec4 B)
Interleave
the two 16-bit values from the high half of A
with the
two 16-bit values from the high half of B
.
R0
= A2;R1 = B2;
R2
= A3;R3 = B3;
Corresponding
intrinsic: _mm_unpackhi_pi16
I8vec8
unpack_high(I8vec8 A, I8vec8 B)
Is8vec8
unpack_high(Is8vec8 A, I8vec8 B)
Iu8vec8
unpack_high(Iu8vec8 A, I8vec8 B)
Interleave
the four 8-bit values from the high half of A
with the
four 8-bit values from the high half of B
.
R0
= A4;
R1
= B4;
R2
= A5;
R3
= B5;
R4
= A6;
R5
= B6;
R6
= A7;
R7
= B7;
Corresponding
intrinsic: _mm_unpackhi_pi8
I8vec16
unpack_high(I8vec16 A, I8vec16 B)
Is8vec16
unpack_high(Is8vec16 A, I8vec16 B)
Iu8vec16
unpack_high(Iu8vec16 A, I8vec16 B)
Interleave
the sixteen 8-bit values from the high half of A
with the four 8-bit values from the high half of B
.
R0
= A8;
R1
= B8;
R2
= A9;
R3
= B9;
R4
= A10;
R5
= B10;
R6
= A11;
R7
= B11;
R8
= A12;
R8
= B12;
R2
= A13;
R3
= B13;
R4
= A14;
R5
= B14;
R6
= A15;
R7
= B15;
Corresponding
intrinsic: _mm_unpackhi_epi16
Interleave
the 32-bit value from the low half of A
with the 32-bit
value from the low half of B
.
R0 = A0;
R1 = B0;
Corresponding
intrinsic: _mm_unpacklo_epi32
I64vec2
unpack_low(I64vec2 A, I64vec2 B);
Is64vec2
unpack_low(Is64vec2 A, Is64vec2 B);
Iu64vec2
unpack_low(Iu64vec2 A, Iu64vec2 B);
Interleave
the 64-bit value from the low half of A
with the 64-bit
values from the low half of B
.
R0 = A0;
R1 = B0;
R2 = A1;
R3 = B1;
Corresponding
intrinsic: _mm_unpacklo_epi32
I32vec4
unpack_low(I32vec4 A, I32vec4 B);
Is32vec4
unpack_low(Is32vec4 A, Is32vec4 B);
Iu32vec4
unpack_low(Iu32vec4 A, Iu32vec4 B);
Interleave
the two 32-bit values from the low half of A
with the
two 32-bit values from the low half of B
.
R0 =
A0;R1 = B0;
R2 =
A1;R3 = B1;
Corresponding
intrinsic: _mm_unpacklo_epi32
I32vec2
unpack_low(I32vec2 A, I32vec2 B);
Is32vec2
unpack_low(Is32vec2 A, Is32vec2 B);
Iu32vec2
unpack_low(Iu32vec2 A, Iu32vec2 B);
Interleave
the 32-bit value from the low half of A
with the 32-bit
value from the low half of B
.
R0 = A0;
R1 = B0;
Corresponding
intrinsic: _mm_unpacklo_pi32
I16vec8
unpack_low(I16vec8 A, I16vec8 B);
Is16vec8
unpack_low(Is16vec8 A, Is16vec8 B);
Iu16vec8
unpack_low(Iu16vec8 A, Iu16vec8 B);
Interleave
the two 16-bit values from the low half of A
with the
two 16-bit values from the low half of B
.
R0 = A0;
R1 = B0;
R2 = A1;
R3 = B1;
R4 = A2;
R5 = B2;
R6 = A3;
R7 = B3;
Corresponding
intrinsic: _mm_unpacklo_epi16
I16vec4
unpack_low(I16vec4 A, I16vec4 B);
Is16vec4
unpack_low(Is16vec4 A, Is16vec4 B);
Iu16vec4
unpack_low(Iu16vec4 A, Iu16vec4 B);
Interleave
the two 16-bit values from the low half of A
with the
two 16-bit values from the low half of B
.
R0 = A0;
R1 = B0;
R2 = A1;
R3 = B1;
Corresponding
intrinsic: _mm_
unpacklo_pi16
I8vec16
unpack_low(I8vec16 A, I8vec16 B);
Is8vec16
unpack_low(Is8vec16 A, Is8vec16 B);
Iu8vec16
unpack_low(Iu8vec16 A, Iu8vec16 B);
Interleave
the four 8-bit values from the high low of A
with the
four 8-bit values from the low half of B
.
R0 = A0;
R1 = B0;
R2 = A1;
R3 = B1;
R4 = A2;
R5 = B2;
R6 = A3;
R7 = B3;
R8 = A4;
R9 = B4;
R10 = A5;
R11 = B5;
R12 = A6;
R13 = B6;
R14 = A7;
R15 = B7;
Corresponding
intrinsic: _mm_unpacklo_epi8
I8vec8
unpack_low(I8vec8 A, I8vec8 B);
Is8vec8
unpack_low(Is8vec8 A, Is8vec8 B);
Iu8vec8
unpack_low(Iu8vec8 A, Iu8vec8 B);
Interleave
the four 8-bit values from the high low of A
with the
four 8-bit values from the low half of B
.
R0 = A0;
R1 = B0;
R2 = A1;
R3 = B1;
R4 = A2;
R5 = B2;
R6 = A3;
R7 = B3;
Corresponding
intrinsic: _mm_unpacklo_pi8