Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Sat, 18 Apr 2015 10:34:06 +0200
From: magnum <>
Subject: Re: AVX512 support detection

On 2015-04-18 05:01, Lei Zhang wrote:
> 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.

I noticed this too although (not investigating further) I thought
everything we use was AVX512F. Note that in src/m4/jtr_x86_logic.m4 we
currenty only test for -mavx512f. This doesn't matter as long as you let
it use -march=native which is the default, but I'll fix that.


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.