Openwall GNU/*/Linux - a small security-enhanced Linux distro for servers
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Thu, 09 Apr 2015 11:43:54 +0200
From: magnum <john.magnum@...hmail.com>
To: john-dev@...ts.openwall.com
Subject: Re: New SIMD generations, code layout

On 2015-04-09 05:13, Lei Zhang wrote:
>> On Apr 9, 2015, at 3:22 AM, magnum <john.magnum@...hmail.com> wrote:
>> I now have all formats running fine under AVX2 except md5crypt,
>> Oracle11 and Dynamic (including thin dynamic formats) which is
>> totally busted - I'll leave it for Jim to finish.

BTW since then I fixed md5crypt (I beat Bartavelle to it :) and Oracle11.

> Tested on MIC: 9 out of 188 tests have FAILED. 
> They are:
> 	aix-ssha512
> 	cloudkeychain
> 	sha256crypt
> 	sha512crypt
> 	net-md5
> 	net-sha1
> 	PBKDF2-HMAC-SHA512
> 	tc_aes_xts
> 	tc_sha512
> 
> Out of curiosity, I also tested the latest code on well.openwall.net
> <http://well.openwall.net/> (AVX2). Only net-md5 and net-sha1 failed
> the tests (excluding dynamic formats). Magnum, you said that only
> md5crypt and oracle11 failed, which differs from my observation. I'm
> a bit confused now.

Net-md5 and net-sha1 are "half-thin" dynamic formats, so can be ignored.
The rest of the ones that fail on MIC probably has bugs that happened to
not surface on AVX2 (yet).

BTW one example of intermittant bug is if there's any align(16) still in
there - there's a chance such thing will happen to become aligned for
AVX2 but less chance for MIC. Those should result in segfault though, if
you only got a FAIL this is probably not it.

Also, I recall some formats had things like

#if SIMD_COEF_32 == 4
(...)
#else /* likely meaning MMX */
(...)
#endif

When possible, such things should be replaced by vector-agnostic code
(even if it means a for loop - it might become unrolled anyway). I think
I just added clauses in some cases, for now. And maybe I fixed some of
them for AVX2 only (I should have left #warning's for you but I'm not
sure I always did).

magnum

Powered by blists - more mailing lists

Your e-mail address:

Powered by Openwall GNU/*/Linux - Powered by OpenVZ