Lines Matching +full:fail +full:- +full:fast
8 * SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
82 /* A compile-time constant with the value 0. If `const_expr` is not a
83 * compile-time constant with a nonzero value, cause a compile-time error. */
85 (0 && sizeof(struct { unsigned int STATIC_ASSERT : 1 - 2 * !(const_expr); }))
87 /* Return the scalar value `value` (possibly promoted). This is a compile-time
88 * constant if `value` is. `condition` must be a compile-time constant.
89 * If `condition` is false, arrange to cause a compile-time error. */
98 /* If we aren't sure the compiler supports our non-standard tricks,
116 * Guaranteed to be a no-op if \p buf is \c NULL and \p len is 0.
144 /** Return an offset into a read-only buffer.
168 * Perform a fast block XOR operation, such that
180 * If the result is used immediately after the xor operation in non-SIMD code (e.g, in
181 * AES-CBC), there may be additional latency to transfer the data from SIMD to scalar
183 * the result is not used immediately (e.g., in AES-CTR), mbedtls_xor() may be faster.
203 /* This if statement helps some compilers (e.g., IAR) optimise out the byte-by-byte tail case in mbedtls_xor()
205 * For other compilers (e.g. recent gcc and clang) it makes no difference if n is a compile-time in mbedtls_xor()
206 * constant, and is a very small perf regression if n is not a compile-time constant. */ in mbedtls_xor()
212 /* This codepath probably only makes sense on architectures with 64-bit registers */ in mbedtls_xor()
240 * inlined (e.g., observed about 3x perf difference in gcm_mult_largetable with gcc 7 - 12) */
247 * Perform a fast block XOR operation, such that
251 * better in AES-CBC).
262 * If the result is used immediately after the xor operation in non-SIMD code (e.g, in
263 * AES-CBC), there may be additional latency to transfer the data from SIMD to scalar
265 * the result is not used immediately (e.g., in AES-CTR), mbedtls_xor() may be faster.
276 /* This codepath probably only makes sense on architectures with 64-bit registers */ in mbedtls_xor_no_simd()
282 /* This if statement helps some compilers (e.g., IAR) optimise out the byte-by-byte tail case in mbedtls_xor_no_simd()
284 * For other compilers (e.g. recent gcc and clang) it makes no difference if n is a compile-time in mbedtls_xor_no_simd()
285 * constant, and is a very small perf regression if n is not a compile-time constant. */ in mbedtls_xor_no_simd()
309 * Use MSVC predefine macro to avoid name check fail.
312 #define /*no-check-names*/ __func__ __FUNCTION__
316 /* *INDENT-OFF* */
324 /* *INDENT-ON* */
327 * Define the constraint used for read-only pointer operands to aarch64 asm.
347 /* Normal case (64-bit pointers): use "r" as the constraint for pointer operands to asm */
357 * the semicolon is included here to avoid triggering -Wextra-semi when
359 * Can't use the C11-style `defined(static_assert)` on FreeBSD, since it
360 * defines static_assert even with -std=c99, but then complains about it.
384 * which can result in smaller code-size. */
398 /* For gcc -Os, override with -O2 for a given function.
400 * This will not affect behaviour for other optimisation settings, e.g. -O0.
403 #define MBEDTLS_OPTIMIZE_FOR_PERFORMANCE __attribute__((optimize("-O2")))
418 /* IAR does support __attribute__((unused)), but only if the -e flag (extended language support)
421 * Check for version 5.2 or later - this pragma may be supported by earlier versions, but I wasn't