_mm_stream_load_si128
is declared as
__m128i _mm_stream_load_si128 (__m128i * mem_addr)
while _mm_load_si128
is declared as
__m128i _mm_load_si128 (__m128i const* mem_addr)
Does the former modify the contents of what mem_addr
points to? If not, what's the motivation for the non-const declaration?