Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Thu, 11 Apr 2013 9:19:24 -0400
From:  <>
Cc: Jeremi Gosney <>
Subject: Re: [patch] sse/xop implementation of raw-sha256

Since you are still working on this, I would like to ask for these changes:

1.  change the wrapper #define.

#ifdef __SSE2__

Please change to:
#include "arch.h"
#ifdef MMX_COEF

2. the aligned data

change (there is also an aligned item as a local var later in the code needing same fix):

uint32_t saved_key[VWIDTH][64] __attribute__ ((aligned(16)));
uint32_t crypt_key[ 8][VWIDTH] __attribute__ ((aligned(16)));


#ifdef _MSC_VER
__declspec(align(16)) static uint32_t saved_key[VWIDTH][64];
__declspec(align(16)) static uint32_t crypt_key[ 8][VWIDTH];
static uint32_t saved_key[VWIDTH][64] __attribute__ ((aligned(16)));
static uint32_t crypt_key[ 8][VWIDTH] __attribute__ ((aligned(16)));

3.  Make data vars static, not global.

It does build just fine on VC, but not until the above changes.  VC does not define __SSE2__, and it does not understand __attribuite__ (aligned(x)) syntax of gcc.


---- Jeremi Gosney <> wrote: 
> On 4/10/2013 9:53 AM, magnum wrote:
> > Then another commit that adds max-length test vectors and that make
> > the format fail (even from an empty string). The failures have nothing
> > to do with my set_key() patch - they happen even without it. magnum 
> 55 actually is the appropriate max length for a single block
> implementation. 59 was incorrect.

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.