http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55600
--- Comment #3 from Ondrej Bilka 2012-12-26 22:05:37
UTC ---
Created attachment 29052
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=29052
benchmark
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55600
--- Comment #2 from Ondrej Bilka 2012-12-26 22:03:59
UTC ---
Yes when 128 is replaced by smaller constant. Attached patch gives on my i5
following:
size 32
vector
real0m0.224s
user0m0.220s
sys0m0.000s
unroll
real0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55600
--- Comment #1 from Richard Biener 2012-12-05
10:33:06 UTC ---
GCC fully unrolls the vectorized looo. ICC does not.
The loop rolls 16 times:
:
# vect_p.5_30 = PHI
# vect_su.12_52 = PHI
# ivtmp_61 = PHI
vect_var_.9_46