blob: 6684bf76d05d28a963ce2f5ce0525c40c90bf0af [file] [log] [blame]
!sum
- go: GaloisFieldAffineTransform
asm: VGF2P8AFFINEQB
operandOrder: 2I # 2nd operand, then immediate
in: &AffineArgs
- &uint8
go: $t
base: uint
- &uint8x8
go: $t2
base: uint
- &pureImmVar
class: immediate
immOffset: 0
name: b
out:
- *uint8
- go: GaloisFieldAffineTransformInverse
asm: VGF2P8AFFINEINVQB
operandOrder: 2I # 2nd operand, then immediate
in: *AffineArgs
out:
- *uint8
- go: GaloisFieldMul
asm: VGF2P8MULB
in:
- *uint8
- *uint8
out:
- *uint8
- go: carrylessMultiply
documentation: !string |-
// NAME computes one of four possible Galois polynomial
// products of selected high and low halves of x and y,
// depending on the value of xyHiLo, returning the 128-bit
// product in the concatenated two elements of the result.
// Bit 0 selects the low (0) or high (1) element of x and
// bit 4 selects the low (0x00) or high (0x10) element of y.
asm: V?PCLMULQDQ
in:
- go: Uint64x2
- go: Uint64x2
- class: immediate
immOffset: 0
name: xyHiLo
out:
- go: Uint64x2
overwriteElementBits: 64
hideMaskMethods: true
- go: carrylessMultiply
documentation: !string |-
// NAME computes one of two possible Galois polynomial
// products of selected high and low halves of each of the two
// 128-bit lanes of x and y, depending on the value of xyHiLo,
// and returns the four 128-bit products in the result's lanes.
// Bit 0 selects the low (0) or high (1) elements of x's lanes and
// bit 4 selects the low (0x00) or high (0x10) elements of y's lanes.
asm: V?PCLMULQDQ
in:
- go: Uint64x4
- go: Uint64x4
- class: immediate
immOffset: 0
name: xyHiLo
out:
- go: Uint64x4
overwriteElementBits: 64
hideMaskMethods: true
- go: carrylessMultiply
documentation: !string |-
// NAME computes one of four possible Galois polynomial
// products of selected high and low halves of each of the four
// 128-bit lanes of x and y, depending on the value of xyHiLo,
// and returns the four 128-bit products in the result's lanes.
// Bit 0 selects the low (0) or high (1) elements of x's lanes and
// bit 4 selects the low (0x00) or high (0x10) elements of y's lanes.
asm: V?PCLMULQDQ
in:
- go: Uint64x8
- go: Uint64x8
- class: immediate
immOffset: 0
name: xyHiLo
out:
- go: Uint64x8
overwriteElementBits: 64
hideMaskMethods: true