[flac-dev] [PATCH] workaround for a bug in MSVC 2015 U2

lvqcl lvqcl.mail at gmail.com
Mon May 2 15:31:57 UTC 2016

lvqcl wrote:

> It seems that MSVC miscompiles
>      abs_residual_partition_sums[partition] = (FLAC__uint32)_mm_cvtsi128_si32(mm_sum);
> into
>      movq    QWORD PTR [rsi], xmm2

I just thought that it's also possible to use the following workaround:

      abs_residual_partition_sums[partition] = (FLAC__uint32)_mm_cvtsi128_si32(mm_sum);
+#if (defined _MSC_VER) && (_MSC_FULL_VER == 190023918) && (defined FLAC__CPU_X86_64)
+    abs_residual_partition_sums[partition] &= 0xFFFFFFFF;

probably this will be faster than to disable optimization.

More information about the flac-dev mailing list