Eliminate a redundant not from x86 asm

Signed-off-by: Dave Rodgman <dave.rodgman@arm.com>
This commit is contained in:
Dave Rodgman 2023-09-08 17:26:18 +01:00
parent b6b8f6c68d
commit 4a97e73661

View file

@ -359,11 +359,10 @@ static inline mbedtls_ct_condition_t mbedtls_ct_uint_lt(mbedtls_ct_uint_t x, mbe
asm volatile ("mov %[x], %[s] \n\t" asm volatile ("mov %[x], %[s] \n\t"
"xor %[y], %[s] \n\t" "xor %[y], %[s] \n\t"
"sub %[y], %[x] \n\t" "sub %[y], %[x] \n\t"
"and %[s], %[y] \n\t"
"not %[s] \n\t" "not %[s] \n\t"
"and %[s], %[x] \n\t" "and %[s], %[x] \n\t"
"not %[s] \n\t" "or %[y], %[x] \n\t"
"and %[y], %[s] \n\t"
"or %[s], %[x] \n\t"
"sar $31, %[x] \n\t" "sar $31, %[x] \n\t"
: :
[s] "=&b" (s), [s] "=&b" (s),