shithub: libvpx

Download patch

ref: 3dd993e4be18795ac50ccfd924a22e8a6d946e5a
parent: 27e37e1a8ac0413ba1deec41ef578d5edc343a82
author: James Zern <[email protected]>
date: Sat Jul 1 07:52:20 EDT 2017

highbd_idct8x8_add_sse4: make << of neg. val a multiply

left shifting a negative value is undefined; quiets a ubsan warning.
this is applied to a constant, no change in the generated code.

Change-Id: Ia17a7672d4832463decbc4afd6cd42974d02698e

--- a/vpx_dsp/x86/highbd_idct8x8_add_sse4.c
+++ b/vpx_dsp/x86/highbd_idct8x8_add_sse4.c
@@ -91,7 +91,7 @@
   const __m128i cp_4q_4q =
       _mm_setr_epi32(cospi_4_64 << 2, 0, cospi_4_64 << 2, 0);
   const __m128i cp_n20q_n20q =
-      _mm_setr_epi32(-cospi_20_64 << 2, 0, -cospi_20_64 << 2, 0);
+      _mm_setr_epi32(-cospi_20_64 * 4, 0, -cospi_20_64 * 4, 0);
   const __m128i cp_12q_12q =
       _mm_setr_epi32(cospi_12_64 << 2, 0, cospi_12_64 << 2, 0);
   const __m128i cp_16q_16q =