...
Run Format

Text file src/simd/archsimd/_gen/simdgen/ops/GaloisField/go.yaml

Documentation: simd/archsimd/_gen/simdgen/ops/GaloisField

     1!sum
     2- go: GaloisFieldAffineTransform
     3  asm: VGF2P8AFFINEQB
     4  operandOrder: 2I # 2nd operand, then immediate
     5  in: &AffineArgs
     6  - &uint8
     7    go: $t
     8    base: uint
     9  - &uint8x8
    10    go: $t2
    11    base: uint
    12  - &pureImmVar
    13    class: immediate
    14    immOffset: 0
    15    name: b
    16  out:
    17  - *uint8
    18
    19- go: GaloisFieldAffineTransformInverse
    20  asm: VGF2P8AFFINEINVQB
    21  operandOrder: 2I # 2nd operand, then immediate
    22  in: *AffineArgs
    23  out:
    24  - *uint8
    25
    26- go: GaloisFieldMul
    27  asm: VGF2P8MULB
    28  in:
    29  - *uint8
    30  - *uint8
    31  out:
    32  - *uint8
    33
    34- go: carrylessMultiply
    35  documentation: !string |-
    36    // NAME computes one of four possible Galois polynomial
    37    // products of selected high and low halves of x and y,
    38    // depending on the value of xyHiLo, returning the 128-bit
    39    // product in the concatenated two elements of the result.
    40    // Bit 0 selects the low (0) or high (1) element of x and
    41    // bit 4 selects the low (0x00) or high (0x10) element of y.
    42  asm: V?PCLMULQDQ
    43  in:
    44  - go: Uint64x2
    45  - go: Uint64x2
    46  - class: immediate
    47    immOffset: 0
    48    name: xyHiLo
    49  out:
    50  - go: Uint64x2
    51    overwriteElementBits: 64
    52  hideMaskMethods: true
    53
    54- go: carrylessMultiply
    55  documentation: !string |-
    56    // NAME computes one of two possible Galois polynomial
    57    // products of selected high and low halves of each of the two
    58    // 128-bit lanes of x and y, depending on the value of xyHiLo,
    59    // and returns the four 128-bit products in the result's lanes.
    60    // Bit 0 selects the low (0) or high (1) elements of x's lanes and
    61    // bit 4 selects the low (0x00) or high (0x10) elements of y's lanes.
    62  asm: V?PCLMULQDQ
    63  in:
    64  - go: Uint64x4
    65  - go: Uint64x4
    66  - class: immediate
    67    immOffset: 0
    68    name: xyHiLo
    69  out:
    70  - go: Uint64x4
    71    overwriteElementBits: 64
    72  hideMaskMethods: true
    73
    74- go: carrylessMultiply
    75  documentation: !string |-
    76    // NAME computes one of four possible Galois polynomial
    77    // products of selected high and low halves of each of the four
    78    // 128-bit lanes of x and y, depending on the value of xyHiLo,
    79    // and returns the four 128-bit products in the result's lanes.
    80    // Bit 0 selects the low (0) or high (1) elements of x's lanes and
    81    // bit 4 selects the low (0x00) or high (0x10) elements of y's lanes.
    82  asm: V?PCLMULQDQ
    83  in:
    84  - go: Uint64x8
    85  - go: Uint64x8
    86  - class: immediate
    87    immOffset: 0
    88    name: xyHiLo
    89  out:
    90  - go: Uint64x8
    91    overwriteElementBits: 64
    92  hideMaskMethods: true

View as plain text