github.com/CommerciumBlockchain/go-commercium@v0.0.0-20220709212705-b46438a77516/crypto/fixed/keccakf_amd64.s (about) 1 // This file is copied from golang/x/crypto/sha3/keccakf_amd64.s 2 3 // Copyright 2015 The Go Authors. All rights reserved. 4 // Use of this source code is governed by a BSD-style 5 // license that can be found in the LICENSE file. 6 7 // +build amd64,!purego,gc 8 9 // This code was translated into a form compatible with 6a from the public 10 // domain sources at https://github.com/gvanas/KeccakCodePackage 11 12 // Offsets in state 13 #define _ba (0*8) 14 #define _be (1*8) 15 #define _bi (2*8) 16 #define _bo (3*8) 17 #define _bu (4*8) 18 #define _ga (5*8) 19 #define _ge (6*8) 20 #define _gi (7*8) 21 #define _go (8*8) 22 #define _gu (9*8) 23 #define _ka (10*8) 24 #define _ke (11*8) 25 #define _ki (12*8) 26 #define _ko (13*8) 27 #define _ku (14*8) 28 #define _ma (15*8) 29 #define _me (16*8) 30 #define _mi (17*8) 31 #define _mo (18*8) 32 #define _mu (19*8) 33 #define _sa (20*8) 34 #define _se (21*8) 35 #define _si (22*8) 36 #define _so (23*8) 37 #define _su (24*8) 38 39 // Temporary registers 40 #define rT1 AX 41 42 // Round vars 43 #define rpState DI 44 #define rpStack SP 45 46 #define rDa BX 47 #define rDe CX 48 #define rDi DX 49 #define rDo R8 50 #define rDu R9 51 52 #define rBa R10 53 #define rBe R11 54 #define rBi R12 55 #define rBo R13 56 #define rBu R14 57 58 #define rCa SI 59 #define rCe BP 60 #define rCi rBi 61 #define rCo rBo 62 #define rCu R15 63 64 #define MOVQ_RBI_RCE MOVQ rBi, rCe 65 #define XORQ_RT1_RCA XORQ rT1, rCa 66 #define XORQ_RT1_RCE XORQ rT1, rCe 67 #define XORQ_RBA_RCU XORQ rBa, rCu 68 #define XORQ_RBE_RCU XORQ rBe, rCu 69 #define XORQ_RDU_RCU XORQ rDu, rCu 70 #define XORQ_RDA_RCA XORQ rDa, rCa 71 #define XORQ_RDE_RCE XORQ rDe, rCe 72 73 #define mKeccakRound(iState, oState, rc, B_RBI_RCE, G_RT1_RCA, G_RT1_RCE, G_RBA_RCU, K_RT1_RCA, K_RT1_RCE, K_RBA_RCU, M_RT1_RCA, M_RT1_RCE, M_RBE_RCU, S_RDU_RCU, S_RDA_RCA, S_RDE_RCE) \ 74 /* Prepare round */ \ 75 MOVQ rCe, rDa; \ 76 ROLQ $1, rDa; \ 77 \ 78 MOVQ _bi(iState), rCi; \ 79 XORQ _gi(iState), rDi; \ 80 XORQ rCu, rDa; \ 81 XORQ _ki(iState), rCi; \ 82 XORQ _mi(iState), rDi; \ 83 XORQ rDi, rCi; \ 84 \ 85 MOVQ rCi, rDe; \ 86 ROLQ $1, rDe; \ 87 \ 88 MOVQ _bo(iState), rCo; \ 89 XORQ _go(iState), rDo; \ 90 XORQ rCa, rDe; \ 91 XORQ _ko(iState), rCo; \ 92 XORQ _mo(iState), rDo; \ 93 XORQ rDo, rCo; \ 94 \ 95 MOVQ rCo, rDi; \ 96 ROLQ $1, rDi; \ 97 \ 98 MOVQ rCu, rDo; \ 99 XORQ rCe, rDi; \ 100 ROLQ $1, rDo; \ 101 \ 102 MOVQ rCa, rDu; \ 103 XORQ rCi, rDo; \ 104 ROLQ $1, rDu; \ 105 \ 106 /* Result b */ \ 107 MOVQ _ba(iState), rBa; \ 108 MOVQ _ge(iState), rBe; \ 109 XORQ rCo, rDu; \ 110 MOVQ _ki(iState), rBi; \ 111 MOVQ _mo(iState), rBo; \ 112 MOVQ _su(iState), rBu; \ 113 XORQ rDe, rBe; \ 114 ROLQ $44, rBe; \ 115 XORQ rDi, rBi; \ 116 XORQ rDa, rBa; \ 117 ROLQ $43, rBi; \ 118 \ 119 MOVQ rBe, rCa; \ 120 MOVQ rc, rT1; \ 121 ORQ rBi, rCa; \ 122 XORQ rBa, rT1; \ 123 XORQ rT1, rCa; \ 124 MOVQ rCa, _ba(oState); \ 125 \ 126 XORQ rDu, rBu; \ 127 ROLQ $14, rBu; \ 128 MOVQ rBa, rCu; \ 129 ANDQ rBe, rCu; \ 130 XORQ rBu, rCu; \ 131 MOVQ rCu, _bu(oState); \ 132 \ 133 XORQ rDo, rBo; \ 134 ROLQ $21, rBo; \ 135 MOVQ rBo, rT1; \ 136 ANDQ rBu, rT1; \ 137 XORQ rBi, rT1; \ 138 MOVQ rT1, _bi(oState); \ 139 \ 140 NOTQ rBi; \ 141 ORQ rBa, rBu; \ 142 ORQ rBo, rBi; \ 143 XORQ rBo, rBu; \ 144 XORQ rBe, rBi; \ 145 MOVQ rBu, _bo(oState); \ 146 MOVQ rBi, _be(oState); \ 147 B_RBI_RCE; \ 148 \ 149 /* Result g */ \ 150 MOVQ _gu(iState), rBe; \ 151 XORQ rDu, rBe; \ 152 MOVQ _ka(iState), rBi; \ 153 ROLQ $20, rBe; \ 154 XORQ rDa, rBi; \ 155 ROLQ $3, rBi; \ 156 MOVQ _bo(iState), rBa; \ 157 MOVQ rBe, rT1; \ 158 ORQ rBi, rT1; \ 159 XORQ rDo, rBa; \ 160 MOVQ _me(iState), rBo; \ 161 MOVQ _si(iState), rBu; \ 162 ROLQ $28, rBa; \ 163 XORQ rBa, rT1; \ 164 MOVQ rT1, _ga(oState); \ 165 G_RT1_RCA; \ 166 \ 167 XORQ rDe, rBo; \ 168 ROLQ $45, rBo; \ 169 MOVQ rBi, rT1; \ 170 ANDQ rBo, rT1; \ 171 XORQ rBe, rT1; \ 172 MOVQ rT1, _ge(oState); \ 173 G_RT1_RCE; \ 174 \ 175 XORQ rDi, rBu; \ 176 ROLQ $61, rBu; \ 177 MOVQ rBu, rT1; \ 178 ORQ rBa, rT1; \ 179 XORQ rBo, rT1; \ 180 MOVQ rT1, _go(oState); \ 181 \ 182 ANDQ rBe, rBa; \ 183 XORQ rBu, rBa; \ 184 MOVQ rBa, _gu(oState); \ 185 NOTQ rBu; \ 186 G_RBA_RCU; \ 187 \ 188 ORQ rBu, rBo; \ 189 XORQ rBi, rBo; \ 190 MOVQ rBo, _gi(oState); \ 191 \ 192 /* Result k */ \ 193 MOVQ _be(iState), rBa; \ 194 MOVQ _gi(iState), rBe; \ 195 MOVQ _ko(iState), rBi; \ 196 MOVQ _mu(iState), rBo; \ 197 MOVQ _sa(iState), rBu; \ 198 XORQ rDi, rBe; \ 199 ROLQ $6, rBe; \ 200 XORQ rDo, rBi; \ 201 ROLQ $25, rBi; \ 202 MOVQ rBe, rT1; \ 203 ORQ rBi, rT1; \ 204 XORQ rDe, rBa; \ 205 ROLQ $1, rBa; \ 206 XORQ rBa, rT1; \ 207 MOVQ rT1, _ka(oState); \ 208 K_RT1_RCA; \ 209 \ 210 XORQ rDu, rBo; \ 211 ROLQ $8, rBo; \ 212 MOVQ rBi, rT1; \ 213 ANDQ rBo, rT1; \ 214 XORQ rBe, rT1; \ 215 MOVQ rT1, _ke(oState); \ 216 K_RT1_RCE; \ 217 \ 218 XORQ rDa, rBu; \ 219 ROLQ $18, rBu; \ 220 NOTQ rBo; \ 221 MOVQ rBo, rT1; \ 222 ANDQ rBu, rT1; \ 223 XORQ rBi, rT1; \ 224 MOVQ rT1, _ki(oState); \ 225 \ 226 MOVQ rBu, rT1; \ 227 ORQ rBa, rT1; \ 228 XORQ rBo, rT1; \ 229 MOVQ rT1, _ko(oState); \ 230 \ 231 ANDQ rBe, rBa; \ 232 XORQ rBu, rBa; \ 233 MOVQ rBa, _ku(oState); \ 234 K_RBA_RCU; \ 235 \ 236 /* Result m */ \ 237 MOVQ _ga(iState), rBe; \ 238 XORQ rDa, rBe; \ 239 MOVQ _ke(iState), rBi; \ 240 ROLQ $36, rBe; \ 241 XORQ rDe, rBi; \ 242 MOVQ _bu(iState), rBa; \ 243 ROLQ $10, rBi; \ 244 MOVQ rBe, rT1; \ 245 MOVQ _mi(iState), rBo; \ 246 ANDQ rBi, rT1; \ 247 XORQ rDu, rBa; \ 248 MOVQ _so(iState), rBu; \ 249 ROLQ $27, rBa; \ 250 XORQ rBa, rT1; \ 251 MOVQ rT1, _ma(oState); \ 252 M_RT1_RCA; \ 253 \ 254 XORQ rDi, rBo; \ 255 ROLQ $15, rBo; \ 256 MOVQ rBi, rT1; \ 257 ORQ rBo, rT1; \ 258 XORQ rBe, rT1; \ 259 MOVQ rT1, _me(oState); \ 260 M_RT1_RCE; \ 261 \ 262 XORQ rDo, rBu; \ 263 ROLQ $56, rBu; \ 264 NOTQ rBo; \ 265 MOVQ rBo, rT1; \ 266 ORQ rBu, rT1; \ 267 XORQ rBi, rT1; \ 268 MOVQ rT1, _mi(oState); \ 269 \ 270 ORQ rBa, rBe; \ 271 XORQ rBu, rBe; \ 272 MOVQ rBe, _mu(oState); \ 273 \ 274 ANDQ rBa, rBu; \ 275 XORQ rBo, rBu; \ 276 MOVQ rBu, _mo(oState); \ 277 M_RBE_RCU; \ 278 \ 279 /* Result s */ \ 280 MOVQ _bi(iState), rBa; \ 281 MOVQ _go(iState), rBe; \ 282 MOVQ _ku(iState), rBi; \ 283 XORQ rDi, rBa; \ 284 MOVQ _ma(iState), rBo; \ 285 ROLQ $62, rBa; \ 286 XORQ rDo, rBe; \ 287 MOVQ _se(iState), rBu; \ 288 ROLQ $55, rBe; \ 289 \ 290 XORQ rDu, rBi; \ 291 MOVQ rBa, rDu; \ 292 XORQ rDe, rBu; \ 293 ROLQ $2, rBu; \ 294 ANDQ rBe, rDu; \ 295 XORQ rBu, rDu; \ 296 MOVQ rDu, _su(oState); \ 297 \ 298 ROLQ $39, rBi; \ 299 S_RDU_RCU; \ 300 NOTQ rBe; \ 301 XORQ rDa, rBo; \ 302 MOVQ rBe, rDa; \ 303 ANDQ rBi, rDa; \ 304 XORQ rBa, rDa; \ 305 MOVQ rDa, _sa(oState); \ 306 S_RDA_RCA; \ 307 \ 308 ROLQ $41, rBo; \ 309 MOVQ rBi, rDe; \ 310 ORQ rBo, rDe; \ 311 XORQ rBe, rDe; \ 312 MOVQ rDe, _se(oState); \ 313 S_RDE_RCE; \ 314 \ 315 MOVQ rBo, rDi; \ 316 MOVQ rBu, rDo; \ 317 ANDQ rBu, rDi; \ 318 ORQ rBa, rDo; \ 319 XORQ rBi, rDi; \ 320 XORQ rBo, rDo; \ 321 MOVQ rDi, _si(oState); \ 322 MOVQ rDo, _so(oState) \ 323 324 // func keccakF1600(state *[25]uint64) 325 TEXT ·keccakF1600(SB), 0, $200-8 326 MOVQ state+0(FP), rpState 327 328 // Convert the user state into an internal state 329 NOTQ _be(rpState) 330 NOTQ _bi(rpState) 331 NOTQ _go(rpState) 332 NOTQ _ki(rpState) 333 NOTQ _mi(rpState) 334 NOTQ _sa(rpState) 335 336 // Execute the KeccakF permutation 337 MOVQ _ba(rpState), rCa 338 MOVQ _be(rpState), rCe 339 MOVQ _bu(rpState), rCu 340 341 XORQ _ga(rpState), rCa 342 XORQ _ge(rpState), rCe 343 XORQ _gu(rpState), rCu 344 345 XORQ _ka(rpState), rCa 346 XORQ _ke(rpState), rCe 347 XORQ _ku(rpState), rCu 348 349 XORQ _ma(rpState), rCa 350 XORQ _me(rpState), rCe 351 XORQ _mu(rpState), rCu 352 353 XORQ _sa(rpState), rCa 354 XORQ _se(rpState), rCe 355 MOVQ _si(rpState), rDi 356 MOVQ _so(rpState), rDo 357 XORQ _su(rpState), rCu 358 359 mKeccakRound(rpState, rpStack, $0x0000000000000001, MOVQ_RBI_RCE, XORQ_RT1_RCA, XORQ_RT1_RCE, XORQ_RBA_RCU, XORQ_RT1_RCA, XORQ_RT1_RCE, XORQ_RBA_RCU, XORQ_RT1_RCA, XORQ_RT1_RCE, XORQ_RBE_RCU, XORQ_RDU_RCU, XORQ_RDA_RCA, XORQ_RDE_RCE) 360 mKeccakRound(rpStack, rpState, $0x0000000000008082, MOVQ_RBI_RCE, XORQ_RT1_RCA, XORQ_RT1_RCE, XORQ_RBA_RCU, XORQ_RT1_RCA, XORQ_RT1_RCE, XORQ_RBA_RCU, XORQ_RT1_RCA, XORQ_RT1_RCE, XORQ_RBE_RCU, XORQ_RDU_RCU, XORQ_RDA_RCA, XORQ_RDE_RCE) 361 mKeccakRound(rpState, rpStack, $0x800000000000808a, MOVQ_RBI_RCE, XORQ_RT1_RCA, XORQ_RT1_RCE, XORQ_RBA_RCU, XORQ_RT1_RCA, XORQ_RT1_RCE, XORQ_RBA_RCU, XORQ_RT1_RCA, XORQ_RT1_RCE, XORQ_RBE_RCU, XORQ_RDU_RCU, XORQ_RDA_RCA, XORQ_RDE_RCE) 362 mKeccakRound(rpStack, rpState, $0x8000000080008000, MOVQ_RBI_RCE, XORQ_RT1_RCA, XORQ_RT1_RCE, XORQ_RBA_RCU, XORQ_RT1_RCA, XORQ_RT1_RCE, XORQ_RBA_RCU, XORQ_RT1_RCA, XORQ_RT1_RCE, XORQ_RBE_RCU, XORQ_RDU_RCU, XORQ_RDA_RCA, XORQ_RDE_RCE) 363 mKeccakRound(rpState, rpStack, $0x000000000000808b, MOVQ_RBI_RCE, XORQ_RT1_RCA, XORQ_RT1_RCE, XORQ_RBA_RCU, XORQ_RT1_RCA, XORQ_RT1_RCE, XORQ_RBA_RCU, XORQ_RT1_RCA, XORQ_RT1_RCE, XORQ_RBE_RCU, XORQ_RDU_RCU, XORQ_RDA_RCA, XORQ_RDE_RCE) 364 mKeccakRound(rpStack, rpState, $0x0000000080000001, MOVQ_RBI_RCE, XORQ_RT1_RCA, XORQ_RT1_RCE, XORQ_RBA_RCU, XORQ_RT1_RCA, XORQ_RT1_RCE, XORQ_RBA_RCU, XORQ_RT1_RCA, XORQ_RT1_RCE, XORQ_RBE_RCU, XORQ_RDU_RCU, XORQ_RDA_RCA, XORQ_RDE_RCE) 365 mKeccakRound(rpState, rpStack, $0x8000000080008081, MOVQ_RBI_RCE, XORQ_RT1_RCA, XORQ_RT1_RCE, XORQ_RBA_RCU, XORQ_RT1_RCA, XORQ_RT1_RCE, XORQ_RBA_RCU, XORQ_RT1_RCA, XORQ_RT1_RCE, XORQ_RBE_RCU, XORQ_RDU_RCU, XORQ_RDA_RCA, XORQ_RDE_RCE) 366 mKeccakRound(rpStack, rpState, $0x8000000000008009, MOVQ_RBI_RCE, XORQ_RT1_RCA, XORQ_RT1_RCE, XORQ_RBA_RCU, XORQ_RT1_RCA, XORQ_RT1_RCE, XORQ_RBA_RCU, XORQ_RT1_RCA, XORQ_RT1_RCE, XORQ_RBE_RCU, XORQ_RDU_RCU, XORQ_RDA_RCA, XORQ_RDE_RCE) 367 mKeccakRound(rpState, rpStack, $0x000000000000008a, MOVQ_RBI_RCE, XORQ_RT1_RCA, XORQ_RT1_RCE, XORQ_RBA_RCU, XORQ_RT1_RCA, XORQ_RT1_RCE, XORQ_RBA_RCU, XORQ_RT1_RCA, XORQ_RT1_RCE, XORQ_RBE_RCU, XORQ_RDU_RCU, XORQ_RDA_RCA, XORQ_RDE_RCE) 368 mKeccakRound(rpStack, rpState, $0x0000000000000088, MOVQ_RBI_RCE, XORQ_RT1_RCA, XORQ_RT1_RCE, XORQ_RBA_RCU, XORQ_RT1_RCA, XORQ_RT1_RCE, XORQ_RBA_RCU, XORQ_RT1_RCA, XORQ_RT1_RCE, XORQ_RBE_RCU, XORQ_RDU_RCU, XORQ_RDA_RCA, XORQ_RDE_RCE) 369 mKeccakRound(rpState, rpStack, $0x0000000080008009, MOVQ_RBI_RCE, XORQ_RT1_RCA, XORQ_RT1_RCE, XORQ_RBA_RCU, XORQ_RT1_RCA, XORQ_RT1_RCE, XORQ_RBA_RCU, XORQ_RT1_RCA, XORQ_RT1_RCE, XORQ_RBE_RCU, XORQ_RDU_RCU, XORQ_RDA_RCA, XORQ_RDE_RCE) 370 mKeccakRound(rpStack, rpState, $0x000000008000000a, MOVQ_RBI_RCE, XORQ_RT1_RCA, XORQ_RT1_RCE, XORQ_RBA_RCU, XORQ_RT1_RCA, XORQ_RT1_RCE, XORQ_RBA_RCU, XORQ_RT1_RCA, XORQ_RT1_RCE, XORQ_RBE_RCU, XORQ_RDU_RCU, XORQ_RDA_RCA, XORQ_RDE_RCE) 371 mKeccakRound(rpState, rpStack, $0x000000008000808b, MOVQ_RBI_RCE, XORQ_RT1_RCA, XORQ_RT1_RCE, XORQ_RBA_RCU, XORQ_RT1_RCA, XORQ_RT1_RCE, XORQ_RBA_RCU, XORQ_RT1_RCA, XORQ_RT1_RCE, XORQ_RBE_RCU, XORQ_RDU_RCU, XORQ_RDA_RCA, XORQ_RDE_RCE) 372 mKeccakRound(rpStack, rpState, $0x800000000000008b, MOVQ_RBI_RCE, XORQ_RT1_RCA, XORQ_RT1_RCE, XORQ_RBA_RCU, XORQ_RT1_RCA, XORQ_RT1_RCE, XORQ_RBA_RCU, XORQ_RT1_RCA, XORQ_RT1_RCE, XORQ_RBE_RCU, XORQ_RDU_RCU, XORQ_RDA_RCA, XORQ_RDE_RCE) 373 mKeccakRound(rpState, rpStack, $0x8000000000008089, MOVQ_RBI_RCE, XORQ_RT1_RCA, XORQ_RT1_RCE, XORQ_RBA_RCU, XORQ_RT1_RCA, XORQ_RT1_RCE, XORQ_RBA_RCU, XORQ_RT1_RCA, XORQ_RT1_RCE, XORQ_RBE_RCU, XORQ_RDU_RCU, XORQ_RDA_RCA, XORQ_RDE_RCE) 374 mKeccakRound(rpStack, rpState, $0x8000000000008003, MOVQ_RBI_RCE, XORQ_RT1_RCA, XORQ_RT1_RCE, XORQ_RBA_RCU, XORQ_RT1_RCA, XORQ_RT1_RCE, XORQ_RBA_RCU, XORQ_RT1_RCA, XORQ_RT1_RCE, XORQ_RBE_RCU, XORQ_RDU_RCU, XORQ_RDA_RCA, XORQ_RDE_RCE) 375 mKeccakRound(rpState, rpStack, $0x8000000000008002, MOVQ_RBI_RCE, XORQ_RT1_RCA, XORQ_RT1_RCE, XORQ_RBA_RCU, XORQ_RT1_RCA, XORQ_RT1_RCE, XORQ_RBA_RCU, XORQ_RT1_RCA, XORQ_RT1_RCE, XORQ_RBE_RCU, XORQ_RDU_RCU, XORQ_RDA_RCA, XORQ_RDE_RCE) 376 mKeccakRound(rpStack, rpState, $0x8000000000000080, MOVQ_RBI_RCE, XORQ_RT1_RCA, XORQ_RT1_RCE, XORQ_RBA_RCU, XORQ_RT1_RCA, XORQ_RT1_RCE, XORQ_RBA_RCU, XORQ_RT1_RCA, XORQ_RT1_RCE, XORQ_RBE_RCU, XORQ_RDU_RCU, XORQ_RDA_RCA, XORQ_RDE_RCE) 377 mKeccakRound(rpState, rpStack, $0x000000000000800a, MOVQ_RBI_RCE, XORQ_RT1_RCA, XORQ_RT1_RCE, XORQ_RBA_RCU, XORQ_RT1_RCA, XORQ_RT1_RCE, XORQ_RBA_RCU, XORQ_RT1_RCA, XORQ_RT1_RCE, XORQ_RBE_RCU, XORQ_RDU_RCU, XORQ_RDA_RCA, XORQ_RDE_RCE) 378 mKeccakRound(rpStack, rpState, $0x800000008000000a, MOVQ_RBI_RCE, XORQ_RT1_RCA, XORQ_RT1_RCE, XORQ_RBA_RCU, XORQ_RT1_RCA, XORQ_RT1_RCE, XORQ_RBA_RCU, XORQ_RT1_RCA, XORQ_RT1_RCE, XORQ_RBE_RCU, XORQ_RDU_RCU, XORQ_RDA_RCA, XORQ_RDE_RCE) 379 mKeccakRound(rpState, rpStack, $0x8000000080008081, MOVQ_RBI_RCE, XORQ_RT1_RCA, XORQ_RT1_RCE, XORQ_RBA_RCU, XORQ_RT1_RCA, XORQ_RT1_RCE, XORQ_RBA_RCU, XORQ_RT1_RCA, XORQ_RT1_RCE, XORQ_RBE_RCU, XORQ_RDU_RCU, XORQ_RDA_RCA, XORQ_RDE_RCE) 380 mKeccakRound(rpStack, rpState, $0x8000000000008080, MOVQ_RBI_RCE, XORQ_RT1_RCA, XORQ_RT1_RCE, XORQ_RBA_RCU, XORQ_RT1_RCA, XORQ_RT1_RCE, XORQ_RBA_RCU, XORQ_RT1_RCA, XORQ_RT1_RCE, XORQ_RBE_RCU, XORQ_RDU_RCU, XORQ_RDA_RCA, XORQ_RDE_RCE) 381 mKeccakRound(rpState, rpStack, $0x0000000080000001, MOVQ_RBI_RCE, XORQ_RT1_RCA, XORQ_RT1_RCE, XORQ_RBA_RCU, XORQ_RT1_RCA, XORQ_RT1_RCE, XORQ_RBA_RCU, XORQ_RT1_RCA, XORQ_RT1_RCE, XORQ_RBE_RCU, XORQ_RDU_RCU, XORQ_RDA_RCA, XORQ_RDE_RCE) 382 mKeccakRound(rpStack, rpState, $0x8000000080008008, NOP, NOP, NOP, NOP, NOP, NOP, NOP, NOP, NOP, NOP, NOP, NOP, NOP) 383 384 // Revert the internal state to the user state 385 NOTQ _be(rpState) 386 NOTQ _bi(rpState) 387 NOTQ _go(rpState) 388 NOTQ _ki(rpState) 389 NOTQ _mi(rpState) 390 NOTQ _sa(rpState) 391 392 RET