SIMD benchmark

Walter Bright newshound2 at digitalmars.com
Mon Jan 16 14:03:24 PST 2012


On 1/16/2012 1:54 PM, Manu wrote:
>     Unfortunately, if the function was this:
>
>     void foo(int[] a, int[] b, int[] c) {
>
>       for (int i=0; i<256; i++)
>         a[i] = b[i] + c[i];
>     }
>
>     Then it can't vectorize due to aliasing.
>
>
> This is why D needs a __restrict attribute! ;)

That's why D has:

    a[] = b[] + c[];

because the language requires the arrays to be distinct.


More information about the Digitalmars-d mailing list