aom: obmc_intrinsic_sse4: use xx_loadl_32() for unaligned int loads

From 5c229f826a5770e4dc0354f534f0db9c2def326e Mon Sep 17 00:00:00 2001
From: James Zern <[EMAIL REDACTED]>
Date: Thu, 9 May 2024 12:05:32 -0700
Subject: [PATCH] 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
---
 aom_dsp/x86/obmc_intrinsic_sse4.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/aom_dsp/x86/obmc_intrinsic_sse4.h b/aom_dsp/x86/obmc_intrinsic_sse4.h
index 210f466b6f..fbed23596c 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 @@ static INLINE void obmc_variance_w4(const uint8_t *pre, const int pre_stride,
   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));