On 17 January 2012 00:03, Walter Bright <newshou...@digitalmars.com> wrote:

> 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.
>

Surely it would be possible for them to be overlapping slices?

Reply via email to