| @@ -47,7 +47,8 @@ extern const point_t API_NS(point_base); | |||||
| /* Projective Niels coordinates */ | /* Projective Niels coordinates */ | ||||
| typedef struct { gf a, b, c; } niels_s, niels_t[1]; | typedef struct { gf a, b, c; } niels_s, niels_t[1]; | ||||
| typedef struct { niels_t n; gf z; } __attribute__((aligned(32))) pniels_s, pniels_t[1]; /* MAGIC alignment */ | |||||
| typedef struct { niels_t n; gf z; } __attribute__((aligned(sizeof(big_register_t)))) | |||||
| pniels_s, pniels_t[1]; | |||||
| /* Precomputed base */ | /* Precomputed base */ | ||||
| struct precomputed_s { niels_t table [DECAF_COMBS_N<<(DECAF_COMBS_T-1)]; }; | struct precomputed_s { niels_t table [DECAF_COMBS_N<<(DECAF_COMBS_T-1)]; }; | ||||
| @@ -57,7 +58,7 @@ const precomputed_s *API_NS(precomputed_base) = | |||||
| (const precomputed_s *) &API_NS(precomputed_base_as_fe); | (const precomputed_s *) &API_NS(precomputed_base_as_fe); | ||||
| const size_t API_NS2(sizeof,precomputed_s) = sizeof(precomputed_s); | const size_t API_NS2(sizeof,precomputed_s) = sizeof(precomputed_s); | ||||
| const size_t API_NS2(alignof,precomputed_s) = 32; | |||||
| const size_t API_NS2(alignof,precomputed_s) = sizeof(big_register_t); | |||||
| #define FOR_LIMB(i,op) { unsigned int i=0; for (i=0; i<NLIMBS; i++) { op; }} | #define FOR_LIMB(i,op) { unsigned int i=0; for (i=0; i<NLIMBS; i++) { op; }} | ||||
| #define FOR_LIMB_U(i,op) { unsigned int i=0; UNROLL for (i=0; i<NLIMBS; i++) { op; }} | #define FOR_LIMB_U(i,op) { unsigned int i=0; UNROLL for (i=0; i<NLIMBS; i++) { op; }} | ||||