Does SHA512SIG1H use floating-point or vector registers?
No. These scalar crypto extension instructions use integer X registers.
RV32 SHA-512 σ1 high word: rs1 is the input high word; rs2 is the other word.
Syntax is sha512sig1h rd, rs1, rs2; operands select integer x0–x31 or ABI names, with no assembly immediate.
32-bit OP: funct7=0101111, funct3=000, opcode=0110011; rs1 and rs2 are sources and rd is the destination.
RV32 Zknh only (also included in Zkn/Zk); rs1 supplies the input high word and rs2 the other word. The page's 32-bit formula computes the high result word.
An x0 source is zero and writes to x0 are discarded; overlapping operands read values before writeback. Equal sources share one value. Execution latency must be data-independent.
sha512sig1h is an RV32 Zknh instruction computing the high 32-bit word of SHA-512 σ1. With a=X(rs1) and b=X(rs2), rd receives the low 32 bits of ((a << 3) ^ (a >> 6) ^ (a >> 19) ^ (b >> 29) ^ (b << 13)). Right shifts zero-fill; left shifts retain 32 bits. rs1 is the input high word and rs2 is the other word. The example reverses sources for the other result word.
Applies the official RV32 formula for one SHA-512 Sigma result word.
XLEN is fixed at 32. For the high form, rs1 is the input high word and rs2 is the input low word. Initially rd shares an overlapping source value, otherwise it starts at 0. An x0 source must be 0; identical sources must share one value.
This animation shows only official ISA fields and architectural state; it does not model a complete hash algorithm or microarchitecture.
RV32 SHA-512 σ1 high word: rs1 is the input high word; rs2 is the other word.
RV32 Zknh, a0=1 (low), a1=0 (high): the example first writes t0=0x00000008, then reverses sources to write t1=0x00002000. Both original inputs remain intact across the sequence.
RV32 Zknh, a0=1 (low), a1=0 (high): the example first writes t0=0x00000008, then reverses sources to write t1=0x00002000. Both original inputs remain intact across the sequence.
No. These scalar crypto extension instructions use integer X registers.
It computes one 32-bit result word of SHA-512 σ1; the example L/H sequence combines the full 64-bit transform.