- __asm__ volatile ("rdrand %%rax;" : "=r" (number));
- __asm__ volatile ("rdrand %%rbx;" : "=r" (number));
- __asm__ volatile ("rdrand %%rcx;" : "=r" (number));
- __asm__ volatile ("rdrand %%rdx;" : "=r" (number));
-
- __asm__ volatile ("mov %%rdi, %%rax;" : "=r" (number));
- __asm__ volatile ("rdrand %%rdi;" : "=r" (number));
- __asm__ volatile ("mov %%rax, %%rdi;" : "=r" (number));
-
- __asm__ volatile ("mov %%rsi, %%rax;" : "=r" (number));
- __asm__ volatile ("rdrand %%rsi;" : "=r" (number));
- __asm__ volatile ("mov %%rax, %%rsi;" : "=r" (number));
-
- __asm__ volatile ("mov %%rbp, %%rax;" : "=r" (number));
- __asm__ volatile ("rdrand %%rbp;" : "=r" (number));
- __asm__ volatile ("mov %%rax, %%rbp;" : "=r" (number));
-
- __asm__ volatile ("mov %%rsp, %%rax;" : "=r" (number));
- __asm__ volatile ("rdrand %%rsp;" : "=r" (number));
- __asm__ volatile ("mov %%rax, %%rsp;" : "=r" (number));
-
- __asm__ volatile ("rdrand %%r8;" : "=r" (number));
- __asm__ volatile ("rdrand %%r9;" : "=r" (number));
- __asm__ volatile ("rdrand %%r10;" : "=r" (number));
- __asm__ volatile ("rdrand %%r11;" : "=r" (number));
- __asm__ volatile ("rdrand %%r12;" : "=r" (number));
- __asm__ volatile ("rdrand %%r13;" : "=r" (number));
- __asm__ volatile ("rdrand %%r14;" : "=r" (number));
- __asm__ volatile ("rdrand %%r15;" : "=r" (number));
+ __asm__ volatile ("rdrand %%rax;": : : "%rax");
+ __asm__ volatile ("rdrand %%rbx;": : : "%rbx");
+ __asm__ volatile ("rdrand %%rcx;": : : "%rcx");
+ __asm__ volatile ("rdrand %%rdx;": : : "%rdx");
+
+ __asm__ volatile ("mov %%rdi, %%rax;\n\
+ rdrand %%rdi;\n\
+ mov %%rax, %%rdi;" : : : "%rax");
+
+ __asm__ volatile ("mov %%rsi, %%rax;\n\
+ rdrand %%rsi;\n\
+ mov %%rax, %%rsi;" : : : "%rax");
+
+ __asm__ volatile ("mov %%rbp, %%rax;\n\
+ rdrand %%rbp;\n\
+ mov %%rax, %%rbp;" : : : "%rax");
+
+ __asm__ volatile ("mov %%rsp, %%rax;\n\
+ rdrand %%rsp;\n\
+ mov %%rax, %%rsp;" : : : "%rax");
+
+ __asm__ volatile ("rdrand %%r8;": : : "%r8");
+ __asm__ volatile ("rdrand %%r9;": : : "%r9");
+ __asm__ volatile ("rdrand %%r10;": : : "%r10");
+ __asm__ volatile ("rdrand %%r11;": : : "%r11");
+ __asm__ volatile ("rdrand %%r12;": : : "%r12");
+ __asm__ volatile ("rdrand %%r13;": : : "%r13");
+ __asm__ volatile ("rdrand %%r14;": : : "%r14");
+ __asm__ volatile ("rdrand %%r15;": : : "%r15");