diff --git a/libc/src/math/x86_64/cos.cpp b/libc/src/math/x86_64/cos.cpp --- a/libc/src/math/x86_64/cos.cpp +++ b/libc/src/math/x86_64/cos.cpp @@ -13,7 +13,7 @@ LLVM_LIBC_FUNCTION(double, cos, (double x)) { double result; - __asm__ __volatile__("fcos" : "=t"(result) : "f"(x)); + __asm__ __volatile__("fcos" : "=t"(result) : "f"(x) : "cc"); return result; } diff --git a/libc/src/math/x86_64/sin.cpp b/libc/src/math/x86_64/sin.cpp --- a/libc/src/math/x86_64/sin.cpp +++ b/libc/src/math/x86_64/sin.cpp @@ -13,7 +13,7 @@ LLVM_LIBC_FUNCTION(double, sin, (double x)) { double result; - __asm__ __volatile__("fsin" : "=t"(result) : "f"(x)); + __asm__ __volatile__("fsin" : "=t"(result) : "f"(x) : "cc"); return result; } diff --git a/libc/src/math/x86_64/tan.cpp b/libc/src/math/x86_64/tan.cpp --- a/libc/src/math/x86_64/tan.cpp +++ b/libc/src/math/x86_64/tan.cpp @@ -16,7 +16,7 @@ double one; // The fptan instruction pushes the number 1 on to the FP stack after // computing tan. So, we read out the one before popping the actual result. - __asm__ __volatile__("fptan" : "=t"(one) : "f"(x)); + __asm__ __volatile__("fptan" : "=t"(one) : "f"(x) : "cc"); __asm__ __volatile__("fstpl %0" : "=m"(result)); return result; }