1
2
3 package main
4
5 func init() {
6 additionalGenericOps["wasm"] = []opData{
7 {name: "AbsFloat32x4", argLength: 1},
8 {name: "AbsFloat64x2", argLength: 1},
9 {name: "AbsInt8x16", argLength: 1},
10 {name: "AbsInt16x8", argLength: 1},
11 {name: "AbsInt32x4", argLength: 1},
12 {name: "AbsInt64x2", argLength: 1},
13 {name: "AddFloat32x4", argLength: 2, commutative: true},
14 {name: "AddFloat64x2", argLength: 2, commutative: true},
15 {name: "AddInt8x16", argLength: 2, commutative: true},
16 {name: "AddInt16x8", argLength: 2, commutative: true},
17 {name: "AddInt32x4", argLength: 2, commutative: true},
18 {name: "AddInt64x2", argLength: 2, commutative: true},
19 {name: "AddSaturatedInt8x16", argLength: 2, commutative: true},
20 {name: "AddSaturatedInt16x8", argLength: 2, commutative: true},
21 {name: "AddSaturatedUint8x16", argLength: 2, commutative: true},
22 {name: "AddSaturatedUint16x8", argLength: 2, commutative: true},
23 {name: "AndInt8x16", argLength: 2, commutative: true},
24 {name: "AndInt16x8", argLength: 2, commutative: true},
25 {name: "AndInt32x4", argLength: 2, commutative: true},
26 {name: "AndInt64x2", argLength: 2, commutative: true},
27 {name: "AndNotInt8x16", argLength: 2},
28 {name: "AndNotInt16x8", argLength: 2},
29 {name: "AndNotInt32x4", argLength: 2},
30 {name: "AndNotInt64x2", argLength: 2},
31 {name: "AndNotUint8x16", argLength: 2},
32 {name: "AndNotUint16x8", argLength: 2},
33 {name: "AndNotUint32x4", argLength: 2},
34 {name: "AndNotUint64x2", argLength: 2},
35 {name: "AndUint8x16", argLength: 2, commutative: true},
36 {name: "AndUint16x8", argLength: 2, commutative: true},
37 {name: "AndUint32x4", argLength: 2, commutative: true},
38 {name: "AndUint64x2", argLength: 2, commutative: true},
39 {name: "AverageUint8x16", argLength: 2, commutative: true},
40 {name: "AverageUint16x8", argLength: 2, commutative: true},
41 {name: "BitSelectInt8x16", argLength: 3},
42 {name: "BitSelectInt16x8", argLength: 3},
43 {name: "BitSelectInt32x4", argLength: 3},
44 {name: "BitSelectInt64x2", argLength: 3},
45 {name: "BitSelectUint8x16", argLength: 3},
46 {name: "BitSelectUint16x8", argLength: 3},
47 {name: "BitSelectUint32x4", argLength: 3},
48 {name: "BitSelectUint64x2", argLength: 3},
49 {name: "BroadcastFloat32x4", argLength: 1},
50 {name: "BroadcastFloat64x2", argLength: 1},
51 {name: "BroadcastInt8x16", argLength: 1},
52 {name: "BroadcastInt16x8", argLength: 1},
53 {name: "BroadcastInt32x4", argLength: 1},
54 {name: "BroadcastInt64x2", argLength: 1},
55 {name: "CeilFloat32x4", argLength: 1},
56 {name: "CeilFloat64x2", argLength: 1},
57 {name: "ConvertLo2ToFloat64Int32x4", argLength: 1},
58 {name: "ConvertLo2ToFloat64Uint32x4", argLength: 1},
59 {name: "ConvertToFloat32Int32x4", argLength: 1},
60 {name: "ConvertToFloat32Uint32x4", argLength: 1},
61 {name: "ConvertToInt32Float32x4", argLength: 1},
62 {name: "ConvertToUint32Float32x4", argLength: 1},
63 {name: "DivFloat32x4", argLength: 2},
64 {name: "DivFloat64x2", argLength: 2},
65 {name: "EqualFloat32x4", argLength: 2, commutative: true},
66 {name: "EqualFloat64x2", argLength: 2, commutative: true},
67 {name: "EqualInt8x16", argLength: 2, commutative: true},
68 {name: "EqualInt16x8", argLength: 2, commutative: true},
69 {name: "EqualInt32x4", argLength: 2, commutative: true},
70 {name: "EqualInt64x2", argLength: 2, commutative: true},
71 {name: "EqualUint8x16", argLength: 2, commutative: true},
72 {name: "EqualUint16x8", argLength: 2, commutative: true},
73 {name: "EqualUint32x4", argLength: 2, commutative: true},
74 {name: "EqualUint64x2", argLength: 2, commutative: true},
75 {name: "ExtendHi2ToInt64Int32x4", argLength: 1},
76 {name: "ExtendHi2ToUint64Uint32x4", argLength: 1},
77 {name: "ExtendHi4ToInt32Int16x8", argLength: 1},
78 {name: "ExtendHi4ToUint32Uint16x8", argLength: 1},
79 {name: "ExtendHi8ToInt16Int8x16", argLength: 1},
80 {name: "ExtendHi8ToUint16Uint8x16", argLength: 1},
81 {name: "ExtendLo2ToInt64Int32x4", argLength: 1},
82 {name: "ExtendLo2ToUint64Uint32x4", argLength: 1},
83 {name: "ExtendLo4ToInt32Int16x8", argLength: 1},
84 {name: "ExtendLo4ToUint32Uint16x8", argLength: 1},
85 {name: "ExtendLo8ToInt16Int8x16", argLength: 1},
86 {name: "ExtendLo8ToUint16Uint8x16", argLength: 1},
87 {name: "FloorFloat32x4", argLength: 1},
88 {name: "FloorFloat64x2", argLength: 1},
89 {name: "GetElemFloat32x4", argLength: 1, aux: "UInt8"},
90 {name: "GetElemFloat64x2", argLength: 1, aux: "UInt8"},
91 {name: "GetElemInt8x16", argLength: 1, aux: "UInt8"},
92 {name: "GetElemInt16x8", argLength: 1, aux: "UInt8"},
93 {name: "GetElemInt32x4", argLength: 1, aux: "UInt8"},
94 {name: "GetElemInt64x2", argLength: 1, aux: "UInt8"},
95 {name: "GetElemUint8x16", argLength: 1, aux: "UInt8"},
96 {name: "GetElemUint16x8", argLength: 1, aux: "UInt8"},
97 {name: "GetElemUint32x4", argLength: 1, aux: "UInt8"},
98 {name: "GetElemUint64x2", argLength: 1, aux: "UInt8"},
99 {name: "GreaterEqualFloat32x4", argLength: 2},
100 {name: "GreaterEqualFloat64x2", argLength: 2},
101 {name: "GreaterEqualInt8x16", argLength: 2},
102 {name: "GreaterEqualInt16x8", argLength: 2},
103 {name: "GreaterEqualInt32x4", argLength: 2},
104 {name: "GreaterEqualInt64x2", argLength: 2},
105 {name: "GreaterEqualUint8x16", argLength: 2},
106 {name: "GreaterEqualUint16x8", argLength: 2},
107 {name: "GreaterEqualUint32x4", argLength: 2},
108 {name: "GreaterFloat32x4", argLength: 2},
109 {name: "GreaterFloat64x2", argLength: 2},
110 {name: "GreaterInt8x16", argLength: 2},
111 {name: "GreaterInt16x8", argLength: 2},
112 {name: "GreaterInt32x4", argLength: 2},
113 {name: "GreaterInt64x2", argLength: 2},
114 {name: "GreaterUint8x16", argLength: 2},
115 {name: "GreaterUint16x8", argLength: 2},
116 {name: "GreaterUint32x4", argLength: 2},
117 {name: "LessEqualFloat32x4", argLength: 2},
118 {name: "LessEqualFloat64x2", argLength: 2},
119 {name: "LessEqualInt8x16", argLength: 2},
120 {name: "LessEqualInt16x8", argLength: 2},
121 {name: "LessEqualInt32x4", argLength: 2},
122 {name: "LessEqualInt64x2", argLength: 2},
123 {name: "LessEqualUint8x16", argLength: 2},
124 {name: "LessEqualUint16x8", argLength: 2},
125 {name: "LessEqualUint32x4", argLength: 2},
126 {name: "LessFloat32x4", argLength: 2},
127 {name: "LessFloat64x2", argLength: 2},
128 {name: "LessInt8x16", argLength: 2},
129 {name: "LessInt16x8", argLength: 2},
130 {name: "LessInt32x4", argLength: 2},
131 {name: "LessInt64x2", argLength: 2},
132 {name: "LessUint8x16", argLength: 2},
133 {name: "LessUint16x8", argLength: 2},
134 {name: "LessUint32x4", argLength: 2},
135 {name: "LookupOrZeroInt8x16", argLength: 2},
136 {name: "MaxFloat32x4", argLength: 2},
137 {name: "MaxFloat64x2", argLength: 2},
138 {name: "MaxInt8x16", argLength: 2, commutative: true},
139 {name: "MaxInt16x8", argLength: 2, commutative: true},
140 {name: "MaxInt32x4", argLength: 2, commutative: true},
141 {name: "MaxUint8x16", argLength: 2, commutative: true},
142 {name: "MaxUint16x8", argLength: 2, commutative: true},
143 {name: "MaxUint32x4", argLength: 2, commutative: true},
144 {name: "MinFloat32x4", argLength: 2},
145 {name: "MinFloat64x2", argLength: 2},
146 {name: "MinInt8x16", argLength: 2, commutative: true},
147 {name: "MinInt16x8", argLength: 2, commutative: true},
148 {name: "MinInt32x4", argLength: 2, commutative: true},
149 {name: "MinUint8x16", argLength: 2, commutative: true},
150 {name: "MinUint16x8", argLength: 2, commutative: true},
151 {name: "MinUint32x4", argLength: 2, commutative: true},
152 {name: "MulFloat32x4", argLength: 2, commutative: true},
153 {name: "MulFloat64x2", argLength: 2, commutative: true},
154 {name: "MulInt16x8", argLength: 2, commutative: true},
155 {name: "MulInt32x4", argLength: 2, commutative: true},
156 {name: "MulInt64x2", argLength: 2, commutative: true},
157 {name: "MulUint16x8", argLength: 2, commutative: true},
158 {name: "MulUint32x4", argLength: 2, commutative: true},
159 {name: "MulUint64x2", argLength: 2, commutative: true},
160 {name: "MulWidenHiInt8x16", argLength: 2, commutative: true},
161 {name: "MulWidenHiInt16x8", argLength: 2, commutative: true},
162 {name: "MulWidenHiInt32x4", argLength: 2, commutative: true},
163 {name: "MulWidenHiUint8x16", argLength: 2, commutative: true},
164 {name: "MulWidenHiUint16x8", argLength: 2, commutative: true},
165 {name: "MulWidenHiUint32x4", argLength: 2, commutative: true},
166 {name: "MulWidenLoInt8x16", argLength: 2, commutative: true},
167 {name: "MulWidenLoInt16x8", argLength: 2, commutative: true},
168 {name: "MulWidenLoInt32x4", argLength: 2, commutative: true},
169 {name: "MulWidenLoUint8x16", argLength: 2, commutative: true},
170 {name: "MulWidenLoUint16x8", argLength: 2, commutative: true},
171 {name: "MulWidenLoUint32x4", argLength: 2, commutative: true},
172 {name: "NegFloat32x4", argLength: 1},
173 {name: "NegFloat64x2", argLength: 1},
174 {name: "NegInt8x16", argLength: 1},
175 {name: "NegInt16x8", argLength: 1},
176 {name: "NegInt32x4", argLength: 1},
177 {name: "NegInt64x2", argLength: 1},
178 {name: "NotEqualFloat32x4", argLength: 2, commutative: true},
179 {name: "NotEqualFloat64x2", argLength: 2, commutative: true},
180 {name: "NotEqualInt8x16", argLength: 2, commutative: true},
181 {name: "NotEqualInt16x8", argLength: 2, commutative: true},
182 {name: "NotEqualInt32x4", argLength: 2, commutative: true},
183 {name: "NotEqualInt64x2", argLength: 2, commutative: true},
184 {name: "NotEqualUint8x16", argLength: 2, commutative: true},
185 {name: "NotEqualUint16x8", argLength: 2, commutative: true},
186 {name: "NotEqualUint32x4", argLength: 2, commutative: true},
187 {name: "NotEqualUint64x2", argLength: 2, commutative: true},
188 {name: "NotInt8x16", argLength: 1},
189 {name: "NotInt16x8", argLength: 1},
190 {name: "NotInt32x4", argLength: 1},
191 {name: "NotInt64x2", argLength: 1},
192 {name: "NotUint8x16", argLength: 1},
193 {name: "NotUint16x8", argLength: 1},
194 {name: "NotUint32x4", argLength: 1},
195 {name: "NotUint64x2", argLength: 1},
196 {name: "OnesCountInt8x16", argLength: 1},
197 {name: "OrInt8x16", argLength: 2, commutative: true},
198 {name: "OrInt16x8", argLength: 2, commutative: true},
199 {name: "OrInt32x4", argLength: 2, commutative: true},
200 {name: "OrInt64x2", argLength: 2, commutative: true},
201 {name: "OrUint8x16", argLength: 2, commutative: true},
202 {name: "OrUint16x8", argLength: 2, commutative: true},
203 {name: "OrUint32x4", argLength: 2, commutative: true},
204 {name: "OrUint64x2", argLength: 2, commutative: true},
205 {name: "RotateAllLeftVarUint8x16", argLength: 2},
206 {name: "RotateAllLeftVarUint16x8", argLength: 2},
207 {name: "RotateAllLeftVarUint32x4", argLength: 2},
208 {name: "RotateAllLeftVarUint64x2", argLength: 2},
209 {name: "RotateAllRightVarUint8x16", argLength: 2},
210 {name: "RotateAllRightVarUint16x8", argLength: 2},
211 {name: "RotateAllRightVarUint32x4", argLength: 2},
212 {name: "RotateAllRightVarUint64x2", argLength: 2},
213 {name: "RoundFloat32x4", argLength: 1},
214 {name: "RoundFloat64x2", argLength: 1},
215 {name: "SetElemFloat32x4", argLength: 2, aux: "UInt8"},
216 {name: "SetElemFloat64x2", argLength: 2, aux: "UInt8"},
217 {name: "SetElemInt8x16", argLength: 2, aux: "UInt8"},
218 {name: "SetElemInt16x8", argLength: 2, aux: "UInt8"},
219 {name: "SetElemInt32x4", argLength: 2, aux: "UInt8"},
220 {name: "SetElemInt64x2", argLength: 2, aux: "UInt8"},
221 {name: "SetElemUint8x16", argLength: 2, aux: "UInt8"},
222 {name: "SetElemUint16x8", argLength: 2, aux: "UInt8"},
223 {name: "SetElemUint32x4", argLength: 2, aux: "UInt8"},
224 {name: "SetElemUint64x2", argLength: 2, aux: "UInt8"},
225 {name: "ShiftAllLeftInt8x16", argLength: 2},
226 {name: "ShiftAllLeftInt16x8", argLength: 2},
227 {name: "ShiftAllLeftInt32x4", argLength: 2},
228 {name: "ShiftAllLeftInt64x2", argLength: 2},
229 {name: "ShiftAllLeftUint8x16", argLength: 2},
230 {name: "ShiftAllLeftUint16x8", argLength: 2},
231 {name: "ShiftAllLeftUint32x4", argLength: 2},
232 {name: "ShiftAllLeftUint64x2", argLength: 2},
233 {name: "ShiftAllRightInt8x16", argLength: 2},
234 {name: "ShiftAllRightInt16x8", argLength: 2},
235 {name: "ShiftAllRightInt32x4", argLength: 2},
236 {name: "ShiftAllRightInt64x2", argLength: 2},
237 {name: "ShiftAllRightUint8x16", argLength: 2},
238 {name: "ShiftAllRightUint16x8", argLength: 2},
239 {name: "ShiftAllRightUint32x4", argLength: 2},
240 {name: "ShiftAllRightUint64x2", argLength: 2},
241 {name: "SqrtFloat32x4", argLength: 1},
242 {name: "SqrtFloat64x2", argLength: 1},
243 {name: "SubFloat32x4", argLength: 2},
244 {name: "SubFloat64x2", argLength: 2},
245 {name: "SubInt8x16", argLength: 2},
246 {name: "SubInt16x8", argLength: 2},
247 {name: "SubInt32x4", argLength: 2},
248 {name: "SubInt64x2", argLength: 2},
249 {name: "SubSaturatedInt8x16", argLength: 2},
250 {name: "SubSaturatedInt16x8", argLength: 2},
251 {name: "SubSaturatedUint8x16", argLength: 2},
252 {name: "SubSaturatedUint16x8", argLength: 2},
253 {name: "TruncFloat32x4", argLength: 1},
254 {name: "TruncFloat64x2", argLength: 1},
255 {name: "XorInt8x16", argLength: 2, commutative: true},
256 {name: "XorInt16x8", argLength: 2, commutative: true},
257 {name: "XorInt32x4", argLength: 2, commutative: true},
258 {name: "XorInt64x2", argLength: 2, commutative: true},
259 {name: "XorUint8x16", argLength: 2, commutative: true},
260 {name: "XorUint16x8", argLength: 2, commutative: true},
261 {name: "XorUint32x4", argLength: 2, commutative: true},
262 {name: "XorUint64x2", argLength: 2, commutative: true},
263 }
264 }
265
View as plain text