diff --git a/aom_dsp/x86/blend_a64_mask_sse4.c b/aom_dsp/x86/blend_a64_mask_sse4.c
index 58a7345..9a10e86 100644
--- a/aom_dsp/x86/blend_a64_mask_sse4.c
+++ b/aom_dsp/x86/blend_a64_mask_sse4.c
@@ -1120,14 +1120,12 @@
     const __m128i *clip_low, const __m128i *clip_high,
     const __m128i *mask_max) {
   // Load 4 pixels from each of 4 rows from each source
-  const __m128i s0a =
-      _mm_set_epi64x(*(int64_t *)src0, *(int64_t *)(src0 + src0_stride));
-  const __m128i s0b = _mm_set_epi64x(*(int64_t *)(src0 + 2 * src0_stride),
-                                     *(int64_t *)(src0 + 3 * src0_stride));
-  const __m128i s1a =
-      _mm_set_epi64x(*(int64_t *)(src1), *(int64_t *)(src1 + src1_stride));
-  const __m128i s1b = _mm_set_epi64x(*(int64_t *)(src1 + 2 * src1_stride),
-                                     *(int64_t *)(src1 + 3 * src1_stride));
+  const __m128i s0a = xx_loadu_2x64(src0, src0 + src0_stride);
+  const __m128i s0b =
+      xx_loadu_2x64(src0 + 2 * src0_stride, src0 + 3 * src0_stride);
+  const __m128i s1a = xx_loadu_2x64(src1, src1 + src1_stride);
+  const __m128i s1b =
+      xx_loadu_2x64(src1 + 2 * src1_stride, src1 + 3 * src1_stride);
 
   // Generate the inverse masks
   const __m128i mask1a = _mm_sub_epi16(*mask_max, *mask0a);
