309 {
310 Vector256<sbyte> value =
Vector256.
Create(16, 16, 1, 2, 4, 8, 4, 8, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 1, 2, 4, 8, 4, 8, 16, 16, 16, 16, 16, 16, 16, 16);
311 Vector256<sbyte> value2 =
Vector256.
Create(21, 17, 17, 17, 17, 17, 17, 17, 17, 17, 19, 26, 27, 27, 27, 26, 21, 17, 17, 17, 17, 17, 17, 17, 17, 17, 19, 26, 27, 27, 27, 26);
312 Vector256<sbyte> value3 =
Vector256.
Create(0, 16, 19, 4, -65, -65, -71, -71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 19, 4, -65, -65, -71, -71, 0, 0, 0, 0, 0, 0, 0, 0);
313 Vector256<sbyte> mask =
Vector256.
Create(2, 1, 0, 6, 5, 4, 10, 9, 8, 14, 13, 12, -1, -1, -1, -1, 2, 1, 0, 6, 5, 4, 10, 9, 8, 14, 13, 12, -1, -1, -1, -1);
314 Vector256<int> control =
Vector256.
Create(0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 4, 0, 0, 0, 5, 0, 0, 0, 6, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1).AsInt32();
318 byte* ptr = srcBytes;
319 byte* ptr2 = destBytes;
320 do
321 {
328 {
329 break;
330 }
333 vector =
Avx2.
Add(vector, right5);
336 vector3 =
Avx2.
Shuffle(vector3.AsSByte(), mask).AsInt32();
339 ptr += 32;
340 ptr2 += 24;
341 }
342 while (ptr <= srcEnd);
343 srcBytes = ptr;
344 destBytes = ptr2;
345 }
static Vector256< byte > Create(byte value)
static Vector256< sbyte > Add(Vector256< sbyte > left, Vector256< sbyte > right)
static Vector256< sbyte > And(Vector256< sbyte > left, Vector256< sbyte > right)
static Vector256< sbyte > CompareEqual(Vector256< sbyte > left, Vector256< sbyte > right)
static Vector256< int > MultiplyAddAdjacent(Vector256< short > left, Vector256< short > right)
static Vector256< short > ShiftRightLogical(Vector256< short > value, Vector128< short > count)
static Vector256< sbyte > Shuffle(Vector256< sbyte > value, Vector256< sbyte > mask)
static Vector256< int > PermuteVar8x32(Vector256< int > left, Vector256< int > control)
static unsafe Vector256< sbyte > LoadVector256(sbyte *address)
static unsafe void Store(sbyte *address, Vector256< sbyte > source)
static bool TestZ(Vector128< float > left, Vector128< float > right)