diff options
author | James Zern <jzern@google.com> | 2018-08-07 11:06:08 -0700 |
---|---|---|
committer | James Zern <jzern@google.com> | 2018-08-07 11:06:08 -0700 |
commit | 64220915dc0af86f29a8e52c0c3ede6d83539a5e (patch) | |
tree | 5ec45e60a593c28f716497fc520b710b4a8e3236 /vpx_dsp | |
parent | 89b1c073441a18ecb96b8dcd8ee13714bce94284 (diff) | |
download | libvpx-64220915dc0af86f29a8e52c0c3ede6d83539a5e.tar libvpx-64220915dc0af86f29a8e52c0c3ede6d83539a5e.tar.gz libvpx-64220915dc0af86f29a8e52c0c3ede6d83539a5e.tar.bz2 libvpx-64220915dc0af86f29a8e52c0c3ede6d83539a5e.zip |
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
Diffstat (limited to 'vpx_dsp')
-rw-r--r-- | vpx_dsp/x86/highbd_intrapred_intrin_sse2.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/vpx_dsp/x86/highbd_intrapred_intrin_sse2.c b/vpx_dsp/x86/highbd_intrapred_intrin_sse2.c index 2051381aa..43634aea3 100644 --- a/vpx_dsp/x86/highbd_intrapred_intrin_sse2.c +++ b/vpx_dsp/x86/highbd_intrapred_intrin_sse2.c @@ -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); |