diff --git a/rdrand.cpp b/rdrand.cpp index 55fde3ab..5d7b8e2e 100644 --- a/rdrand.cpp +++ b/rdrand.cpp @@ -253,7 +253,11 @@ static int GCC_RRA_GenerateBlock(byte *output, size_t size, unsigned int safety) "setc %1; " : "=a" (val), "=qm" (rc) : - : "cc" +#if CRYPTOPP_BOOL_X64 || CRYPTOPP_BOOL_X32 + : "rax", "cc" +#else + : "eax", "cc" +#endif ); if (rc) @@ -434,7 +438,11 @@ static int GCC_RSA_GenerateBlock(byte *output, size_t size, unsigned int safety) "setc %1; " : "=a" (val), "=qm" (rc) : - : "cc" +#if CRYPTOPP_BOOL_X64 || CRYPTOPP_BOOL_X32 + : "rax", "cc" +#else + : "eax", "cc" +#endif ); if (rc)