Fix aom compile errors with VS2015

Import BUG=aomedia:900
This commit is contained in:
trav90 2018-10-18 21:56:49 -05:00 • committed by Roy Tam
commit b9b9d8e4a1
7 changed files with 51 additions and 29 deletions

View file

@ -43,5 +43,25 @@ static INLINE long lroundf(float x) {
}
#endif // _MSC_VER < 1800
#if HAVE_AVX
#include <immintrin.h>
// Note:
// _mm256_insert_epi16 intrinsics is available from vs2017.
// We define this macro for vs2015 and earlier. The
// intrinsics used here are in vs2015 document:
// https://msdn.microsoft.com/en-us/library/hh977022.aspx
// Input parameters:
// a: __m256i,
// d: int16_t,
// indx: imm8 (0 - 15)
#if _MSC_VER <= 1900
#define _mm256_insert_epi16(a, d, indx) \
_mm256_insertf128_si256( \
a, \
_mm_insert_epi16(_mm256_extractf128_si256(a, indx >> 3), d, indx % 8), \
indx >> 3)
#endif // _MSC_VER <= 1900
#endif // HAVE_AVX
#endif // _MSC_VER
#endif // AOM_PORTS_MSVC_H_