Skip to content

Commit 5956aac

Browse files
committed
Prefix all zvksh related functions with zvk_*
1 parent c4f622a commit 5956aac

File tree

2 files changed

+28
-28
lines changed

2 files changed

+28
-28
lines changed

model/riscv_insts_zvksh.sail

+3-3
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ function clause execute (VSM3ME_VV(vs2, vs1, vd)) = {
5656
];
5757

5858
foreach (j from 16 to 23)
59-
w[j] = ZVKSH_W(w[j - 16], w[j - 9], w[j - 3], w[j - 13], w[j - 6]);
59+
w[j] = zvk_sh_w(w[j - 16], w[j - 9], w[j - 3], w[j - 13], w[j - 6]);
6060

6161
write_velem_oct_vec(vd, SEW, vrev8([w[23], w[22], w[21], w[20], w[19], w[18], w[17], w[16]]), i);
6262
};
@@ -98,8 +98,8 @@ function clause execute (VSM3C_VI(vs2, uimm, vd)) = {
9898
let x_0 = w[0] ^ w[4];
9999
let x_1 = w[1] ^ w[5];
100100

101-
let A1_H1 = sm3_compression( A_H, w[0], x_0, 2 * rnds);
102-
let A2_H2 = sm3_compression(A1_H1, w[1], x_1, 2 * rnds + 1);
101+
let A1_H1 = zvk_sm3_compression( A_H, w[0], x_0, 2 * rnds);
102+
let A2_H2 = zvk_sm3_compression(A1_H1, w[1], x_1, 2 * rnds + 1);
103103

104104
write_velem_oct_vec(vd, SEW, vrev8([A1_H1[6], A2_H2[6], A1_H1[4], A2_H2[4], A1_H1[2], A2_H2[2], A1_H1[0], A2_H2[0]]), i);
105105
};

model/riscv_zvk_utils.sail

+25-25
Original file line numberDiff line numberDiff line change
@@ -72,47 +72,47 @@ function zvk_maj(x, y, z) = (x & y) ^ (x & z) ^ (y & z)
7272
* ----------------------------------------------------------------------
7373
*/
7474

75-
val P0 : forall 'm, 'm == 32. (bits('m)) -> bits('m)
76-
function P0(X) = X ^ (X <<< 9) ^ (X <<< 17)
75+
val zvk_p0 : forall 'm, 'm == 32. (bits('m)) -> bits('m)
76+
function zvk_p0(X) = X ^ (X <<< 9) ^ (X <<< 17)
7777

78-
val P1 : forall 'm, 'm == 32. (bits('m)) -> bits('m)
79-
function P1(X) = X ^ (X <<< 15) ^ (X <<< 23)
78+
val zvk_p1 : forall 'm, 'm == 32. (bits('m)) -> bits('m)
79+
function zvk_p1(X) = X ^ (X <<< 15) ^ (X <<< 23)
8080

81-
val ZVKSH_W : forall 'm, 'm == 32. (bits('m), bits('m), bits('m), bits('m), bits('m)) -> bits('m)
82-
function ZVKSH_W(M16, M9, M3, M13, M6) = P1(M16 ^ M9 ^ (M3 <<< 15)) ^ (M13 <<< 7) ^ M6
81+
val zvk_sh_w : forall 'm, 'm == 32. (bits('m), bits('m), bits('m), bits('m), bits('m)) -> bits('m)
82+
function zvk_sh_w(M16, M9, M3, M13, M6) = zvk_p1(M16 ^ M9 ^ (M3 <<< 15)) ^ (M13 <<< 7) ^ M6
8383

84-
val FF1: forall 'm, 'm == 32. (bits('m), bits('m), bits('m)) -> bits('m)
85-
function FF1(X, Y, Z) = X ^ Y ^ Z
84+
val zvk_ff1: forall 'm, 'm == 32. (bits('m), bits('m), bits('m)) -> bits('m)
85+
function zvk_ff1(X, Y, Z) = X ^ Y ^ Z
8686

87-
val FF2: forall 'm, 'm == 32. (bits('m), bits('m), bits('m)) -> bits('m)
88-
function FF2(X, Y, Z) = (X & Y) | (X & Z) | (Y & Z)
87+
val zvk_ff2: forall 'm, 'm == 32. (bits('m), bits('m), bits('m)) -> bits('m)
88+
function zvk_ff2(X, Y, Z) = (X & Y) | (X & Z) | (Y & Z)
8989

90-
val FF_j: forall 'm, 'm == 32. (bits('m), bits('m), bits('m), int) -> bits(32)
91-
function FF_j(X, Y, Z, J) = if (J <= 15) then FF1(X, Y, Z) else FF2(X, Y, Z)
90+
val zvk_ff_j: forall 'm, 'm == 32. (bits('m), bits('m), bits('m), int) -> bits(32)
91+
function zvk_ff_j(X, Y, Z, J) = if (J <= 15) then zvk_ff1(X, Y, Z) else zvk_ff2(X, Y, Z)
9292

93-
val GG1: forall 'm, 'm == 32. (bits('m), bits('m), bits('m)) -> bits('m)
94-
function GG1(X, Y, Z) = X ^ Y ^ Z
93+
val zvk_gg1: forall 'm, 'm == 32. (bits('m), bits('m), bits('m)) -> bits('m)
94+
function zvk_gg1(X, Y, Z) = X ^ Y ^ Z
9595

96-
val GG2: forall 'm, 'm == 32. (bits('m), bits('m), bits('m)) -> bits('m)
97-
function GG2(X, Y, Z) = (X & Y) | (~(X) & Z)
96+
val zvk_gg2: forall 'm, 'm == 32. (bits('m), bits('m), bits('m)) -> bits('m)
97+
function zvk_gg2(X, Y, Z) = (X & Y) | (~(X) & Z)
9898

99-
val GG_j: forall 'm, 'm == 32. (bits('m), bits('m), bits('m), int) -> bits(32)
100-
function GG_j(X, Y, Z, J) = if (J <= 15) then GG1(X, Y, Z) else GG2(X, Y, Z)
99+
val zvk_gg_j: forall 'm, 'm == 32. (bits('m), bits('m), bits('m), int) -> bits(32)
100+
function zvk_gg_j(X, Y, Z, J) = if (J <= 15) then zvk_gg1(X, Y, Z) else zvk_gg2(X, Y, Z)
101101

102-
val T_j : (int) -> bits(32)
103-
function T_j(J) = if (J <= 15) then 0x79CC4519 else 0x7A879D8A
102+
val zvk_t_j : (int) -> bits(32)
103+
function zvk_t_j(J) = if (J <= 15) then 0x79CC4519 else 0x7A879D8A
104104

105-
function sm3_compression(A_H: vector(8, bits(32)), w : bits(32), x : bits(32), j : int) -> vector(8, bits(32)) = {
106-
let t_j = T_j(j) <<< (j % 32);
105+
function zvk_sm3_compression(A_H: vector(8, bits(32)), w : bits(32), x : bits(32), j : int) -> vector(8, bits(32)) = {
106+
let t_j = zvk_t_j(j) <<< (j % 32);
107107
let ss1 = ((A_H[0] <<< 12) + A_H[4] + t_j) <<< 7;
108108
let ss2 = ss1 ^ (A_H[0] <<< 12);
109109

110-
let tt1 = FF_j(A_H[0], A_H[1], A_H[2], j) + A_H[3] + ss2 + x;
111-
let tt2 = GG_j(A_H[4], A_H[5], A_H[6], j) + A_H[7] + ss1 + w;
110+
let tt1 = zvk_ff_j(A_H[0], A_H[1], A_H[2], j) + A_H[3] + ss2 + x;
111+
let tt2 = zvk_gg_j(A_H[4], A_H[5], A_H[6], j) + A_H[7] + ss1 + w;
112112

113113
let A1 = tt1;
114114
let C1 = A_H[1] <<< 9;
115-
let E1 = P0(tt2);
115+
let E1 = zvk_p0(tt2);
116116
let G1 = A_H[5] <<< 19;
117117

118118
[ A_H[6], G1, A_H[4], E1, A_H[2], C1, A_H[0], A1 ]

0 commit comments

Comments
 (0)