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