Does SM3P0 use floating-point or vector registers?
No. These scalar crypto extension instructions use integer X registers.
SM3 hash P0 permutation: P0(x) = x ^ ROTL(x,9) ^ ROTL(x,17)
SM3P0 uses opcode 0010011 (0x13), funct3 001, funct7 0001100. The rs1 field selects the source register, the 12-bit immediate provides the second operand, and rd selects the destination.
sm3p0 is the Zksh SM3 hash P0 permutation instruction. Implements P0(x) = x ^ ROTL(x, 9) ^ ROTL(x, 17) where ROTL is rotate left. Reads rs1, computes P0, writes to rd. SM3 is the Chinese national cryptographic hash standard (GM/T 0004-2012); P0 is used in SM3 message expansion and compression.
SM3P0 is a Zksh scalar cryptography instruction for SM3 P0 transform. This page is checked against the official scalar crypto extension, avoiding confusion among round functions, key schedule steps, and operand sources.
Understand this scenario with real code like «sm3p0 a0, a1».
Understand this scenario with real code like «sm3p0 a0, a1».
No. These scalar crypto extension instructions use integer X registers.
No. It is a low-level step from AES, SHA, SM3, or SM4; software still combines instructions with the algorithm schedule, round constants, or round keys.