[FFmpeg-devel] Don't use _tzcnt instrinics with clang for windows w/o BMI.

Dale Curtis dalecurtis at chromium.org
Tue Oct 24 23:15:33 EEST 2017


Technically _tzcnt* intrinsics are only available when the BMI
instruction set is present. However the instruction encoding
degrades to "rep bsf" on older processors.

Clang for Windows debatably restricts the _tzcnt* instrinics behind
the __BMI__ architecture define, so check for its presence or
exclude the usage of these intrinics when clang is present.

See also:
https://ffmpeg.org/pipermail/ffmpeg-devel/2015-November/183404.html
https://bugs.llvm.org/show_bug.cgi?id=30506
http://lists.llvm.org/pipermail/cfe-dev/2016-October/051034.html

Signed-off-by: Dale Curtis <dalecurtis at chromium.org>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: bmi_fix.patch
Type: text/x-patch
Size: 1535 bytes
Desc: not available
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20171024/3b9a2418/attachment.bin>


More information about the ffmpeg-devel mailing list