Hi, so I've been trying to research SIMD instructions and I've learned that the compiler can automatically use SIMD instructions in some cases with the appropriate compiler flags (/arch:SSE2 for MSVC). And I've learned that it mainly does this when unrolling loops where there's no dependency between iterations. In a blog post I learned that at least in the 2012 version you had to use int or size_t in the for loop. It seems it can only use the SIMD instructions for math operations if you use the math.h functions.
Are there any other guidelines that you should follow for automatic vectorization?