SIMD benchmark
Peter Alexander
peter.alexander.au at gmail.com
Mon Jan 16 13:57:07 PST 2012
On 16/01/12 8:56 PM, Iain Buclaw wrote:
> On 16 January 2012 19:25, Walter Bright<newshound2 at digitalmars.com> wrote:
>> On 1/16/2012 11:16 AM, Iain Buclaw wrote:
>>>>
>>>> But don't worry, I'm not planning on working on that at the moment :-)
>>>
>>> Leave that sort of optimisation for the backend to handle please. ;-)
>>
>>
>> Of course.
>>
>> I suspect Intel's compiler does that one, does gcc?
>>
>
> There's auto-vectorisation for for(), foreach(), and foreach_reverse()
> loops that I have written support for. I am not aware of GCC
> vectorising anything else.
>
> example:
>
> int a[256], b[256], c[256];
> void foo () {
> for (int i=0; i<256; i++)
> a[i] = b[i] + c[i];
> }
>
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.
More information about the Digitalmars-d
mailing list