Index: arch/amd64/src/asm_utils.S
===================================================================
--- arch/amd64/src/asm_utils.S	(revision b1cf98c8eda674680911446955a8d7273cd8f02e)
+++ arch/amd64/src/asm_utils.S	(revision a5556b4c962a9b456fc78bea47df3b031c8b8da2)
@@ -76,19 +76,15 @@
 #
 has_cpuid:
-	pushq %rbx
-	
 	pushfq			# store flags
 	popq %rax		# read flags
-	movq %rax,%rbx		# copy flags
-	btcl $21,%ebx		# swap the ID bit
-	pushq %rbx
+	movq %rax,%rdx		# copy flags
+	btcl $21,%edx		# swap the ID bit
+	pushq %rdx
 	popfq			# propagate the change into flags
 	pushfq
-	popq %rbx		# read flags	
+	popq %rdx		# read flags	
 	andl $(1<<21),%eax	# interested only in ID bit
-	andl $(1<<21),%ebx
-	xorl %ebx,%eax		# 0 if not supported, 1 if supported
-	
-	popq %rbx
+	andl $(1<<21),%edx
+	xorl %edx,%eax		# 0 if not supported, 1 if supported
 	ret
 
