ref: 94f2907dc40a6415a10c252cb9ba3971f1f7e838
dir: /third_party/boringssl/src/gen/bcm/rdrand-x86_64-win.asm/
; 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