]> granicus.if.org Git - libvpx/commitdiff
vpx_highbd_d153_predictor_4x4_sse2: reduce load size
authorJames Zern <jzern@google.com>
Tue, 7 Aug 2018 18:06:08 +0000 (11:06 -0700)
committerJames Zern <jzern@google.com>
Tue, 7 Aug 2018 18:06:08 +0000 (11:06 -0700)
this avoids reading 4 pixels into another block, which may be operated
on by a different thread. quiets a tsan warning.

Change-Id: Id27ad9d61819b0e5de0230647b4b510f7c265a71

vpx_dsp/x86/highbd_intrapred_intrin_sse2.c

index 2051381aa88039cfc94bffdec03974d7c62869f4..43634aea3af0de4b3fac3ebc533a6c720a9233fe 100644 (file)
@@ -460,7 +460,8 @@ void vpx_highbd_d153_predictor_4x4_sse2(uint16_t *dst, ptrdiff_t stride,
   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);