On 16/01/12 8:56 PM, Iain Buclaw wrote:
On 16 January 2012 19:25, Walter Bright<newshou...@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.