Lines Matching refs:condition

113  * This is needed because on Thumb 1, condition flags are always set, so
134 /* Convert a number into a condition in constant time. */
220 static inline mbedtls_ct_uint_t mbedtls_ct_if(mbedtls_ct_condition_t condition,
225 asm volatile ("and %x[if1], %x[if1], %x[condition] \n\t"
226 "mvn %x[condition], %x[condition] \n\t"
227 "and %x[condition], %x[condition], %x[if0] \n\t"
228 "orr %x[condition], %x[if1], %x[condition]"
230 [condition] "+&r" (condition),
236 return (mbedtls_ct_uint_t) condition;
239 "ands %[if1], %[if1], %[condition] \n\t"
240 "mvns %[condition], %[condition] \n\t"
241 "ands %[condition], %[condition], %[if0] \n\t"
242 "orrs %[condition], %[if1], %[condition] \n\t"
245 [condition] "+&l" (condition),
252 return (mbedtls_ct_uint_t) condition;
254 asm volatile ("and %[condition], %[if1] \n\t"
255 "not %[condition] \n\t"
256 "and %[condition], %[if0] \n\t"
259 [condition] "+&D" (condition),
267 asm volatile ("and %[condition], %[if1] \n\t"
268 "not %[condition] \n\t"
269 "and %[if0], %[condition] \n\t"
270 "or %[condition], %[if1] \n\t"
272 [condition] "+&c" (condition),
281 (mbedtls_ct_condition_t) (~mbedtls_ct_compiler_opaque(condition));
282 return (mbedtls_ct_uint_t) ((condition & if1) | (not_cond & if0));
392 // Convert to a condition (i.e., all bits set iff non-zero)
426 static inline size_t mbedtls_ct_size_if(mbedtls_ct_condition_t condition,
430 return (size_t) mbedtls_ct_if(condition, (mbedtls_ct_uint_t) if1, (mbedtls_ct_uint_t) if0);
433 static inline unsigned mbedtls_ct_uint_if(mbedtls_ct_condition_t condition,
437 return (unsigned) mbedtls_ct_if(condition, (mbedtls_ct_uint_t) if1, (mbedtls_ct_uint_t) if0);
440 static inline mbedtls_ct_condition_t mbedtls_ct_bool_if(mbedtls_ct_condition_t condition,
444 return (mbedtls_ct_condition_t) mbedtls_ct_if(condition, (mbedtls_ct_uint_t) if1,
450 static inline mbedtls_mpi_uint mbedtls_ct_mpi_uint_if(mbedtls_ct_condition_t condition,
454 return (mbedtls_mpi_uint) mbedtls_ct_if(condition,
461 static inline size_t mbedtls_ct_size_if_else_0(mbedtls_ct_condition_t condition, size_t if1)
463 return (size_t) (condition & if1);
466 static inline unsigned mbedtls_ct_uint_if_else_0(mbedtls_ct_condition_t condition, unsigned if1)
468 return (unsigned) (condition & if1);
471 static inline mbedtls_ct_condition_t mbedtls_ct_bool_if_else_0(mbedtls_ct_condition_t condition,
474 return (mbedtls_ct_condition_t) (condition & if1);
479 static inline mbedtls_mpi_uint mbedtls_ct_mpi_uint_if_else_0(mbedtls_ct_condition_t condition,
482 return (mbedtls_mpi_uint) (condition & if1);
487 static inline int mbedtls_ct_error_if(mbedtls_ct_condition_t condition, int if1, int if0)
495 return -((int) mbedtls_ct_if(condition, (mbedtls_ct_uint_t) (-if1),
499 static inline int mbedtls_ct_error_if_else_0(mbedtls_ct_condition_t condition, int if1)
501 return -((int) (condition & (-if1)));