aboutsummaryrefslogtreecommitdiff
path: root/target/loongarch/insns.decode
blob: ea6eedb7a921e0f083daca6128dd8ee1a810b3a7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
# SPDX-License-Identifier: GPL-2.0-or-later
#
# LoongArch instruction decode definitions.
#
# Copyright (c) 2021 Loongson Technology Corporation Limited
#

#
# Fields
#
%i14s2     10:s14       !function=shl_2
%sa2p1     15:2         !function=plus_1
%offs21    0:s5 10:16   !function=shl_2
%offs16    10:s16       !function=shl_2
%offs26    0:s10 10:16  !function=shl_2

#
# Argument sets
#
&i            imm
&r_i          rd imm
&rr           rd rj
&rr_jk        rj rk
&rrr          rd rj rk
&rr_i         rd rj imm
&hint_r_i     hint rj imm
&rrr_sa       rd rj rk sa
&rr_ms_ls     rd rj ms ls
&ff           fd fj
&fff          fd fj fk
&ffff         fd fj fk fa
&cff_fcond    cd fj fk fcond
&fffc         fd fj fk ca
&fr           fd rj
&rf           rd fj
&fcsrd_r      fcsrd rj
&r_fcsrs      rd fcsrs
&cf           cd fj
&fc           fd cj
&cr           cd rj
&rc           rd cj
&frr          fd rj rk
&fr_i         fd rj imm
&r_offs       rj offs
&c_offs       cj offs
&offs         offs
&rr_offs      rj rd offs
&r_csr        rd csr
&rr_csr       rd rj csr
&empty
&i_rr         imm rj rk
&cop_r_i      cop rj imm
&j_i          rj imm

#
# Formats
#
@i15                       .... ........ ..... imm:15    &i
@rr               .... ........ ..... ..... rj:5 rd:5    &rr
@rr_jk            .... ........ ..... rk:5 rj:5 .....    &rr_jk
@rrr               .... ........ ..... rk:5 rj:5 rd:5    &rrr
@r_i20                          .... ... imm:s20 rd:5    &r_i
@rr_ui5           .... ........ ..... imm:5 rj:5 rd:5    &rr_i
@rr_ui6            .... ........ .... imm:6 rj:5 rd:5    &rr_i
@rr_ui8              .. ........ .... imm:8 rj:5 rd:5    &rr_i
@rr_i12                 .... ...... imm:s12 rj:5 rd:5    &rr_i
@rr_ui12                 .... ...... imm:12 rj:5 rd:5    &rr_i
@rr_i14s2         .... ....  .............. rj:5 rd:5    &rr_i imm=%i14s2
@rr_i16                     .... .. imm:s16 rj:5 rd:5    &rr_i
@rr_i16s2         .... ..  ................ rj:5 rd:5    &rr_i imm=%offs16
@hint_r_i12           .... ...... imm:s12 rj:5 hint:5    &hint_r_i
@rrr_sa2p1        .... ........ ... .. rk:5 rj:5 rd:5    &rrr_sa  sa=%sa2p1
@rrr_sa2        .... ........ ... sa:2 rk:5 rj:5 rd:5    &rrr_sa
@rrr_sa3         .... ........ .. sa:3 rk:5 rj:5 rd:5    &rrr_sa
@rr_2bw            .... ....... ms:5 . ls:5 rj:5 rd:5    &rr_ms_ls
@rr_2bd               .... ...... ms:6 ls:6 rj:5 rd:5    &rr_ms_ls
@ff               .... ........ ..... ..... fj:5 fd:5    &ff
@fff               .... ........ ..... fk:5 fj:5 fd:5    &fff
@ffff               .... ........ fa:5 fk:5 fj:5 fd:5    &ffff
@cff_fcond    .... ........ fcond:5 fk:5 fj:5 .. cd:3    &cff_fcond
@fffc            .... ........ .. ca:3 fk:5 fj:5 fd:5    &fffc
@fr               .... ........ ..... ..... rj:5 fd:5    &fr
@rf               .... ........ ..... ..... fj:5 rd:5    &rf
@fcsrd_r       .... ........ ..... ..... rj:5 fcsrd:5    &fcsrd_r
@r_fcsrs       .... ........ ..... ..... fcsrs:5 rd:5    &r_fcsrs
@cf            .... ........ ..... ..... fj:5 .. cd:3    &cf
@fc            .... ........ ..... ..... .. cj:3 fd:5    &fc
@cr            .... ........ ..... ..... rj:5 .. cd:3    &cr
@rc            .... ........ ..... ..... .. cj:3 rd:5    &rc
@frr               .... ........ ..... rk:5 rj:5 fd:5    &frr
@fr_i12                 .... ...... imm:s12 rj:5 fd:5    &fr_i
@r_offs21         .... .. ................ rj:5 .....    &r_offs      offs=%offs21
@c_offs21      .... .. ................ .. cj:3 .....    &c_offs      offs=%offs21
@offs26            .... .. ..........................    &offs        offs=%offs26
@rr_offs16         .... .. ................ rj:5 rd:5    &rr_offs     offs=%offs16
@r_csr                    .... .... csr:14 ..... rd:5    &r_csr
@rr_csr                    .... .... csr:14 rj:5 rd:5    &rr_csr
@empty          .... ........ ..... ..... ..... .....    &empty
@i_rr             ...... ...... ..... rk:5 rj:5 imm:5    &i_rr
@cop_r_i              .... ......  imm:s12 rj:5 cop:5    &cop_r_i
@j_i               .... ........ .. imm:8 rj:5 .....    &j_i

#
# Fixed point arithmetic operation instruction
#
add_w           0000 00000001 00000 ..... ..... .....    @rrr
add_d           0000 00000001 00001 ..... ..... .....    @rrr
sub_w           0000 00000001 00010 ..... ..... .....    @rrr
sub_d           0000 00000001 00011 ..... ..... .....    @rrr
slt             0000 00000001 00100 ..... ..... .....    @rrr
sltu            0000 00000001 00101 ..... ..... .....    @rrr
slti            0000 001000 ............ ..... .....     @rr_i12
sltui           0000 001001 ............ ..... .....     @rr_i12
nor             0000 00000001 01000 ..... ..... .....    @rrr
and             0000 00000001 01001 ..... ..... .....    @rrr
or              0000 00000001 01010 ..... ..... .....    @rrr
xor             0000 00000001 01011 ..... ..... .....    @rrr
orn             0000 00000001 01100 ..... ..... .....    @rrr
andn            0000 00000001 01101 ..... ..... .....    @rrr
mul_w           0000 00000001 11000 ..... ..... .....    @rrr
mulh_w          0000 00000001 11001 ..... ..... .....    @rrr
mulh_wu         0000 00000001 11010 ..... ..... .....    @rrr
mul_d           0000 00000001 11011 ..... ..... .....    @rrr
mulh_d          0000 00000001 11100 ..... ..... .....    @rrr
mulh_du         0000 00000001 11101 ..... ..... .....    @rrr
mulw_d_w        0000 00000001 11110 ..... ..... .....    @rrr
mulw_d_wu       0000 00000001 11111 ..... ..... .....    @rrr
div_w           0000 00000010 00000 ..... ..... .....    @rrr
mod_w           0000 00000010 00001 ..... ..... .....    @rrr
div_wu          0000 00000010 00010 ..... ..... .....    @rrr
mod_wu          0000 00000010 00011 ..... ..... .....    @rrr
div_d           0000 00000010 00100 ..... ..... .....    @rrr
mod_d           0000 00000010 00101 ..... ..... .....    @rrr
div_du          0000 00000010 00110 ..... ..... .....    @rrr
mod_du          0000 00000010 00111 ..... ..... .....    @rrr
alsl_w          0000 00000000 010 .. ..... ..... .....   @rrr_sa2p1
alsl_wu         0000 00000000 011 .. ..... ..... .....   @rrr_sa2p1
alsl_d          0000 00000010 110 .. ..... ..... .....   @rrr_sa2p1
lu12i_w         0001 010 .................... .....      @r_i20
lu32i_d         0001 011 .................... .....      @r_i20
lu52i_d         0000 001100 ............ ..... .....     @rr_i12
pcaddi          0001 100 .................... .....      @r_i20
pcalau12i       0001 101 .................... .....      @r_i20
pcaddu12i       0001 110 .................... .....      @r_i20
pcaddu18i       0001 111 .................... .....      @r_i20
addi_w          0000 001010 ............ ..... .....     @rr_i12
addi_d          0000 001011 ............ ..... .....     @rr_i12
addu16i_d       0001 00 ................ ..... .....     @rr_i16
andi            0000 001101 ............ ..... .....     @rr_ui12
ori             0000 001110 ............ ..... .....     @rr_ui12
xori            0000 001111 ............ ..... .....     @rr_ui12

#
# Fixed point shift operation instruction
#
sll_w           0000 00000001 01110 ..... ..... .....    @rrr
srl_w           0000 00000001 01111 ..... ..... .....    @rrr
sra_w           0000 00000001 10000 ..... ..... .....    @rrr
sll_d           0000 00000001 10001 ..... ..... .....    @rrr
srl_d           0000 00000001 10010 ..... ..... .....    @rrr
sra_d           0000 00000001 10011 ..... ..... .....    @rrr
rotr_w          0000 00000001 10110 ..... ..... .....    @rrr
rotr_d          0000 00000001 10111 ..... ..... .....    @rrr
slli_w          0000 00000100 00001 ..... ..... .....    @rr_ui5
slli_d          0000 00000100 0001 ...... ..... .....    @rr_ui6
srli_w          0000 00000100 01001 ..... ..... .....    @rr_ui5
srli_d          0000 00000100 0101 ...... ..... .....    @rr_ui6
srai_w          0000 00000100 10001 ..... ..... .....    @rr_ui5
srai_d          0000 00000100 1001 ...... ..... .....    @rr_ui6
rotri_w         0000 00000100 11001 ..... ..... .....    @rr_ui5
rotri_d         0000 00000100 1101 ...... ..... .....    @rr_ui6

#
# Fixed point bit operation instruction
#
ext_w_h         0000 00000000 00000 10110 ..... .....    @rr
ext_w_b         0000 00000000 00000 10111 ..... .....    @rr
clo_w           0000 00000000 00000 00100 ..... .....    @rr
clz_w           0000 00000000 00000 00101 ..... .....    @rr
cto_w           0000 00000000 00000 00110 ..... .....    @rr
ctz_w           0000 00000000 00000 00111 ..... .....    @rr
clo_d           0000 00000000 00000 01000 ..... .....    @rr
clz_d           0000 00000000 00000 01001 ..... .....    @rr
cto_d           0000 00000000 00000 01010 ..... .....    @rr
ctz_d           0000 00000000 00000 01011 ..... .....    @rr
revb_2h         0000 00000000 00000 01100 ..... .....    @rr
revb_4h         0000 00000000 00000 01101 ..... .....    @rr
revb_2w         0000 00000000 00000 01110 ..... .....    @rr
revb_d          0000 00000000 00000 01111 ..... .....    @rr
revh_2w         0000 00000000 00000 10000 ..... .....    @rr
revh_d          0000 00000000 00000 10001 ..... .....    @rr
bitrev_4b       0000 00000000 00000 10010 ..... .....    @rr
bitrev_8b       0000 00000000 00000 10011 ..... .....    @rr
bitrev_w        0000 00000000 00000 10100 ..... .....    @rr
bitrev_d        0000 00000000 00000 10101 ..... .....    @rr
bytepick_w      0000 00000000 100 .. ..... ..... .....   @rrr_sa2
bytepick_d      0000 00000000 11 ... ..... ..... .....   @rrr_sa3
maskeqz         0000 00000001 00110 ..... ..... .....    @rrr
masknez         0000 00000001 00111 ..... ..... .....    @rrr
bstrins_w       0000 0000011 ..... 0 ..... ..... .....   @rr_2bw
bstrpick_w      0000 0000011 ..... 1 ..... ..... .....   @rr_2bw
bstrins_d       0000 000010 ...... ...... ..... .....    @rr_2bd
bstrpick_d      0000 000011 ...... ...... ..... .....    @rr_2bd

#
# Fixed point load/store instruction
#
ld_b            0010 100000 ............ ..... .....     @rr_i12
ld_h            0010 100001 ............ ..... .....     @rr_i12
ld_w            0010 100010 ............ ..... .....     @rr_i12
ld_d            0010 100011 ............ ..... .....     @rr_i12
st_b            0010 100100 ............ ..... .....     @rr_i12
st_h            0010 100101 ............ ..... .....     @rr_i12
st_w            0010 100110 ............ ..... .....     @rr_i12
st_d            0010 100111 ............ ..... .....     @rr_i12
ld_bu           0010 101000 ............ ..... .....     @rr_i12
ld_hu           0010 101001 ............ ..... .....     @rr_i12
ld_wu           0010 101010 ............ ..... .....     @rr_i12
ldx_b           0011 10000000 00000 ..... ..... .....    @rrr
ldx_h           0011 10000000 01000 ..... ..... .....    @rrr
ldx_w           0011 10000000 10000 ..... ..... .....    @rrr
ldx_d           0011 10000000 11000 ..... ..... .....    @rrr
stx_b           0011 10000001 00000 ..... ..... .....    @rrr
stx_h           0011 10000001 01000 ..... ..... .....    @rrr
stx_w           0011 10000001 10000 ..... ..... .....    @rrr
stx_d           0011 10000001 11000 ..... ..... .....    @rrr
ldx_bu          0011 10000010 00000 ..... ..... .....    @rrr
ldx_hu          0011 10000010 01000 ..... ..... .....    @rrr
ldx_wu          0011 10000010 10000 ..... ..... .....    @rrr
preld           0010 101011 ............ ..... .....     @hint_r_i12
dbar            0011 10000111 00100 ...............      @i15
ibar            0011 10000111 00101 ...............      @i15
ldptr_w         0010 0100 .............. ..... .....     @rr_i14s2
stptr_w         0010 0101 .............. ..... .....     @rr_i14s2
ldptr_d         0010 0110 .............. ..... .....     @rr_i14s2
stptr_d         0010 0111 .............. ..... .....     @rr_i14s2
ldgt_b          0011 10000111 10000 ..... ..... .....    @rrr
ldgt_h          0011 10000111 10001 ..... ..... .....    @rrr
ldgt_w          0011 10000111 10010 ..... ..... .....    @rrr
ldgt_d          0011 10000111 10011 ..... ..... .....    @rrr
ldle_b          0011 10000111 10100 ..... ..... .....    @rrr
ldle_h          0011 10000111 10101 ..... ..... .....    @rrr
ldle_w          0011 10000111 10110 ..... ..... .....    @rrr
ldle_d          0011 10000111 10111 ..... ..... .....    @rrr
stgt_b          0011 10000111 11000 ..... ..... .....    @rrr
stgt_h          0011 10000111 11001 ..... ..... .....    @rrr
stgt_w          0011 10000111 11010 ..... ..... .....    @rrr
stgt_d          0011 10000111 11011 ..... ..... .....    @rrr
stle_b          0011 10000111 11100 ..... ..... .....    @rrr
stle_h          0011 10000111 11101 ..... ..... .....    @rrr
stle_w          0011 10000111 11110 ..... ..... .....    @rrr
stle_d          0011 10000111 11111 ..... ..... .....    @rrr

#
# Fixed point atomic instruction
#
ll_w            0010 0000 .............. ..... .....     @rr_i14s2
sc_w            0010 0001 .............. ..... .....     @rr_i14s2
ll_d            0010 0010 .............. ..... .....     @rr_i14s2
sc_d            0010 0011 .............. ..... .....     @rr_i14s2
amswap_w        0011 10000110 00000 ..... ..... .....    @rrr
amswap_d        0011 10000110 00001 ..... ..... .....    @rrr
amadd_w         0011 10000110 00010 ..... ..... .....    @rrr
amadd_d         0011 10000110 00011 ..... ..... .....    @rrr
amand_w         0011 10000110 00100 ..... ..... .....    @rrr
amand_d         0011 10000110 00101 ..... ..... .....    @rrr
amor_w          0011 10000110 00110 ..... ..... .....    @rrr
amor_d          0011 10000110 00111 ..... ..... .....    @rrr
amxor_w         0011 10000110 01000 ..... ..... .....    @rrr
amxor_d         0011 10000110 01001 ..... ..... .....    @rrr
ammax_w         0011 10000110 01010 ..... ..... .....    @rrr
ammax_d         0011 10000110 01011 ..... ..... .....    @rrr
ammin_w         0011 10000110 01100 ..... ..... .....    @rrr
ammin_d         0011 10000110 01101 ..... ..... .....    @rrr
ammax_wu        0011 10000110 01110 ..... ..... .....    @rrr
ammax_du        0011 10000110 01111 ..... ..... .....    @rrr
ammin_wu        0011 10000110 10000 ..... ..... .....    @rrr
ammin_du        0011 10000110 10001 ..... ..... .....    @rrr
amswap_db_w     0011 10000110 10010 ..... ..... .....    @rrr
amswap_db_d     0011 10000110 10011 ..... ..... .....    @rrr
amadd_db_w      0011 10000110 10100 ..... ..... .....    @rrr
amadd_db_d      0011 10000110 10101 ..... ..... .....    @rrr
amand_db_w      0011 10000110 10110 ..... ..... .....    @rrr
amand_db_d      0011 10000110 10111 ..... ..... .....    @rrr
amor_db_w       0011 10000110 11000 ..... ..... .....    @rrr
amor_db_d       0011 10000110 11001 ..... ..... .....    @rrr
amxor_db_w      0011 10000110 11010 ..... ..... .....    @rrr
amxor_db_d      0011 10000110 11011 ..... ..... .....    @rrr
ammax_db_w      0011 10000110 11100 ..... ..... .....    @rrr
ammax_db_d      0011 10000110 11101 ..... ..... .....    @rrr
ammin_db_w      0011 10000110 11110 ..... ..... .....    @rrr
ammin_db_d      0011 10000110 11111 ..... ..... .....    @rrr
ammax_db_wu     0011 10000111 00000 ..... ..... .....    @rrr
ammax_db_du     0011 10000111 00001 ..... ..... .....    @rrr
ammin_db_wu     0011 10000111 00010 ..... ..... .....    @rrr
ammin_db_du     0011 10000111 00011 ..... ..... .....    @rrr

#
# Fixed point extra instruction
#
crc_w_b_w       0000 00000010 01000 ..... ..... .....    @rrr
crc_w_h_w       0000 00000010 01001 ..... ..... .....    @rrr
crc_w_w_w       0000 00000010 01010 ..... ..... .....    @rrr
crc_w_d_w       0000 00000010 01011 ..... ..... .....    @rrr
crcc_w_b_w      0000 00000010 01100 ..... ..... .....    @rrr
crcc_w_h_w      0000 00000010 01101 ..... ..... .....    @rrr
crcc_w_w_w      0000 00000010 01110 ..... ..... .....    @rrr
crcc_w_d_w      0000 00000010 01111 ..... ..... .....    @rrr
break           0000 00000010 10100 ...............      @i15
syscall         0000 00000010 10110 ...............      @i15
asrtle_d        0000 00000000 00010 ..... ..... 00000    @rr_jk
asrtgt_d        0000 00000000 00011 ..... ..... 00000    @rr_jk
rdtimel_w       0000 00000000 00000 11000 ..... .....    @rr
rdtimeh_w       0000 00000000 00000 11001 ..... .....    @rr
rdtime_d        0000 00000000 00000 11010 ..... .....    @rr
cpucfg          0000 00000000 00000 11011 ..... .....    @rr

#
# Floating point arithmetic operation instruction
#
fadd_s          0000 00010000 00001 ..... ..... .....    @fff
fadd_d          0000 00010000 00010 ..... ..... .....    @fff
fsub_s          0000 00010000 00101 ..... ..... .....    @fff
fsub_d          0000 00010000 00110 ..... ..... .....    @fff
fmul_s          0000 00010000 01001 ..... ..... .....    @fff
fmul_d          0000 00010000 01010 ..... ..... .....    @fff
fdiv_s          0000 00010000 01101 ..... ..... .....    @fff
fdiv_d          0000 00010000 01110 ..... ..... .....    @fff
fmadd_s         0000 10000001 ..... ..... ..... .....    @ffff
fmadd_d         0000 10000010 ..... ..... ..... .....    @ffff
fmsub_s         0000 10000101 ..... ..... ..... .....    @ffff
fmsub_d         0000 10000110 ..... ..... ..... .....    @ffff
fnmadd_s        0000 10001001 ..... ..... ..... .....    @ffff
fnmadd_d        0000 10001010 ..... ..... ..... .....    @ffff
fnmsub_s        0000 10001101 ..... ..... ..... .....    @ffff
fnmsub_d        0000 10001110 ..... ..... ..... .....    @ffff
fmax_s          0000 00010000 10001 ..... ..... .....    @fff
fmax_d          0000 00010000 10010 ..... ..... .....    @fff
fmin_s          0000 00010000 10101 ..... ..... .....    @fff
fmin_d          0000 00010000 10110 ..... ..... .....    @fff
fmaxa_s         0000 00010000 11001 ..... ..... .....    @fff
fmaxa_d         0000 00010000 11010 ..... ..... .....    @fff
fmina_s         0000 00010000 11101 ..... ..... .....    @fff
fmina_d         0000 00010000 11110 ..... ..... .....    @fff
fabs_s          0000 00010001 01000 00001 ..... .....    @ff
fabs_d          0000 00010001 01000 00010 ..... .....    @ff
fneg_s          0000 00010001 01000 00101 ..... .....    @ff
fneg_d          0000 00010001 01000 00110 ..... .....    @ff
fsqrt_s         0000 00010001 01000 10001 ..... .....    @ff
fsqrt_d         0000 00010001 01000 10010 ..... .....    @ff
frecip_s        0000 00010001 01000 10101 ..... .....    @ff
frecip_d        0000 00010001 01000 10110 ..... .....    @ff
frsqrt_s        0000 00010001 01000 11001 ..... .....    @ff
frsqrt_d        0000 00010001 01000 11010 ..... .....    @ff
fscaleb_s       0000 00010001 00001 ..... ..... .....    @fff
fscaleb_d       0000 00010001 00010 ..... ..... .....    @fff
flogb_s         0000 00010001 01000 01001 ..... .....    @ff
flogb_d         0000 00010001 01000 01010 ..... .....    @ff
fcopysign_s     0000 00010001 00101 ..... ..... .....    @fff
fcopysign_d     0000 00010001 00110 ..... ..... .....    @fff
fclass_s        0000 00010001 01000 01101 ..... .....    @ff
fclass_d        0000 00010001 01000 01110 ..... .....    @ff

#
# Floating point compare instruction
#
fcmp_cond_s     0000 11000001 ..... ..... ..... 00 ...   @cff_fcond
fcmp_cond_d     0000 11000010 ..... ..... ..... 00 ...   @cff_fcond

#
# Floating point conversion instruction
#
fcvt_s_d        0000 00010001 10010 00110 ..... .....    @ff
fcvt_d_s        0000 00010001 10010 01001 ..... .....    @ff
ftintrm_w_s     0000 00010001 10100 00001 ..... .....    @ff
ftintrm_w_d     0000 00010001 10100 00010 ..... .....    @ff
ftintrm_l_s     0000 00010001 10100 01001 ..... .....    @ff
ftintrm_l_d     0000 00010001 10100 01010 ..... .....    @ff
ftintrp_w_s     0000 00010001 10100 10001 ..... .....    @ff
ftintrp_w_d     0000 00010001 10100 10010 ..... .....    @ff
ftintrp_l_s     0000 00010001 10100 11001 ..... .....    @ff
ftintrp_l_d     0000 00010001 10100 11010 ..... .....    @ff
ftintrz_w_s     0000 00010001 10101 00001 ..... .....    @ff
ftintrz_w_d     0000 00010001 10101 00010 ..... .....    @ff
ftintrz_l_s     0000 00010001 10101 01001 ..... .....    @ff
ftintrz_l_d     0000 00010001 10101 01010 ..... .....    @ff
ftintrne_w_s    0000 00010001 10101 10001 ..... .....    @ff
ftintrne_w_d    0000 00010001 10101 10010 ..... .....    @ff
ftintrne_l_s    0000 00010001 10101 11001 ..... .....    @ff
ftintrne_l_d    0000 00010001 10101 11010 ..... .....    @ff
ftint_w_s       0000 00010001 10110 00001 ..... .....    @ff
ftint_w_d       0000 00010001 10110 00010 ..... .....    @ff
ftint_l_s       0000 00010001 10110 01001 ..... .....    @ff
ftint_l_d       0000 00010001 10110 01010 ..... .....    @ff
ffint_s_w       0000 00010001 11010 00100 ..... .....    @ff
ffint_s_l       0000 00010001 11010 00110 ..... .....    @ff
ffint_d_w       0000 00010001 11010 01000 ..... .....    @ff
ffint_d_l       0000 00010001 11010 01010 ..... .....    @ff
frint_s         0000 00010001 11100 10001 ..... .....    @ff
frint_d         0000 00010001 11100 10010 ..... .....    @ff

#
# Floating point move instruction
#
fmov_s          0000 00010001 01001 00101 ..... .....    @ff
fmov_d          0000 00010001 01001 00110 ..... .....    @ff
fsel            0000 11010000 00 ... ..... ..... .....   @fffc
movgr2fr_w      0000 00010001 01001 01001 ..... .....    @fr
movgr2fr_d      0000 00010001 01001 01010 ..... .....    @fr
movgr2frh_w     0000 00010001 01001 01011 ..... .....    @fr
movfr2gr_s      0000 00010001 01001 01101 ..... .....    @rf
movfr2gr_d      0000 00010001 01001 01110 ..... .....    @rf
movfrh2gr_s     0000 00010001 01001 01111 ..... .....    @rf
movgr2fcsr      0000 00010001 01001 10000 ..... .....    @fcsrd_r
movfcsr2gr      0000 00010001 01001 10010 ..... .....    @r_fcsrs
movfr2cf        0000 00010001 01001 10100 ..... 00 ...   @cf
movcf2fr        0000 00010001 01001 10101 00 ... .....   @fc
movgr2cf        0000 00010001 01001 10110 ..... 00 ...   @cr
movcf2gr        0000 00010001 01001 10111 00 ... .....   @rc

#
# Floating point load/store instruction
#
fld_s           0010 101100 ............ ..... .....     @fr_i12
fst_s           0010 101101 ............ ..... .....     @fr_i12
fld_d           0010 101110 ............ ..... .....     @fr_i12
fst_d           0010 101111 ............ ..... .....     @fr_i12
fldx_s          0011 10000011 00000 ..... ..... .....    @frr
fldx_d          0011 10000011 01000 ..... ..... .....    @frr
fstx_s          0011 10000011 10000 ..... ..... .....    @frr
fstx_d          0011 10000011 11000 ..... ..... .....    @frr
fldgt_s         0011 10000111 01000 ..... ..... .....    @frr
fldgt_d         0011 10000111 01001 ..... ..... .....    @frr
fldle_s         0011 10000111 01010 ..... ..... .....    @frr
fldle_d         0011 10000111 01011 ..... ..... .....    @frr
fstgt_s         0011 10000111 01100 ..... ..... .....    @frr
fstgt_d         0011 10000111 01101 ..... ..... .....    @frr
fstle_s         0011 10000111 01110 ..... ..... .....    @frr
fstle_d         0011 10000111 01111 ..... ..... .....    @frr

#
# Branch instructions
#
beqz            0100 00 ................ ..... .....     @r_offs21
bnez            0100 01 ................ ..... .....     @r_offs21
bceqz           0100 10 ................ 00 ... .....    @c_offs21
bcnez           0100 10 ................ 01 ... .....    @c_offs21
jirl            0100 11 ................ ..... .....     @rr_i16s2
b               0101 00 ..........................       @offs26
bl              0101 01 ..........................       @offs26
beq             0101 10 ................ ..... .....     @rr_offs16
bne             0101 11 ................ ..... .....     @rr_offs16
blt             0110 00 ................ ..... .....     @rr_offs16
bge             0110 01 ................ ..... .....     @rr_offs16
bltu            0110 10 ................ ..... .....     @rr_offs16
bgeu            0110 11 ................ ..... .....     @rr_offs16

#
# Core instructions
#
{
  csrrd             0000 0100 .............. 00000 .....     @r_csr
  csrwr             0000 0100 .............. 00001 .....     @r_csr
  csrxchg           0000 0100 .............. ..... .....     @rr_csr
}

iocsrrd_b        0000 01100100 10000 00000 ..... .....    @rr
iocsrrd_h        0000 01100100 10000 00001 ..... .....    @rr
iocsrrd_w        0000 01100100 10000 00010 ..... .....    @rr
iocsrrd_d        0000 01100100 10000 00011 ..... .....    @rr
iocsrwr_b        0000 01100100 10000 00100 ..... .....    @rr
iocsrwr_h        0000 01100100 10000 00101 ..... .....    @rr
iocsrwr_w        0000 01100100 10000 00110 ..... .....    @rr
iocsrwr_d        0000 01100100 10000 00111 ..... .....    @rr
tlbsrch          0000 01100100 10000 01010 00000 00000    @empty
tlbrd            0000 01100100 10000 01011 00000 00000    @empty
tlbwr            0000 01100100 10000 01100 00000 00000    @empty
tlbfill          0000 01100100 10000 01101 00000 00000    @empty
tlbclr           0000 01100100 10000 01000 00000 00000    @empty
tlbflush         0000 01100100 10000 01001 00000 00000    @empty
invtlb           0000 01100100 10011 ..... ..... .....    @i_rr
cacop            0000 011000 ............ ..... .....     @cop_r_i
lddir            0000 01100100 00 ........ ..... .....    @rr_ui8
ldpte            0000 01100100 01 ........ ..... 00000    @j_i
ertn             0000 01100100 10000 01110 00000 00000    @empty
idle             0000 01100100 10001 ...............      @i15
dbcl             0000 00000010 10101 ...............      @i15

#
# LSX Fields
#

%i9s3     10:s9       !function=shl_3
%i10s2    10:s10      !function=shl_2
%i11s1    10:s11      !function=shl_1
%i8s3     10:s8       !function=shl_3
%i8s2     10:s8       !function=shl_2
%i8s1     10:s8       !function=shl_1

#
# LSX Argument sets
#

&vv           vd vj
&cv           cd vj
&vvv          vd vj vk
&vv_i         vd vj imm
&vvvv         vd vj vk va
&vvv_fcond    vd vj vk fcond
&vr_i         vd rj imm
&rv_i         rd vj imm
&vr           vd rj
&vvr          vd vj rk
&vrr          vd rj rk
&vr_ii        vd rj imm imm2

#
# LSX Formats
#
@vv               .... ........ ..... ..... vj:5 vd:5    &vv
@cv            .... ........ ..... ..... vj:5 .. cd:3    &cv
@vvv               .... ........ ..... vk:5 vj:5 vd:5    &vvv
@vv_ui1      .... ........ ..... .... imm:1 vj:5 vd:5    &vv_i
@vv_ui2       .... ........ ..... ... imm:2 vj:5 vd:5    &vv_i
@vv_ui3        .... ........ ..... .. imm:3 vj:5 vd:5    &vv_i
@vv_ui4         .... ........ ..... . imm:4 vj:5 vd:5    &vv_i
@vv_ui5           .... ........ ..... imm:5 vj:5 vd:5    &vv_i
@vv_ui6            .... ........ .... imm:6 vj:5 vd:5    &vv_i
@vv_ui7             .... ........ ... imm:7 vj:5 vd:5    &vv_i
@vv_ui8              .... ........ .. imm:8 vj:5 vd:5    &vv_i
@vv_i5           .... ........ ..... imm:s5 vj:5 vd:5    &vv_i
@vvvv               .... ........ va:5 vk:5 vj:5 vd:5    &vvvv
@vvv_fcond      .... ........ fcond:5  vk:5 vj:5 vd:5    &vvv_fcond
@vr_ui4         .... ........ ..... . imm:4 rj:5 vd:5    &vr_i
@vr_ui3        .... ........ ..... .. imm:3 rj:5 vd:5    &vr_i
@vr_ui2       .... ........ ..... ... imm:2 rj:5 vd:5    &vr_i
@vr_ui1      .... ........ ..... .... imm:1 rj:5 vd:5    &vr_i
@rv_ui4         .... ........ ..... . imm:4 vj:5 rd:5    &rv_i
@rv_ui3        .... ........ ..... .. imm:3 vj:5 rd:5    &rv_i
@rv_ui2       .... ........ ..... ... imm:2 vj:5 rd:5    &rv_i
@rv_ui1      .... ........ ..... .... imm:1 vj:5 rd:5    &rv_i
@vr               .... ........ ..... ..... rj:5 vd:5    &vr
@vvr               .... ........ ..... rk:5 vj:5 vd:5    &vvr
@vr_i9            .... ........ . ......... rj:5 vd:5    &vr_i imm=%i9s3
@vr_i10            .... ........ .......... rj:5 vd:5    &vr_i imm=%i10s2
@vr_i11            .... ....... ........... rj:5 vd:5    &vr_i imm=%i11s1
@vr_i12                 .... ...... imm:s12 rj:5 vd:5    &vr_i
@vr_i8i1    .... ........ . imm2:1 ........ rj:5 vd:5    &vr_ii imm=%i8s3
@vr_i8i2      .... ........ imm2:2 ........ rj:5 vd:5    &vr_ii imm=%i8s2
@vr_i8i3       .... ....... imm2:3 ........ rj:5 vd:5    &vr_ii imm=%i8s1
@vr_i8i4          .... ...... imm2:4 imm:s8 rj:5 vd:5    &vr_ii
@vrr               .... ........ ..... rk:5 rj:5 vd:5    &vrr

vadd_b           0111 00000000 10100 ..... ..... .....    @vvv
vadd_h           0111 00000000 10101 ..... ..... .....    @vvv
vadd_w           0111 00000000 10110 ..... ..... .....    @vvv
vadd_d           0111 00000000 10111 ..... ..... .....    @vvv
vadd_q           0111 00010010 11010 ..... ..... .....    @vvv
vsub_b           0111 00000000 11000 ..... ..... .....    @vvv
vsub_h           0111 00000000 11001 ..... ..... .....    @vvv
vsub_w           0111 00000000 11010 ..... ..... .....    @vvv
vsub_d           0111 00000000 11011 ..... ..... .....    @vvv
vsub_q           0111 00010010 11011 ..... ..... .....    @vvv

vaddi_bu         0111 00101000 10100 ..... ..... .....    @vv_ui5
vaddi_hu         0111 00101000 10101 ..... ..... .....    @vv_ui5
vaddi_wu         0111 00101000 10110 ..... ..... .....    @vv_ui5
vaddi_du         0111 00101000 10111 ..... ..... .....    @vv_ui5
vsubi_bu         0111 00101000 11000 ..... ..... .....    @vv_ui5
vsubi_hu         0111 00101000 11001 ..... ..... .....    @vv_ui5
vsubi_wu         0111 00101000 11010 ..... ..... .....    @vv_ui5
vsubi_du         0111 00101000 11011 ..... ..... .....    @vv_ui5

vneg_b           0111 00101001 11000 01100 ..... .....    @vv
vneg_h           0111 00101001 11000 01101 ..... .....    @vv
vneg_w           0111 00101001 11000 01110 ..... .....    @vv
vneg_d           0111 00101001 11000 01111 ..... .....    @vv

vsadd_b          0111 00000100 01100 ..... ..... .....    @vvv
vsadd_h          0111 00000100 01101 ..... ..... .....    @vvv
vsadd_w          0111 00000100 01110 ..... ..... .....    @vvv
vsadd_d          0111 00000100 01111 ..... ..... .....    @vvv
vsadd_bu         0111 00000100 10100 ..... ..... .....    @vvv
vsadd_hu         0111 00000100 10101 ..... ..... .....    @vvv
vsadd_wu         0111 00000100 10110 ..... ..... .....    @vvv
vsadd_du         0111 00000100 10111 ..... ..... .....    @vvv
vssub_b          0111 00000100 10000 ..... ..... .....    @vvv
vssub_h          0111 00000100 10001 ..... ..... .....    @vvv
vssub_w          0111 00000100 10010 ..... ..... .....    @vvv
vssub_d          0111 00000100 10011 ..... ..... .....    @vvv
vssub_bu         0111 00000100 11000 ..... ..... .....    @vvv
vssub_hu         0111 00000100 11001 ..... ..... .....    @vvv
vssub_wu         0111 00000100 11010 ..... ..... .....    @vvv
vssub_du         0111 00000100 11011 ..... ..... .....    @vvv

vhaddw_h_b       0111 00000101 01000 ..... ..... .....    @vvv
vhaddw_w_h       0111 00000101 01001 ..... ..... .....    @vvv
vhaddw_d_w       0111 00000101 01010 ..... ..... .....    @vvv
vhaddw_q_d       0111 00000101 01011 ..... ..... .....    @vvv
vhaddw_hu_bu     0111 00000101 10000 ..... ..... .....    @vvv
vhaddw_wu_hu     0111 00000101 10001 ..... ..... .....    @vvv
vhaddw_du_wu     0111 00000101 10010 ..... ..... .....    @vvv
vhaddw_qu_du     0111 00000101 10011 ..... ..... .....    @vvv
vhsubw_h_b       0111 00000101 01100 ..... ..... .....    @vvv
vhsubw_w_h       0111 00000101 01101 ..... ..... .....    @vvv
vhsubw_d_w       0111 00000101 01110 ..... ..... .....    @vvv
vhsubw_q_d       0111 00000101 01111 ..... ..... .....    @vvv
vhsubw_hu_bu     0111 00000101 10100 ..... ..... .....    @vvv
vhsubw_wu_hu     0111 00000101 10101 ..... ..... .....    @vvv
vhsubw_du_wu     0111 00000101 10110 ..... ..... .....    @vvv
vhsubw_qu_du     0111 00000101 10111 ..... ..... .....    @vvv

vaddwev_h_b      0111 00000001 11100 ..... ..... .....    @vvv
vaddwev_w_h      0111 00000001 11101 ..... ..... .....    @vvv
vaddwev_d_w      0111 00000001 11110 ..... ..... .....    @vvv
vaddwev_q_d      0111 00000001 11111 ..... ..... .....    @vvv
vaddwod_h_b      0111 00000010 00100 ..... ..... .....    @vvv
vaddwod_w_h      0111 00000010 00101 ..... ..... .....    @vvv
vaddwod_d_w      0111 00000010 00110 ..... ..... .....    @vvv
vaddwod_q_d      0111 00000010 00111 ..... ..... .....    @vvv
vsubwev_h_b      0111 00000010 00000 ..... ..... .....    @vvv
vsubwev_w_h      0111 00000010 00001 ..... ..... .....    @vvv
vsubwev_d_w      0111 00000010 00010 ..... ..... .....    @vvv
vsubwev_q_d      0111 00000010 00011 ..... ..... .....    @vvv
vsubwod_h_b      0111 00000010 01000 ..... ..... .....    @vvv
vsubwod_w_h      0111 00000010 01001 ..... ..... .....    @vvv
vsubwod_d_w      0111 00000010 01010 ..... ..... .....    @vvv
vsubwod_q_d      0111 00000010 01011 ..... ..... .....    @vvv

vaddwev_h_bu     0111 00000010 11100 ..... ..... .....    @vvv
vaddwev_w_hu     0111 00000010 11101 ..... ..... .....    @vvv
vaddwev_d_wu     0111 00000010 11110 ..... ..... .....    @vvv
vaddwev_q_du     0111 00000010 11111 ..... ..... .....    @vvv
vaddwod_h_bu     0111 00000011 00100 ..... ..... .....    @vvv
vaddwod_w_hu     0111 00000011 00101 ..... ..... .....    @vvv
vaddwod_d_wu     0111 00000011 00110 ..... ..... .....    @vvv
vaddwod_q_du     0111 00000011 00111 ..... ..... .....    @vvv
vsubwev_h_bu     0111 00000011 00000 ..... ..... .....    @vvv
vsubwev_w_hu     0111 00000011 00001 ..... ..... .....    @vvv
vsubwev_d_wu     0111 00000011 00010 ..... ..... .....    @vvv
vsubwev_q_du     0111 00000011 00011 ..... ..... .....    @vvv
vsubwod_h_bu     0111 00000011 01000 ..... ..... .....    @vvv
vsubwod_w_hu     0111 00000011 01001 ..... ..... .....    @vvv
vsubwod_d_wu     0111 00000011 01010 ..... ..... .....    @vvv
vsubwod_q_du     0111 00000011 01011 ..... ..... .....    @vvv

vaddwev_h_bu_b   0111 00000011 11100 ..... ..... .....    @vvv
vaddwev_w_hu_h   0111 00000011 11101 ..... ..... .....    @vvv
vaddwev_d_wu_w   0111 00000011 11110 ..... ..... .....    @vvv
vaddwev_q_du_d   0111 00000011 11111 ..... ..... .....    @vvv
vaddwod_h_bu_b   0111 00000100 00000 ..... ..... .....    @vvv
vaddwod_w_hu_h   0111 00000100 00001 ..... ..... .....    @vvv
vaddwod_d_wu_w   0111 00000100 00010 ..... ..... .....    @vvv
vaddwod_q_du_d   0111 00000100 00011 ..... ..... .....    @vvv

vavg_b           0111 00000110 01000 ..... ..... .....    @vvv
vavg_h           0111 00000110 01001 ..... ..... .....    @vvv
vavg_w           0111 00000110 01010 ..... ..... .....    @vvv
vavg_d           0111 00000110 01011 ..... ..... .....    @vvv
vavg_bu          0111 00000110 01100 ..... ..... .....    @vvv
vavg_hu          0111 00000110 01101 ..... ..... .....    @vvv
vavg_wu          0111 00000110 01110 ..... ..... .....    @vvv
vavg_du          0111 00000110 01111 ..... ..... .....    @vvv
vavgr_b          0111 00000110 10000 ..... ..... .....    @vvv
vavgr_h          0111 00000110 10001 ..... ..... .....    @vvv
vavgr_w          0111 00000110 10010 ..... ..... .....    @vvv
vavgr_d          0111 00000110 10011 ..... ..... .....    @vvv
vavgr_bu         0111 00000110 10100 ..... ..... .....    @vvv
vavgr_hu         0111 00000110 10101 ..... ..... .....    @vvv
vavgr_wu         0111 00000110 10110 ..... ..... .....    @vvv
vavgr_du         0111 00000110 10111 ..... ..... .....    @vvv

vabsd_b          0111 00000110 00000 ..... ..... .....    @vvv
vabsd_h          0111 00000110 00001 ..... ..... .....    @vvv
vabsd_w          0111 00000110 00010 ..... ..... .....    @vvv
vabsd_d          0111 00000110 00011 ..... ..... .....    @vvv
vabsd_bu         0111 00000110 00100 ..... ..... .....    @vvv
vabsd_hu         0111 00000110 00101 ..... ..... .....    @vvv
vabsd_wu         0111 00000110 00110 ..... ..... .....    @vvv
vabsd_du         0111 00000110 00111 ..... ..... .....    @vvv

vadda_b          0111 00000101 11000 ..... ..... .....    @vvv
vadda_h          0111 00000101 11001 ..... ..... .....    @vvv
vadda_w          0111 00000101 11010 ..... ..... .....    @vvv
vadda_d          0111 00000101 11011 ..... ..... .....    @vvv

vmax_b           0111 00000111 00000 ..... ..... .....    @vvv
vmax_h           0111 00000111 00001 ..... ..... .....    @vvv
vmax_w           0111 00000111 00010 ..... ..... .....    @vvv
vmax_d           0111 00000111 00011 ..... ..... .....    @vvv
vmaxi_b          0111 00101001 00000 ..... ..... .....    @vv_i5
vmaxi_h          0111 00101001 00001 ..... ..... .....    @vv_i5
vmaxi_w          0111 00101001 00010 ..... ..... .....    @vv_i5
vmaxi_d          0111 00101001 00011 ..... ..... .....    @vv_i5
vmax_bu          0111 00000111 01000 ..... ..... .....    @vvv
vmax_hu          0111 00000111 01001 ..... ..... .....    @vvv
vmax_wu          0111 00000111 01010 ..... ..... .....    @vvv
vmax_du          0111 00000111 01011 ..... ..... .....    @vvv
vmaxi_bu         0111 00101001 01000 ..... ..... .....    @vv_ui5
vmaxi_hu         0111 00101001 01001 ..... ..... .....    @vv_ui5
vmaxi_wu         0111 00101001 01010 ..... ..... .....    @vv_ui5
vmaxi_du         0111 00101001 01011 ..... ..... .....    @vv_ui5

vmin_b           0111 00000111 00100 ..... ..... .....    @vvv
vmin_h           0111 00000111 00101 ..... ..... .....    @vvv
vmin_w           0111 00000111 00110 ..... ..... .....    @vvv
vmin_d           0111 00000111 00111 ..... ..... .....    @vvv
vmini_b          0111 00101001 00100 ..... ..... .....    @vv_i5
vmini_h          0111 00101001 00101 ..... ..... .....    @vv_i5
vmini_w          0111 00101001 00110 ..... ..... .....    @vv_i5
vmini_d          0111 00101001 00111 ..... ..... .....    @vv_i5
vmin_bu          0111 00000111 01100 ..... ..... .....    @vvv
vmin_hu          0111 00000111 01101 ..... ..... .....    @vvv
vmin_wu          0111 00000111 01110 ..... ..... .....    @vvv
vmin_du          0111 00000111 01111 ..... ..... .....    @vvv
vmini_bu         0111 00101001 01100 ..... ..... .....    @vv_ui5
vmini_hu         0111 00101001 01101 ..... ..... .....    @vv_ui5
vmini_wu         0111 00101001 01110 ..... ..... .....    @vv_ui5
vmini_du         0111 00101001 01111 ..... ..... .....    @vv_ui5

vmul_b           0111 00001000 01000 ..... ..... .....    @vvv
vmul_h           0111 00001000 01001 ..... ..... .....    @vvv
vmul_w           0111 00001000 01010 ..... ..... .....    @vvv
vmul_d           0111 00001000 01011 ..... ..... .....    @vvv
vmuh_b           0111 00001000 01100 ..... ..... .....    @vvv
vmuh_h           0111 00001000 01101 ..... ..... .....    @vvv
vmuh_w           0111 00001000 01110 ..... ..... .....    @vvv
vmuh_d           0111 00001000 01111 ..... ..... .....    @vvv
vmuh_bu          0111 00001000 10000 ..... ..... .....    @vvv
vmuh_hu          0111 00001000 10001 ..... ..... .....    @vvv
vmuh_wu          0111 00001000 10010 ..... ..... .....    @vvv
vmuh_du          0111 00001000 10011 ..... ..... .....    @vvv

vmulwev_h_b      0111 00001001 00000 ..... ..... .....    @vvv
vmulwev_w_h      0111 00001001 00001 ..... ..... .....    @vvv
vmulwev_d_w      0111 00001001 00010 ..... ..... .....    @vvv
vmulwev_q_d      0111 00001001 00011 ..... ..... .....    @vvv
vmulwod_h_b      0111 00001001 00100 ..... ..... .....    @vvv
vmulwod_w_h      0111 00001001 00101 ..... ..... .....    @vvv
vmulwod_d_w      0111 00001001 00110 ..... ..... .....    @vvv
vmulwod_q_d      0111 00001001 00111 ..... ..... .....    @vvv
vmulwev_h_bu     0111 00001001 10000 ..... ..... .....    @vvv
vmulwev_w_hu     0111 00001001 10001 ..... ..... .....    @vvv
vmulwev_d_wu     0111 00001001 10010 ..... ..... .....    @vvv
vmulwev_q_du     0111 00001001 10011 ..... ..... .....    @vvv
vmulwod_h_bu     0111 00001001 10100 ..... ..... .....    @vvv
vmulwod_w_hu     0111 00001001 10101 ..... ..... .....    @vvv
vmulwod_d_wu     0111 00001001 10110 ..... ..... .....    @vvv
vmulwod_q_du     0111 00001001 10111 ..... ..... .....    @vvv
vmulwev_h_bu_b   0111 00001010 00000 ..... ..... .....    @vvv
vmulwev_w_hu_h   0111 00001010 00001 ..... ..... .....    @vvv
vmulwev_d_wu_w   0111 00001010 00010 ..... ..... .....    @vvv
vmulwev_q_du_d   0111 00001010 00011 ..... ..... .....    @vvv
vmulwod_h_bu_b   0111 00001010 00100 ..... ..... .....    @vvv
vmulwod_w_hu_h   0111 00001010 00101 ..... ..... .....    @vvv
vmulwod_d_wu_w   0111 00001010 00110 ..... ..... .....    @vvv
vmulwod_q_du_d   0111 00001010 00111 ..... ..... .....    @vvv

vmadd_b          0111 00001010 10000 ..... ..... .....    @vvv
vmadd_h          0111 00001010 10001 ..... ..... .....    @vvv
vmadd_w          0111 00001010 10010 ..... ..... .....    @vvv
vmadd_d          0111 00001010 10011 ..... ..... .....    @vvv
vmsub_b          0111 00001010 10100 ..... ..... .....    @vvv
vmsub_h          0111 00001010 10101 ..... ..... .....    @vvv
vmsub_w          0111 00001010 10110 ..... ..... .....    @vvv
vmsub_d          0111 00001010 10111 ..... ..... .....    @vvv

vmaddwev_h_b     0111 00001010 11000 ..... ..... .....    @vvv
vmaddwev_w_h     0111 00001010 11001 ..... ..... .....    @vvv
vmaddwev_d_w     0111 00001010 11010 ..... ..... .....    @vvv
vmaddwev_q_d     0111 00001010 11011 ..... ..... .....    @vvv
vmaddwod_h_b     0111 00001010 11100 ..... ..... .....    @vvv
vmaddwod_w_h     0111 00001010 11101 ..... ..... .....    @vvv
vmaddwod_d_w     0111 00001010 11110 ..... ..... .....    @vvv
vmaddwod_q_d     0111 00001010 11111 ..... ..... .....    @vvv
vmaddwev_h_bu    0111 00001011 01000 ..... ..... .....    @vvv
vmaddwev_w_hu    0111 00001011 01001 ..... ..... .....    @vvv
vmaddwev_d_wu    0111 00001011 01010 ..... ..... .....    @vvv
vmaddwev_q_du    0111 00001011 01011 ..... ..... .....    @vvv
vmaddwod_h_bu    0111 00001011 01100 ..... ..... .....    @vvv
vmaddwod_w_hu    0111 00001011 01101 ..... ..... .....    @vvv
vmaddwod_d_wu    0111 00001011 01110 ..... ..... .....    @vvv
vmaddwod_q_du    0111 00001011 01111 ..... ..... .....    @vvv
vmaddwev_h_bu_b  0111 00001011 11000 ..... ..... .....    @vvv
vmaddwev_w_hu_h  0111 00001011 11001 ..... ..... .....    @vvv
vmaddwev_d_wu_w  0111 00001011 11010 ..... ..... .....    @vvv
vmaddwev_q_du_d  0111 00001011 11011 ..... ..... .....    @vvv
vmaddwod_h_bu_b  0111 00001011 11100 ..... ..... .....    @vvv
vmaddwod_w_hu_h  0111 00001011 11101 ..... ..... .....    @vvv
vmaddwod_d_wu_w  0111 00001011 11110 ..... ..... .....    @vvv
vmaddwod_q_du_d  0111 00001011 11111 ..... ..... .....    @vvv

vdiv_b           0111 00001110 00000 ..... ..... .....    @vvv
vdiv_h           0111 00001110 00001 ..... ..... .....    @vvv
vdiv_w           0111 00001110 00010 ..... ..... .....    @vvv
vdiv_d           0111 00001110 00011 ..... ..... .....    @vvv
vdiv_bu          0111 00001110 01000 ..... ..... .....    @vvv
vdiv_hu          0111 00001110 01001 ..... ..... .....    @vvv
vdiv_wu          0111 00001110 01010 ..... ..... .....    @vvv
vdiv_du          0111 00001110 01011 ..... ..... .....    @vvv
vmod_b           0111 00001110 00100 ..... ..... .....    @vvv
vmod_h           0111 00001110 00101 ..... ..... .....    @vvv
vmod_w           0111 00001110 00110 ..... ..... .....    @vvv
vmod_d           0111 00001110 00111 ..... ..... .....    @vvv
vmod_bu          0111 00001110 01100 ..... ..... .....    @vvv
vmod_hu          0111 00001110 01101 ..... ..... .....    @vvv
vmod_wu          0111 00001110 01110 ..... ..... .....    @vvv
vmod_du          0111 00001110 01111 ..... ..... .....    @vvv

vsat_b           0111 00110010 01000 01 ... ..... .....   @vv_ui3
vsat_h           0111 00110010 01000 1 .... ..... .....   @vv_ui4
vsat_w           0111 00110010 01001 ..... ..... .....    @vv_ui5
vsat_d           0111 00110010 0101 ...... ..... .....    @vv_ui6
vsat_bu          0111 00110010 10000 01 ... ..... .....   @vv_ui3
vsat_hu          0111 00110010 10000 1 .... ..... .....   @vv_ui4
vsat_wu          0111 00110010 10001 ..... ..... .....    @vv_ui5
vsat_du          0111 00110010 1001 ...... ..... .....    @vv_ui6

vexth_h_b        0111 00101001 11101 11000 ..... .....    @vv
vexth_w_h        0111 00101001 11101 11001 ..... .....    @vv
vexth_d_w        0111 00101001 11101 11010 ..... .....    @vv
vexth_q_d        0111 00101001 11101 11011 ..... .....    @vv
vexth_hu_bu      0111 00101001 11101 11100 ..... .....    @vv
vexth_wu_hu      0111 00101001 11101 11101 ..... .....    @vv
vexth_du_wu      0111 00101001 11101 11110 ..... .....    @vv
vexth_qu_du      0111 00101001 11101 11111 ..... .....    @vv

vsigncov_b       0111 00010010 11100 ..... ..... .....    @vvv
vsigncov_h       0111 00010010 11101 ..... ..... .....    @vvv
vsigncov_w       0111 00010010 11110 ..... ..... .....    @vvv
vsigncov_d       0111 00010010 11111 ..... ..... .....    @vvv

vmskltz_b        0111 00101001 11000 10000 ..... .....    @vv
vmskltz_h        0111 00101001 11000 10001 ..... .....    @vv
vmskltz_w        0111 00101001 11000 10010 ..... .....    @vv
vmskltz_d        0111 00101001 11000 10011 ..... .....    @vv
vmskgez_b        0111 00101001 11000 10100 ..... .....    @vv
vmsknz_b         0111 00101001 11000 11000 ..... .....    @vv

vand_v           0111 00010010 01100 ..... ..... .....    @vvv
vor_v            0111 00010010 01101 ..... ..... .....    @vvv
vxor_v           0111 00010010 01110 ..... ..... .....    @vvv
vnor_v           0111 00010010 01111 ..... ..... .....    @vvv
vandn_v          0111 00010010 10000 ..... ..... .....    @vvv
vorn_v           0111 00010010 10001 ..... ..... .....    @vvv

vandi_b          0111 00111101 00 ........ ..... .....    @vv_ui8
vori_b           0111 00111101 01 ........ ..... .....    @vv_ui8
vxori_b          0111 00111101 10 ........ ..... .....    @vv_ui8
vnori_b          0111 00111101 11 ........ ..... .....    @vv_ui8

vsll_b           0111 00001110 10000 ..... ..... .....    @vvv
vsll_h           0111 00001110 10001 ..... ..... .....    @vvv
vsll_w           0111 00001110 10010 ..... ..... .....    @vvv
vsll_d           0111 00001110 10011 ..... ..... .....    @vvv
vslli_b          0111 00110010 11000 01 ... ..... .....   @vv_ui3
vslli_h          0111 00110010 11000 1 .... ..... .....   @vv_ui4
vslli_w          0111 00110010 11001 ..... ..... .....    @vv_ui5
vslli_d          0111 00110010 1101 ...... ..... .....    @vv_ui6

vsrl_b           0111 00001110 10100 ..... ..... .....    @vvv
vsrl_h           0111 00001110 10101 ..... ..... .....    @vvv
vsrl_w           0111 00001110 10110 ..... ..... .....    @vvv
vsrl_d           0111 00001110 10111 ..... ..... .....    @vvv
vsrli_b          0111 00110011 00000 01 ... ..... .....   @vv_ui3
vsrli_h          0111 00110011 00000 1 .... ..... .....   @vv_ui4
vsrli_w          0111 00110011 00001 ..... ..... .....    @vv_ui5
vsrli_d          0111 00110011 0001 ...... ..... .....    @vv_ui6

vsra_b           0111 00001110 11000 ..... ..... .....    @vvv
vsra_h           0111 00001110 11001 ..... ..... .....    @vvv
vsra_w           0111 00001110 11010 ..... ..... .....    @vvv
vsra_d           0111 00001110 11011 ..... ..... .....    @vvv
vsrai_b          0111 00110011 01000 01 ... ..... .....   @vv_ui3
vsrai_h          0111 00110011 01000 1 .... ..... .....   @vv_ui4
vsrai_w          0111 00110011 01001 ..... ..... .....    @vv_ui5
vsrai_d          0111 00110011 0101 ...... ..... .....    @vv_ui6

vrotr_b          0111 00001110 11100 ..... ..... .....    @vvv
vrotr_h          0111 00001110 11101 ..... ..... .....    @vvv
vrotr_w          0111 00001110 11110 ..... ..... .....    @vvv
vrotr_d          0111 00001110 11111 ..... ..... .....    @vvv
vrotri_b         0111 00101010 00000 01 ... ..... .....   @vv_ui3
vrotri_h         0111 00101010 00000 1 .... ..... .....   @vv_ui4
vrotri_w         0111 00101010 00001 ..... ..... .....    @vv_ui5
vrotri_d         0111 00101010 0001 ...... ..... .....    @vv_ui6

vsllwil_h_b      0111 00110000 10000 01 ... ..... .....   @vv_ui3
vsllwil_w_h      0111 00110000 10000 1 .... ..... .....   @vv_ui4
vsllwil_d_w      0111 00110000 10001 ..... ..... .....    @vv_ui5
vextl_q_d        0111 00110000 10010 00000 ..... .....    @vv
vsllwil_hu_bu    0111 00110000 11000 01 ... ..... .....   @vv_ui3
vsllwil_wu_hu    0111 00110000 11000 1 .... ..... .....   @vv_ui4
vsllwil_du_wu    0111 00110000 11001 ..... ..... .....    @vv_ui5
vextl_qu_du      0111 00110000 11010 00000 ..... .....    @vv

vsrlr_b          0111 00001111 00000 ..... ..... .....    @vvv
vsrlr_h          0111 00001111 00001 ..... ..... .....    @vvv
vsrlr_w          0111 00001111 00010 ..... ..... .....    @vvv
vsrlr_d          0111 00001111 00011 ..... ..... .....    @vvv
vsrlri_b         0111 00101010 01000 01 ... ..... .....   @vv_ui3
vsrlri_h         0111 00101010 01000 1 .... ..... .....   @vv_ui4
vsrlri_w         0111 00101010 01001 ..... ..... .....    @vv_ui5
vsrlri_d         0111 00101010 0101 ...... ..... .....    @vv_ui6

vsrar_b          0111 00001111 00100 ..... ..... .....    @vvv
vsrar_h          0111 00001111 00101 ..... ..... .....    @vvv
vsrar_w          0111 00001111 00110 ..... ..... .....    @vvv
vsrar_d          0111 00001111 00111 ..... ..... .....    @vvv
vsrari_b         0111 00101010 10000 01 ... ..... .....   @vv_ui3
vsrari_h         0111 00101010 10000 1 .... ..... .....   @vv_ui4
vsrari_w         0111 00101010 10001 ..... ..... .....    @vv_ui5
vsrari_d         0111 00101010 1001 ...... ..... .....    @vv_ui6

vsrln_b_h        0111 00001111 01001 ..... ..... .....    @vvv
vsrln_h_w        0111 00001111 01010 ..... ..... .....    @vvv
vsrln_w_d        0111 00001111 01011 ..... ..... .....    @vvv
vsran_b_h        0111 00001111 01101 ..... ..... .....    @vvv
vsran_h_w        0111 00001111 01110 ..... ..... .....    @vvv
vsran_w_d        0111 00001111 01111 ..... ..... .....    @vvv

vsrlni_b_h       0111 00110100 00000 1 .... ..... .....   @vv_ui4
vsrlni_h_w       0111 00110100 00001 ..... ..... .....    @vv_ui5
vsrlni_w_d       0111 00110100 0001 ...... ..... .....    @vv_ui6
vsrlni_d_q       0111 00110100 001 ....... ..... .....    @vv_ui7
vsrani_b_h       0111 00110101 10000 1 .... ..... .....   @vv_ui4
vsrani_h_w       0111 00110101 10001 ..... ..... .....    @vv_ui5
vsrani_w_d       0111 00110101 1001 ...... ..... .....    @vv_ui6
vsrani_d_q       0111 00110101 101 ....... ..... .....    @vv_ui7

vsrlrn_b_h       0111 00001111 10001 ..... ..... .....    @vvv
vsrlrn_h_w       0111 00001111 10010 ..... ..... .....    @vvv
vsrlrn_w_d       0111 00001111 10011 ..... ..... .....    @vvv
vsrarn_b_h       0111 00001111 10101 ..... ..... .....    @vvv
vsrarn_h_w       0111 00001111 10110 ..... ..... .....    @vvv
vsrarn_w_d       0111 00001111 10111 ..... ..... .....    @vvv

vsrlrni_b_h      0111 00110100 01000 1 .... ..... .....   @vv_ui4
vsrlrni_h_w      0111 00110100 01001 ..... ..... .....    @vv_ui5
vsrlrni_w_d      0111 00110100 0101 ...... ..... .....    @vv_ui6
vsrlrni_d_q      0111 00110100 011 ....... ..... .....    @vv_ui7
vsrarni_b_h      0111 00110101 11000 1 .... ..... .....   @vv_ui4
vsrarni_h_w      0111 00110101 11001 ..... ..... .....    @vv_ui5
vsrarni_w_d      0111 00110101 1101 ...... ..... .....    @vv_ui6
vsrarni_d_q      0111 00110101 111 ....... ..... .....    @vv_ui7

vssrln_b_h       0111 00001111 11001 ..... ..... .....    @vvv
vssrln_h_w       0111 00001111 11010 ..... ..... .....    @vvv
vssrln_w_d       0111 00001111 11011 ..... ..... .....    @vvv
vssran_b_h       0111 00001111 11101 ..... ..... .....    @vvv
vssran_h_w       0111 00001111 11110 ..... ..... .....    @vvv
vssran_w_d       0111 00001111 11111 ..... ..... .....    @vvv
vssrln_bu_h      0111 00010000 01001 ..... ..... .....    @vvv
vssrln_hu_w      0111 00010000 01010 ..... ..... .....    @vvv
vssrln_wu_d      0111 00010000 01011 ..... ..... .....    @vvv
vssran_bu_h      0111 00010000 01101 ..... ..... .....    @vvv
vssran_hu_w      0111 00010000 01110 ..... ..... .....    @vvv
vssran_wu_d      0111 00010000 01111 ..... ..... .....    @vvv

vssrlni_b_h      0111 00110100 10000 1 .... ..... .....   @vv_ui4
vssrlni_h_w      0111 00110100 10001 ..... ..... .....    @vv_ui5
vssrlni_w_d      0111 00110100 1001 ...... ..... .....    @vv_ui6
vssrlni_d_q      0111 00110100 101 ....... ..... .....    @vv_ui7
vssrani_b_h      0111 00110110 00000 1 .... ..... .....   @vv_ui4
vssrani_h_w      0111 00110110 00001 ..... ..... .....    @vv_ui5
vssrani_w_d      0111 00110110 0001 ...... ..... .....    @vv_ui6
vssrani_d_q      0111 00110110 001 ....... ..... .....    @vv_ui7
vssrlni_bu_h     0111 00110100 11000 1 .... ..... .....   @vv_ui4
vssrlni_hu_w     0111 00110100 11001 ..... ..... .....    @vv_ui5
vssrlni_wu_d     0111 00110100 1101 ...... ..... .....    @vv_ui6
vssrlni_du_q     0111 00110100 111 ....... ..... .....    @vv_ui7
vssrani_bu_h     0111 00110110 01000 1 .... ..... .....   @vv_ui4
vssrani_hu_w     0111 00110110 01001 ..... ..... .....    @vv_ui5
vssrani_wu_d     0111 00110110 0101 ...... ..... .....    @vv_ui6
vssrani_du_q     0111 00110110 011 ....... ..... .....    @vv_ui7

vssrlrn_b_h      0111 00010000 00001 ..... ..... .....    @vvv
vssrlrn_h_w      0111 00010000 00010 ..... ..... .....    @vvv
vssrlrn_w_d      0111 00010000 00011 ..... ..... .....    @vvv
vssrarn_b_h      0111 00010000 00101 ..... ..... .....    @vvv
vssrarn_h_w      0111 00010000 00110 ..... ..... .....    @vvv
vssrarn_w_d      0111 00010000 00111 ..... ..... .....    @vvv
vssrlrn_bu_h     0111 00010000 10001 ..... ..... .....    @vvv
vssrlrn_hu_w     0111 00010000 10010 ..... ..... .....    @vvv
vssrlrn_wu_d     0111 00010000 10011 ..... ..... .....    @vvv
vssrarn_bu_h     0111 00010000 10101 ..... ..... .....    @vvv
vssrarn_hu_w     0111 00010000 10110 ..... ..... .....    @vvv
vssrarn_wu_d     0111 00010000 10111 ..... ..... .....    @vvv

vssrlrni_b_h     0111 00110101 00000 1 .... ..... .....   @vv_ui4
vssrlrni_h_w     0111 00110101 00001 ..... ..... .....    @vv_ui5
vssrlrni_w_d     0111 00110101 0001 ...... ..... .....    @vv_ui6
vssrlrni_d_q     0111 00110101 001 ....... ..... .....    @vv_ui7
vssrarni_b_h     0111 00110110 10000 1 .... ..... .....   @vv_ui4
vssrarni_h_w     0111 00110110 10001 ..... ..... .....    @vv_ui5
vssrarni_w_d     0111 00110110 1001 ...... ..... .....    @vv_ui6
vssrarni_d_q     0111 00110110 101 ....... ..... .....    @vv_ui7
vssrlrni_bu_h    0111 00110101 01000 1 .... ..... .....   @vv_ui4
vssrlrni_hu_w    0111 00110101 01001 ..... ..... .....    @vv_ui5
vssrlrni_wu_d    0111 00110101 0101 ...... ..... .....    @vv_ui6
vssrlrni_du_q    0111 00110101 011 ....... ..... .....    @vv_ui7
vssrarni_bu_h    0111 00110110 11000 1 .... ..... .....   @vv_ui4
vssrarni_hu_w    0111 00110110 11001 ..... ..... .....    @vv_ui5
vssrarni_wu_d    0111 00110110 1101 ...... ..... .....    @vv_ui6
vssrarni_du_q    0111 00110110 111 ....... ..... .....    @vv_ui7

vclo_b           0111 00101001 11000 00000 ..... .....    @vv
vclo_h           0111 00101001 11000 00001 ..... .....    @vv
vclo_w           0111 00101001 11000 00010 ..... .....    @vv
vclo_d           0111 00101001 11000 00011 ..... .....    @vv
vclz_b           0111 00101001 11000 00100 ..... .....    @vv
vclz_h           0111 00101001 11000 00101 ..... .....    @vv
vclz_w           0111 00101001 11000 00110 ..... .....    @vv
vclz_d           0111 00101001 11000 00111 ..... .....    @vv

vpcnt_b          0111 00101001 11000 01000 ..... .....    @vv
vpcnt_h          0111 00101001 11000 01001 ..... .....    @vv
vpcnt_w          0111 00101001 11000 01010 ..... .....    @vv
vpcnt_d          0111 00101001 11000 01011 ..... .....    @vv

vbitclr_b        0111 00010000 11000 ..... ..... .....    @vvv
vbitclr_h        0111 00010000 11001 ..... ..... .....    @vvv
vbitclr_w        0111 00010000 11010 ..... ..... .....    @vvv
vbitclr_d        0111 00010000 11011 ..... ..... .....    @vvv
vbitclri_b       0111 00110001 00000 01 ... ..... .....   @vv_ui3
vbitclri_h       0111 00110001 00000 1 .... ..... .....   @vv_ui4
vbitclri_w       0111 00110001 00001 ..... ..... .....    @vv_ui5
vbitclri_d       0111 00110001 0001 ...... ..... .....    @vv_ui6
vbitset_b        0111 00010000 11100 ..... ..... .....    @vvv
vbitset_h        0111 00010000 11101 ..... ..... .....    @vvv
vbitset_w        0111 00010000 11110 ..... ..... .....    @vvv
vbitset_d        0111 00010000 11111 ..... ..... .....    @vvv
vbitseti_b       0111 00110001 01000 01 ... ..... .....   @vv_ui3
vbitseti_h       0111 00110001 01000 1 .... ..... .....   @vv_ui4
vbitseti_w       0111 00110001 01001 ..... ..... .....    @vv_ui5
vbitseti_d       0111 00110001 0101 ...... ..... .....    @vv_ui6
vbitrev_b        0111 00010001 00000 ..... ..... .....    @vvv
vbitrev_h        0111 00010001 00001 ..... ..... .....    @vvv
vbitrev_w        0111 00010001 00010 ..... ..... .....    @vvv
vbitrev_d        0111 00010001 00011 ..... ..... .....    @vvv
vbitrevi_b       0111 00110001 10000 01 ... ..... .....   @vv_ui3
vbitrevi_h       0111 00110001 10000 1 .... ..... .....   @vv_ui4
vbitrevi_w       0111 00110001 10001 ..... ..... .....    @vv_ui5
vbitrevi_d       0111 00110001 1001 ...... ..... .....    @vv_ui6

vfrstp_b         0111 00010010 10110 ..... ..... .....    @vvv
vfrstp_h         0111 00010010 10111 ..... ..... .....    @vvv
vfrstpi_b        0111 00101001 10100 ..... ..... .....    @vv_ui5
vfrstpi_h        0111 00101001 10101 ..... ..... .....    @vv_ui5

vfadd_s          0111 00010011 00001 ..... ..... .....    @vvv
vfadd_d          0111 00010011 00010 ..... ..... .....    @vvv
vfsub_s          0111 00010011 00101 ..... ..... .....    @vvv
vfsub_d          0111 00010011 00110 ..... ..... .....    @vvv
vfmul_s          0111 00010011 10001 ..... ..... .....    @vvv
vfmul_d          0111 00010011 10010 ..... ..... .....    @vvv
vfdiv_s          0111 00010011 10101 ..... ..... .....    @vvv
vfdiv_d          0111 00010011 10110 ..... ..... .....    @vvv

vfmadd_s         0000 10010001 ..... ..... ..... .....    @vvvv
vfmadd_d         0000 10010010 ..... ..... ..... .....    @vvvv
vfmsub_s         0000 10010101 ..... ..... ..... .....    @vvvv
vfmsub_d         0000 10010110 ..... ..... ..... .....    @vvvv
vfnmadd_s        0000 10011001 ..... ..... ..... .....    @vvvv
vfnmadd_d        0000 10011010 ..... ..... ..... .....    @vvvv
vfnmsub_s        0000 10011101 ..... ..... ..... .....    @vvvv
vfnmsub_d        0000 10011110 ..... ..... ..... .....    @vvvv

vfmax_s          0111 00010011 11001 ..... ..... .....    @vvv
vfmax_d          0111 00010011 11010 ..... ..... .....    @vvv
vfmin_s          0111 00010011 11101 ..... ..... .....    @vvv
vfmin_d          0111 00010011 11110 ..... ..... .....    @vvv

vfmaxa_s         0111 00010100 00001 ..... ..... .....    @vvv
vfmaxa_d         0111 00010100 00010 ..... ..... .....    @vvv
vfmina_s         0111 00010100 00101 ..... ..... .....    @vvv
vfmina_d         0111 00010100 00110 ..... ..... .....    @vvv

vflogb_s         0111 00101001 11001 10001 ..... .....    @vv
vflogb_d         0111 00101001 11001 10010 ..... .....    @vv

vfclass_s        0111 00101001 11001 10101 ..... .....    @vv
vfclass_d        0111 00101001 11001 10110 ..... .....    @vv

vfsqrt_s         0111 00101001 11001 11001 ..... .....    @vv
vfsqrt_d         0111 00101001 11001 11010 ..... .....    @vv
vfrecip_s        0111 00101001 11001 11101 ..... .....    @vv
vfrecip_d        0111 00101001 11001 11110 ..... .....    @vv
vfrsqrt_s        0111 00101001 11010 00001 ..... .....    @vv
vfrsqrt_d        0111 00101001 11010 00010 ..... .....    @vv

vfcvtl_s_h       0111 00101001 11011 11010 ..... .....    @vv
vfcvth_s_h       0111 00101001 11011 11011 ..... .....    @vv
vfcvtl_d_s       0111 00101001 11011 11100 ..... .....    @vv
vfcvth_d_s       0111 00101001 11011 11101 ..... .....    @vv
vfcvt_h_s        0111 00010100 01100 ..... ..... .....    @vvv
vfcvt_s_d        0111 00010100 01101 ..... ..... .....    @vvv

vfrint_s         0111 00101001 11010 01101 ..... .....    @vv
vfrint_d         0111 00101001 11010 01110 ..... .....    @vv
vfrintrm_s       0111 00101001 11010 10001 ..... .....    @vv
vfrintrm_d       0111 00101001 11010 10010 ..... .....    @vv
vfrintrp_s       0111 00101001 11010 10101 ..... .....    @vv
vfrintrp_d       0111 00101001 11010 10110 ..... .....    @vv
vfrintrz_s       0111 00101001 11010 11001 ..... .....    @vv
vfrintrz_d       0111 00101001 11010 11010 ..... .....    @vv
vfrintrne_s      0111 00101001 11010 11101 ..... .....    @vv
vfrintrne_d      0111 00101001 11010 11110 ..... .....    @vv

vftint_w_s       0111 00101001 11100 01100 ..... .....    @vv
vftint_l_d       0111 00101001 11100 01101 ..... .....    @vv
vftintrm_w_s     0111 00101001 11100 01110 ..... .....    @vv
vftintrm_l_d     0111 00101001 11100 01111 ..... .....    @vv
vftintrp_w_s     0111 00101001 11100 10000 ..... .....    @vv
vftintrp_l_d     0111 00101001 11100 10001 ..... .....    @vv
vftintrz_w_s     0111 00101001 11100 10010 ..... .....    @vv
vftintrz_l_d     0111 00101001 11100 10011 ..... .....    @vv
vftintrne_w_s    0111 00101001 11100 10100 ..... .....    @vv
vftintrne_l_d    0111 00101001 11100 10101 ..... .....    @vv
vftint_wu_s      0111 00101001 11100 10110 ..... .....    @vv
vftint_lu_d      0111 00101001 11100 10111 ..... .....    @vv
vftintrz_wu_s    0111 00101001 11100 11100 ..... .....    @vv
vftintrz_lu_d    0111 00101001 11100 11101 ..... .....    @vv
vftint_w_d       0111 00010100 10011 ..... ..... .....    @vvv
vftintrm_w_d     0111 00010100 10100 ..... ..... .....    @vvv
vftintrp_w_d     0111 00010100 10101 ..... ..... .....    @vvv
vftintrz_w_d     0111 00010100 10110 ..... ..... .....    @vvv
vftintrne_w_d    0111 00010100 10111 ..... ..... .....    @vvv
vftintl_l_s      0111 00101001 11101 00000 ..... .....    @vv
vftinth_l_s      0111 00101001 11101 00001 ..... .....    @vv
vftintrml_l_s    0111 00101001 11101 00010 ..... .....    @vv
vftintrmh_l_s    0111 00101001 11101 00011 ..... .....    @vv
vftintrpl_l_s    0111 00101001 11101 00100 ..... .....    @vv
vftintrph_l_s    0111 00101001 11101 00101 ..... .....    @vv
vftintrzl_l_s    0111 00101001 11101 00110 ..... .....    @vv
vftintrzh_l_s    0111 00101001 11101 00111 ..... .....    @vv
vftintrnel_l_s   0111 00101001 11101 01000 ..... .....    @vv
vftintrneh_l_s   0111 00101001 11101 01001 ..... .....    @vv

vffint_s_w       0111 00101001 11100 00000 ..... .....    @vv
vffint_s_wu      0111 00101001 11100 00001 ..... .....    @vv
vffint_d_l       0111 00101001 11100 00010 ..... .....    @vv
vffint_d_lu      0111 00101001 11100 00011 ..... .....    @vv
vffintl_d_w      0111 00101001 11100 00100 ..... .....    @vv
vffinth_d_w      0111 00101001 11100 00101 ..... .....    @vv
vffint_s_l       0111 00010100 10000 ..... ..... .....    @vvv

vseq_b           0111 00000000 00000 ..... ..... .....    @vvv
vseq_h           0111 00000000 00001 ..... ..... .....    @vvv
vseq_w           0111 00000000 00010 ..... ..... .....    @vvv
vseq_d           0111 00000000 00011 ..... ..... .....    @vvv
vseqi_b          0111 00101000 00000 ..... ..... .....    @vv_i5
vseqi_h          0111 00101000 00001 ..... ..... .....    @vv_i5
vseqi_w          0111 00101000 00010 ..... ..... .....    @vv_i5
vseqi_d          0111 00101000 00011 ..... ..... .....    @vv_i5

vsle_b           0111 00000000 00100 ..... ..... .....    @vvv
vsle_h           0111 00000000 00101 ..... ..... .....    @vvv
vsle_w           0111 00000000 00110 ..... ..... .....    @vvv
vsle_d           0111 00000000 00111 ..... ..... .....    @vvv
vslei_b          0111 00101000 00100 ..... ..... .....    @vv_i5
vslei_h          0111 00101000 00101 ..... ..... .....    @vv_i5
vslei_w          0111 00101000 00110 ..... ..... .....    @vv_i5
vslei_d          0111 00101000 00111 ..... ..... .....    @vv_i5
vsle_bu          0111 00000000 01000 ..... ..... .....    @vvv
vsle_hu          0111 00000000 01001 ..... ..... .....    @vvv
vsle_wu          0111 00000000 01010 ..... ..... .....    @vvv
vsle_du          0111 00000000 01011 ..... ..... .....    @vvv
vslei_bu         0111 00101000 01000 ..... ..... .....    @vv_ui5
vslei_hu         0111 00101000 01001 ..... ..... .....    @vv_ui5
vslei_wu         0111 00101000 01010 ..... ..... .....    @vv_ui5
vslei_du         0111 00101000 01011 ..... ..... .....    @vv_ui5

vslt_b           0111 00000000 01100 ..... ..... .....    @vvv
vslt_h           0111 00000000 01101 ..... ..... .....    @vvv
vslt_w           0111 00000000 01110 ..... ..... .....    @vvv
vslt_d           0111 00000000 01111 ..... ..... .....    @vvv
vslti_b          0111 00101000 01100 ..... ..... .....    @vv_i5
vslti_h          0111 00101000 01101 ..... ..... .....    @vv_i5
vslti_w          0111 00101000 01110 ..... ..... .....    @vv_i5
vslti_d          0111 00101000 01111 ..... ..... .....    @vv_i5
vslt_bu          0111 00000000 10000 ..... ..... .....    @vvv
vslt_hu          0111 00000000 10001 ..... ..... .....    @vvv
vslt_wu          0111 00000000 10010 ..... ..... .....    @vvv
vslt_du          0111 00000000 10011 ..... ..... .....    @vvv
vslti_bu         0111 00101000 10000 ..... ..... .....    @vv_ui5
vslti_hu         0111 00101000 10001 ..... ..... .....    @vv_ui5
vslti_wu         0111 00101000 10010 ..... ..... .....    @vv_ui5
vslti_du         0111 00101000 10011 ..... ..... .....    @vv_ui5

vfcmp_cond_s     0000 11000101 ..... ..... ..... .....    @vvv_fcond
vfcmp_cond_d     0000 11000110 ..... ..... ..... .....    @vvv_fcond

vbitsel_v        0000 11010001 ..... ..... ..... .....    @vvvv

vbitseli_b       0111 00111100 01 ........ ..... .....    @vv_ui8

vseteqz_v        0111 00101001 11001 00110 ..... 00 ...   @cv
vsetnez_v        0111 00101001 11001 00111 ..... 00 ...   @cv
vsetanyeqz_b     0111 00101001 11001 01000 ..... 00 ...   @cv
vsetanyeqz_h     0111 00101001 11001 01001 ..... 00 ...   @cv
vsetanyeqz_w     0111 00101001 11001 01010 ..... 00 ...   @cv
vsetanyeqz_d     0111 00101001 11001 01011 ..... 00 ...   @cv
vsetallnez_b     0111 00101001 11001 01100 ..... 00 ...   @cv
vsetallnez_h     0111 00101001 11001 01101 ..... 00 ...   @cv
vsetallnez_w     0111 00101001 11001 01110 ..... 00 ...   @cv
vsetallnez_d     0111 00101001 11001 01111 ..... 00 ...   @cv

vinsgr2vr_b      0111 00101110 10111 0 .... ..... .....   @vr_ui4
vinsgr2vr_h      0111 00101110 10111 10 ... ..... .....   @vr_ui3
vinsgr2vr_w      0111 00101110 10111 110 .. ..... .....   @vr_ui2
vinsgr2vr_d      0111 00101110 10111 1110 . ..... .....   @vr_ui1
vpickve2gr_b     0111 00101110 11111 0 .... ..... .....   @rv_ui4
vpickve2gr_h     0111 00101110 11111 10 ... ..... .....   @rv_ui3
vpickve2gr_w     0111 00101110 11111 110 .. ..... .....   @rv_ui2
vpickve2gr_d     0111 00101110 11111 1110 . ..... .....   @rv_ui1
vpickve2gr_bu    0111 00101111 00111 0 .... ..... .....   @rv_ui4
vpickve2gr_hu    0111 00101111 00111 10 ... ..... .....   @rv_ui3
vpickve2gr_wu    0111 00101111 00111 110 .. ..... .....   @rv_ui2
vpickve2gr_du    0111 00101111 00111 1110 . ..... .....   @rv_ui1

vreplgr2vr_b     0111 00101001 11110 00000 ..... .....    @vr
vreplgr2vr_h     0111 00101001 11110 00001 ..... .....    @vr
vreplgr2vr_w     0111 00101001 11110 00010 ..... .....    @vr
vreplgr2vr_d     0111 00101001 11110 00011 ..... .....    @vr

vreplve_b        0111 00010010 00100 ..... ..... .....    @vvr
vreplve_h        0111 00010010 00101 ..... ..... .....    @vvr
vreplve_w        0111 00010010 00110 ..... ..... .....    @vvr
vreplve_d        0111 00010010 00111 ..... ..... .....    @vvr
vreplvei_b       0111 00101111 01111 0 .... ..... .....   @vv_ui4
vreplvei_h       0111 00101111 01111 10 ... ..... .....   @vv_ui3
vreplvei_w       0111 00101111 01111 110 .. ..... .....   @vv_ui2
vreplvei_d       0111 00101111 01111 1110 . ..... .....   @vv_ui1

vbsll_v          0111 00101000 11100 ..... ..... .....    @vv_ui5
vbsrl_v          0111 00101000 11101 ..... ..... .....    @vv_ui5

vpackev_b        0111 00010001 01100 ..... ..... .....    @vvv
vpackev_h        0111 00010001 01101 ..... ..... .....    @vvv
vpackev_w        0111 00010001 01110 ..... ..... .....    @vvv
vpackev_d        0111 00010001 01111 ..... ..... .....    @vvv
vpackod_b        0111 00010001 10000 ..... ..... .....    @vvv
vpackod_h        0111 00010001 10001 ..... ..... .....    @vvv
vpackod_w        0111 00010001 10010 ..... ..... .....    @vvv
vpackod_d        0111 00010001 10011 ..... ..... .....    @vvv

vpickev_b        0111 00010001 11100 ..... ..... .....    @vvv
vpickev_h        0111 00010001 11101 ..... ..... .....    @vvv
vpickev_w        0111 00010001 11110 ..... ..... .....    @vvv
vpickev_d        0111 00010001 11111 ..... ..... .....    @vvv
vpickod_b        0111 00010010 00000 ..... ..... .....    @vvv
vpickod_h        0111 00010010 00001 ..... ..... .....    @vvv
vpickod_w        0111 00010010 00010 ..... ..... .....    @vvv
vpickod_d        0111 00010010 00011 ..... ..... .....    @vvv

vilvl_b          0111 00010001 10100 ..... ..... .....    @vvv
vilvl_h          0111 00010001 10101 ..... ..... .....    @vvv
vilvl_w          0111 00010001 10110 ..... ..... .....    @vvv
vilvl_d          0111 00010001 10111 ..... ..... .....    @vvv
vilvh_b          0111 00010001 11000 ..... ..... .....    @vvv
vilvh_h          0111 00010001 11001 ..... ..... .....    @vvv
vilvh_w          0111 00010001 11010 ..... ..... .....    @vvv
vilvh_d          0111 00010001 11011 ..... ..... .....    @vvv

vshuf_b          0000 11010101 ..... ..... ..... .....    @vvvv
vshuf_h          0111 00010111 10101 ..... ..... .....    @vvv
vshuf_w          0111 00010111 10110 ..... ..... .....    @vvv
vshuf_d          0111 00010111 10111 ..... ..... .....    @vvv
vshuf4i_b        0111 00111001 00 ........ ..... .....    @vv_ui8
vshuf4i_h        0111 00111001 01 ........ ..... .....    @vv_ui8
vshuf4i_w        0111 00111001 10 ........ ..... .....    @vv_ui8
vshuf4i_d        0111 00111001 11 ........ ..... .....    @vv_ui8

vpermi_w         0111 00111110 01 ........ ..... .....    @vv_ui8

vextrins_d       0111 00111000 00 ........ ..... .....    @vv_ui8
vextrins_w       0111 00111000 01 ........ ..... .....    @vv_ui8
vextrins_h       0111 00111000 10 ........ ..... .....    @vv_ui8
vextrins_b       0111 00111000 11 ........ ..... .....    @vv_ui8

vld              0010 110000 ............ ..... .....     @vr_i12
vst              0010 110001 ............ ..... .....     @vr_i12
vldx             0011 10000100 00000 ..... ..... .....    @vrr
vstx             0011 10000100 01000 ..... ..... .....    @vrr

vldrepl_d        0011 00000001 0 ......... ..... .....    @vr_i9
vldrepl_w        0011 00000010 .......... ..... .....     @vr_i10
vldrepl_h        0011 0000010 ........... ..... .....     @vr_i11
vldrepl_b        0011 000010 ............ ..... .....     @vr_i12
vstelm_d         0011 00010001 0 . ........ ..... .....   @vr_i8i1
vstelm_w         0011 00010010 .. ........ ..... .....    @vr_i8i2
vstelm_h         0011 0001010 ... ........ ..... .....    @vr_i8i3
vstelm_b         0011 000110 .... ........ ..... .....    @vr_i8i4