EleonoreMizo / fmtconv

Format conversion tools for Vapoursynth and Avisynth+
Do What The F*ck You Want To Public License
67 stars 14 forks source link

error: '_mm_storeu_si32' was not declared in this scope; did you mean '_mm_storeu_si64'? #32

Closed Mit2g closed 2 years ago

Mit2g commented 2 years ago

Hi there. I met this error when I tried to compile in debian 11 with the latest master branch

../../src/fmtcl/TransLut.cpp: In function 'void fmtcl::TransLut_store_sse2(uint8_t*, __m128)':
../../src/fmtcl/TransLut.cpp:242:2: error: '_mm_storeu_si32' was not declared in this scope; did you mean '_mm_storeu_si64'?
  242 |  _mm_storeu_si32 (dst_ptr, val_u8);
      |  ^~~~~~~~~~~~~~~
      |  _mm_storeu_si64
make[1]: *** [Makefile:1851: ../../src/fmtcl/TransLut.lo] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory 'fmtconv/build/unix'

Hope the developer check it out, thanks

EleonoreMizo commented 2 years ago

Thanks for the report, and sorry for the late reply, I connect on Github only occasionally. It seems there is an issue with the support of _mm_storeu_si32() in some compilers. I’ll update a more portable version soon. In the meantime you can replace the offending line with:

_mm_store_ss (reinterpret_cast <float *> (dst_ptr), _mm_castsi128_ps (val_u8));
Mit2g commented 2 years ago

Thanks for the report, and sorry for the late reply, I connect on Github only occasionally. It seems there is an issue with the support of _mm_storeu_si32() in some compilers. I’ll update a more portable version soon. In the meantime you can replace the offending line with:

_mm_store_ss (reinterpret_cast <float *> (dst_ptr), _mm_castsi128_ps (val_u8));

Got it. Thank you.

EleonoreMizo commented 2 years ago

Fixed in a4275347e22f5eddc2b33d08f5b4074b0394c0a9