Lines Matching refs:a

33 static ossl_inline unsigned int constant_time_msb(unsigned int a);
35 static ossl_inline uint32_t constant_time_msb_32(uint32_t a);
37 static ossl_inline uint64_t constant_time_msb_64(uint64_t a);
40 static ossl_inline unsigned int constant_time_lt(unsigned int a,
43 static ossl_inline unsigned char constant_time_lt_8(unsigned int a,
46 static ossl_inline uint64_t constant_time_lt_64(uint64_t a, uint64_t b);
49 static ossl_inline unsigned int constant_time_ge(unsigned int a,
52 static ossl_inline unsigned char constant_time_ge_8(unsigned int a,
56 static ossl_inline unsigned int constant_time_is_zero(unsigned int a);
58 static ossl_inline unsigned char constant_time_is_zero_8(unsigned int a);
60 static ossl_inline uint32_t constant_time_is_zero_32(uint32_t a);
63 static ossl_inline unsigned int constant_time_eq(unsigned int a,
66 static ossl_inline unsigned char constant_time_eq_8(unsigned int a,
69 static ossl_inline unsigned int constant_time_eq_int(int a, int b);
71 static ossl_inline unsigned char constant_time_eq_int_8(int a, int b);
81 unsigned int a,
85 unsigned char a,
89 static ossl_inline uint32_t constant_time_select_32(uint32_t mask, uint32_t a,
93 static ossl_inline uint64_t constant_time_select_64(uint64_t mask, uint64_t a,
96 static ossl_inline int constant_time_select_int(unsigned int mask, int a,
100 static ossl_inline unsigned int constant_time_msb(unsigned int a) in constant_time_msb() argument
102 return 0 - (a >> (sizeof(a) * 8 - 1)); in constant_time_msb()
106 static ossl_inline uint32_t constant_time_msb_32(uint32_t a) in constant_time_msb_32() argument
108 return 0 - (a >> 31); in constant_time_msb_32()
111 static ossl_inline uint64_t constant_time_msb_64(uint64_t a) in constant_time_msb_64() argument
113 return 0 - (a >> 63); in constant_time_msb_64()
116 static ossl_inline size_t constant_time_msb_s(size_t a) in constant_time_msb_s() argument
118 return 0 - (a >> (sizeof(a) * 8 - 1)); in constant_time_msb_s()
121 static ossl_inline unsigned int constant_time_lt(unsigned int a, in constant_time_lt() argument
124 return constant_time_msb(a ^ ((a ^ b) | ((a - b) ^ b))); in constant_time_lt()
127 static ossl_inline size_t constant_time_lt_s(size_t a, size_t b) in constant_time_lt_s() argument
129 return constant_time_msb_s(a ^ ((a ^ b) | ((a - b) ^ b))); in constant_time_lt_s()
132 static ossl_inline unsigned char constant_time_lt_8(unsigned int a, in constant_time_lt_8() argument
135 return (unsigned char)constant_time_lt(a, b); in constant_time_lt_8()
138 static ossl_inline uint64_t constant_time_lt_64(uint64_t a, uint64_t b) in constant_time_lt_64() argument
140 return constant_time_msb_64(a ^ ((a ^ b) | ((a - b) ^ b))); in constant_time_lt_64()
143 static ossl_inline unsigned int constant_time_ge(unsigned int a, in constant_time_ge() argument
146 return ~constant_time_lt(a, b); in constant_time_ge()
149 static ossl_inline size_t constant_time_ge_s(size_t a, size_t b) in constant_time_ge_s() argument
151 return ~constant_time_lt_s(a, b); in constant_time_ge_s()
154 static ossl_inline unsigned char constant_time_ge_8(unsigned int a, in constant_time_ge_8() argument
157 return (unsigned char)constant_time_ge(a, b); in constant_time_ge_8()
160 static ossl_inline unsigned char constant_time_ge_8_s(size_t a, size_t b) in constant_time_ge_8_s() argument
162 return (unsigned char)constant_time_ge_s(a, b); in constant_time_ge_8_s()
165 static ossl_inline unsigned int constant_time_is_zero(unsigned int a) in constant_time_is_zero() argument
167 return constant_time_msb(~a & (a - 1)); in constant_time_is_zero()
170 static ossl_inline size_t constant_time_is_zero_s(size_t a) in constant_time_is_zero_s() argument
172 return constant_time_msb_s(~a & (a - 1)); in constant_time_is_zero_s()
175 static ossl_inline unsigned char constant_time_is_zero_8(unsigned int a) in constant_time_is_zero_8() argument
177 return (unsigned char)constant_time_is_zero(a); in constant_time_is_zero_8()
180 static ossl_inline uint32_t constant_time_is_zero_32(uint32_t a) in constant_time_is_zero_32() argument
182 return constant_time_msb_32(~a & (a - 1)); in constant_time_is_zero_32()
185 static ossl_inline uint64_t constant_time_is_zero_64(uint64_t a) in constant_time_is_zero_64() argument
187 return constant_time_msb_64(~a & (a - 1)); in constant_time_is_zero_64()
190 static ossl_inline unsigned int constant_time_eq(unsigned int a, in constant_time_eq() argument
193 return constant_time_is_zero(a ^ b); in constant_time_eq()
196 static ossl_inline size_t constant_time_eq_s(size_t a, size_t b) in constant_time_eq_s() argument
198 return constant_time_is_zero_s(a ^ b); in constant_time_eq_s()
201 static ossl_inline unsigned char constant_time_eq_8(unsigned int a, in constant_time_eq_8() argument
204 return (unsigned char)constant_time_eq(a, b); in constant_time_eq_8()
207 static ossl_inline unsigned char constant_time_eq_8_s(size_t a, size_t b) in constant_time_eq_8_s() argument
209 return (unsigned char)constant_time_eq_s(a, b); in constant_time_eq_8_s()
212 static ossl_inline unsigned int constant_time_eq_int(int a, int b) in constant_time_eq_int() argument
214 return constant_time_eq((unsigned)(a), (unsigned)(b)); in constant_time_eq_int()
217 static ossl_inline unsigned char constant_time_eq_int_8(int a, int b) in constant_time_eq_int_8() argument
219 return constant_time_eq_8((unsigned)(a), (unsigned)(b)); in constant_time_eq_int_8()
229 static ossl_inline unsigned int value_barrier(unsigned int a) in value_barrier() argument
233 __asm__("" : "=r"(r) : "0"(a)); in value_barrier()
235 volatile unsigned int r = a; in value_barrier()
241 static ossl_inline uint32_t value_barrier_32(uint32_t a) in value_barrier_32() argument
245 __asm__("" : "=r"(r) : "0"(a)); in value_barrier_32()
247 volatile uint32_t r = a; in value_barrier_32()
253 static ossl_inline uint64_t value_barrier_64(uint64_t a) in value_barrier_64() argument
257 __asm__("" : "=r"(r) : "0"(a)); in value_barrier_64()
259 volatile uint64_t r = a; in value_barrier_64()
265 static ossl_inline size_t value_barrier_s(size_t a) in value_barrier_s() argument
269 __asm__("" : "=r"(r) : "0"(a)); in value_barrier_s()
271 volatile size_t r = a; in value_barrier_s()
277 unsigned int a, in constant_time_select() argument
280 return (value_barrier(mask) & a) | (value_barrier(~mask) & b); in constant_time_select()
284 size_t a, in constant_time_select_s() argument
287 return (value_barrier_s(mask) & a) | (value_barrier_s(~mask) & b); in constant_time_select_s()
291 unsigned char a, in constant_time_select_8() argument
294 return (unsigned char)constant_time_select(mask, a, b); in constant_time_select_8()
297 static ossl_inline int constant_time_select_int(unsigned int mask, int a, in constant_time_select_int() argument
300 return (int)constant_time_select(mask, (unsigned)(a), (unsigned)(b)); in constant_time_select_int()
303 static ossl_inline int constant_time_select_int_s(size_t mask, int a, int b) in constant_time_select_int_s() argument
305 return (int)constant_time_select((unsigned)mask, (unsigned)(a), in constant_time_select_int_s()
309 static ossl_inline uint32_t constant_time_select_32(uint32_t mask, uint32_t a, in constant_time_select_32() argument
312 return (value_barrier_32(mask) & a) | (value_barrier_32(~mask) & b); in constant_time_select_32()
315 static ossl_inline uint64_t constant_time_select_64(uint64_t mask, uint64_t a, in constant_time_select_64() argument
318 return (value_barrier_64(mask) & a) | (value_barrier_64(~mask) & b); in constant_time_select_64()
331 static ossl_inline void constant_time_cond_swap_32(uint32_t mask, uint32_t *a, in constant_time_cond_swap_32() argument
334 uint32_t xor = *a ^ *b; in constant_time_cond_swap_32()
337 *a ^= xor; in constant_time_cond_swap_32()
351 static ossl_inline void constant_time_cond_swap_64(uint64_t mask, uint64_t *a, in constant_time_cond_swap_64() argument
354 uint64_t xor = *a ^ *b; in constant_time_cond_swap_64()
357 *a ^= xor; in constant_time_cond_swap_64()
374 unsigned char *a, in constant_time_cond_swap_buff() argument
382 tmp = a[i] ^ b[i]; in constant_time_cond_swap_buff()
384 a[i] ^= tmp; in constant_time_cond_swap_buff()