What register width does SHA512SIG0 use?
Zknh RV64 only: transform the full 64-bit X(rs1) and write the 64-bit result to rd.
SHA-512 σ0: ror64(x,1) ^ ror64(x,8) ^ (x >> 7)
Syntax is sha512sig0 rd, rs1, with only two integer-register operands selecting x0–x31 or ABI names.
32-bit OP-IMM encoding: bits 31..20=000100000110, funct3=001, opcode=0010011; there is no assembly immediate.
RV64 Zknh only (also included in Zkn/Zk); fixed right rotations, logical right shift and XOR operate on the complete 64-bit source.
An x0 source is zero and writes to x0 are discarded; rd=rs1 reads the original source first. This instruction must have data-independent execution latency.
sha512sig0 is the Zknh SHA-512 σ0 transform: σ0(x) = ror64(x,1) ^ ror64(x,8) ^ (x >> 7). It is RV64-only: x is the complete 64-bit X(rs1), and rd receives the 64-bit result. RV32 uses a sha512sig0l/sha512sig0h sequence for the full σ0 transform. Rotations stay within the input word width; >> is a zero-filling logical right shift.
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. SHA512SIG0 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.
sha512sig0 reads one integer source, applies the fixed SHA-512 σ0 formula, then writes rd. It is RV64-only, with a 64-bit input and result.
RV64 Zknh, x11=1: sha512sig0 x10, x11 applies the fixed formula on this page and yields x10=0x8100000000000000. The input and result are 64 bits.
Zknh RV64 only: transform the full 64-bit X(rs1) and write the 64-bit result to rd.
No. The syntax is sha512sig0 rd, rs1. Bits 31..20 select the transform; there is no assembly immediate.