|
Message-Id: <A12FB85F-3634-4557-ACDA-18E23488CE8F@gmail.com> Date: Sat, 18 Apr 2015 11:01:56 +0800 From: Lei Zhang <zhanglei.april@...il.com> To: john-dev@...ts.openwall.com Subject: AVX512 support detection Hi, I was trying to test the AVX512 intrinsics in JtR on Intel SDE, and ended up finding that there's not a single macro named "__AVX512__" that can detect the underlying support for AVX512. Actually there're a couple of macros to detect different subsets of AVX512, respectively. As a brief reference, they're: __AVX512BW__ - Byte and Word instructions __AVX512CD__ - Conflict Detection instructions __AVX512DQ__ - Doubleword and Quadword instructions __AVX512ER__ - Exponential and Reciprocal instructions __AVX512F__ - Foundation instructions __AVX512PF__ - Prefetch instructions __AVX512VL__ - Vector Length extensions Most of the intrinsics used in JtR fall on the AVX512F and AVX512BW subsets. AVX512F is almost the same as MIC's KNC instruction set, covering most of the commonly used intrinsics. And AVX512BW contains those integer-operating intrinsics suffixed with epi8/epi16, for which we have to implement workarounds on MIC. So the macro "__AVX512__" currently used in JtR won't work at all. I'll refactor the code first, and see how it works on SDE. Lei
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.