# stored in "data".
# The size of the message pointed to by "data" must be an integer multiple
# of SHA512 message blocks.
-# "nblocks" is the message length in SHA512 blocks
+# "nblocks" is the message length in SHA512 blocks. Must be >= 1.
########################################################################
SYM_FUNC_START(sha512_transform_avx)
- test msglen, msglen
- je .Lnowork
-
# Save GPRs
push %rbx
push %r12
pop %r12
pop %rbx
-.Lnowork:
RET
SYM_FUNC_END(sha512_transform_avx)
# stored in "data".
# The size of the message pointed to by "data" must be an integer multiple
# of SHA512 message blocks.
-# "nblocks" is the message length in SHA512 blocks
+# "nblocks" is the message length in SHA512 blocks. Must be >= 1.
########################################################################
SYM_FUNC_START(sha512_transform_rorx)
and $~(0x20 - 1), %rsp
shl $7, NUM_BLKS # convert to bytes
- jz .Ldone_hash
add INP, NUM_BLKS # pointer to end of data
mov NUM_BLKS, frame_INPEND(%rsp)
cmp frame_INPEND(%rsp), INP
jne .Lloop0
-.Ldone_hash:
-
# Restore Stack Pointer
mov %rbp, %rsp
pop %rbp
# stored in "data".
# The size of the message pointed to by "data" must be an integer multiple
# of SHA512 message blocks.
-# "nblocks" is the message length in SHA512 blocks
+# "nblocks" is the message length in SHA512 blocks. Must be >= 1.
########################################################################
SYM_FUNC_START(sha512_transform_ssse3)
- test msglen, msglen
- je .Lnowork
-
# Save GPRs
push %rbx
push %r12
pop %r12
pop %rbx
-.Lnowork:
RET
SYM_FUNC_END(sha512_transform_ssse3)