------- Comment #1 from eres at il dot ibm dot com 2007-10-09 13:49 ------- The loop in the above example does not get vectorized because of the subtraction in reduction; which is currently not supported.
Taken from the vectorizer dump: test.c:19: note: worklist: examine stmt: udiff_7 = udiff_20 - D.2210_6 test.c:19: note: vect_is_simple_use: operand udiff_20 test.c:19: note: def_stmt: udiff_20 = PHI <udiff_7(4), 1.5e+3(2)> test.c:19: note: Unsupported pattern. test.c:19: note: not vectorized: unsupported use in stmt. test.c:19: note: unexpected pattern. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33711