Text file src/simd/archsimd/_gen/simdgen/ops/Others/categories.yaml

     1  !sum
     2  - go: LeadingZeros
     3    commutative: false
     4    documentation: !string |-
     5      // NAME counts the leading zeros of each element in x.
     6  - go: LeadingSignBits
     7    commutative: false
     8    documentation: !string |-
     9      // NAME counts the leading sign bits of each element in x.
    10  - go: AESEncryptOneRound
    11    commutative: false
    12    documentation: !string |-
    13      // NAME performs a series of operations in AES cipher algorithm defined in FIPS 197.
    14      // x is the state array, starting from low index to high are s00, s10, s20, s30, s01, ..., s33.
    15      // y is the chunk of w array in use.
    16      // result = AddRoundKey(MixColumns(ShiftRows(SubBytes(x))), y)
    17  - go: AESEncryptLastRound
    18    commutative: false
    19    documentation: !string |-
    20      // NAME performs a series of operations in AES cipher algorithm defined in FIPS 197.
    21      // x is the state array, starting from low index to high are s00, s10, s20, s30, s01, ..., s33.
    22      // y is the chunk of w array in use.
    23      // result = AddRoundKey((ShiftRows(SubBytes(x))), y)
    24  - go: AESRoundKeyGenAssist
    25    commutative: false
    26    documentation: !string |-
    27      // NAME performs some components of KeyExpansion in AES cipher algorithm defined in FIPS 197.
    28      // x is an array of AES words, but only x[0] and x[2] are used.
    29      // r is a value from the Rcon constant array.
    30      // result[0] = XOR(SubWord(RotWord(x[0])), r)
    31      // result[1] = SubWord(x[1])
    32      // result[2] = XOR(SubWord(RotWord(x[2])), r)
    33      // result[3] = SubWord(x[3])
    34  - go: AESDecryptOneRound
    35    commutative: false
    36    documentation: !string |-
    37      // NAME performs a series of operations in AES cipher algorithm defined in FIPS 197.
    38      // x is the state array, starting from low index to high are s00, s10, s20, s30, s01, ..., s33.
    39      // y is the chunk of dw array in use.
    40      // result = AddRoundKey(InvMixColumns(InvShiftRows(InvSubBytes(x))), y)
    41  - go: AESDecryptLastRound
    42    commutative: false
    43    documentation: !string |-
    44      // NAME performs a series of operations in AES cipher algorithm defined in FIPS 197.
    45      // x is the state array, starting from low index to high are s00, s10, s20, s30, s01, ..., s33.
    46      // y is the chunk of dw array in use.
    47      // result = AddRoundKey(InvShiftRows(InvSubBytes(x)), y)
    48  - go: AESInvMixColumns
    49    commutative: false
    50    documentation: !string |-
    51      // NAME performs the InvMixColumns operation in AES cipher algorithm defined in FIPS 197.
    52      // x is the chunk of w array in use.
    53      // result = InvMixColumns(x)
    54  - go: SHA1FourRounds
    55    commutative: false
    56    documentation: !string |-
    57      // NAME performs 4 rounds of B loop in SHA1 algorithm defined in FIPS 180-4.
    58      // x contains the state variables a, b, c and d from upper to lower order.
    59      // y contains the W array elements (with the state variable e added to the upper element) from upper to lower order.
    60      // result = the state variables a', b', c', d' updated after 4 rounds.
    61      // constant = 0 for the first 20 rounds of the loop, 1 for the next 20 rounds of the loop..., 3 for the last 20 rounds of the loop.
    62  - go: SHA1NextE
    63    commutative: false
    64    documentation: !string |-
    65      // NAME calculates the state variable e' updated after 4 rounds in SHA1 algorithm defined in FIPS 180-4.
    66      // x contains the state variable a (before the 4 rounds), placed in the upper element.
    67      // y is the elements of W array for next 4 rounds from upper to lower order.
    68      // result = the elements of the W array for the next 4 rounds, with the updated state variable e' added to the upper element,
    69      // from upper to lower order.
    70      // For the last round of the loop, you can specify zero for y to obtain the e' value itself, or better off specifying H4:0:0:0
    71      // for y to get e' added to H4. (Note that the value of e' is computed only from x, and values of y don't affect the
    72      // computation of the value of e'.)
    73  - go: SHA1Message1
    74    commutative: false
    75    documentation: !string |-
    76      // NAME does the XORing of 1 in SHA1 algorithm defined in FIPS 180-4.
    77      // x = {W3, W2, W1, W0}
    78      // y = {0, 0, W5, W4}
    79      // result = {W3^W5, W2^W4, W1^W3, W0^W2}.
    80  - go: SHA1Message2
    81    commutative: false
    82    documentation: !string |-
    83      // NAME does the calculation of 3 and 4 in SHA1 algorithm defined in FIPS 180-4.
    84      // x = result of 2.
    85      // y = {W15, W14, W13}
    86      // result = {W19, W18, W17, W16}
    87  - go: SHA256TwoRounds
    88    commutative: false
    89    documentation: !string |-
    90      // NAME does 2 rounds of B loop to calculate updated state variables in SHA256 algorithm defined in FIPS 180-4.
    91      // x = {h, g, d, c}
    92      // y = {f, e, b, a}
    93      // z = {W0+K0, W1+K1}
    94      // result = {f', e', b', a'}
    95      // The K array is a 64-DWORD constant array defined in page 11 of FIPS 180-4. Each element of the K array is to be added to
    96      // the corresponding element of the W array to make the input data z.
    97      // The updated state variables c', d', g', h' are not returned by this instruction, because they are equal to the input data
    98      // y (the state variables a, b, e, f before the 2 rounds).
    99  - go: SHA256Message1
   100    commutative: false
   101    documentation: !string |-
   102      // NAME does the sigma and addition of 1 in SHA256 algorithm defined in FIPS 180-4.
   103      // x = {W0, W1, W2, W3}
   104      // y = {W4, 0, 0, 0}
   105      // result = {W0+σ(W1), W1+σ(W2), W2+σ(W3), W3+σ(W4)}
   106  - go: SHA256Message2
   107    commutative: false
   108    documentation: !string |-
   109      // NAME does the sigma and addition of 3 in SHA256 algorithm defined in FIPS 180-4.
   110      // x = result of 2
   111      // y = {0, 0, W14, W15}
   112      // result = {W16, W17, W18, W19}
   113  

View as plain text