I mostly did this by mimicking the other SHA instructions, so I'm not sure if I did this right. Test cases constructed by running them through as
and then objdump -D
.
(Context is that we were integrating some assembly for this instruction into BoringSSL, and I noticed neither valgrind nor drmemory supported the instruction. Looks like drmemory doesn't work yet on aarch64 anyway and I'm not sure what the consequences of OP_xx
are in the first place. But I figure transcribing the instruction encoding was easy enough to do.)
References: https://developer.arm.com/documentation/ddi0602/2021-12/SIMD-FP-Instructions/SHA512H--SHA512-Hash-update-part-1- https://developer.arm.com/documentation/ddi0602/2021-12/SIMD-FP-Instructions/SHA512H2--SHA512-Hash-update-part-2- https://developer.arm.com/documentation/ddi0602/2021-12/SIMD-FP-Instructions/SHA512SU0--SHA512-Schedule-Update-0- https://developer.arm.com/documentation/ddi0602/2021-12/SIMD-FP-Instructions/SHA512SU1--SHA512-Schedule-Update-1-
Issue: #2626