http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55334
--- Comment #10 from vincenzo Innocente <vincenzo.innocente at cern dot ch> 2012-11-16 13:46:13 UTC --- actually looking into the generated code I do not see any trace of "runtime check" even in presence of "const" c++ -O3 -ftree-vectorizer-verbose=1 -c alias.cc Analyzing loop at alias.cc:6 Vectorizing loop at alias.cc:6 6: create runtime check for data references *_7 and *_6 6: create runtime check for data references *_9 and *_6 6: created 2 versioning for alias checks. 6: LOOP VECTORIZED. alias.cc:2: note: vectorized 1 loops in function. pb-d-128-141-131-26:vectorize innocent$ otool -v -V -t alias.o alias.o: (__TEXT,__text) section __Z3sumv: 0000000000000000 leaq _mem+0x00001000(%rip),%rax 0000000000000007 leaq _mem+0x00002000(%rip),%rdx 000000000000000e nop 0000000000000010 movaps (%rax),%xmm0 0000000000000013 addq $0x10,%rax 0000000000000017 addps 0x00000ff0(%rax),%xmm0 000000000000001e movaps %xmm0,0xffffeff0(%rax) 0000000000000025 cmpq %rdx,%rax 0000000000000028 jne 0x00000010 000000000000002a repz/ret