The proof is gcc's torture test suite. Have a look
Auto vectorization would need extensive -O3 opts, which I dont do yet. No ssa, no escape analysis. The compiler should stay fast. And I prefer manual vectorization via attributes. Still better than using the insane and platform dependent SSE/neon apis, everyone else is using. See the torture/vect/ tests. They all pass