@@ -154,7 +154,6 @@ def_THelper(vopivv) {
154154 }
155155 def_INSTR_TAB ("000000 ? ????? ????? ??? ????? ????? ??" , vadd );
156156 def_INSTR_TAB ("000010 ? ????? ????? ??? ????? ????? ??" , vsub );
157- def_INSTR_TAB ("000011 ? ????? ????? ??? ????? ????? ??" , vrsub );
158157 def_INSTR_TAB ("000100 ? ????? ????? ??? ????? ????? ??" , vminu );
159158 def_INSTR_TAB ("000101 ? ????? ????? ??? ????? ????? ??" , vmin );
160159 def_INSTR_TAB ("000110 ? ????? ????? ??? ????? ????? ??" , vmaxu );
@@ -164,9 +163,10 @@ def_THelper(vopivv) {
164163 def_INSTR_TAB ("001011 ? ????? ????? ??? ????? ????? ??" , vxor );
165164 def_INSTR_TAB ("001100 ? ????? ????? ??? ????? ????? ??" , vrgather );
166165 def_INSTR_TAB ("001110 ? ????? ????? ??? ????? ????? ??" , vrgatherei16 );
167- def_INSTR_TAB ("010000 ? ????? ????? ??? ????? ????? ??" , vadc );
166+
167+ def_INSTR_TAB ("010000 0 ????? ????? ??? ????? ????? ??" , vadc ); // always vm=0
168168 def_INSTR_TAB ("010001 ? ????? ????? ??? ????? ????? ??" , vmadc );
169- def_INSTR_TAB ("010010 ? ????? ????? ??? ????? ????? ??" , vsbc );
169+ def_INSTR_TAB ("010010 0 ????? ????? ??? ????? ????? ??" , vsbc ); // always vm=0
170170 def_INSTR_TAB ("010011 ? ????? ????? ??? ????? ????? ??" , vmsbc );
171171 def_INSTR_TAB ("010111 ? ????? ????? ??? ????? ????? ??" , vmerge );
172172 def_INSTR_TAB ("011000 ? ????? ????? ??? ????? ????? ??" , vmseq );
@@ -175,8 +175,7 @@ def_THelper(vopivv) {
175175 def_INSTR_TAB ("011011 ? ????? ????? ??? ????? ????? ??" , vmslt );
176176 def_INSTR_TAB ("011100 ? ????? ????? ??? ????? ????? ??" , vmsleu );
177177 def_INSTR_TAB ("011101 ? ????? ????? ??? ????? ????? ??" , vmsle );
178- def_INSTR_TAB ("011110 ? ????? ????? ??? ????? ????? ??" , vmsgtu );
179- def_INSTR_TAB ("011111 ? ????? ????? ??? ????? ????? ??" , vmsgt );
178+
180179 def_INSTR_TAB ("100000 ? ????? ????? ??? ????? ????? ??" , vsaddu );
181180 def_INSTR_TAB ("100001 ? ????? ????? ??? ????? ????? ??" , vsadd );
182181 def_INSTR_TAB ("100010 ? ????? ????? ??? ????? ????? ??" , vssubu );
@@ -185,20 +184,15 @@ def_THelper(vopivv) {
185184 def_INSTR_TAB ("100111 ? ????? ????? ??? ????? ????? ??" , vsmul );
186185 def_INSTR_TAB ("101000 ? ????? ????? ??? ????? ????? ??" , vsrl );
187186 def_INSTR_TAB ("101001 ? ????? ????? ??? ????? ????? ??" , vsra );
187+ def_INSTR_TAB ("101010 ? ????? ????? ??? ????? ????? ??" , vssrl );
188188 def_INSTR_TAB ("101011 ? ????? ????? ??? ????? ????? ??" , vssra );
189189 def_INSTR_TAB ("101100 ? ????? ????? ??? ????? ????? ??" , vnsrl );
190190 def_INSTR_TAB ("101101 ? ????? ????? ??? ????? ????? ??" , vnsra );
191191 def_INSTR_TAB ("101110 ? ????? ????? ??? ????? ????? ??" , vnclipu );
192192 def_INSTR_TAB ("101111 ? ????? ????? ??? ????? ????? ??" , vnclip );
193- def_INSTR_TAB ( "101010 ? ????? ????? ??? ????? ????? ??" , vssrl );
193+
194194 def_INSTR_TAB ("110000 ? ????? ????? ??? ????? ????? ??" , vwredsumu );
195195 def_INSTR_TAB ("110001 ? ????? ????? ??? ????? ????? ??" , vwredsum );
196- def_INSTR_TAB ("111000 ? ????? ????? ??? ????? ????? ??" , vdotu );
197- def_INSTR_TAB ("111001 ? ????? ????? ??? ????? ????? ??" , vdot );
198- def_INSTR_TAB ("111100 ? ????? ????? ??? ????? ????? ??" , vwsmaccu );
199- def_INSTR_TAB ("111101 ? ????? ????? ??? ????? ????? ??" , vwsmacc );
200- def_INSTR_TAB ("111110 ? ????? ????? ??? ????? ????? ??" , vwsmaccsu );
201- def_INSTR_TAB ("111111 ? ????? ????? ??? ????? ????? ??" , vwsmaccus );
202196
203197 def_INSTR_TAB ("000001 ? ????? ????? ??? ????? ????? ??" , vandn );
204198 def_INSTR_TAB ("010101 ? ????? ????? ??? ????? ????? ??" , vrol );
@@ -225,9 +219,10 @@ def_THelper(vopivx) {
225219 def_INSTR_TAB ("001100 ? ????? ????? ??? ????? ????? ??" , vrgather );
226220 def_INSTR_TAB ("001110 ? ????? ????? ??? ????? ????? ??" , vslideup );
227221 def_INSTR_TAB ("001111 ? ????? ????? ??? ????? ????? ??" , vslidedown );
228- def_INSTR_TAB ("010000 ? ????? ????? ??? ????? ????? ??" , vadc );
222+
223+ def_INSTR_TAB ("010000 0 ????? ????? ??? ????? ????? ??" , vadc ); // always vm=0
229224 def_INSTR_TAB ("010001 ? ????? ????? ??? ????? ????? ??" , vmadc );
230- def_INSTR_TAB ("010010 ? ????? ????? ??? ????? ????? ??" , vsbc );
225+ def_INSTR_TAB ("010010 0 ????? ????? ??? ????? ????? ??" , vsbc ); // always vm=0
231226 def_INSTR_TAB ("010011 ? ????? ????? ??? ????? ????? ??" , vmsbc );
232227 def_INSTR_TAB ("010111 ? ????? ????? ??? ????? ????? ??" , vmerge );
233228 def_INSTR_TAB ("011000 ? ????? ????? ??? ????? ????? ??" , vmseq );
@@ -238,6 +233,7 @@ def_THelper(vopivx) {
238233 def_INSTR_TAB ("011101 ? ????? ????? ??? ????? ????? ??" , vmsle );
239234 def_INSTR_TAB ("011110 ? ????? ????? ??? ????? ????? ??" , vmsgtu );
240235 def_INSTR_TAB ("011111 ? ????? ????? ??? ????? ????? ??" , vmsgt );
236+
241237 def_INSTR_TAB ("100000 ? ????? ????? ??? ????? ????? ??" , vsaddu );
242238 def_INSTR_TAB ("100001 ? ????? ????? ??? ????? ????? ??" , vsadd );
243239 def_INSTR_TAB ("100010 ? ????? ????? ??? ????? ????? ??" , vssubu );
@@ -246,20 +242,12 @@ def_THelper(vopivx) {
246242 def_INSTR_TAB ("100111 ? ????? ????? ??? ????? ????? ??" , vsmul );
247243 def_INSTR_TAB ("101000 ? ????? ????? ??? ????? ????? ??" , vsrl );
248244 def_INSTR_TAB ("101001 ? ????? ????? ??? ????? ????? ??" , vsra );
245+ def_INSTR_TAB ("101010 ? ????? ????? ??? ????? ????? ??" , vssrl );
249246 def_INSTR_TAB ("101011 ? ????? ????? ??? ????? ????? ??" , vssra );
250247 def_INSTR_TAB ("101100 ? ????? ????? ??? ????? ????? ??" , vnsrl );
251248 def_INSTR_TAB ("101101 ? ????? ????? ??? ????? ????? ??" , vnsra );
252249 def_INSTR_TAB ("101110 ? ????? ????? ??? ????? ????? ??" , vnclipu );
253250 def_INSTR_TAB ("101111 ? ????? ????? ??? ????? ????? ??" , vnclip );
254- def_INSTR_TAB ("101010 ? ????? ????? ??? ????? ????? ??" , vssrl );
255- def_INSTR_TAB ("110000 ? ????? ????? ??? ????? ????? ??" , vwredsumu );
256- def_INSTR_TAB ("110001 ? ????? ????? ??? ????? ????? ??" , vwredsum );
257- def_INSTR_TAB ("111000 ? ????? ????? ??? ????? ????? ??" , vdotu );
258- def_INSTR_TAB ("111001 ? ????? ????? ??? ????? ????? ??" , vdot );
259- def_INSTR_TAB ("111100 ? ????? ????? ??? ????? ????? ??" , vwsmaccu );
260- def_INSTR_TAB ("111101 ? ????? ????? ??? ????? ????? ??" , vwsmacc );
261- def_INSTR_TAB ("111110 ? ????? ????? ??? ????? ????? ??" , vwsmaccsu );
262- def_INSTR_TAB ("111111 ? ????? ????? ??? ????? ????? ??" , vwsmaccus );
263251
264252 def_INSTR_TAB ("000001 ? ????? ????? ??? ????? ????? ??" , vandn );
265253 def_INSTR_TAB ("010101 ? ????? ????? ??? ????? ????? ??" , vrol );
@@ -274,55 +262,38 @@ def_THelper(vopivi) {
274262 return EXEC_ID_inv ;
275263 }
276264 def_INSTR_TAB ("000000 ? ????? ????? ??? ????? ????? ??" , vadd );
277- def_INSTR_TAB ("000010 ? ????? ????? ??? ????? ????? ??" , vsub );
278265 def_INSTR_TAB ("000011 ? ????? ????? ??? ????? ????? ??" , vrsub );
279- def_INSTR_TAB ("000100 ? ????? ????? ??? ????? ????? ??" , vminu );
280- def_INSTR_TAB ("000101 ? ????? ????? ??? ????? ????? ??" , vmin );
281- def_INSTR_TAB ("000110 ? ????? ????? ??? ????? ????? ??" , vmaxu );
282- def_INSTR_TAB ("000111 ? ????? ????? ??? ????? ????? ??" , vmax );
283266 def_INSTR_TAB ("001001 ? ????? ????? ??? ????? ????? ??" , vand );
284267 def_INSTR_TAB ("001010 ? ????? ????? ??? ????? ????? ??" , vor );
285268 def_INSTR_TAB ("001011 ? ????? ????? ??? ????? ????? ??" , vxor );
286269 def_INSTR_TAB ("001100 ? ????? ????? ??? ????? ????? ??" , vrgather );
287270 def_INSTR_TAB ("001110 ? ????? ????? ??? ????? ????? ??" , vslideup );
288271 def_INSTR_TAB ("001111 ? ????? ????? ??? ????? ????? ??" , vslidedown );
289- def_INSTR_TAB ("010000 ? ????? ????? ??? ????? ????? ??" , vadc );
272+
273+ def_INSTR_TAB ("010000 0 ????? ????? ??? ????? ????? ??" , vadc ); // always vm=0
290274 def_INSTR_TAB ("010001 ? ????? ????? ??? ????? ????? ??" , vmadc );
291- def_INSTR_TAB ("010010 ? ????? ????? ??? ????? ????? ??" , vsbc );
292- def_INSTR_TAB ("010011 ? ????? ????? ??? ????? ????? ??" , vmsbc );
293275 def_INSTR_TAB ("010111 ? ????? ????? ??? ????? ????? ??" , vmerge );
294276 def_INSTR_TAB ("011000 ? ????? ????? ??? ????? ????? ??" , vmseq );
295277 def_INSTR_TAB ("011001 ? ????? ????? ??? ????? ????? ??" , vmsne );
296- def_INSTR_TAB ("011010 ? ????? ????? ??? ????? ????? ??" , vmsltu );
297- def_INSTR_TAB ("011011 ? ????? ????? ??? ????? ????? ??" , vmslt );
298278 def_INSTR_TAB ("011100 ? ????? ????? ??? ????? ????? ??" , vmsleu );
299279 def_INSTR_TAB ("011101 ? ????? ????? ??? ????? ????? ??" , vmsle );
300280 def_INSTR_TAB ("011110 ? ????? ????? ??? ????? ????? ??" , vmsgtu );
301281 def_INSTR_TAB ("011111 ? ????? ????? ??? ????? ????? ??" , vmsgt );
282+
302283 def_INSTR_TAB ("100000 ? ????? ????? ??? ????? ????? ??" , vsaddu );
303284 def_INSTR_TAB ("100001 ? ????? ????? ??? ????? ????? ??" , vsadd );
304- def_INSTR_TAB ("100010 ? ????? ????? ??? ????? ????? ??" , vssubu );
305- def_INSTR_TAB ("100011 ? ????? ????? ??? ????? ????? ??" , vssub );
306285 def_INSTR_TAB ("100101 ? ????? ????? ??? ????? ????? ??" , vsll );
307286 def_INSTR_TAB ("100111 ? ????? ????? ??? ????? ????? ??" , vmvnr );
308287 def_INSTR_TAB ("101000 ? ????? ????? ??? ????? ????? ??" , vsrl );
309288 def_INSTR_TAB ("101001 ? ????? ????? ??? ????? ????? ??" , vsra );
289+ def_INSTR_TAB ("101010 ? ????? ????? ??? ????? ????? ??" , vssrl );
310290 def_INSTR_TAB ("101011 ? ????? ????? ??? ????? ????? ??" , vssra );
311291 def_INSTR_TAB ("101100 ? ????? ????? ??? ????? ????? ??" , vnsrl );
312292 def_INSTR_TAB ("101101 ? ????? ????? ??? ????? ????? ??" , vnsra );
313293 def_INSTR_TAB ("101110 ? ????? ????? ??? ????? ????? ??" , vnclipu );
314294 def_INSTR_TAB ("101111 ? ????? ????? ??? ????? ????? ??" , vnclip );
315- def_INSTR_TAB ("101010 ? ????? ????? ??? ????? ????? ??" , vssrl );
316- def_INSTR_TAB ("110000 ? ????? ????? ??? ????? ????? ??" , vwredsumu );
317- def_INSTR_TAB ("110001 ? ????? ????? ??? ????? ????? ??" , vwredsum );
318- def_INSTR_TAB ("111000 ? ????? ????? ??? ????? ????? ??" , vdotu );
319- def_INSTR_TAB ("111001 ? ????? ????? ??? ????? ????? ??" , vdot );
320- def_INSTR_TAB ("111100 ? ????? ????? ??? ????? ????? ??" , vwsmaccu );
321- def_INSTR_TAB ("111101 ? ????? ????? ??? ????? ????? ??" , vwsmacc );
322- def_INSTR_TAB ("111110 ? ????? ????? ??? ????? ????? ??" , vwsmaccsu );
323- def_INSTR_TAB ("111111 ? ????? ????? ??? ????? ????? ??" , vwsmaccus );
324-
325- def_INSTR_TAB ("01010 ? ? ????? ????? ??? ????? ????? ??" , vror );
295+
296+ def_INSTR_TAB ("01010? ? ????? ????? ??? ????? ????? ??" , vror );
326297 def_INSTR_TAB ("110101 ? ????? ????? ??? ????? ????? ??" , vwsll );
327298
328299 return EXEC_ID_inv ;
@@ -449,13 +420,15 @@ def_THelper(vopfvv) {
449420 def_INSTR_TAB ("001000 ? ????? ????? ??? ????? ????? ??" , vfsgnj );
450421 def_INSTR_TAB ("001001 ? ????? ????? ??? ????? ????? ??" , vfsgnjn );
451422 def_INSTR_TAB ("001010 ? ????? ????? ??? ????? ????? ??" , vfsgnjx );
423+
452424 def_INSTR_TAB ("010000 ? ????? ????? ??? ????? ????? ??" , vwfunary0_dispatch );
453425 def_INSTR_IDTAB ("010010 ? ????? ????? ??? ????? ????? ??" , vfunary0_dispatch , vfunary0_dispatch );
454426 def_INSTR_IDTAB ("010011 ? ????? ????? ??? ????? ????? ??" , vfunary1_dispatch , vfunary1_dispatch );
455427 def_INSTR_TAB ("011000 ? ????? ????? ??? ????? ????? ??" , vmfeq );
456428 def_INSTR_TAB ("011001 ? ????? ????? ??? ????? ????? ??" , vmfle );
457429 def_INSTR_TAB ("011011 ? ????? ????? ??? ????? ????? ??" , vmflt );
458430 def_INSTR_TAB ("011100 ? ????? ????? ??? ????? ????? ??" , vmfne );
431+
459432 def_INSTR_TAB ("100000 ? ????? ????? ??? ????? ????? ??" , vfdiv );
460433 def_INSTR_TAB ("100100 ? ????? ????? ??? ????? ????? ??" , vfmul );
461434 def_INSTR_TAB ("101000 ? ????? ????? ??? ????? ????? ??" , vfmadd );
@@ -466,6 +439,7 @@ def_THelper(vopfvv) {
466439 def_INSTR_TAB ("101101 ? ????? ????? ??? ????? ????? ??" , vfnmacc );
467440 def_INSTR_TAB ("101110 ? ????? ????? ??? ????? ????? ??" , vfmsac );
468441 def_INSTR_TAB ("101111 ? ????? ????? ??? ????? ????? ??" , vfnmsac );
442+
469443 def_INSTR_TAB ("110000 ? ????? ????? ??? ????? ????? ??" , vfwadd );
470444 def_INSTR_TAB ("110001 ? ????? ????? ??? ????? ????? ??" , vfwredusum );
471445 def_INSTR_TAB ("110010 ? ????? ????? ??? ????? ????? ??" , vfwsub );
@@ -494,6 +468,7 @@ def_THelper(vopfvf) {
494468 def_INSTR_TAB ("001010 ? ????? ????? ??? ????? ????? ??" , vfsgnjx );
495469 def_INSTR_TAB ("001110 ? ????? ????? ??? ????? ????? ??" , vfslide1up );
496470 def_INSTR_TAB ("001111 ? ????? ????? ??? ????? ????? ??" , vfslide1down );
471+
497472 def_INSTR_TAB ("010000 ? ????? ????? ??? ????? ????? ??" , vrfunary0_dispatch );
498473 def_INSTR_TAB ("010111 ? ????? ????? ??? ????? ????? ??" , vfmerge );
499474 def_INSTR_TAB ("011000 ? ????? ????? ??? ????? ????? ??" , vmfeq );
@@ -502,6 +477,7 @@ def_THelper(vopfvf) {
502477 def_INSTR_TAB ("011100 ? ????? ????? ??? ????? ????? ??" , vmfne );
503478 def_INSTR_TAB ("011101 ? ????? ????? ??? ????? ????? ??" , vmfgt );
504479 def_INSTR_TAB ("011111 ? ????? ????? ??? ????? ????? ??" , vmfge );
480+
505481 def_INSTR_TAB ("100000 ? ????? ????? ??? ????? ????? ??" , vfdiv );
506482 def_INSTR_TAB ("100001 ? ????? ????? ??? ????? ????? ??" , vfrdiv );
507483 def_INSTR_TAB ("100100 ? ????? ????? ??? ????? ????? ??" , vfmul );
@@ -514,6 +490,7 @@ def_THelper(vopfvf) {
514490 def_INSTR_TAB ("101101 ? ????? ????? ??? ????? ????? ??" , vfnmacc );
515491 def_INSTR_TAB ("101110 ? ????? ????? ??? ????? ????? ??" , vfmsac );
516492 def_INSTR_TAB ("101111 ? ????? ????? ??? ????? ????? ??" , vfnmsac );
493+
517494 def_INSTR_TAB ("110000 ? ????? ????? ??? ????? ????? ??" , vfwadd );
518495 def_INSTR_TAB ("110010 ? ????? ????? ??? ????? ????? ??" , vfwsub );
519496 def_INSTR_TAB ("110100 ? ????? ????? ??? ????? ????? ??" , vfwadd_w );
0 commit comments