Compiling errors for ECM master branch
There are compiling errors noticed for ECM master branch under linux environment with the following gcc 7.3.1 and cmake 3.16.4.
The compiling errors: In file included from /home/web_server/files/xiaoyu/ECM11.0_RC1_BASE/ANC/source/Lib/CommonLib/x86/avx2/BilateralFilter_avx2.cpp:1:0: /home/web_server/files/xiaoyu/ECM11.0_RC1_BASE/ANC/source/Lib/CommonLib/x86/avx2/../BilateralFilterX86.h: In static member function ‘static void BilateralFilter::simdFilterDiamond5x5(uint32_t, uint32_t, int16_t*, int16_t*, const ClpRng&, Pel*, int, int, int, int, int, bool, const char*, bool, int)’: /home/web_server/files/xiaoyu/ECM11.0_RC1_BASE/ANC/source/Lib/CommonLib/x86/avx2/../BilateralFilterX86.h:104:18: error: there are no arguments to ‘_mm256_set_m128i’ that depend on a template parameter, so a declaration of ‘_mm256_set_m128i’ must be available [-fpermissive] __m256i lut1 = _mm256_set_m128i(lutTmp, lutTmp); ^~~~~~~~~~~~~~~~ /home/web_server/files/xiaoyu/ECM11.0_RC1_BASE/ANC/source/Lib/CommonLib/x86/avx2/../BilateralFilterX86.h:104:18: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated) /home/web_server/files/xiaoyu/ECM11.0_RC1_BASE/ANC/source/Lib/CommonLib/x86/avx2/../BilateralFilterX86.h:106:18: error: there are no arguments to ‘_mm256_set_m128i’ that depend on a template parameter, so a declaration of ‘_mm256_set_m128i’ must be available [-fpermissive] __m256i lut2 = _mm256_set_m128i(lutTmp, lutTmp); ^~~~~~~~~~~~~~~~ /home/web_server/files/xiaoyu/ECM11.0_RC1_BASE/ANC/source/Lib/CommonLib/x86/avx2/../BilateralFilterX86.h:108:18: error: there are no arguments to ‘_mm256_set_m128i’ that depend on a template parameter, so a declaration of ‘_mm256_set_m128i’ must be available [-fpermissive] __m256i lut3 = _mm256_set_m128i(lutTmp, lutTmp); ^~~~~~~~~~~~~~~~ /home/web_server/files/xiaoyu/ECM11.0_RC1_BASE/ANC/source/Lib/CommonLib/x86/avx2/../BilateralFilterX86.h: In instantiation of ‘static void BilateralFilter::simdFilterDiamond5x5(uint32_t, uint32_t, int16_t*, int16_t*, const ClpRng&, Pel*, int, int, int, int, int, bool, const char*, bool, int) [with X86_VEXT vext = (X86_VEXT)4; uint32_t = unsigned int; int16_t = short int; Pel = short int]’: /home/web_server/files/xiaoyu/ECM11.0_RC1_BASE/ANC/source/Lib/CommonLib/x86/avx2/../BilateralFilterX86.h:537:31: required from ‘void BilateralFilter::_initBilateralFilterX86() [with X86_VEXT vext = (X86_VEXT)4]’ /home/web_server/files/xiaoyu/ECM11.0_RC1_BASE/ANC/source/Lib/CommonLib/x86/avx2/../BilateralFilterX86.h:543:65: required from here /home/web_server/files/xiaoyu/ECM11.0_RC1_BASE/ANC/source/Lib/CommonLib/x86/avx2/../BilateralFilterX86.h:104:34: error: ‘_mm256_set_m128i’ was not declared in this scope __m256i lut1 = _mm256_set_m128i(lutTmp, lutTmp); ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ /home/web_server/files/xiaoyu/ECM11.0_RC1_BASE/ANC/source/Lib/CommonLib/x86/avx2/../BilateralFilterX86.h:104:34: note: suggested alternative: ‘_mm256_set_epi8’ __m256i lut1 = _mm256_set_m128i(lutTmp, lutTmp); ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ _mm256_set_epi8 /home/web_server/files/xiaoyu/ECM11.0_RC1_BASE/ANC/source/Lib/CommonLib/x86/avx2/../BilateralFilterX86.h:106:34: error: ‘_mm256_set_m128i’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive] __m256i lut2 = _mm256_set_m128i(lutTmp, lutTmp); ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ /home/web_server/files/xiaoyu/ECM11.0_RC1_BASE/ANC/source/Lib/CommonLib/x86/avx2/../BilateralFilterX86.h:104:34: note: ‘_mm256_set_m128i’ declared here, later in the translation unit __m256i lut1 = _mm256_set_m128i(lutTmp, lutTmp); ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ /home/web_server/files/xiaoyu/ECM11.0_RC1_BASE/ANC/source/Lib/CommonLib/x86/avx2/../BilateralFilterX86.h:108:34: error: ‘_mm256_set_m128i’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive] __m256i lut3 = _mm256_set_m128i(lutTmp, lutTmp); ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ /home/web_server/files/xiaoyu/ECM11.0_RC1_BASE/ANC/source/Lib/CommonLib/x86/avx2/../BilateralFilterX86.h:104:34: note: ‘_mm256_set_m128i’ declared here, later in the translation unit __m256i lut1 = _mm256_set_m128i(lutTmp, lutTmp); ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ make[2]: *** [source/Lib/CommonAnalyserLib/CMakeFiles/CommonAnalyserLib.dir/build.make:947: source/Lib/CommonAnalyserLib/CMakeFiles/CommonAnalyserLib.dir/__/CommonLib/x86/avx2/BilateralFilter_avx2.cpp.o] Error 1 make[2]: *** Waiting for unfinished jobs.... make[1]: *** [CMakeFiles/Makefile2:373: source/Lib/CommonAnalyserLib/CMakeFiles/CommonAnalyserLib.dir/all] Error 2