1
#include <sparc-ifunc.h>
3
#define __md5_process_block __md5_process_block_generic
4
extern void __md5_process_block_generic (const void *buffer, size_t len,
7
#include <crypt/md5-block.c>
9
#undef __md5_process_block
11
extern void __md5_process_block_crop (const void *buffer, size_t len,
13
static bool cpu_supports_md5(int hwcap)
17
if (!(hwcap & HWCAP_SPARC_CRYPTO))
20
__asm__ ("rd %%asr26, %0" : "=r" (cfr));
27
extern void __md5_process_block (const void *buffer, size_t len,
29
sparc_libc_ifunc(__md5_process_block, cpu_supports_md5(hwcap) ? __md5_process_block_crop : __md5_process_block_generic);