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
93
View as plain text