shithub: libvpx

Download patch

ref: 64220915dc0af86f29a8e52c0c3ede6d83539a5e
parent: 89b1c073441a18ecb96b8dcd8ee13714bce94284
author: James Zern <jzern@google.com>
date: Tue Aug 7 07:06:08 EDT 2018

vpx_highbd_d153_predictor_4x4_sse2: reduce load size

this avoids reading 4 pixels into another block, which may be operated
on by a different thread. quiets a tsan warning.

Change-Id: Id27ad9d61819b0e5de0230647b4b510f7c265a71

--- a/vpx_dsp/x86/highbd_intrapred_intrin_sse2.c
+++ b/vpx_dsp/x86/highbd_intrapred_intrin_sse2.c
@@ -460,7 +460,8 @@
   const int J = left[1];
   const int K = left[2];
   const int L = left[3];
-  const __m128i XXXXXABC = _mm_loadu_si128((const __m128i *)(above - 5));
+  const __m128i XXXXXABC = _mm_castps_si128(
+      _mm_loadh_pi(_mm_setzero_ps(), (const __m64 *)(above - 1)));
   const __m128i LXXXXABC = _mm_insert_epi16(XXXXXABC, L, 0);
   const __m128i LKXXXABC = _mm_insert_epi16(LXXXXABC, K, 1);
   const __m128i LKJXXABC = _mm_insert_epi16(LKXXXABC, J, 2);