mirror of
https://github.com/henrydcase/pqc.git
synced 2024-11-24 00:11:27 +00:00
b3f9d4f8d6
* Add McEliece reference implementations * Add Vec implementations of McEliece * Add sse implementations * Add AVX2 implementations * Get rid of stuff not supported by Mac ABI * restrict to two cores * Ditch .data files * Remove .hidden from all .S files * speed up duplicate consistency tests by batching * make cpuinfo more robust * Hope to stabilize macos cpuinfo without ccache * Revert "Hope to stabilize macos cpuinfo without ccache" This reverts commit 6129c3cabe1abbc8b956bc87e902a698e32bf322. * Just hardcode what's available at travis * Fixed-size types in api.h * namespace all header files in mceliece * Ditch operations.h * Get rid of static inline functions * fixup! Ditch operations.h
34 lines
926 B
C
34 lines
926 B
C
#ifndef PQCLEAN_MCELIECE348864_SSE_UTIL_H
|
|
#define PQCLEAN_MCELIECE348864_SSE_UTIL_H
|
|
/*
|
|
This file is for loading/storing data in a little-endian fashion
|
|
*/
|
|
|
|
|
|
#include "gf.h"
|
|
#include "vec128.h"
|
|
|
|
#include <stdint.h>
|
|
|
|
void PQCLEAN_MCELIECE348864_SSE_store_i(unsigned char *out, uint64_t in, int i);
|
|
void PQCLEAN_MCELIECE348864_SSE_store2(unsigned char *dest, gf a);
|
|
|
|
uint16_t PQCLEAN_MCELIECE348864_SSE_load2(const unsigned char *src);
|
|
|
|
uint32_t PQCLEAN_MCELIECE348864_SSE_load4(const unsigned char *src);
|
|
|
|
void PQCLEAN_MCELIECE348864_SSE_irr_load(uint64_t *out, const unsigned char *in);
|
|
|
|
void PQCLEAN_MCELIECE348864_SSE_store8(unsigned char *out, uint64_t in);
|
|
|
|
uint64_t PQCLEAN_MCELIECE348864_SSE_load8(const unsigned char *in);
|
|
|
|
gf PQCLEAN_MCELIECE348864_SSE_bitrev(gf a);
|
|
|
|
vec128 PQCLEAN_MCELIECE348864_SSE_load16(const unsigned char *in);
|
|
|
|
void PQCLEAN_MCELIECE348864_SSE_store16(unsigned char *out, vec128 in);
|
|
|
|
#endif
|
|
|