aom: synonyms.h: s/_mm_loadu_si64/_mm_loadl_epi64/

From 249c4c48d3763cdf81413293461503533408830b Mon Sep 17 00:00:00 2001
From: James Zern <[EMAIL REDACTED]>
Date: Sat, 25 May 2024 09:33:19 -0700
Subject: [PATCH] synonyms.h: s/_mm_loadu_si64/_mm_loadl_epi64/

_mm_loadu_si64 is defined in immintrin.h. Use _mm_loadl_epi64() instead
as the includes were changed in:
6f8189bb64 x86/synonyms.h: include emmintrin.h not immintrin.h

Fixes Visual Studio build errors:
aom_dsp/x86/synonyms.h(53,43): warning C4013: '_mm_loadu_si64'
  undefined; assuming extern returning int
aom_dsp/x86/synonyms.h(53,43): warning C4024: '_mm_unpacklo_epi64':
  different types for formal and actual parameter 1
aom_dsp/x86/synonyms.h(53,63): warning C4024: '_mm_unpacklo_epi64':
  different types for formal and actual parameter 2

Change-Id: I655d0f968889d91815b6afbca869740d091032f6
---
 aom_dsp/x86/synonyms.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/aom_dsp/x86/synonyms.h b/aom_dsp/x86/synonyms.h
index 0914b98b7..ae889ad16 100644
--- a/aom_dsp/x86/synonyms.h
+++ b/aom_dsp/x86/synonyms.h
@@ -50,7 +50,8 @@ static INLINE __m128i xx_loadu_128(const void *a) {
 // Since directly loading as `int64_t`s and using _mm_set_epi64 may violate
 // the strict aliasing rule, this takes a different approach
 static INLINE __m128i xx_loadu_2x64(const void *hi, const void *lo) {
-  return _mm_unpacklo_epi64(_mm_loadu_si64(lo), _mm_loadu_si64(hi));
+  return _mm_unpacklo_epi64(_mm_loadl_epi64((const __m128i *)lo),
+                            _mm_loadl_epi64((const __m128i *)hi));
 }
 
 static INLINE void xx_storel_32(void *const a, const __m128i v) {