static void body(uint32_t ABCD[4], uint32_t X[16]){ int t; int i av_unused; unsigned int a= ABCD[3]; unsigned int b= ABCD[2]; unsigned int c= ABCD[1]; unsigned int d= ABCD[0]; #ifdef WORDS_BIGENDIAN for(i=0; i<16; i++) X[i]= bswap_32(X[i]); #endif #ifdef CONFIG_SMALL for( i = 0; i < 64; i++ ){ CORE(i,a,b,c,d) t=d; d=c; c=b; b=a; a=t; } #else #define CORE2(i) CORE(i,a,b,c,d) CORE((i+1),d,a,b,c) CORE((i+2),c,d,a,b) CORE((i+3),b,c,d,a) #define CORE4(i) CORE2(i) CORE2((i+4)) CORE2((i+8)) CORE2((i+12)) CORE4(0) CORE4(16) CORE4(32) CORE4(48) #endif ABCD[0] += d; ABCD[1] += c; ABCD[2] += b; ABCD[3] += a; }
static void body(uint32_t ABCD[4], uint32_t *src, int nblocks) { int i av_unused; int n; uint32_t a, b, c, d, t, *X; for (n = 0; n < nblocks; n++) { a = ABCD[3]; b = ABCD[2]; c = ABCD[1]; d = ABCD[0]; X = src + n * 16; #if HAVE_BIGENDIAN for (i = 0; i < 16; i++) X[i] = av_bswap32(X[i]); #endif #if CONFIG_SMALL for (i = 0; i < 64; i++) { CORE(i, a, b, c, d); t = d; d = c; c = b; b = a; a = t; } #else #define CORE2(i) \ CORE(i, a, b, c, d); CORE((i + 1), d, a, b, c); \ CORE((i + 2), c, d, a, b); CORE((i + 3), b, c, d, a) #define CORE4(i) CORE2(i); CORE2((i + 4)); CORE2((i + 8)); CORE2((i + 12)) CORE4(0); CORE4(16); CORE4(32); CORE4(48); #endif ABCD[0] += d; ABCD[1] += c; ABCD[2] += b; ABCD[3] += a; } }
/* see sph_haval.h */ void sph_haval_4_comp(const sph_u32 msg[32], sph_u32 val[8]) { DSTATE; RVAL; CORE4(INMSG); WVAL; }
static void body (uint32_t ABCD[4], uint32_t X[16]) { int t; unsigned int a = ABCD[3]; unsigned int b = ABCD[2]; unsigned int c = ABCD[1]; unsigned int d = ABCD[0]; CORE4 (0); CORE4 (16); CORE4 (32); CORE4 (48); ABCD[0] += d; ABCD[1] += c; ABCD[2] += b; ABCD[3] += a; }
static void body(uint32_t ABCD[4], const uint8_t *src, int nblocks) { int i av_unused; int n; const uint32_t *X; uint32_t a, b, c, d, t; for (n = 0; n < nblocks; n++) { a = ABCD[3]; b = ABCD[2]; c = ABCD[1]; d = ABCD[0]; X = (const uint32_t *)src + n * 16; #if CONFIG_SMALL for (i = 0; i < 64; i++) { CORE(i, a, b, c, d); t = d; d = c; c = b; b = a; a = t; } #else #define CORE2(i) \ CORE(i, a, b, c, d); CORE((i + 1), d, a, b, c); \ CORE((i + 2), c, d, a, b); CORE((i + 3), b, c, d, a) #define CORE4(i) CORE2(i); CORE2((i + 4)); CORE2((i + 8)); CORE2((i + 12)) CORE4(0); CORE4(16); CORE4(32); CORE4(48); #endif ABCD[0] += d; ABCD[1] += c; ABCD[2] += b; ABCD[3] += a; } }
static void body(uint32_t ABCD[4], uint32_t X[16]) { int i av_unused; uint32_t t; uint32_t a = ABCD[3]; uint32_t b = ABCD[2]; uint32_t c = ABCD[1]; uint32_t d = ABCD[0]; #if HAVE_BIGENDIAN for (i = 0; i < 16; i++) X[i] = av_bswap32(X[i]); #endif #if CONFIG_SMALL for (i = 0; i < 64; i++) { CORE(i, a, b, c, d); t = d; d = c; c = b; b = a; a = t; } #else #define CORE2(i) \ CORE( i, a,b,c,d); CORE((i+1),d,a,b,c); \ CORE((i+2),c,d,a,b); CORE((i+3),b,c,d,a) #define CORE4(i) CORE2(i); CORE2((i+4)); CORE2((i+8)); CORE2((i+12)) CORE4(0); CORE4(16); CORE4(32); CORE4(48); #endif ABCD[0] += d; ABCD[1] += c; ABCD[2] += b; ABCD[3] += a; }