Files
cpuminer-opt-gpu/algo/panama/panama-hash-4way.h
Jay D Dee 70089d1224 v3.11.2
2020-01-08 14:44:47 -05:00

44 lines
916 B
C

#ifndef PANAMA_HASH_4WAY_H__
#define PANAMA_HASH_4WAY_H__ 1
#include <stddef.h>
#include "simd-utils.h"
/**
* Output size (in bits) for PANAMA.
*/
#define SPH_SIZE_panama 256
typedef struct {
unsigned char data[32<<2];
__m128i buffer[32][8];
__m128i state[17];
unsigned data_ptr;
unsigned buffer_ptr;
} panama_4way_context __attribute__ ((aligned (64)));
void panama_4way_init( void *cc );
void panama_4way_update( void *cc, const void *data, size_t len );
void panama_4way_close( void *cc, void *dst );
#if defined(__AVX2__)
typedef struct {
unsigned char data[32<<3];
__m256i buffer[32][8];
__m256i state[17];
unsigned data_ptr;
unsigned buffer_ptr;
} panama_8way_context __attribute__ ((aligned (128)));
void panama_8way_init( void *cc );
void panama_8way_update( void *cc, const void *data, size_t len );
void panama_8way_close( void *cc, void *dst );
#endif
#endif