1 #ifndef PQCLEAN_MCELIECE348864_AVX_UTIL_H 2 #define PQCLEAN_MCELIECE348864_AVX_UTIL_H 3 /* 4 This file is for loading/storing data in a little-endian fashion 5 */ 6 7 8 #include "gf.h" 9 #include "vec128.h" 10 11 #include <stdint.h> 12 13 void PQCLEAN_MCELIECE348864_AVX_store_i(unsigned char *out, uint64_t in, int i); 14 void PQCLEAN_MCELIECE348864_AVX_store2(unsigned char *dest, gf a); 15 16 uint16_t PQCLEAN_MCELIECE348864_AVX_load2(const unsigned char *src); 17 18 uint32_t PQCLEAN_MCELIECE348864_AVX_load4(const unsigned char *src); 19 20 void PQCLEAN_MCELIECE348864_AVX_irr_load(uint64_t *out, const unsigned char *in); 21 22 void PQCLEAN_MCELIECE348864_AVX_store8(unsigned char *out, uint64_t in); 23 24 uint64_t PQCLEAN_MCELIECE348864_AVX_load8(const unsigned char *in); 25 26 gf PQCLEAN_MCELIECE348864_AVX_bitrev(gf a); 27 28 vec128 PQCLEAN_MCELIECE348864_AVX_load16(const unsigned char *in); 29 30 void PQCLEAN_MCELIECE348864_AVX_store16(unsigned char *out, vec128 in); 31 32 #endif 33 34