いや例が悪いな
依存性の見やすさ以外を公平にするなら、
static void __attribute__((noinline,noclone)) loop_dep(volatile data_type *inout, int n) { int i; data_type acc = inout[0]; for (i=0; i<n; i+=4) { /* load, mul, store */ inout[i+0+1] = f(inout[i+0]); inout[i+1+1] = f(inout[i+1]); inout[i+2+1] = f(inout[i+2]); inout[i+3+1] = f(inout[i+3]); } }
と比較すべきで、これなら変わらん。
というわけで上の話は、あんまり真面目に読まないでください。
また良い例を思いついたら書き直そう。