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),