1 #include "vec.h"
2
3 #include "params.h"
4
5 extern void PQCLEAN_MCELIECE348864F_AVX_vec_mul_asm(uint64_t *, const uint64_t *, const uint64_t *);
6 extern void PQCLEAN_MCELIECE348864F_AVX_vec_mul_sp_asm(uint64_t *, const uint64_t *, const uint64_t *);
7
8
PQCLEAN_MCELIECE348864F_AVX_vec_mul(uint64_t * h,const uint64_t * f,const uint64_t * g)9 void PQCLEAN_MCELIECE348864F_AVX_vec_mul(uint64_t *h, const uint64_t *f, const uint64_t *g) {
10 PQCLEAN_MCELIECE348864F_AVX_vec_mul_asm(h, f, g);
11 }
12
13
PQCLEAN_MCELIECE348864F_AVX_vec_mul_sp(uint64_t * h,const uint64_t * f,const uint64_t * g)14 void PQCLEAN_MCELIECE348864F_AVX_vec_mul_sp(uint64_t *h, const uint64_t *f, const uint64_t *g) {
15 PQCLEAN_MCELIECE348864F_AVX_vec_mul_sp_asm(h, f, g);
16 }
17
PQCLEAN_MCELIECE348864F_AVX_vec_add(uint64_t * h,const uint64_t * f,const uint64_t * g)18 void PQCLEAN_MCELIECE348864F_AVX_vec_add(uint64_t *h, const uint64_t *f, const uint64_t *g) {
19 int b;
20
21 for (b = 0; b < GFBITS; b++) {
22 h[b] = f[b] ^ g[b];
23 }
24 }
25
26