blob: aae3d76bd04bcdc5ae6ebe8f7a65fa9e7648cec6 [file] [log] [blame]
; This file is generated from a similarly-named Perl script in the BoringSSL
; source tree. Do not edit by hand.
%ifidn __OUTPUT_FORMAT__, win64
default rel
%define XMMWORD
%define YMMWORD
%define ZMMWORD
%define _CET_ENDBR
%ifdef BORINGSSL_PREFIX
%include "boringssl_prefix_symbols_nasm.inc"
%endif
section .text code align=64
global CRYPTO_rdrand
ALIGN 16
CRYPTO_rdrand:
_CET_ENDBR
xor rax,rax
DB 73,15,199,240
adc rax,rax
mov QWORD[rcx],r8
ret
global CRYPTO_rdrand_multiple8_buf
ALIGN 16
CRYPTO_rdrand_multiple8_buf:
_CET_ENDBR
test rdx,rdx
jz NEAR $L$out
mov r8,8
$L$loop:
DB 73,15,199,241
jnc NEAR $L$err
mov QWORD[rcx],r9
add rcx,r8
sub rdx,r8
jnz NEAR $L$loop
$L$out:
mov rax,1
ret
$L$err:
xor rax,rax
ret
%else
; Work around https://bugzilla.nasm.us/show_bug.cgi?id=3392738
ret
%endif