From 0ce0fbc32ae3f89af65bd40a58b54cb0ab1c1404 Mon Sep 17 00:00:00 2001 From: Dave Rodgman Date: Mon, 21 Aug 2023 07:58:50 +0100 Subject: [PATCH] Simplify aarch64 asm for mbedtls_ct_uint_lt Signed-off-by: Dave Rodgman --- library/constant_time_impl.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/library/constant_time_impl.h b/library/constant_time_impl.h index ab393979ef..971388c19a 100644 --- a/library/constant_time_impl.h +++ b/library/constant_time_impl.h @@ -234,14 +234,14 @@ static inline mbedtls_ct_uint_t mbedtls_ct_if(mbedtls_ct_condition_t condition, static inline mbedtls_ct_condition_t mbedtls_ct_uint_lt(mbedtls_ct_uint_t x, mbedtls_ct_uint_t y) { #if defined(MBEDTLS_CT_AARCH64_ASM) && (defined(MBEDTLS_CT_SIZE_32) || defined(MBEDTLS_CT_SIZE_64)) - uint64_t s1, s2; + uint64_t s1; asm volatile ("eor %x[s1], %x[y], %x[x] \n\t" - "sub %x[s2], %x[x], %x[y] \n\t" - "bic %x[s2], %x[s2], %[s1] \n\t" + "sub %x[x], %x[x], %x[y] \n\t" + "bic %x[x], %x[x], %[s1] \n\t" "and %x[s1], %x[s1], %x[y] \n\t" - "orr %x[s1], %x[s2], %x[s1] \n\t" + "orr %x[s1], %x[x], %x[s1] \n\t" "asr %x[x], %x[s1], 63" - : [s1] "=&r" (s1), [s2] "=&r" (s2), [x] "+r" (x) + : [s1] "=&r" (s1), [x] "+&r" (x) : [y] "r" (y) : );