[Issue 16550] Generic SIMD shuffle for Mir

via Digitalmars-d-bugs digitalmars-d-bugs at puremagic.com
Tue Sep 27 03:45:50 PDT 2016


https://issues.dlang.org/show_bug.cgi?id=16550

--- Comment #2 from Илья Ярошенко <ilyayaroshenko at gmail.com> ---
__vector(float[8]) a; // re0 im0 re1 im1 re2 im2 re3 im3
__vector(float[8]) b; // re4 im4 re5 im5 re6 im6 re7 im7

// Packing
__vector(float[8]) re = extractRe(a, b); // re0 re1 re2 re3 re4 re5 re6 re7
__vector(float[8]) im = extractIm(a, b); // im0 im1 im2 im3 im4 im5 im6 im7

// Unpacking
__vector(float[8]) c = mix0(re, im); //re0 im0 re1 im1 re2 im2 re3 im3
__vector(float[8]) d = mix1(re, im); //re4 im4 re5 im5 re6 im6 re7 im7


assert(c == a);
assert(d == b);

--


More information about the Digitalmars-d-bugs mailing list