SIMD benchmark

Manu turkeyman at gmail.com
Mon Jan 16 14:06:12 PST 2012


On 17 January 2012 00:03, Walter Bright <newshound2 at 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?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20120117/67c3a154/attachment.html>


More information about the Digitalmars-d mailing list