This will soon be shared with another entry point for `rdseed'.
///--------------------------------------------------------------------------
/// Quick random generation.
///--------------------------------------------------------------------------
/// Quick random generation.
+// Common register allocation.
+#if CPUFAM_X86
+# define COUNT ecx
+#endif
+#if CPUFAM_AMD64 && ABI_SYSV
+# define COUNT ecx
+#endif
+#if CPUFAM_AMD64 && ABI_WIN
+# define COUNT r8d
+#endif
+
FUNC(rand_quick_x86ish_rdrand)
// Enter with a pointer to the random context in the first argument.
// Return zero on success, or -1 on error.
FUNC(rand_quick_x86ish_rdrand)
// Enter with a pointer to the random context in the first argument.
// Return zero on success, or -1 on error.
#if CPUFAM_X86
mov edx, [SP + 4]
stalloc 28
#if CPUFAM_X86
mov edx, [SP + 4]
stalloc 28
#endif
#if CPUFAM_AMD64 && ABI_SYSV
stalloc 8
#endif
#if CPUFAM_AMD64 && ABI_SYSV
stalloc 8
#endif
#if CPUFAM_AMD64 && ABI_WIN
stalloc 40
#endif
#if CPUFAM_AMD64 && ABI_WIN
stalloc 40
///----- That's all, folks --------------------------------------------------
///----- That's all, folks --------------------------------------------------