In today's episode of "The compiler is smarter than you", I just found out that gcc and clang will even SIMDify instructions for you:

https://gcc.godbolt.org/z/nMfvePssY

Compiler Explorer - C (x86-64 gcc 10.2)

void Dot( const float* v0, const float* v1, float* out, const int N ){ for ( int i = 0; i < N; ++i ){ out[i] = v0[i] * v1[i]; } }