https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68924
--- Comment #5 from Uroš Bizjak <ubizjak at gmail dot com> --- _mm_loadu_si64 intrinsic can now be used in the example from #Description: #include <immintrin.h> #include <stdint.h> __m256 load_bytes_to_m256(uint8_t *p) { __m128i small_load = _mm_loadu_si64( (void *)p ); __m256i intvec = _mm256_cvtepu8_epi32( small_load ); return _mm256_cvtepi32_ps(intvec); } -O2 -mavx2 now compiles on 32bit targets to: ... vpmovzxbd (%eax), %ymm0 vcvtdq2ps %ymm0, %ymm0