ret i32 %isvalid
; CHECK: _rdrand16_step:
; CHECK: rdrandw %ax
-; CHECK: movw %ax, (%rdi)
+; CHECK: movw %ax, (%r[[A0:di|cx]])
; CHECK: movzwl %ax, %ecx
; CHECK: movl $1, %eax
; CHECK: cmovael %ecx, %eax
%isvalid = extractvalue {i32, i32} %call, 1
ret i32 %isvalid
; CHECK: _rdrand32_step:
-; CHECK: rdrandl %ecx
-; CHECK: movl %ecx, (%rdi)
+; CHECK: rdrandl %e[[T0:[a-z]+]]
+; CHECK: movl %e[[T0]], (%r[[A0]])
; CHECK: movl $1, %eax
-; CHECK: cmovael %ecx, %eax
+; CHECK: cmovael %e[[T0]], %eax
; CHECK: ret
}
%isvalid = extractvalue {i64, i32} %call, 1
ret i32 %isvalid
; CHECK: _rdrand64_step:
-; CHECK: rdrandq %rcx
-; CHECK: movq %rcx, (%rdi)
+; CHECK: rdrandq %r[[T1:[[a-z]+]]
+; CHECK: movq %r[[T1]], (%r[[A0]])
; CHECK: movl $1, %eax
-; CHECK: cmovael %ecx, %eax
+; CHECK: cmovael %e[[T1]], %eax
; CHECK: ret
}