obmc_intrinsic_sse4: use xx_loadl_32() for unaligned int loads This quiets some undefined sanitizer warnings related to unaligned loads; no change in assembly with gcc-13. Change-Id: I8fcb3f24031a763183b149658be0f65763f04383 (cherry picked from commit 5c229f826a5770e4dc0354f534f0db9c2def326e)
diff --git a/aom_dsp/x86/obmc_intrinsic_sse4.h b/aom_dsp/x86/obmc_intrinsic_sse4.h index 210f466..fbed235 100644 --- a/aom_dsp/x86/obmc_intrinsic_sse4.h +++ b/aom_dsp/x86/obmc_intrinsic_sse4.h
@@ -15,6 +15,7 @@ #include <smmintrin.h> #include "aom_dsp/x86/obmc_intrinsic_ssse3.h" +#include "aom_dsp/x86/synonyms.h" static INLINE void obmc_variance_w4(const uint8_t *pre, const int pre_stride, const int32_t *wsrc, const int32_t *mask, @@ -28,7 +29,7 @@ assert(IS_POWER_OF_TWO(h)); do { - const __m128i v_p_b = _mm_cvtsi32_si128(*(const int *)(pre + n)); + const __m128i v_p_b = xx_loadl_32(pre + n); const __m128i v_m_d = _mm_load_si128((const __m128i *)(mask + n)); const __m128i v_w_d = _mm_load_si128((const __m128i *)(wsrc + n));