Does SHA512SUM0 use floating-point or vector registers?
No. These scalar crypto extension instructions use integer X registers.
SHA-512 Σ0 function (uppercase, RV64): ROTR(rs1,28) ^ ROTR(rs1,34) ^ ROTR(rs1,39)
Syntax is sha512sum0 rd, rs1; operands select integer x0–x31 or ABI names, with no assembly immediate.
32-bit OP-IMM: bits31..20=000100000100, funct3=001, opcode=0010011; the selector is a fixed encoding field.
RV64 Zknh only (also in Zkn/Zk); apply this page's fixed right rotations and XOR to the complete 64-bit source.
An x0 source is zero and writes to x0 are discarded; overlap reads values before writeback and equal sources share one value. Execution latency must be data-independent.
sha512sum0 is defined only for RV64. It computes the SHA2-512 Sum0 transform, ROTR64(X(rs1), 28) ^ ROTR64(X(rs1), 34) ^ ROTR64(X(rs1), 39), and writes the 64-bit result to rd. sha512sum0r is the RV32 split form.
Bounded teaching inputs execute the official SHA-512 fixed-width bit operations; this does not model a complete algorithm or microarchitecture.
Initially rd shares the source value when rd=rs1; otherwise the demo starts rd at 0. An rs1=x0 source always reads 0. SHA512SUM0 is defined only for RV64 and operates on the complete 64-bit X(rs1).
This animation shows only official ISA fields and architectural state; it does not model a complete hash algorithm, pipeline, cache, or timing implementation.
sha512sum0 computes SHA-512 Sum0 on a complete 64-bit source and result.
RV64 Zknh, a1=1: the page's formula gives a0=0x0000001042000000.
RV64 Zknh, a1=1: the page's formula gives a0=0x0000001042000000.
No. These scalar crypto extension instructions use integer X registers.
No. It implements one SHA2-512 Sum0 transform defined by the manual.