On 1/15/12 12:56 AM, Walter Bright wrote:
I get a 2 to 2.5 speedup with the vector instructions on 64 bit Linux.
Anyhow, it's good enough now to play around with. Consider it alpha
quality. Expect bugs - but make bug reports, as there's a serious lack
of source code to test it with.
-----------------------
import core.simd;

void test1a(float[4] a) { }

void test1()
{
float[4] a = 1.2;
a[] = a[] * 3 + 7;
test1a(a);
}

void test2a(float4 a) { }

void test2()
{
float4 a = 1.2;
a = a * 3 + 7;
test2a(a);
}

These two functions should have the same speed. The function that ought to be slower is:

void test1()
{
    float[5] a = 1.2;
    float[] b = a[1 .. $];
    b[] = b[] * 3 + 7;
    test1a(a);
}


Andrei

Reply via email to