Loading crypto/ec/curve448/curve448utils.h +3 −3 Original line number Diff line number Diff line Loading @@ -14,6 +14,7 @@ #include <stdint.h> #include <sys/types.h> #include <openssl/e_os2.h> #ifdef __cplusplus extern "C" { Loading @@ -28,7 +29,6 @@ extern "C" { #define DECAF_NOINLINE __attribute__((noinline)) #define DECAF_WARN_UNUSED __attribute__((warn_unused_result)) #define DECAF_NONNULL __attribute__((nonnull)) #define DECAF_INLINE inline __attribute__((always_inline,unused)) /** @endcond */ /* Internal word types. Loading Loading @@ -76,13 +76,13 @@ typedef enum { /** Return success if x is true */ static DECAF_INLINE decaf_error_t static ossl_inline decaf_error_t decaf_succeed_if(decaf_bool_t x) { return (decaf_error_t)x; } /** Return DECAF_TRUE iff x == DECAF_SUCCESS */ static DECAF_INLINE decaf_bool_t static ossl_inline decaf_bool_t decaf_successful(decaf_error_t e) { decaf_dword_t w = ((decaf_word_t)e) ^ ((decaf_word_t)DECAF_SUCCESS); return (w-1)>>DECAF_WORD_BITS; Loading crypto/ec/curve448/decaf.c +2 −2 Original line number Diff line number Diff line Loading @@ -107,7 +107,7 @@ void curve448_point_double(curve448_point_t p, const curve448_point_t q) { } /* Operations on [p]niels */ static DECAF_INLINE void static ossl_inline void cond_neg_niels ( niels_t n, mask_t neg Loading Loading @@ -247,7 +247,7 @@ decaf_bool_t curve448_point_valid ( return mask_to_bool(out); } static DECAF_INLINE void static ossl_inline void constant_time_lookup_niels ( niels_s *__restrict__ ni, const niels_t *table, Loading crypto/ec/curve448/field.h +3 −3 Original line number Diff line number Diff line Loading @@ -15,7 +15,7 @@ #include <string.h> /** Square x, n times. */ static DECAF_INLINE void gf_sqrn ( static ossl_inline void gf_sqrn ( gf_s *__restrict__ y, const gf x, int n Loading Loading @@ -80,11 +80,11 @@ gf_cond_swap(gf x, gf_s *__restrict__ y, mask_t swap) { constant_time_cond_swap(x,y,sizeof(gf_s),swap); } static DECAF_INLINE void gf_mul_qnr(gf_s *__restrict__ out, const gf x) { static ossl_inline void gf_mul_qnr(gf_s *__restrict__ out, const gf x) { gf_sub(out,ZERO,x); } static DECAF_INLINE void gf_div_qnr(gf_s *__restrict__ out, const gf x) { static ossl_inline void gf_div_qnr(gf_s *__restrict__ out, const gf x) { gf_sub(out,ZERO,x); } Loading crypto/ec/curve448/scalar.c +1 −1 Original line number Diff line number Diff line Loading @@ -126,7 +126,7 @@ void curve448_scalar_add ( sc_subx(out, out->limb, sc_p, sc_p, chain); } static DECAF_INLINE void scalar_decode_short ( static ossl_inline void scalar_decode_short ( curve448_scalar_t s, const unsigned char *ser, unsigned int nbytes Loading crypto/ec/curve448/word.h +11 −11 Original line number Diff line number Diff line Loading @@ -96,7 +96,7 @@ typedef uint64x4_t uint64xn_t; typedef uint32x8_t uint32xn_t; static DECAF_INLINE big_register_t static ossl_inline big_register_t br_set_to_mask(mask_t x) { uint32_t y = (uint32_t)x; big_register_t ret = {y,y,y,y,y,y,y,y}; Loading @@ -108,7 +108,7 @@ typedef uint64x2_t uint64xn_t; typedef uint32x4_t uint32xn_t; static DECAF_INLINE big_register_t static ossl_inline big_register_t br_set_to_mask(mask_t x) { uint32_t y = x; big_register_t ret = {y,y,y,y}; Loading @@ -120,7 +120,7 @@ typedef uint64x2_t uint64xn_t; typedef uint32x4_t uint32xn_t; static DECAF_INLINE big_register_t static ossl_inline big_register_t br_set_to_mask(mask_t x) { return vdupq_n_u32(x); } Loading @@ -129,7 +129,7 @@ typedef uint64_t big_register_t, uint64xn_t; typedef uint32_t uint32xn_t; static DECAF_INLINE big_register_t static ossl_inline big_register_t br_set_to_mask(mask_t x) { return (big_register_t)x; } Loading @@ -139,25 +139,25 @@ typedef uint32_t uint32xn_t; typedef uint32_t big_register_t; static DECAF_INLINE big_register_t static ossl_inline big_register_t br_set_to_mask(mask_t x) { return (big_register_t)x; } #endif #if __AVX2__ static DECAF_INLINE big_register_t static ossl_inline big_register_t br_is_zero(big_register_t x) { return (big_register_t)(x == br_set_to_mask(0)); } #elif __SSE2__ static DECAF_INLINE big_register_t static ossl_inline big_register_t br_is_zero(big_register_t x) { return (big_register_t)_mm_cmpeq_epi32((__m128i)x, _mm_setzero_si128()); //return (big_register_t)(x == br_set_to_mask(0)); } #elif __ARM_NEON__ static DECAF_INLINE big_register_t static ossl_inline big_register_t br_is_zero(big_register_t x) { return vceqq_u32(x,x^x); } Loading Loading @@ -189,11 +189,11 @@ * On the third hand, we have success vs boolean types, but that's handled in * common.h: it converts between decaf_bool_t and decaf_error_t. */ static DECAF_INLINE decaf_bool_t mask_to_bool (mask_t m) { static ossl_inline decaf_bool_t mask_to_bool (mask_t m) { return (decaf_sword_t)(sword_t)m; } static DECAF_INLINE mask_t bool_to_mask (decaf_bool_t m) { static ossl_inline mask_t bool_to_mask (decaf_bool_t m) { /* On most arches this will be optimized to a simple cast. */ mask_t ret = 0; unsigned int limit = sizeof(decaf_bool_t)/sizeof(mask_t); Loading @@ -204,7 +204,7 @@ static DECAF_INLINE mask_t bool_to_mask (decaf_bool_t m) { return ret; } static DECAF_INLINE void ignore_result ( decaf_bool_t boo ) { static ossl_inline void ignore_result ( decaf_bool_t boo ) { (void)boo; } Loading Loading
crypto/ec/curve448/curve448utils.h +3 −3 Original line number Diff line number Diff line Loading @@ -14,6 +14,7 @@ #include <stdint.h> #include <sys/types.h> #include <openssl/e_os2.h> #ifdef __cplusplus extern "C" { Loading @@ -28,7 +29,6 @@ extern "C" { #define DECAF_NOINLINE __attribute__((noinline)) #define DECAF_WARN_UNUSED __attribute__((warn_unused_result)) #define DECAF_NONNULL __attribute__((nonnull)) #define DECAF_INLINE inline __attribute__((always_inline,unused)) /** @endcond */ /* Internal word types. Loading Loading @@ -76,13 +76,13 @@ typedef enum { /** Return success if x is true */ static DECAF_INLINE decaf_error_t static ossl_inline decaf_error_t decaf_succeed_if(decaf_bool_t x) { return (decaf_error_t)x; } /** Return DECAF_TRUE iff x == DECAF_SUCCESS */ static DECAF_INLINE decaf_bool_t static ossl_inline decaf_bool_t decaf_successful(decaf_error_t e) { decaf_dword_t w = ((decaf_word_t)e) ^ ((decaf_word_t)DECAF_SUCCESS); return (w-1)>>DECAF_WORD_BITS; Loading
crypto/ec/curve448/decaf.c +2 −2 Original line number Diff line number Diff line Loading @@ -107,7 +107,7 @@ void curve448_point_double(curve448_point_t p, const curve448_point_t q) { } /* Operations on [p]niels */ static DECAF_INLINE void static ossl_inline void cond_neg_niels ( niels_t n, mask_t neg Loading Loading @@ -247,7 +247,7 @@ decaf_bool_t curve448_point_valid ( return mask_to_bool(out); } static DECAF_INLINE void static ossl_inline void constant_time_lookup_niels ( niels_s *__restrict__ ni, const niels_t *table, Loading
crypto/ec/curve448/field.h +3 −3 Original line number Diff line number Diff line Loading @@ -15,7 +15,7 @@ #include <string.h> /** Square x, n times. */ static DECAF_INLINE void gf_sqrn ( static ossl_inline void gf_sqrn ( gf_s *__restrict__ y, const gf x, int n Loading Loading @@ -80,11 +80,11 @@ gf_cond_swap(gf x, gf_s *__restrict__ y, mask_t swap) { constant_time_cond_swap(x,y,sizeof(gf_s),swap); } static DECAF_INLINE void gf_mul_qnr(gf_s *__restrict__ out, const gf x) { static ossl_inline void gf_mul_qnr(gf_s *__restrict__ out, const gf x) { gf_sub(out,ZERO,x); } static DECAF_INLINE void gf_div_qnr(gf_s *__restrict__ out, const gf x) { static ossl_inline void gf_div_qnr(gf_s *__restrict__ out, const gf x) { gf_sub(out,ZERO,x); } Loading
crypto/ec/curve448/scalar.c +1 −1 Original line number Diff line number Diff line Loading @@ -126,7 +126,7 @@ void curve448_scalar_add ( sc_subx(out, out->limb, sc_p, sc_p, chain); } static DECAF_INLINE void scalar_decode_short ( static ossl_inline void scalar_decode_short ( curve448_scalar_t s, const unsigned char *ser, unsigned int nbytes Loading
crypto/ec/curve448/word.h +11 −11 Original line number Diff line number Diff line Loading @@ -96,7 +96,7 @@ typedef uint64x4_t uint64xn_t; typedef uint32x8_t uint32xn_t; static DECAF_INLINE big_register_t static ossl_inline big_register_t br_set_to_mask(mask_t x) { uint32_t y = (uint32_t)x; big_register_t ret = {y,y,y,y,y,y,y,y}; Loading @@ -108,7 +108,7 @@ typedef uint64x2_t uint64xn_t; typedef uint32x4_t uint32xn_t; static DECAF_INLINE big_register_t static ossl_inline big_register_t br_set_to_mask(mask_t x) { uint32_t y = x; big_register_t ret = {y,y,y,y}; Loading @@ -120,7 +120,7 @@ typedef uint64x2_t uint64xn_t; typedef uint32x4_t uint32xn_t; static DECAF_INLINE big_register_t static ossl_inline big_register_t br_set_to_mask(mask_t x) { return vdupq_n_u32(x); } Loading @@ -129,7 +129,7 @@ typedef uint64_t big_register_t, uint64xn_t; typedef uint32_t uint32xn_t; static DECAF_INLINE big_register_t static ossl_inline big_register_t br_set_to_mask(mask_t x) { return (big_register_t)x; } Loading @@ -139,25 +139,25 @@ typedef uint32_t uint32xn_t; typedef uint32_t big_register_t; static DECAF_INLINE big_register_t static ossl_inline big_register_t br_set_to_mask(mask_t x) { return (big_register_t)x; } #endif #if __AVX2__ static DECAF_INLINE big_register_t static ossl_inline big_register_t br_is_zero(big_register_t x) { return (big_register_t)(x == br_set_to_mask(0)); } #elif __SSE2__ static DECAF_INLINE big_register_t static ossl_inline big_register_t br_is_zero(big_register_t x) { return (big_register_t)_mm_cmpeq_epi32((__m128i)x, _mm_setzero_si128()); //return (big_register_t)(x == br_set_to_mask(0)); } #elif __ARM_NEON__ static DECAF_INLINE big_register_t static ossl_inline big_register_t br_is_zero(big_register_t x) { return vceqq_u32(x,x^x); } Loading Loading @@ -189,11 +189,11 @@ * On the third hand, we have success vs boolean types, but that's handled in * common.h: it converts between decaf_bool_t and decaf_error_t. */ static DECAF_INLINE decaf_bool_t mask_to_bool (mask_t m) { static ossl_inline decaf_bool_t mask_to_bool (mask_t m) { return (decaf_sword_t)(sword_t)m; } static DECAF_INLINE mask_t bool_to_mask (decaf_bool_t m) { static ossl_inline mask_t bool_to_mask (decaf_bool_t m) { /* On most arches this will be optimized to a simple cast. */ mask_t ret = 0; unsigned int limit = sizeof(decaf_bool_t)/sizeof(mask_t); Loading @@ -204,7 +204,7 @@ static DECAF_INLINE mask_t bool_to_mask (decaf_bool_t m) { return ret; } static DECAF_INLINE void ignore_result ( decaf_bool_t boo ) { static ossl_inline void ignore_result ( decaf_bool_t boo ) { (void)boo; } Loading