great work, do you have any encoder speed data going from avx2 to avx512?<div id="yMail_cursorElementTracker_1496971893500">  thanks</div><div id="yMail_cursorElementTracker_1496971919238">Chekib</div><div id="yMail_cursorElementTracker_1496971885705"><br id="yMail_cursorElementTracker_1496971765784"><br><div id="ymail_android_signature"><a href="https://overview.mail.yahoo.com/mobile/?.src=Android">Sent from Yahoo Mail on Android</a></div> <br> <blockquote style="margin: 0 0 20px 0;"> <header style="font-family:Roboto, sans-serif; color:#6D00F6;"> <div>On Sun, 21 May 2017 at 3:13 PM, Henrik Gramner</div><div><git@videolan.org> wrote:</div> </header> <div style="padding: 10px 0 0 20px; margin: 10px 0 0 0; border-left: 1px solid #6D00F6;"> <div dir="ltr">x264 | branch: master | Henrik Gramner <<a ymailto="mailto:henrik@gramner.com" href="mailto:henrik@gramner.com">henrik@gramner.com</a>> | Sat Mar 25 10:16:09 2017 +0100| [472ce3648aea3ddc16b7716eb114f4bcdb8fea8f] | committer: Henrik Gramner<br></div><div dir="ltr"><br></div><div dir="ltr">x86: AVX-512 support<br></div><div dir="ltr"><br></div><div dir="ltr">AVX-512 consists of a plethora of different extensions, but in order to keep<br></div><div dir="ltr">things a bit more manageable we group together the following extensions<br></div><div dir="ltr">under a single baseline cpu flag which should cover SKL-X and future CPUs:<br></div><div dir="ltr"> * AVX-512 Foundation (F)<br></div><div dir="ltr"> * AVX-512 Conflict Detection Instructions (CD)<br></div><div dir="ltr"> * AVX-512 Byte and Word Instructions (BW)<br></div><div dir="ltr"> * AVX-512 Doubleword and Quadword Instructions (DQ)<br></div><div dir="ltr"> * AVX-512 Vector Length Extensions (VL)<br></div><div dir="ltr"><br></div><div dir="ltr">On x86-64 AVX-512 provides 16 additional vector registers, prefer using<br></div><div dir="ltr">those over existing ones since it allows us to avoid using `vzeroupper`<br></div><div dir="ltr">unless more than 16 vector registers are required. They also happen to<br></div><div dir="ltr">be volatile on Windows which means that we don't need to save and restore<br></div><div dir="ltr">existing xmm register contents unless more than 22 vector registers are<br></div><div dir="ltr">required.<br></div><div dir="ltr"><br></div><div dir="ltr">Also take the opportunity to drop X264_CPU_CMOV and X264_CPU_SLOW_CTZ while<br></div><div dir="ltr">we're breaking API by messing with the cpu flags since they weren't really<br></div><div dir="ltr">used for anything.<br></div><div dir="ltr"><br></div><div dir="ltr">Big thanks to Intel for their support.<br></div><div dir="ltr"><br></div><div dir="ltr">> <a href="http://git.videolan.org/gitweb.cgi/x264.git/?a=commit;h=472ce3648aea3ddc16b7716eb114f4bcdb8fea8f" target="_blank">http://git.videolan.org/gitweb.cgi/x264.git/?a=commit;h=472ce3648aea3ddc16b7716eb114f4bcdb8fea8f</a><br></div><div dir="ltr">---<br></div><div dir="ltr"><br></div><div dir="ltr"> common/cpu.c          |  58 ++++++++----------<br></div><div dir="ltr"> common/cpu.h          |   4 +-<br></div><div dir="ltr"> common/osdep.h        |   8 ++-<br></div><div dir="ltr"> common/x86/cpu-a.asm  |  22 +++----<br></div><div dir="ltr"> common/x86/x86inc.asm | 167 ++++++++++++++++++++++++++++++++++++++++----------<br></div><div dir="ltr"> configure             |   5 +-<br></div><div dir="ltr"> encoder/encoder.c     |   5 --<br></div><div dir="ltr"> tools/checkasm.c      |  51 +++++----------<br></div><div dir="ltr"> x264.h                |  57 +++++++++--------<br></div><div dir="ltr"> 9 files changed, 230 insertions(+), 147 deletions(-)<br></div><div dir="ltr"><br></div><div dir="ltr">Diff:   <a href="http://git.videolan.org/gitweb.cgi/x264.git/?a=commitdiff;h=472ce3648aea3ddc16b7716eb114f4bcdb8fea8f" target="_blank">http://git.videolan.org/gitweb.cgi/x264.git/?a=commitdiff;h=472ce3648aea3ddc16b7716eb114f4bcdb8fea8f</a><br></div><div dir="ltr">_______________________________________________<br></div><div dir="ltr">x264-devel mailing list<br></div><div dir="ltr"><a ymailto="mailto:x264-devel@videolan.org" href="mailto:x264-devel@videolan.org">x264-devel@videolan.org</a><br></div><div dir="ltr"><a href="https://mailman.videolan.org/listinfo/x264-devel" target="_blank">https://mailman.videolan.org/listinfo/x264-devel</a><br></div> </div> </blockquote></div>