Eliminate a redundant not from x86 asm
Signed-off-by: Dave Rodgman <dave.rodgman@arm.com>
diff --git a/library/constant_time_impl.h b/library/constant_time_impl.h
index 4a75c60..70e8b9a 100644
--- a/library/constant_time_impl.h
+++ b/library/constant_time_impl.h
@@ -359,11 +359,10 @@
asm volatile ("mov %[x], %[s] \n\t"
"xor %[y], %[s] \n\t"
"sub %[y], %[x] \n\t"
+ "and %[s], %[y] \n\t"
"not %[s] \n\t"
"and %[s], %[x] \n\t"
- "not %[s] \n\t"
- "and %[y], %[s] \n\t"
- "or %[s], %[x] \n\t"
+ "or %[y], %[x] \n\t"
"sar $31, %[x] \n\t"
:
[s] "=&b" (s),