Hi Richard, Here is the relevant block from the dump:
<bb 3>: __vect_var__26_6 = *__vect_p_14_19; *__vect_p_18_25 = __vect_var__26_6; # PT = nonlocal { __PARM_RESTRICT_2 } (restr) __vect_p_22_11 = __vect_p_14_19 + 8; # PT = nonlocal { __PARM_RESTRICT_1 } (restr) __vect_p_27_12 = __vect_p_18_25 + 8; __vect_var__26_45 = *__vect_p_22_11; *__vect_p_27_12 = __vect_var__26_45; I guess that it recognizes the restrict pointer so I don't understand why later it creates a dependency between the insns. Do you see here something relevant? Thanks, Roy.