|
Message-ID: <6f17abde400d26ba050bace7f84ee06b@smtp.hushmail.com> Date: Thu, 16 Apr 2015 21:08:15 +0200 From: magnum <john.magnum@...hmail.com> To: john-dev@...ts.openwall.com Subject: Format interface changes Solar, I think it may be about time we change key index/count variables to unsigned int in Jumbo. Rationale: 1. The previously discussed need for GPU mask mode http://www.openwall.com/lists/john-dev/2013/08/22/12 will soon show up again. We'll soon need it. I don't really see a need for 64-bit pcount though, just unsigned should be enough for a long time. 2. It makes things like "index/SIMD_COEF_32" that we have in wads of SIMD calculations end up as a mere bitshift. The difference is quite noticable, just changing NT2 and ignoring the compiler complaints render a 4% boost. Before the recent AVX2 changes, we had it as "(index>>(SIMD_COEF_32>>1))" but that only works for COEFs 2 and 4. For a while we defined a SIMD_SHIFT_32 macro but I dropped it while fixing all code for hardcoded widths (that was hard enough without it). Instead of re-implementing it now, Sayantan's need came to mind. I'd really prefer keeping the division in the source yet not in the compiled code! Obviously we'll have to make some core code adopt to unsigned too. What do you think? BTW when we're at it, we could start using "const" for pointer arguments where applicable - doing this at the same time comes almost for free compared to doing it separately. I'll obviously do most of it with grep/sed but there's always a substantial amount of manual editing. magnum
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.