gem5 v24.0.0.0
Loading...
Searching...
No Matches
instructions.hh
Go to the documentation of this file.
1/*
2 * Copyright (c) 2015-2021 Advanced Micro Devices, Inc.
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are met:
7 *
8 * 1. Redistributions of source code must retain the above copyright notice,
9 * this list of conditions and the following disclaimer.
10 *
11 * 2. Redistributions in binary form must reproduce the above copyright notice,
12 * this list of conditions and the following disclaimer in the documentation
13 * and/or other materials provided with the distribution.
14 *
15 * 3. Neither the name of the copyright holder nor the names of its
16 * contributors may be used to endorse or promote products derived from this
17 * software without specific prior written permission.
18 *
19 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
20 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
23 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29 * POSSIBILITY OF SUCH DAMAGE.
30 */
31
32#ifndef __ARCH_VEGA_INSTS_INSTRUCTIONS_HH__
33#define __ARCH_VEGA_INSTS_INSTRUCTIONS_HH__
34
35#include <cstddef>
36#include <type_traits>
37
42#include "debug/VEGA.hh"
43
44namespace gem5
45{
46
47namespace VegaISA
48{
50 {
51 public:
54
55 int
56 getNumOperands() override
57 {
59 } // getNumOperands
60
61 int numDstRegOperands() override { return 1; }
62 int numSrcRegOperands() override { return 2; }
63
64 int
65 getOperandSize(int opIdx) override
66 {
67 switch (opIdx) {
68 case 0: //ssrc_0
69 return 4;
70 case 1: //ssrc_1
71 return 4;
72 case 2: //sdst
73 return 4;
74 default:
75 fatal("op idx %i out of bounds\n", opIdx);
76 return -1;
77 }
78 } // getOperandSize
79
80 void execute(GPUDynInstPtr) override;
81 }; // Inst_SOP2__S_ADD_U32
82
84 {
85 public:
88
89 int
90 getNumOperands() override
91 {
93 } // getNumOperands
94
95 int numDstRegOperands() override { return 1; }
96 int numSrcRegOperands() override { return 2; }
97
98 int
99 getOperandSize(int opIdx) override
100 {
101 switch (opIdx) {
102 case 0: //ssrc_0
103 return 4;
104 case 1: //ssrc_1
105 return 4;
106 case 2: //sdst
107 return 4;
108 default:
109 fatal("op idx %i out of bounds\n", opIdx);
110 return -1;
111 }
112 } // getOperandSize
113
114 void execute(GPUDynInstPtr) override;
115 }; // Inst_SOP2__S_SUB_U32
116
118 {
119 public:
122
123 int
124 getNumOperands() override
125 {
127 } // getNumOperands
128
129 int numDstRegOperands() override { return 1; }
130 int numSrcRegOperands() override { return 2; }
131
132 int
133 getOperandSize(int opIdx) override
134 {
135 switch (opIdx) {
136 case 0: //ssrc_0
137 return 4;
138 case 1: //ssrc_1
139 return 4;
140 case 2: //sdst
141 return 4;
142 default:
143 fatal("op idx %i out of bounds\n", opIdx);
144 return -1;
145 }
146 } // getOperandSize
147
148 void execute(GPUDynInstPtr) override;
149 }; // Inst_SOP2__S_ADD_I32
150
152 {
153 public:
156
157 int
158 getNumOperands() override
159 {
161 } // getNumOperands
162
163 int numDstRegOperands() override { return 1; }
164 int numSrcRegOperands() override { return 2; }
165
166 int
167 getOperandSize(int opIdx) override
168 {
169 switch (opIdx) {
170 case 0: //ssrc_0
171 return 4;
172 case 1: //ssrc_1
173 return 4;
174 case 2: //sdst
175 return 4;
176 default:
177 fatal("op idx %i out of bounds\n", opIdx);
178 return -1;
179 }
180 } // getOperandSize
181
182 void execute(GPUDynInstPtr) override;
183 }; // Inst_SOP2__S_SUB_I32
184
186 {
187 public:
190
191 int
192 getNumOperands() override
193 {
195 } // getNumOperands
196
197 int numDstRegOperands() override { return 1; }
198 int numSrcRegOperands() override { return 2; }
199
200 int
201 getOperandSize(int opIdx) override
202 {
203 switch (opIdx) {
204 case 0: //ssrc_0
205 return 4;
206 case 1: //ssrc_1
207 return 4;
208 case 2: //sdst
209 return 4;
210 default:
211 fatal("op idx %i out of bounds\n", opIdx);
212 return -1;
213 }
214 } // getOperandSize
215
216 void execute(GPUDynInstPtr) override;
217 }; // Inst_SOP2__S_ADDC_U32
218
220 {
221 public:
224
225 int
226 getNumOperands() override
227 {
229 } // getNumOperands
230
231 int numDstRegOperands() override { return 1; }
232 int numSrcRegOperands() override { return 2; }
233
234 int
235 getOperandSize(int opIdx) override
236 {
237 switch (opIdx) {
238 case 0: //ssrc_0
239 return 4;
240 case 1: //ssrc_1
241 return 4;
242 case 2: //sdst
243 return 4;
244 default:
245 fatal("op idx %i out of bounds\n", opIdx);
246 return -1;
247 }
248 } // getOperandSize
249
250 void execute(GPUDynInstPtr) override;
251 }; // Inst_SOP2__S_SUBB_U32
252
254 {
255 public:
258
259 int
260 getNumOperands() override
261 {
263 } // getNumOperands
264
265 int numDstRegOperands() override { return 1; }
266 int numSrcRegOperands() override { return 2; }
267
268 int
269 getOperandSize(int opIdx) override
270 {
271 switch (opIdx) {
272 case 0: //ssrc_0
273 return 4;
274 case 1: //ssrc_1
275 return 4;
276 case 2: //sdst
277 return 4;
278 default:
279 fatal("op idx %i out of bounds\n", opIdx);
280 return -1;
281 }
282 } // getOperandSize
283
284 void execute(GPUDynInstPtr) override;
285 }; // Inst_SOP2__S_MIN_I32
286
288 {
289 public:
292
293 int
294 getNumOperands() override
295 {
297 } // getNumOperands
298
299 int numDstRegOperands() override { return 1; }
300 int numSrcRegOperands() override { return 2; }
301
302 int
303 getOperandSize(int opIdx) override
304 {
305 switch (opIdx) {
306 case 0: //ssrc_0
307 return 4;
308 case 1: //ssrc_1
309 return 4;
310 case 2: //sdst
311 return 4;
312 default:
313 fatal("op idx %i out of bounds\n", opIdx);
314 return -1;
315 }
316 } // getOperandSize
317
318 void execute(GPUDynInstPtr) override;
319 }; // Inst_SOP2__S_MIN_U32
320
322 {
323 public:
326
327 int
328 getNumOperands() override
329 {
331 } // getNumOperands
332
333 int numDstRegOperands() override { return 1; }
334 int numSrcRegOperands() override { return 2; }
335
336 int
337 getOperandSize(int opIdx) override
338 {
339 switch (opIdx) {
340 case 0: //ssrc_0
341 return 4;
342 case 1: //ssrc_1
343 return 4;
344 case 2: //sdst
345 return 4;
346 default:
347 fatal("op idx %i out of bounds\n", opIdx);
348 return -1;
349 }
350 } // getOperandSize
351
352 void execute(GPUDynInstPtr) override;
353 }; // Inst_SOP2__S_MAX_I32
354
356 {
357 public:
360
361 int
362 getNumOperands() override
363 {
365 } // getNumOperands
366
367 int numDstRegOperands() override { return 1; }
368 int numSrcRegOperands() override { return 2; }
369
370 int
371 getOperandSize(int opIdx) override
372 {
373 switch (opIdx) {
374 case 0: //ssrc_0
375 return 4;
376 case 1: //ssrc_1
377 return 4;
378 case 2: //sdst
379 return 4;
380 default:
381 fatal("op idx %i out of bounds\n", opIdx);
382 return -1;
383 }
384 } // getOperandSize
385
386 void execute(GPUDynInstPtr) override;
387 }; // Inst_SOP2__S_MAX_U32
388
390 {
391 public:
394
395 int
396 getNumOperands() override
397 {
399 } // getNumOperands
400
401 int numDstRegOperands() override { return 1; }
402 int numSrcRegOperands() override { return 2; }
403
404 int
405 getOperandSize(int opIdx) override
406 {
407 switch (opIdx) {
408 case 0: //ssrc_0
409 return 4;
410 case 1: //ssrc_1
411 return 4;
412 case 2: //sdst
413 return 4;
414 default:
415 fatal("op idx %i out of bounds\n", opIdx);
416 return -1;
417 }
418 } // getOperandSize
419
420 void execute(GPUDynInstPtr) override;
421 }; // Inst_SOP2__S_CSELECT_B32
422
424 {
425 public:
428
429 int
430 getNumOperands() override
431 {
433 } // getNumOperands
434
435 int numDstRegOperands() override { return 1; }
436 int numSrcRegOperands() override { return 2; }
437
438 int
439 getOperandSize(int opIdx) override
440 {
441 switch (opIdx) {
442 case 0: //ssrc_0
443 return 8;
444 case 1: //ssrc_1
445 return 8;
446 case 2: //sdst
447 return 8;
448 default:
449 fatal("op idx %i out of bounds\n", opIdx);
450 return -1;
451 }
452 } // getOperandSize
453
454 void execute(GPUDynInstPtr) override;
455 }; // Inst_SOP2__S_CSELECT_B64
456
458 {
459 public:
462
463 int
464 getNumOperands() override
465 {
467 } // getNumOperands
468
469 int numDstRegOperands() override { return 1; }
470 int numSrcRegOperands() override { return 2; }
471
472 int
473 getOperandSize(int opIdx) override
474 {
475 switch (opIdx) {
476 case 0: //ssrc_0
477 return 4;
478 case 1: //ssrc_1
479 return 4;
480 case 2: //sdst
481 return 4;
482 default:
483 fatal("op idx %i out of bounds\n", opIdx);
484 return -1;
485 }
486 } // getOperandSize
487
488 void execute(GPUDynInstPtr) override;
489 }; // Inst_SOP2__S_AND_B32
490
492 {
493 public:
496
497 int
498 getNumOperands() override
499 {
501 } // getNumOperands
502
503 int numDstRegOperands() override { return 1; }
504 int numSrcRegOperands() override { return 2; }
505
506 int
507 getOperandSize(int opIdx) override
508 {
509 switch (opIdx) {
510 case 0: //ssrc_0
511 return 8;
512 case 1: //ssrc_1
513 return 8;
514 case 2: //sdst
515 return 8;
516 default:
517 fatal("op idx %i out of bounds\n", opIdx);
518 return -1;
519 }
520 } // getOperandSize
521
522 void execute(GPUDynInstPtr) override;
523 }; // Inst_SOP2__S_AND_B64
524
526 {
527 public:
530
531 int
532 getNumOperands() override
533 {
535 } // getNumOperands
536
537 int numDstRegOperands() override { return 1; }
538 int numSrcRegOperands() override { return 2; }
539
540 int
541 getOperandSize(int opIdx) override
542 {
543 switch (opIdx) {
544 case 0: //ssrc_0
545 return 4;
546 case 1: //ssrc_1
547 return 4;
548 case 2: //sdst
549 return 4;
550 default:
551 fatal("op idx %i out of bounds\n", opIdx);
552 return -1;
553 }
554 } // getOperandSize
555
556 void execute(GPUDynInstPtr) override;
557 }; // Inst_SOP2__S_OR_B32
558
560 {
561 public:
564
565 int
566 getNumOperands() override
567 {
569 } // getNumOperands
570
571 int numDstRegOperands() override { return 1; }
572 int numSrcRegOperands() override { return 2; }
573
574 int
575 getOperandSize(int opIdx) override
576 {
577 switch (opIdx) {
578 case 0: //ssrc_0
579 return 8;
580 case 1: //ssrc_1
581 return 8;
582 case 2: //sdst
583 return 8;
584 default:
585 fatal("op idx %i out of bounds\n", opIdx);
586 return -1;
587 }
588 } // getOperandSize
589
590 void execute(GPUDynInstPtr) override;
591 }; // Inst_SOP2__S_OR_B64
592
594 {
595 public:
598
599 int
600 getNumOperands() override
601 {
603 } // getNumOperands
604
605 int numDstRegOperands() override { return 1; }
606 int numSrcRegOperands() override { return 2; }
607
608 int
609 getOperandSize(int opIdx) override
610 {
611 switch (opIdx) {
612 case 0: //ssrc_0
613 return 4;
614 case 1: //ssrc_1
615 return 4;
616 case 2: //sdst
617 return 4;
618 default:
619 fatal("op idx %i out of bounds\n", opIdx);
620 return -1;
621 }
622 } // getOperandSize
623
624 void execute(GPUDynInstPtr) override;
625 }; // Inst_SOP2__S_XOR_B32
626
628 {
629 public:
632
633 int
634 getNumOperands() override
635 {
637 } // getNumOperands
638
639 int numDstRegOperands() override { return 1; }
640 int numSrcRegOperands() override { return 2; }
641
642 int
643 getOperandSize(int opIdx) override
644 {
645 switch (opIdx) {
646 case 0: //ssrc_0
647 return 8;
648 case 1: //ssrc_1
649 return 8;
650 case 2: //sdst
651 return 8;
652 default:
653 fatal("op idx %i out of bounds\n", opIdx);
654 return -1;
655 }
656 } // getOperandSize
657
658 void execute(GPUDynInstPtr) override;
659 }; // Inst_SOP2__S_XOR_B64
660
662 {
663 public:
666
667 int
668 getNumOperands() override
669 {
671 } // getNumOperands
672
673 int numDstRegOperands() override { return 1; }
674 int numSrcRegOperands() override { return 2; }
675
676 int
677 getOperandSize(int opIdx) override
678 {
679 switch (opIdx) {
680 case 0: //ssrc_0
681 return 4;
682 case 1: //ssrc_1
683 return 4;
684 case 2: //sdst
685 return 4;
686 default:
687 fatal("op idx %i out of bounds\n", opIdx);
688 return -1;
689 }
690 } // getOperandSize
691
692 void execute(GPUDynInstPtr) override;
693 }; // Inst_SOP2__S_ANDN2_B32
694
696 {
697 public:
700
701 int
702 getNumOperands() override
703 {
705 } // getNumOperands
706
707 int numDstRegOperands() override { return 1; }
708 int numSrcRegOperands() override { return 2; }
709
710 int
711 getOperandSize(int opIdx) override
712 {
713 switch (opIdx) {
714 case 0: //ssrc_0
715 return 8;
716 case 1: //ssrc_1
717 return 8;
718 case 2: //sdst
719 return 8;
720 default:
721 fatal("op idx %i out of bounds\n", opIdx);
722 return -1;
723 }
724 } // getOperandSize
725
726 void execute(GPUDynInstPtr) override;
727 }; // Inst_SOP2__S_ANDN2_B64
728
730 {
731 public:
734
735 int
736 getNumOperands() override
737 {
739 } // getNumOperands
740
741 int numDstRegOperands() override { return 1; }
742 int numSrcRegOperands() override { return 2; }
743
744 int
745 getOperandSize(int opIdx) override
746 {
747 switch (opIdx) {
748 case 0: //ssrc_0
749 return 4;
750 case 1: //ssrc_1
751 return 4;
752 case 2: //sdst
753 return 4;
754 default:
755 fatal("op idx %i out of bounds\n", opIdx);
756 return -1;
757 }
758 } // getOperandSize
759
760 void execute(GPUDynInstPtr) override;
761 }; // Inst_SOP2__S_ORN2_B32
762
764 {
765 public:
768
769 int
770 getNumOperands() override
771 {
773 } // getNumOperands
774
775 int numDstRegOperands() override { return 1; }
776 int numSrcRegOperands() override { return 2; }
777
778 int
779 getOperandSize(int opIdx) override
780 {
781 switch (opIdx) {
782 case 0: //ssrc_0
783 return 8;
784 case 1: //ssrc_1
785 return 8;
786 case 2: //sdst
787 return 8;
788 default:
789 fatal("op idx %i out of bounds\n", opIdx);
790 return -1;
791 }
792 } // getOperandSize
793
794 void execute(GPUDynInstPtr) override;
795 }; // Inst_SOP2__S_ORN2_B64
796
798 {
799 public:
802
803 int
804 getNumOperands() override
805 {
807 } // getNumOperands
808
809 int numDstRegOperands() override { return 1; }
810 int numSrcRegOperands() override { return 2; }
811
812 int
813 getOperandSize(int opIdx) override
814 {
815 switch (opIdx) {
816 case 0: //ssrc_0
817 return 4;
818 case 1: //ssrc_1
819 return 4;
820 case 2: //sdst
821 return 4;
822 default:
823 fatal("op idx %i out of bounds\n", opIdx);
824 return -1;
825 }
826 } // getOperandSize
827
828 void execute(GPUDynInstPtr) override;
829 }; // Inst_SOP2__S_NAND_B32
830
832 {
833 public:
836
837 int
838 getNumOperands() override
839 {
841 } // getNumOperands
842
843 int numDstRegOperands() override { return 1; }
844 int numSrcRegOperands() override { return 2; }
845
846 int
847 getOperandSize(int opIdx) override
848 {
849 switch (opIdx) {
850 case 0: //ssrc_0
851 return 8;
852 case 1: //ssrc_1
853 return 8;
854 case 2: //sdst
855 return 8;
856 default:
857 fatal("op idx %i out of bounds\n", opIdx);
858 return -1;
859 }
860 } // getOperandSize
861
862 void execute(GPUDynInstPtr) override;
863 }; // Inst_SOP2__S_NAND_B64
864
866 {
867 public:
870
871 int
872 getNumOperands() override
873 {
875 } // getNumOperands
876
877 int numDstRegOperands() override { return 1; }
878 int numSrcRegOperands() override { return 2; }
879
880 int
881 getOperandSize(int opIdx) override
882 {
883 switch (opIdx) {
884 case 0: //ssrc_0
885 return 4;
886 case 1: //ssrc_1
887 return 4;
888 case 2: //sdst
889 return 4;
890 default:
891 fatal("op idx %i out of bounds\n", opIdx);
892 return -1;
893 }
894 } // getOperandSize
895
896 void execute(GPUDynInstPtr) override;
897 }; // Inst_SOP2__S_NOR_B32
898
900 {
901 public:
904
905 int
906 getNumOperands() override
907 {
909 } // getNumOperands
910
911 int numDstRegOperands() override { return 1; }
912 int numSrcRegOperands() override { return 2; }
913
914 int
915 getOperandSize(int opIdx) override
916 {
917 switch (opIdx) {
918 case 0: //ssrc_0
919 return 8;
920 case 1: //ssrc_1
921 return 8;
922 case 2: //sdst
923 return 8;
924 default:
925 fatal("op idx %i out of bounds\n", opIdx);
926 return -1;
927 }
928 } // getOperandSize
929
930 void execute(GPUDynInstPtr) override;
931 }; // Inst_SOP2__S_NOR_B64
932
934 {
935 public:
938
939 int
940 getNumOperands() override
941 {
943 } // getNumOperands
944
945 int numDstRegOperands() override { return 1; }
946 int numSrcRegOperands() override { return 2; }
947
948 int
949 getOperandSize(int opIdx) override
950 {
951 switch (opIdx) {
952 case 0: //ssrc_0
953 return 4;
954 case 1: //ssrc_1
955 return 4;
956 case 2: //sdst
957 return 4;
958 default:
959 fatal("op idx %i out of bounds\n", opIdx);
960 return -1;
961 }
962 } // getOperandSize
963
964 void execute(GPUDynInstPtr) override;
965 }; // Inst_SOP2__S_XNOR_B32
966
968 {
969 public:
972
973 int
974 getNumOperands() override
975 {
977 } // getNumOperands
978
979 int numDstRegOperands() override { return 1; }
980 int numSrcRegOperands() override { return 2; }
981
982 int
983 getOperandSize(int opIdx) override
984 {
985 switch (opIdx) {
986 case 0: //ssrc_0
987 return 8;
988 case 1: //ssrc_1
989 return 8;
990 case 2: //sdst
991 return 8;
992 default:
993 fatal("op idx %i out of bounds\n", opIdx);
994 return -1;
995 }
996 } // getOperandSize
997
998 void execute(GPUDynInstPtr) override;
999 }; // Inst_SOP2__S_XNOR_B64
1000
1002 {
1003 public:
1006
1007 int
1009 {
1011 } // getNumOperands
1012
1013 int numDstRegOperands() override { return 1; }
1014 int numSrcRegOperands() override { return 2; }
1015
1016 int
1017 getOperandSize(int opIdx) override
1018 {
1019 switch (opIdx) {
1020 case 0: //ssrc_0
1021 return 4;
1022 case 1: //ssrc_1
1023 return 4;
1024 case 2: //sdst
1025 return 4;
1026 default:
1027 fatal("op idx %i out of bounds\n", opIdx);
1028 return -1;
1029 }
1030 } // getOperandSize
1031
1032 void execute(GPUDynInstPtr) override;
1033 }; // Inst_SOP2__S_LSHL_B32
1034
1036 {
1037 public:
1040
1041 int
1043 {
1045 } // getNumOperands
1046
1047 int numDstRegOperands() override { return 1; }
1048 int numSrcRegOperands() override { return 2; }
1049
1050 int
1051 getOperandSize(int opIdx) override
1052 {
1053 switch (opIdx) {
1054 case 0: //ssrc_0
1055 return 8;
1056 case 1: //ssrc_1
1057 return 4;
1058 case 2: //sdst
1059 return 8;
1060 default:
1061 fatal("op idx %i out of bounds\n", opIdx);
1062 return -1;
1063 }
1064 } // getOperandSize
1065
1066 void execute(GPUDynInstPtr) override;
1067 }; // Inst_SOP2__S_LSHL_B64
1068
1070 {
1071 public:
1074
1075 int
1077 {
1079 } // getNumOperands
1080
1081 int numDstRegOperands() override { return 1; }
1082 int numSrcRegOperands() override { return 2; }
1083
1084 int
1085 getOperandSize(int opIdx) override
1086 {
1087 switch (opIdx) {
1088 case 0: //ssrc_0
1089 return 4;
1090 case 1: //ssrc_1
1091 return 4;
1092 case 2: //sdst
1093 return 4;
1094 default:
1095 fatal("op idx %i out of bounds\n", opIdx);
1096 return -1;
1097 }
1098 } // getOperandSize
1099
1100 void execute(GPUDynInstPtr) override;
1101 }; // Inst_SOP2__S_LSHR_B32
1102
1104 {
1105 public:
1108
1109 int
1111 {
1113 } // getNumOperands
1114
1115 int numDstRegOperands() override { return 1; }
1116 int numSrcRegOperands() override { return 2; }
1117
1118 int
1119 getOperandSize(int opIdx) override
1120 {
1121 switch (opIdx) {
1122 case 0: //ssrc_0
1123 return 8;
1124 case 1: //ssrc_1
1125 return 4;
1126 case 2: //sdst
1127 return 8;
1128 default:
1129 fatal("op idx %i out of bounds\n", opIdx);
1130 return -1;
1131 }
1132 } // getOperandSize
1133
1134 void execute(GPUDynInstPtr) override;
1135 }; // Inst_SOP2__S_LSHR_B64
1136
1138 {
1139 public:
1142
1143 int
1145 {
1147 } // getNumOperands
1148
1149 int numDstRegOperands() override { return 1; }
1150 int numSrcRegOperands() override { return 2; }
1151
1152 int
1153 getOperandSize(int opIdx) override
1154 {
1155 switch (opIdx) {
1156 case 0: //ssrc_0
1157 return 4;
1158 case 1: //ssrc_1
1159 return 4;
1160 case 2: //sdst
1161 return 4;
1162 default:
1163 fatal("op idx %i out of bounds\n", opIdx);
1164 return -1;
1165 }
1166 } // getOperandSize
1167
1168 void execute(GPUDynInstPtr) override;
1169 }; // Inst_SOP2__S_ASHR_I32
1170
1172 {
1173 public:
1176
1177 int
1179 {
1181 } // getNumOperands
1182
1183 int numDstRegOperands() override { return 1; }
1184 int numSrcRegOperands() override { return 2; }
1185
1186 int
1187 getOperandSize(int opIdx) override
1188 {
1189 switch (opIdx) {
1190 case 0: //ssrc_0
1191 return 8;
1192 case 1: //ssrc_1
1193 return 4;
1194 case 2: //sdst
1195 return 8;
1196 default:
1197 fatal("op idx %i out of bounds\n", opIdx);
1198 return -1;
1199 }
1200 } // getOperandSize
1201
1202 void execute(GPUDynInstPtr) override;
1203 }; // Inst_SOP2__S_ASHR_I64
1204
1206 {
1207 public:
1210
1211 int
1213 {
1215 } // getNumOperands
1216
1217 int numDstRegOperands() override { return 1; }
1218 int numSrcRegOperands() override { return 2; }
1219
1220 int
1221 getOperandSize(int opIdx) override
1222 {
1223 switch (opIdx) {
1224 case 0: //ssrc_0
1225 return 4;
1226 case 1: //ssrc_1
1227 return 4;
1228 case 2: //sdst
1229 return 4;
1230 default:
1231 fatal("op idx %i out of bounds\n", opIdx);
1232 return -1;
1233 }
1234 } // getOperandSize
1235
1236 void execute(GPUDynInstPtr) override;
1237 }; // Inst_SOP2__S_BFM_B32
1238
1240 {
1241 public:
1244
1245 int
1247 {
1249 } // getNumOperands
1250
1251 int numDstRegOperands() override { return 1; }
1252 int numSrcRegOperands() override { return 2; }
1253
1254 int
1255 getOperandSize(int opIdx) override
1256 {
1257 switch (opIdx) {
1258 case 0: //ssrc_0
1259 return 4;
1260 case 1: //ssrc_1
1261 return 4;
1262 case 2: //sdst
1263 return 8;
1264 default:
1265 fatal("op idx %i out of bounds\n", opIdx);
1266 return -1;
1267 }
1268 } // getOperandSize
1269
1270 void execute(GPUDynInstPtr) override;
1271 }; // Inst_SOP2__S_BFM_B64
1272
1274 {
1275 public:
1278
1279 int
1281 {
1283 } // getNumOperands
1284
1285 int numDstRegOperands() override { return 1; }
1286 int numSrcRegOperands() override { return 2; }
1287
1288 int
1289 getOperandSize(int opIdx) override
1290 {
1291 switch (opIdx) {
1292 case 0: //ssrc_0
1293 return 4;
1294 case 1: //ssrc_1
1295 return 4;
1296 case 2: //sdst
1297 return 4;
1298 default:
1299 fatal("op idx %i out of bounds\n", opIdx);
1300 return -1;
1301 }
1302 } // getOperandSize
1303
1304 void execute(GPUDynInstPtr) override;
1305 }; // Inst_SOP2__S_MUL_I32
1306
1308 {
1309 public:
1312
1313 int
1315 {
1317 } // getNumOperands
1318
1319 int numDstRegOperands() override { return 1; }
1320 int numSrcRegOperands() override { return 2; }
1321
1322 int
1323 getOperandSize(int opIdx) override
1324 {
1325 switch (opIdx) {
1326 case 0: //ssrc_0
1327 return 4;
1328 case 1: //ssrc_1
1329 return 4;
1330 case 2: //sdst
1331 return 4;
1332 default:
1333 fatal("op idx %i out of bounds\n", opIdx);
1334 return -1;
1335 }
1336 } // getOperandSize
1337
1338 void execute(GPUDynInstPtr) override;
1339 }; // Inst_SOP2__S_BFE_U32
1340
1342 {
1343 public:
1346
1347 int
1349 {
1351 } // getNumOperands
1352
1353 int numDstRegOperands() override { return 1; }
1354 int numSrcRegOperands() override { return 2; }
1355
1356 int
1357 getOperandSize(int opIdx) override
1358 {
1359 switch (opIdx) {
1360 case 0: //ssrc_0
1361 return 4;
1362 case 1: //ssrc_1
1363 return 4;
1364 case 2: //sdst
1365 return 4;
1366 default:
1367 fatal("op idx %i out of bounds\n", opIdx);
1368 return -1;
1369 }
1370 } // getOperandSize
1371
1372 void execute(GPUDynInstPtr) override;
1373 }; // Inst_SOP2__S_BFE_I32
1374
1376 {
1377 public:
1380
1381 int
1383 {
1385 } // getNumOperands
1386
1387 int numDstRegOperands() override { return 1; }
1388 int numSrcRegOperands() override { return 2; }
1389
1390 int
1391 getOperandSize(int opIdx) override
1392 {
1393 switch (opIdx) {
1394 case 0: //ssrc_0
1395 return 8;
1396 case 1: //ssrc_1
1397 return 4;
1398 case 2: //sdst
1399 return 8;
1400 default:
1401 fatal("op idx %i out of bounds\n", opIdx);
1402 return -1;
1403 }
1404 } // getOperandSize
1405
1406 void execute(GPUDynInstPtr) override;
1407 }; // Inst_SOP2__S_BFE_U64
1408
1410 {
1411 public:
1414
1415 int
1417 {
1419 } // getNumOperands
1420
1421 int numDstRegOperands() override { return 1; }
1422 int numSrcRegOperands() override { return 2; }
1423
1424 int
1425 getOperandSize(int opIdx) override
1426 {
1427 switch (opIdx) {
1428 case 0: //ssrc_0
1429 return 8;
1430 case 1: //ssrc_1
1431 return 4;
1432 case 2: //sdst
1433 return 8;
1434 default:
1435 fatal("op idx %i out of bounds\n", opIdx);
1436 return -1;
1437 }
1438 } // getOperandSize
1439
1440 void execute(GPUDynInstPtr) override;
1441 }; // Inst_SOP2__S_BFE_I64
1442
1444 {
1445 public:
1448
1449 int
1451 {
1453 } // getNumOperands
1454
1455 int numDstRegOperands() override { return 0; }
1456 int numSrcRegOperands() override { return 2; }
1457
1458 int
1459 getOperandSize(int opIdx) override
1460 {
1461 switch (opIdx) {
1462 case 0: //ssrc_0
1463 return 8;
1464 case 1: //ssrc_1
1465 return 8;
1466 case 2: //sdst
1467 return 4;
1468 default:
1469 fatal("op idx %i out of bounds\n", opIdx);
1470 return -1;
1471 }
1472 } // getOperandSize
1473
1474 void execute(GPUDynInstPtr) override;
1475 }; // Inst_SOP2__S_CBRANCH_G_FORK
1476
1478 {
1479 public:
1482
1483 int
1485 {
1487 } // getNumOperands
1488
1489 int numDstRegOperands() override { return 1; }
1490 int numSrcRegOperands() override { return 2; }
1491
1492 int
1493 getOperandSize(int opIdx) override
1494 {
1495 switch (opIdx) {
1496 case 0: //ssrc_0
1497 return 4;
1498 case 1: //ssrc_1
1499 return 4;
1500 case 2: //sdst
1501 return 4;
1502 default:
1503 fatal("op idx %i out of bounds\n", opIdx);
1504 return -1;
1505 }
1506 } // getOperandSize
1507
1508 void execute(GPUDynInstPtr) override;
1509 }; // Inst_SOP2__S_ABSDIFF_I32
1510
1512 {
1513 public:
1516
1517 int
1519 {
1521 } // getNumOperands
1522
1523 int numDstRegOperands() override { return 0; }
1524 int numSrcRegOperands() override { return 2; }
1525
1526 int
1527 getOperandSize(int opIdx) override
1528 {
1529 switch (opIdx) {
1530 case 0: //ssrc_0
1531 return 8;
1532 case 1: //ssrc_1
1533 return 4;
1534 case 2: //sdst
1535 return 4;
1536 default:
1537 fatal("op idx %i out of bounds\n", opIdx);
1538 return -1;
1539 }
1540 } // getOperandSize
1541
1542 void execute(GPUDynInstPtr) override;
1543 }; // Inst_SOP2__S_RFE_RESTORE_B64
1544
1546 {
1547 public:
1550
1551 int
1553 {
1555 } // getNumOperands
1556
1557 int numDstRegOperands() override { return 1; }
1558 int numSrcRegOperands() override { return 2; }
1559
1560 int
1561 getOperandSize(int opIdx) override
1562 {
1563 switch (opIdx) {
1564 case 0: //ssrc_0
1565 return 4;
1566 case 1: //ssrc_1
1567 return 4;
1568 case 2: //sdst
1569 return 4;
1570 default:
1571 fatal("op idx %i out of bounds\n", opIdx);
1572 return -1;
1573 }
1574 } // getOperandSize
1575
1576 void execute(GPUDynInstPtr) override;
1577 }; // Inst_SOP2__S_MUL_HI_U32
1578
1580 {
1581 public:
1584
1585 int
1587 {
1589 } // getNumOperands
1590
1591 int numDstRegOperands() override { return 1; }
1592 int numSrcRegOperands() override { return 2; }
1593
1594 int
1595 getOperandSize(int opIdx) override
1596 {
1597 switch (opIdx) {
1598 case 0: //ssrc_0
1599 return 4;
1600 case 1: //ssrc_1
1601 return 4;
1602 case 2: //sdst
1603 return 4;
1604 default:
1605 fatal("op idx %i out of bounds\n", opIdx);
1606 return -1;
1607 }
1608 } // getOperandSize
1609
1610 void execute(GPUDynInstPtr) override;
1611 }; // Inst_SOP2__S_MUL_HI_I32
1612
1614 {
1615 public:
1618
1619 int
1621 {
1623 } // getNumOperands
1624
1625 int numDstRegOperands() override { return 1; }
1626 int numSrcRegOperands() override { return 1; }
1627
1628 int
1629 getOperandSize(int opIdx) override
1630 {
1631 switch (opIdx) {
1632 case 0: //simm16
1633 return 2;
1634 case 1: //sdst
1635 return 4;
1636 default:
1637 fatal("op idx %i out of bounds\n", opIdx);
1638 return -1;
1639 }
1640 } // getOperandSize
1641
1642 void execute(GPUDynInstPtr) override;
1643 }; // Inst_SOPK__S_MOVK_I32
1644
1646 {
1647 public:
1650
1651 int
1653 {
1655 } // getNumOperands
1656
1657 int numDstRegOperands() override { return 1; }
1658 int numSrcRegOperands() override { return 1; }
1659
1660 int
1661 getOperandSize(int opIdx) override
1662 {
1663 switch (opIdx) {
1664 case 0: //simm16
1665 return 2;
1666 case 1: //sdst
1667 return 4;
1668 default:
1669 fatal("op idx %i out of bounds\n", opIdx);
1670 return -1;
1671 }
1672 } // getOperandSize
1673
1674 void execute(GPUDynInstPtr) override;
1675 }; // Inst_SOPK__S_CMOVK_I32
1676
1678 {
1679 public:
1682
1683 int
1685 {
1687 } // getNumOperands
1688
1689 int numDstRegOperands() override { return 0; }
1690 int numSrcRegOperands() override { return 2; }
1691
1692 int
1693 getOperandSize(int opIdx) override
1694 {
1695 switch (opIdx) {
1696 case 0: //ssrc
1697 return 4;
1698 case 1: //simm16
1699 return 2;
1700 default:
1701 fatal("op idx %i out of bounds\n", opIdx);
1702 return -1;
1703 }
1704 } // getOperandSize
1705
1706 void execute(GPUDynInstPtr) override;
1707 }; // Inst_SOPK__S_CMPK_EQ_I32
1708
1710 {
1711 public:
1714
1715 int
1717 {
1719 } // getNumOperands
1720
1721 int numDstRegOperands() override { return 0; }
1722 int numSrcRegOperands() override { return 2; }
1723
1724 int
1725 getOperandSize(int opIdx) override
1726 {
1727 switch (opIdx) {
1728 case 0: //ssrc
1729 return 4;
1730 case 1: //simm16
1731 return 2;
1732 default:
1733 fatal("op idx %i out of bounds\n", opIdx);
1734 return -1;
1735 }
1736 } // getOperandSize
1737
1738 void execute(GPUDynInstPtr) override;
1739 }; // Inst_SOPK__S_CMPK_LG_I32
1740
1742 {
1743 public:
1746
1747 int
1749 {
1751 } // getNumOperands
1752
1753 int numDstRegOperands() override { return 0; }
1754 int numSrcRegOperands() override { return 2; }
1755
1756 int
1757 getOperandSize(int opIdx) override
1758 {
1759 switch (opIdx) {
1760 case 0: //ssrc
1761 return 4;
1762 case 1: //simm16
1763 return 2;
1764 default:
1765 fatal("op idx %i out of bounds\n", opIdx);
1766 return -1;
1767 }
1768 } // getOperandSize
1769
1770 void execute(GPUDynInstPtr) override;
1771 }; // Inst_SOPK__S_CMPK_GT_I32
1772
1774 {
1775 public:
1778
1779 int
1781 {
1783 } // getNumOperands
1784
1785 int numDstRegOperands() override { return 0; }
1786 int numSrcRegOperands() override { return 2; }
1787
1788 int
1789 getOperandSize(int opIdx) override
1790 {
1791 switch (opIdx) {
1792 case 0: //ssrc
1793 return 4;
1794 case 1: //simm16
1795 return 2;
1796 default:
1797 fatal("op idx %i out of bounds\n", opIdx);
1798 return -1;
1799 }
1800 } // getOperandSize
1801
1802 void execute(GPUDynInstPtr) override;
1803 }; // Inst_SOPK__S_CMPK_GE_I32
1804
1806 {
1807 public:
1810
1811 int
1813 {
1815 } // getNumOperands
1816
1817 int numDstRegOperands() override { return 0; }
1818 int numSrcRegOperands() override { return 2; }
1819
1820 int
1821 getOperandSize(int opIdx) override
1822 {
1823 switch (opIdx) {
1824 case 0: //ssrc
1825 return 4;
1826 case 1: //simm16
1827 return 2;
1828 default:
1829 fatal("op idx %i out of bounds\n", opIdx);
1830 return -1;
1831 }
1832 } // getOperandSize
1833
1834 void execute(GPUDynInstPtr) override;
1835 }; // Inst_SOPK__S_CMPK_LT_I32
1836
1838 {
1839 public:
1842
1843 int
1845 {
1847 } // getNumOperands
1848
1849 int numDstRegOperands() override { return 0; }
1850 int numSrcRegOperands() override { return 2; }
1851
1852 int
1853 getOperandSize(int opIdx) override
1854 {
1855 switch (opIdx) {
1856 case 0: //ssrc
1857 return 4;
1858 case 1: //simm16
1859 return 2;
1860 default:
1861 fatal("op idx %i out of bounds\n", opIdx);
1862 return -1;
1863 }
1864 } // getOperandSize
1865
1866 void execute(GPUDynInstPtr) override;
1867 }; // Inst_SOPK__S_CMPK_LE_I32
1868
1870 {
1871 public:
1874
1875 int
1877 {
1879 } // getNumOperands
1880
1881 int numDstRegOperands() override { return 0; }
1882 int numSrcRegOperands() override { return 2; }
1883
1884 int
1885 getOperandSize(int opIdx) override
1886 {
1887 switch (opIdx) {
1888 case 0: //ssrc
1889 return 4;
1890 case 1: //simm16
1891 return 2;
1892 default:
1893 fatal("op idx %i out of bounds\n", opIdx);
1894 return -1;
1895 }
1896 } // getOperandSize
1897
1898 void execute(GPUDynInstPtr) override;
1899 }; // Inst_SOPK__S_CMPK_EQ_U32
1900
1902 {
1903 public:
1906
1907 int
1909 {
1911 } // getNumOperands
1912
1913 int numDstRegOperands() override { return 0; }
1914 int numSrcRegOperands() override { return 2; }
1915
1916 int
1917 getOperandSize(int opIdx) override
1918 {
1919 switch (opIdx) {
1920 case 0: //ssrc
1921 return 4;
1922 case 1: //simm16
1923 return 2;
1924 default:
1925 fatal("op idx %i out of bounds\n", opIdx);
1926 return -1;
1927 }
1928 } // getOperandSize
1929
1930 void execute(GPUDynInstPtr) override;
1931 }; // Inst_SOPK__S_CMPK_LG_U32
1932
1934 {
1935 public:
1938
1939 int
1941 {
1943 } // getNumOperands
1944
1945 int numDstRegOperands() override { return 0; }
1946 int numSrcRegOperands() override { return 2; }
1947
1948 int
1949 getOperandSize(int opIdx) override
1950 {
1951 switch (opIdx) {
1952 case 0: //ssrc
1953 return 4;
1954 case 1: //simm16
1955 return 2;
1956 default:
1957 fatal("op idx %i out of bounds\n", opIdx);
1958 return -1;
1959 }
1960 } // getOperandSize
1961
1962 void execute(GPUDynInstPtr) override;
1963 }; // Inst_SOPK__S_CMPK_GT_U32
1964
1966 {
1967 public:
1970
1971 int
1973 {
1975 } // getNumOperands
1976
1977 int numDstRegOperands() override { return 0; }
1978 int numSrcRegOperands() override { return 2; }
1979
1980 int
1981 getOperandSize(int opIdx) override
1982 {
1983 switch (opIdx) {
1984 case 0: //ssrc
1985 return 4;
1986 case 1: //simm16
1987 return 2;
1988 default:
1989 fatal("op idx %i out of bounds\n", opIdx);
1990 return -1;
1991 }
1992 } // getOperandSize
1993
1994 void execute(GPUDynInstPtr) override;
1995 }; // Inst_SOPK__S_CMPK_GE_U32
1996
1998 {
1999 public:
2002
2003 int
2005 {
2007 } // getNumOperands
2008
2009 int numDstRegOperands() override { return 0; }
2010 int numSrcRegOperands() override { return 2; }
2011
2012 int
2013 getOperandSize(int opIdx) override
2014 {
2015 switch (opIdx) {
2016 case 0: //ssrc
2017 return 4;
2018 case 1: //simm16
2019 return 2;
2020 default:
2021 fatal("op idx %i out of bounds\n", opIdx);
2022 return -1;
2023 }
2024 } // getOperandSize
2025
2026 void execute(GPUDynInstPtr) override;
2027 }; // Inst_SOPK__S_CMPK_LT_U32
2028
2030 {
2031 public:
2034
2035 int
2037 {
2039 } // getNumOperands
2040
2041 int numDstRegOperands() override { return 0; }
2042 int numSrcRegOperands() override { return 2; }
2043
2044 int
2045 getOperandSize(int opIdx) override
2046 {
2047 switch (opIdx) {
2048 case 0: //ssrc
2049 return 4;
2050 case 1: //simm16
2051 return 2;
2052 default:
2053 fatal("op idx %i out of bounds\n", opIdx);
2054 return -1;
2055 }
2056 } // getOperandSize
2057
2058 void execute(GPUDynInstPtr) override;
2059 }; // Inst_SOPK__S_CMPK_LE_U32
2060
2062 {
2063 public:
2066
2067 int
2069 {
2071 } // getNumOperands
2072
2073 int numDstRegOperands() override { return 1; }
2074 int numSrcRegOperands() override { return 1; }
2075
2076 int
2077 getOperandSize(int opIdx) override
2078 {
2079 switch (opIdx) {
2080 case 0: //simm16
2081 return 2;
2082 case 1: //sdst
2083 return 4;
2084 default:
2085 fatal("op idx %i out of bounds\n", opIdx);
2086 return -1;
2087 }
2088 } // getOperandSize
2089
2090 void execute(GPUDynInstPtr) override;
2091 }; // Inst_SOPK__S_ADDK_I32
2092
2094 {
2095 public:
2098
2099 int
2101 {
2103 } // getNumOperands
2104
2105 int numDstRegOperands() override { return 1; }
2106 int numSrcRegOperands() override { return 1; }
2107
2108 int
2109 getOperandSize(int opIdx) override
2110 {
2111 switch (opIdx) {
2112 case 0: //simm16
2113 return 2;
2114 case 1: //sdst
2115 return 4;
2116 default:
2117 fatal("op idx %i out of bounds\n", opIdx);
2118 return -1;
2119 }
2120 } // getOperandSize
2121
2122 void execute(GPUDynInstPtr) override;
2123 }; // Inst_SOPK__S_MULK_I32
2124
2126 {
2127 public:
2130
2131 int
2133 {
2135 } // getNumOperands
2136
2137 int numDstRegOperands() override { return 0; }
2138 int numSrcRegOperands() override { return 2; }
2139
2140 int
2141 getOperandSize(int opIdx) override
2142 {
2143 switch (opIdx) {
2144 case 0: //sdst
2145 return 8;
2146 case 1: //
2147 return 16;
2148 default:
2149 fatal("op idx %i out of bounds\n", opIdx);
2150 return -1;
2151 }
2152 } // getOperandSize
2153
2154 void execute(GPUDynInstPtr) override;
2155 }; // Inst_SOPK__S_CBRANCH_I_FORK
2156
2158 {
2159 public:
2162
2163 int
2165 {
2167 } // getNumOperands
2168
2169 int numDstRegOperands() override { return 1; }
2170 int numSrcRegOperands() override { return 1; }
2171
2172 int
2173 getOperandSize(int opIdx) override
2174 {
2175 switch (opIdx) {
2176 case 0: //simm16
2177 return 2;
2178 case 1: //sdst
2179 return 4;
2180 default:
2181 fatal("op idx %i out of bounds\n", opIdx);
2182 return -1;
2183 }
2184 } // getOperandSize
2185
2186 void execute(GPUDynInstPtr) override;
2187 }; // Inst_SOPK__S_GETREG_B32
2188
2190 {
2191 public:
2194
2195 int
2197 {
2199 } // getNumOperands
2200
2201 int numDstRegOperands() override { return 1; }
2202 int numSrcRegOperands() override { return 1; }
2203
2204 int
2205 getOperandSize(int opIdx) override
2206 {
2207 switch (opIdx) {
2208 case 0: //ssrc
2209 return 4;
2210 case 1: //simm16
2211 return 2;
2212 default:
2213 fatal("op idx %i out of bounds\n", opIdx);
2214 return -1;
2215 }
2216 } // getOperandSize
2217
2218 void execute(GPUDynInstPtr) override;
2219 }; // Inst_SOPK__S_SETREG_B32
2220
2222 {
2223 public:
2226
2227 int
2229 {
2231 } // getNumOperands
2232
2233 int numDstRegOperands() override { return 1; }
2234 int numSrcRegOperands() override { return 1; }
2235
2236 int
2237 getOperandSize(int opIdx) override
2238 {
2239 switch (opIdx) {
2240 case 0: //simm32
2241 return 4;
2242 case 1: //simm16
2243 return 2;
2244 default:
2245 fatal("op idx %i out of bounds\n", opIdx);
2246 return -1;
2247 }
2248 } // getOperandSize
2249
2250 void execute(GPUDynInstPtr) override;
2251 }; // Inst_SOPK__S_SETREG_IMM32_B32
2252
2254 {
2255 public:
2258
2259 int
2261 {
2263 } // getNumOperands
2264
2265 int numDstRegOperands() override { return 1; }
2266 int numSrcRegOperands() override { return 1; }
2267
2268 int
2269 getOperandSize(int opIdx) override
2270 {
2271 switch (opIdx) {
2272 case 0: //ssrc
2273 return 4;
2274 case 1: //sdst
2275 return 4;
2276 default:
2277 fatal("op idx %i out of bounds\n", opIdx);
2278 return -1;
2279 }
2280 } // getOperandSize
2281
2282 void execute(GPUDynInstPtr) override;
2283 }; // Inst_SOP1__S_MOV_B32
2284
2286 {
2287 public:
2290
2291 int
2293 {
2295 } // getNumOperands
2296
2297 int numDstRegOperands() override { return 1; }
2298 int numSrcRegOperands() override { return 1; }
2299
2300 int
2301 getOperandSize(int opIdx) override
2302 {
2303 switch (opIdx) {
2304 case 0: //ssrc
2305 return 8;
2306 case 1: //sdst
2307 return 8;
2308 default:
2309 fatal("op idx %i out of bounds\n", opIdx);
2310 return -1;
2311 }
2312 } // getOperandSize
2313
2314 void execute(GPUDynInstPtr) override;
2315 }; // Inst_SOP1__S_MOV_B64
2316
2318 {
2319 public:
2322
2323 int
2325 {
2327 } // getNumOperands
2328
2329 int numDstRegOperands() override { return 1; }
2330 int numSrcRegOperands() override { return 1; }
2331
2332 int
2333 getOperandSize(int opIdx) override
2334 {
2335 switch (opIdx) {
2336 case 0: //ssrc
2337 return 4;
2338 case 1: //sdst
2339 return 4;
2340 default:
2341 fatal("op idx %i out of bounds\n", opIdx);
2342 return -1;
2343 }
2344 } // getOperandSize
2345
2346 void execute(GPUDynInstPtr) override;
2347 }; // Inst_SOP1__S_CMOV_B32
2348
2350 {
2351 public:
2354
2355 int
2357 {
2359 } // getNumOperands
2360
2361 int numDstRegOperands() override { return 1; }
2362 int numSrcRegOperands() override { return 1; }
2363
2364 int
2365 getOperandSize(int opIdx) override
2366 {
2367 switch (opIdx) {
2368 case 0: //ssrc
2369 return 8;
2370 case 1: //sdst
2371 return 8;
2372 default:
2373 fatal("op idx %i out of bounds\n", opIdx);
2374 return -1;
2375 }
2376 } // getOperandSize
2377
2378 void execute(GPUDynInstPtr) override;
2379 }; // Inst_SOP1__S_CMOV_B64
2380
2382 {
2383 public:
2386
2387 int
2389 {
2391 } // getNumOperands
2392
2393 int numDstRegOperands() override { return 1; }
2394 int numSrcRegOperands() override { return 1; }
2395
2396 int
2397 getOperandSize(int opIdx) override
2398 {
2399 switch (opIdx) {
2400 case 0: //ssrc
2401 return 4;
2402 case 1: //sdst
2403 return 4;
2404 default:
2405 fatal("op idx %i out of bounds\n", opIdx);
2406 return -1;
2407 }
2408 } // getOperandSize
2409
2410 void execute(GPUDynInstPtr) override;
2411 }; // Inst_SOP1__S_NOT_B32
2412
2414 {
2415 public:
2418
2419 int
2421 {
2423 } // getNumOperands
2424
2425 int numDstRegOperands() override { return 1; }
2426 int numSrcRegOperands() override { return 1; }
2427
2428 int
2429 getOperandSize(int opIdx) override
2430 {
2431 switch (opIdx) {
2432 case 0: //ssrc
2433 return 8;
2434 case 1: //sdst
2435 return 8;
2436 default:
2437 fatal("op idx %i out of bounds\n", opIdx);
2438 return -1;
2439 }
2440 } // getOperandSize
2441
2442 void execute(GPUDynInstPtr) override;
2443 }; // Inst_SOP1__S_NOT_B64
2444
2446 {
2447 public:
2450
2451 int
2453 {
2455 } // getNumOperands
2456
2457 int numDstRegOperands() override { return 1; }
2458 int numSrcRegOperands() override { return 1; }
2459
2460 int
2461 getOperandSize(int opIdx) override
2462 {
2463 switch (opIdx) {
2464 case 0: //ssrc
2465 return 4;
2466 case 1: //sdst
2467 return 4;
2468 default:
2469 fatal("op idx %i out of bounds\n", opIdx);
2470 return -1;
2471 }
2472 } // getOperandSize
2473
2474 void execute(GPUDynInstPtr) override;
2475 }; // Inst_SOP1__S_WQM_B32
2476
2478 {
2479 public:
2482
2483 int
2485 {
2487 } // getNumOperands
2488
2489 int numDstRegOperands() override { return 1; }
2490 int numSrcRegOperands() override { return 1; }
2491
2492 int
2493 getOperandSize(int opIdx) override
2494 {
2495 switch (opIdx) {
2496 case 0: //ssrc
2497 return 8;
2498 case 1: //sdst
2499 return 8;
2500 default:
2501 fatal("op idx %i out of bounds\n", opIdx);
2502 return -1;
2503 }
2504 } // getOperandSize
2505
2506 void execute(GPUDynInstPtr) override;
2507 }; // Inst_SOP1__S_WQM_B64
2508
2510 {
2511 public:
2514
2515 int
2517 {
2519 } // getNumOperands
2520
2521 int numDstRegOperands() override { return 1; }
2522 int numSrcRegOperands() override { return 1; }
2523
2524 int
2525 getOperandSize(int opIdx) override
2526 {
2527 switch (opIdx) {
2528 case 0: //ssrc
2529 return 4;
2530 case 1: //sdst
2531 return 4;
2532 default:
2533 fatal("op idx %i out of bounds\n", opIdx);
2534 return -1;
2535 }
2536 } // getOperandSize
2537
2538 void execute(GPUDynInstPtr) override;
2539 }; // Inst_SOP1__S_BREV_B32
2540
2542 {
2543 public:
2546
2547 int
2549 {
2551 } // getNumOperands
2552
2553 int numDstRegOperands() override { return 1; }
2554 int numSrcRegOperands() override { return 1; }
2555
2556 int
2557 getOperandSize(int opIdx) override
2558 {
2559 switch (opIdx) {
2560 case 0: //ssrc
2561 return 8;
2562 case 1: //sdst
2563 return 8;
2564 default:
2565 fatal("op idx %i out of bounds\n", opIdx);
2566 return -1;
2567 }
2568 } // getOperandSize
2569
2570 void execute(GPUDynInstPtr) override;
2571 }; // Inst_SOP1__S_BREV_B64
2572
2574 {
2575 public:
2578
2579 int
2581 {
2583 } // getNumOperands
2584
2585 int numDstRegOperands() override { return 1; }
2586 int numSrcRegOperands() override { return 1; }
2587
2588 int
2589 getOperandSize(int opIdx) override
2590 {
2591 switch (opIdx) {
2592 case 0: //ssrc
2593 return 4;
2594 case 1: //sdst
2595 return 4;
2596 default:
2597 fatal("op idx %i out of bounds\n", opIdx);
2598 return -1;
2599 }
2600 } // getOperandSize
2601
2602 void execute(GPUDynInstPtr) override;
2603 }; // Inst_SOP1__S_BCNT0_I32_B32
2604
2606 {
2607 public:
2610
2611 int
2613 {
2615 } // getNumOperands
2616
2617 int numDstRegOperands() override { return 1; }
2618 int numSrcRegOperands() override { return 1; }
2619
2620 int
2621 getOperandSize(int opIdx) override
2622 {
2623 switch (opIdx) {
2624 case 0: //ssrc
2625 return 8;
2626 case 1: //sdst
2627 return 4;
2628 default:
2629 fatal("op idx %i out of bounds\n", opIdx);
2630 return -1;
2631 }
2632 } // getOperandSize
2633
2634 void execute(GPUDynInstPtr) override;
2635 }; // Inst_SOP1__S_BCNT0_I32_B64
2636
2638 {
2639 public:
2642
2643 int
2645 {
2647 } // getNumOperands
2648
2649 int numDstRegOperands() override { return 1; }
2650 int numSrcRegOperands() override { return 1; }
2651
2652 int
2653 getOperandSize(int opIdx) override
2654 {
2655 switch (opIdx) {
2656 case 0: //ssrc
2657 return 4;
2658 case 1: //sdst
2659 return 4;
2660 default:
2661 fatal("op idx %i out of bounds\n", opIdx);
2662 return -1;
2663 }
2664 } // getOperandSize
2665
2666 void execute(GPUDynInstPtr) override;
2667 }; // Inst_SOP1__S_BCNT1_I32_B32
2668
2670 {
2671 public:
2674
2675 int
2677 {
2679 } // getNumOperands
2680
2681 int numDstRegOperands() override { return 1; }
2682 int numSrcRegOperands() override { return 1; }
2683
2684 int
2685 getOperandSize(int opIdx) override
2686 {
2687 switch (opIdx) {
2688 case 0: //ssrc
2689 return 8;
2690 case 1: //sdst
2691 return 4;
2692 default:
2693 fatal("op idx %i out of bounds\n", opIdx);
2694 return -1;
2695 }
2696 } // getOperandSize
2697
2698 void execute(GPUDynInstPtr) override;
2699 }; // Inst_SOP1__S_BCNT1_I32_B64
2700
2702 {
2703 public:
2706
2707 int
2709 {
2711 } // getNumOperands
2712
2713 int numDstRegOperands() override { return 1; }
2714 int numSrcRegOperands() override { return 1; }
2715
2716 int
2717 getOperandSize(int opIdx) override
2718 {
2719 switch (opIdx) {
2720 case 0: //ssrc
2721 return 4;
2722 case 1: //sdst
2723 return 4;
2724 default:
2725 fatal("op idx %i out of bounds\n", opIdx);
2726 return -1;
2727 }
2728 } // getOperandSize
2729
2730 void execute(GPUDynInstPtr) override;
2731 }; // Inst_SOP1__S_FF0_I32_B32
2732
2734 {
2735 public:
2738
2739 int
2741 {
2743 } // getNumOperands
2744
2745 int numDstRegOperands() override { return 1; }
2746 int numSrcRegOperands() override { return 1; }
2747
2748 int
2749 getOperandSize(int opIdx) override
2750 {
2751 switch (opIdx) {
2752 case 0: //ssrc
2753 return 8;
2754 case 1: //sdst
2755 return 4;
2756 default:
2757 fatal("op idx %i out of bounds\n", opIdx);
2758 return -1;
2759 }
2760 } // getOperandSize
2761
2762 void execute(GPUDynInstPtr) override;
2763 }; // Inst_SOP1__S_FF0_I32_B64
2764
2766 {
2767 public:
2770
2771 int
2773 {
2775 } // getNumOperands
2776
2777 int numDstRegOperands() override { return 1; }
2778 int numSrcRegOperands() override { return 1; }
2779
2780 int
2781 getOperandSize(int opIdx) override
2782 {
2783 switch (opIdx) {
2784 case 0: //ssrc
2785 return 4;
2786 case 1: //sdst
2787 return 4;
2788 default:
2789 fatal("op idx %i out of bounds\n", opIdx);
2790 return -1;
2791 }
2792 } // getOperandSize
2793
2794 void execute(GPUDynInstPtr) override;
2795 }; // Inst_SOP1__S_FF1_I32_B32
2796
2798 {
2799 public:
2802
2803 int
2805 {
2807 } // getNumOperands
2808
2809 int numDstRegOperands() override { return 1; }
2810 int numSrcRegOperands() override { return 1; }
2811
2812 int
2813 getOperandSize(int opIdx) override
2814 {
2815 switch (opIdx) {
2816 case 0: //ssrc
2817 return 8;
2818 case 1: //sdst
2819 return 4;
2820 default:
2821 fatal("op idx %i out of bounds\n", opIdx);
2822 return -1;
2823 }
2824 } // getOperandSize
2825
2826 void execute(GPUDynInstPtr) override;
2827 }; // Inst_SOP1__S_FF1_I32_B64
2828
2830 {
2831 public:
2834
2835 int
2837 {
2839 } // getNumOperands
2840
2841 int numDstRegOperands() override { return 1; }
2842 int numSrcRegOperands() override { return 1; }
2843
2844 int
2845 getOperandSize(int opIdx) override
2846 {
2847 switch (opIdx) {
2848 case 0: //ssrc
2849 return 4;
2850 case 1: //sdst
2851 return 4;
2852 default:
2853 fatal("op idx %i out of bounds\n", opIdx);
2854 return -1;
2855 }
2856 } // getOperandSize
2857
2858 void execute(GPUDynInstPtr) override;
2859 }; // Inst_SOP1__S_FLBIT_I32_B32
2860
2862 {
2863 public:
2866
2867 int
2869 {
2871 } // getNumOperands
2872
2873 int numDstRegOperands() override { return 1; }
2874 int numSrcRegOperands() override { return 1; }
2875
2876 int
2877 getOperandSize(int opIdx) override
2878 {
2879 switch (opIdx) {
2880 case 0: //ssrc
2881 return 8;
2882 case 1: //sdst
2883 return 4;
2884 default:
2885 fatal("op idx %i out of bounds\n", opIdx);
2886 return -1;
2887 }
2888 } // getOperandSize
2889
2890 void execute(GPUDynInstPtr) override;
2891 }; // Inst_SOP1__S_FLBIT_I32_B64
2892
2894 {
2895 public:
2898
2899 int
2901 {
2903 } // getNumOperands
2904
2905 int numDstRegOperands() override { return 1; }
2906 int numSrcRegOperands() override { return 1; }
2907
2908 int
2909 getOperandSize(int opIdx) override
2910 {
2911 switch (opIdx) {
2912 case 0: //ssrc
2913 return 4;
2914 case 1: //sdst
2915 return 4;
2916 default:
2917 fatal("op idx %i out of bounds\n", opIdx);
2918 return -1;
2919 }
2920 } // getOperandSize
2921
2922 void execute(GPUDynInstPtr) override;
2923 }; // Inst_SOP1__S_FLBIT_I32
2924
2926 {
2927 public:
2930
2931 int
2933 {
2935 } // getNumOperands
2936
2937 int numDstRegOperands() override { return 1; }
2938 int numSrcRegOperands() override { return 1; }
2939
2940 int
2941 getOperandSize(int opIdx) override
2942 {
2943 switch (opIdx) {
2944 case 0: //ssrc
2945 return 8;
2946 case 1: //sdst
2947 return 4;
2948 default:
2949 fatal("op idx %i out of bounds\n", opIdx);
2950 return -1;
2951 }
2952 } // getOperandSize
2953
2954 void execute(GPUDynInstPtr) override;
2955 }; // Inst_SOP1__S_FLBIT_I32_I64
2956
2958 {
2959 public:
2962
2963 int
2965 {
2967 } // getNumOperands
2968
2969 int numDstRegOperands() override { return 1; }
2970 int numSrcRegOperands() override { return 1; }
2971
2972 int
2973 getOperandSize(int opIdx) override
2974 {
2975 switch (opIdx) {
2976 case 0: //ssrc
2977 return 4;
2978 case 1: //sdst
2979 return 4;
2980 default:
2981 fatal("op idx %i out of bounds\n", opIdx);
2982 return -1;
2983 }
2984 } // getOperandSize
2985
2986 void execute(GPUDynInstPtr) override;
2987 }; // Inst_SOP1__S_SEXT_I32_I8
2988
2990 {
2991 public:
2994
2995 int
2997 {
2999 } // getNumOperands
3000
3001 int numDstRegOperands() override { return 1; }
3002 int numSrcRegOperands() override { return 1; }
3003
3004 int
3005 getOperandSize(int opIdx) override
3006 {
3007 switch (opIdx) {
3008 case 0: //ssrc
3009 return 4;
3010 case 1: //sdst
3011 return 4;
3012 default:
3013 fatal("op idx %i out of bounds\n", opIdx);
3014 return -1;
3015 }
3016 } // getOperandSize
3017
3018 void execute(GPUDynInstPtr) override;
3019 }; // Inst_SOP1__S_SEXT_I32_I16
3020
3022 {
3023 public:
3026
3027 int
3029 {
3031 } // getNumOperands
3032
3033 int numDstRegOperands() override { return 1; }
3034 int numSrcRegOperands() override { return 1; }
3035
3036 int
3037 getOperandSize(int opIdx) override
3038 {
3039 switch (opIdx) {
3040 case 0: //ssrc
3041 return 4;
3042 case 1: //sdst
3043 return 4;
3044 default:
3045 fatal("op idx %i out of bounds\n", opIdx);
3046 return -1;
3047 }
3048 } // getOperandSize
3049
3050 void execute(GPUDynInstPtr) override;
3051 }; // Inst_SOP1__S_BITSET0_B32
3052
3054 {
3055 public:
3058
3059 int
3061 {
3063 } // getNumOperands
3064
3065 int numDstRegOperands() override { return 1; }
3066 int numSrcRegOperands() override { return 1; }
3067
3068 int
3069 getOperandSize(int opIdx) override
3070 {
3071 switch (opIdx) {
3072 case 0: //ssrc
3073 return 4;
3074 case 1: //sdst
3075 return 8;
3076 default:
3077 fatal("op idx %i out of bounds\n", opIdx);
3078 return -1;
3079 }
3080 } // getOperandSize
3081
3082 void execute(GPUDynInstPtr) override;
3083 }; // Inst_SOP1__S_BITSET0_B64
3084
3086 {
3087 public:
3090
3091 int
3093 {
3095 } // getNumOperands
3096
3097 int numDstRegOperands() override { return 1; }
3098 int numSrcRegOperands() override { return 1; }
3099
3100 int
3101 getOperandSize(int opIdx) override
3102 {
3103 switch (opIdx) {
3104 case 0: //ssrc
3105 return 4;
3106 case 1: //sdst
3107 return 4;
3108 default:
3109 fatal("op idx %i out of bounds\n", opIdx);
3110 return -1;
3111 }
3112 } // getOperandSize
3113
3114 void execute(GPUDynInstPtr) override;
3115 }; // Inst_SOP1__S_BITSET1_B32
3116
3118 {
3119 public:
3122
3123 int
3125 {
3127 } // getNumOperands
3128
3129 int numDstRegOperands() override { return 1; }
3130 int numSrcRegOperands() override { return 1; }
3131
3132 int
3133 getOperandSize(int opIdx) override
3134 {
3135 switch (opIdx) {
3136 case 0: //ssrc
3137 return 4;
3138 case 1: //sdst
3139 return 8;
3140 default:
3141 fatal("op idx %i out of bounds\n", opIdx);
3142 return -1;
3143 }
3144 } // getOperandSize
3145
3146 void execute(GPUDynInstPtr) override;
3147 }; // Inst_SOP1__S_BITSET1_B64
3148
3150 {
3151 public:
3154
3155 int
3157 {
3159 } // getNumOperands
3160
3161 int numDstRegOperands() override { return 1; }
3162 int numSrcRegOperands() override { return 0; }
3163
3164 int
3165 getOperandSize(int opIdx) override
3166 {
3167 switch (opIdx) {
3168 case 0: //sdst
3169 return 8;
3170 default:
3171 fatal("op idx %i out of bounds\n", opIdx);
3172 return -1;
3173 }
3174 } // getOperandSize
3175
3176 void execute(GPUDynInstPtr) override;
3177 }; // Inst_SOP1__S_GETPC_B64
3178
3180 {
3181 public:
3184
3185 int
3187 {
3189 } // getNumOperands
3190
3191 int numDstRegOperands() override { return 0; }
3192 int numSrcRegOperands() override { return 1; }
3193
3194 int
3195 getOperandSize(int opIdx) override
3196 {
3197 switch (opIdx) {
3198 case 0: //ssrc
3199 return 8;
3200 case 1: //sdst
3201 return 8;
3202 default:
3203 fatal("op idx %i out of bounds\n", opIdx);
3204 return -1;
3205 }
3206 } // getOperandSize
3207
3208 void execute(GPUDynInstPtr) override;
3209 }; // Inst_SOP1__S_SETPC_B64
3210
3212 {
3213 public:
3216
3217 int
3219 {
3221 } // getNumOperands
3222
3223 int numDstRegOperands() override { return 1; }
3224 int numSrcRegOperands() override { return 1; }
3225
3226 int
3227 getOperandSize(int opIdx) override
3228 {
3229 switch (opIdx) {
3230 case 0: //ssrc
3231 return 8;
3232 case 1: //sdst
3233 return 8;
3234 default:
3235 fatal("op idx %i out of bounds\n", opIdx);
3236 return -1;
3237 }
3238 } // getOperandSize
3239
3240 void execute(GPUDynInstPtr) override;
3241 }; // Inst_SOP1__S_SWAPPC_B64
3242
3244 {
3245 public:
3248
3249 int
3251 {
3253 } // getNumOperands
3254
3255 int numDstRegOperands() override { return 0; }
3256 int numSrcRegOperands() override { return 1; }
3257
3258 int
3259 getOperandSize(int opIdx) override
3260 {
3261 switch (opIdx) {
3262 case 0: //ssrc
3263 return 8;
3264 case 1: //sdst
3265 return 8;
3266 default:
3267 fatal("op idx %i out of bounds\n", opIdx);
3268 return -1;
3269 }
3270 } // getOperandSize
3271
3272 void execute(GPUDynInstPtr) override;
3273 }; // Inst_SOP1__S_RFE_B64
3274
3276 {
3277 public:
3280
3281 int
3283 {
3285 } // getNumOperands
3286
3287 int numDstRegOperands() override { return 1; }
3288 int numSrcRegOperands() override { return 1; }
3289
3290 int
3291 getOperandSize(int opIdx) override
3292 {
3293 switch (opIdx) {
3294 case 0: //ssrc
3295 return 8;
3296 case 1: //sdst
3297 return 8;
3298 default:
3299 fatal("op idx %i out of bounds\n", opIdx);
3300 return -1;
3301 }
3302 } // getOperandSize
3303
3304 void execute(GPUDynInstPtr) override;
3305 }; // Inst_SOP1__S_AND_SAVEEXEC_B64
3306
3308 {
3309 public:
3312
3313 int
3315 {
3317 } // getNumOperands
3318
3319 int numDstRegOperands() override { return 1; }
3320 int numSrcRegOperands() override { return 1; }
3321
3322 int
3323 getOperandSize(int opIdx) override
3324 {
3325 switch (opIdx) {
3326 case 0: //ssrc
3327 return 8;
3328 case 1: //sdst
3329 return 8;
3330 default:
3331 fatal("op idx %i out of bounds\n", opIdx);
3332 return -1;
3333 }
3334 } // getOperandSize
3335
3336 void execute(GPUDynInstPtr) override;
3337 }; // Inst_SOP1__S_OR_SAVEEXEC_B64
3338
3340 {
3341 public:
3344
3345 int
3347 {
3349 } // getNumOperands
3350
3351 int numDstRegOperands() override { return 1; }
3352 int numSrcRegOperands() override { return 1; }
3353
3354 int
3355 getOperandSize(int opIdx) override
3356 {
3357 switch (opIdx) {
3358 case 0: //ssrc
3359 return 8;
3360 case 1: //sdst
3361 return 8;
3362 default:
3363 fatal("op idx %i out of bounds\n", opIdx);
3364 return -1;
3365 }
3366 } // getOperandSize
3367
3368 void execute(GPUDynInstPtr) override;
3369 }; // Inst_SOP1__S_XOR_SAVEEXEC_B64
3370
3372 {
3373 public:
3376
3377 int
3379 {
3381 } // getNumOperands
3382
3383 int numDstRegOperands() override { return 1; }
3384 int numSrcRegOperands() override { return 1; }
3385
3386 int
3387 getOperandSize(int opIdx) override
3388 {
3389 switch (opIdx) {
3390 case 0: //ssrc
3391 return 8;
3392 case 1: //sdst
3393 return 8;
3394 default:
3395 fatal("op idx %i out of bounds\n", opIdx);
3396 return -1;
3397 }
3398 } // getOperandSize
3399
3400 void execute(GPUDynInstPtr) override;
3401 }; // Inst_SOP1__S_ANDN2_SAVEEXEC_B64
3402
3404 {
3405 public:
3408
3409 int
3411 {
3413 } // getNumOperands
3414
3415 int numDstRegOperands() override { return 1; }
3416 int numSrcRegOperands() override { return 1; }
3417
3418 int
3419 getOperandSize(int opIdx) override
3420 {
3421 switch (opIdx) {
3422 case 0: //ssrc
3423 return 8;
3424 case 1: //sdst
3425 return 8;
3426 default:
3427 fatal("op idx %i out of bounds\n", opIdx);
3428 return -1;
3429 }
3430 } // getOperandSize
3431
3432 void execute(GPUDynInstPtr) override;
3433 }; // Inst_SOP1__S_ORN2_SAVEEXEC_B64
3434
3436 {
3437 public:
3440
3441 int
3443 {
3445 } // getNumOperands
3446
3447 int numDstRegOperands() override { return 1; }
3448 int numSrcRegOperands() override { return 1; }
3449
3450 int
3451 getOperandSize(int opIdx) override
3452 {
3453 switch (opIdx) {
3454 case 0: //ssrc
3455 return 8;
3456 case 1: //sdst
3457 return 8;
3458 default:
3459 fatal("op idx %i out of bounds\n", opIdx);
3460 return -1;
3461 }
3462 } // getOperandSize
3463
3464 void execute(GPUDynInstPtr) override;
3465 }; // Inst_SOP1__S_NAND_SAVEEXEC_B64
3466
3468 {
3469 public:
3472
3473 int
3475 {
3477 } // getNumOperands
3478
3479 int numDstRegOperands() override { return 1; }
3480 int numSrcRegOperands() override { return 1; }
3481
3482 int
3483 getOperandSize(int opIdx) override
3484 {
3485 switch (opIdx) {
3486 case 0: //ssrc
3487 return 8;
3488 case 1: //sdst
3489 return 8;
3490 default:
3491 fatal("op idx %i out of bounds\n", opIdx);
3492 return -1;
3493 }
3494 } // getOperandSize
3495
3496 void execute(GPUDynInstPtr) override;
3497 }; // Inst_SOP1__S_NOR_SAVEEXEC_B64
3498
3500 {
3501 public:
3504
3505 int
3507 {
3509 } // getNumOperands
3510
3511 int numDstRegOperands() override { return 1; }
3512 int numSrcRegOperands() override { return 1; }
3513
3514 int
3515 getOperandSize(int opIdx) override
3516 {
3517 switch (opIdx) {
3518 case 0: //ssrc
3519 return 8;
3520 case 1: //sdst
3521 return 8;
3522 default:
3523 fatal("op idx %i out of bounds\n", opIdx);
3524 return -1;
3525 }
3526 } // getOperandSize
3527
3528 void execute(GPUDynInstPtr) override;
3529 }; // Inst_SOP1__S_XNOR_SAVEEXEC_B64
3530
3532 {
3533 public:
3536
3537 int
3539 {
3541 } // getNumOperands
3542
3543 int numDstRegOperands() override { return 1; }
3544 int numSrcRegOperands() override { return 1; }
3545
3546 int
3547 getOperandSize(int opIdx) override
3548 {
3549 switch (opIdx) {
3550 case 0: //ssrc
3551 return 4;
3552 case 1: //sdst
3553 return 4;
3554 default:
3555 fatal("op idx %i out of bounds\n", opIdx);
3556 return -1;
3557 }
3558 } // getOperandSize
3559
3560 void execute(GPUDynInstPtr) override;
3561 }; // Inst_SOP1__S_QUADMASK_B32
3562
3564 {
3565 public:
3568
3569 int
3571 {
3573 } // getNumOperands
3574
3575 int numDstRegOperands() override { return 1; }
3576 int numSrcRegOperands() override { return 1; }
3577
3578 int
3579 getOperandSize(int opIdx) override
3580 {
3581 switch (opIdx) {
3582 case 0: //ssrc
3583 return 8;
3584 case 1: //sdst
3585 return 8;
3586 default:
3587 fatal("op idx %i out of bounds\n", opIdx);
3588 return -1;
3589 }
3590 } // getOperandSize
3591
3592 void execute(GPUDynInstPtr) override;
3593 }; // Inst_SOP1__S_QUADMASK_B64
3594
3596 {
3597 public:
3600
3601 int
3603 {
3605 } // getNumOperands
3606
3607 int numDstRegOperands() override { return 1; }
3608 int numSrcRegOperands() override { return 1; }
3609
3610 int
3611 getOperandSize(int opIdx) override
3612 {
3613 switch (opIdx) {
3614 case 0: //ssrc
3615 return 4;
3616 case 1: //sdst
3617 return 4;
3618 default:
3619 fatal("op idx %i out of bounds\n", opIdx);
3620 return -1;
3621 }
3622 } // getOperandSize
3623
3624 void execute(GPUDynInstPtr) override;
3625 }; // Inst_SOP1__S_MOVRELS_B32
3626
3628 {
3629 public:
3632
3633 int
3635 {
3637 } // getNumOperands
3638
3639 int numDstRegOperands() override { return 1; }
3640 int numSrcRegOperands() override { return 1; }
3641
3642 int
3643 getOperandSize(int opIdx) override
3644 {
3645 switch (opIdx) {
3646 case 0: //sdst
3647 return 8;
3648 case 1: //sdst
3649 return 8;
3650 default:
3651 fatal("op idx %i out of bounds\n", opIdx);
3652 return -1;
3653 }
3654 } // getOperandSize
3655
3656 void execute(GPUDynInstPtr) override;
3657 }; // Inst_SOP1__S_MOVRELS_B64
3658
3660 {
3661 public:
3664
3665 int
3667 {
3669 } // getNumOperands
3670
3671 int numDstRegOperands() override { return 1; }
3672 int numSrcRegOperands() override { return 1; }
3673
3674 int
3675 getOperandSize(int opIdx) override
3676 {
3677 switch (opIdx) {
3678 case 0: //ssrc
3679 return 4;
3680 case 1: //sdst
3681 return 4;
3682 default:
3683 fatal("op idx %i out of bounds\n", opIdx);
3684 return -1;
3685 }
3686 } // getOperandSize
3687
3688 void execute(GPUDynInstPtr) override;
3689 }; // Inst_SOP1__S_MOVRELD_B32
3690
3692 {
3693 public:
3696
3697 int
3699 {
3701 } // getNumOperands
3702
3703 int numDstRegOperands() override { return 1; }
3704 int numSrcRegOperands() override { return 1; }
3705
3706 int
3707 getOperandSize(int opIdx) override
3708 {
3709 switch (opIdx) {
3710 case 0: //ssrc
3711 return 8;
3712 case 1: //sdst
3713 return 8;
3714 default:
3715 fatal("op idx %i out of bounds\n", opIdx);
3716 return -1;
3717 }
3718 } // getOperandSize
3719
3720 void execute(GPUDynInstPtr) override;
3721 }; // Inst_SOP1__S_MOVRELD_B64
3722
3724 {
3725 public:
3728
3729 int
3731 {
3733 } // getNumOperands
3734
3735 int numDstRegOperands() override { return 0; }
3736 int numSrcRegOperands() override { return 1; }
3737
3738 int
3739 getOperandSize(int opIdx) override
3740 {
3741 switch (opIdx) {
3742 case 0: //ssrc
3743 return 4;
3744 case 1: //sdst
3745 return 4;
3746 default:
3747 fatal("op idx %i out of bounds\n", opIdx);
3748 return -1;
3749 }
3750 } // getOperandSize
3751
3752 void execute(GPUDynInstPtr) override;
3753 }; // Inst_SOP1__S_CBRANCH_JOIN
3754
3756 {
3757 public:
3760
3761 int
3763 {
3765 } // getNumOperands
3766
3767 int numDstRegOperands() override { return 1; }
3768 int numSrcRegOperands() override { return 1; }
3769
3770 int
3771 getOperandSize(int opIdx) override
3772 {
3773 switch (opIdx) {
3774 case 0: //ssrc
3775 return 4;
3776 case 1: //sdst
3777 return 4;
3778 default:
3779 fatal("op idx %i out of bounds\n", opIdx);
3780 return -1;
3781 }
3782 } // getOperandSize
3783
3784 void execute(GPUDynInstPtr) override;
3785 }; // Inst_SOP1__S_ABS_I32
3786
3788 {
3789 public:
3792
3793 int
3795 {
3797 } // getNumOperands
3798
3799 int numDstRegOperands() override { return 1; }
3800 int numSrcRegOperands() override { return 1; }
3801
3802 int
3803 getOperandSize(int opIdx) override
3804 {
3805 switch (opIdx) {
3806 case 0: //ssrc
3807 return 4;
3808 case 1: //sdst
3809 return 4;
3810 default:
3811 fatal("op idx %i out of bounds\n", opIdx);
3812 return -1;
3813 }
3814 } // getOperandSize
3815
3816 void execute(GPUDynInstPtr) override;
3817 }; // Inst_SOP1__S_MOV_FED_B32
3818
3820 {
3821 public:
3824
3825 int
3827 {
3829 } // getNumOperands
3830
3831 int numDstRegOperands() override { return 0; }
3832 int numSrcRegOperands() override { return 1; }
3833
3834 int
3835 getOperandSize(int opIdx) override
3836 {
3837 switch (opIdx) {
3838 case 0: //ssrc
3839 return 4;
3840 case 1: //sdst
3841 return 4;
3842 default:
3843 fatal("op idx %i out of bounds\n", opIdx);
3844 return -1;
3845 }
3846 } // getOperandSize
3847
3848 void execute(GPUDynInstPtr) override;
3849 }; // Inst_SOP1__S_SET_GPR_IDX_IDX
3850
3852 {
3853 public:
3856
3857 int
3859 {
3861 } // getNumOperands
3862
3863 int numDstRegOperands() override { return 0; }
3864 int numSrcRegOperands() override { return 2; }
3865
3866 int
3867 getOperandSize(int opIdx) override
3868 {
3869 switch (opIdx) {
3870 case 0: //ssrc_0
3871 return 4;
3872 case 1: //ssrc_1
3873 return 4;
3874 default:
3875 fatal("op idx %i out of bounds\n", opIdx);
3876 return -1;
3877 }
3878 } // getOperandSize
3879
3880 void execute(GPUDynInstPtr) override;
3881 }; // Inst_SOPC__S_CMP_EQ_I32
3882
3884 {
3885 public:
3888
3889 int
3891 {
3893 } // getNumOperands
3894
3895 int numDstRegOperands() override { return 0; }
3896 int numSrcRegOperands() override { return 2; }
3897
3898 int
3899 getOperandSize(int opIdx) override
3900 {
3901 switch (opIdx) {
3902 case 0: //ssrc_0
3903 return 4;
3904 case 1: //ssrc_1
3905 return 4;
3906 default:
3907 fatal("op idx %i out of bounds\n", opIdx);
3908 return -1;
3909 }
3910 } // getOperandSize
3911
3912 void execute(GPUDynInstPtr) override;
3913 }; // Inst_SOPC__S_CMP_LG_I32
3914
3916 {
3917 public:
3920
3921 int
3923 {
3925 } // getNumOperands
3926
3927 int numDstRegOperands() override { return 0; }
3928 int numSrcRegOperands() override { return 2; }
3929
3930 int
3931 getOperandSize(int opIdx) override
3932 {
3933 switch (opIdx) {
3934 case 0: //ssrc_0
3935 return 4;
3936 case 1: //ssrc_1
3937 return 4;
3938 default:
3939 fatal("op idx %i out of bounds\n", opIdx);
3940 return -1;
3941 }
3942 } // getOperandSize
3943
3944 void execute(GPUDynInstPtr) override;
3945 }; // Inst_SOPC__S_CMP_GT_I32
3946
3948 {
3949 public:
3952
3953 int
3955 {
3957 } // getNumOperands
3958
3959 int numDstRegOperands() override { return 0; }
3960 int numSrcRegOperands() override { return 2; }
3961
3962 int
3963 getOperandSize(int opIdx) override
3964 {
3965 switch (opIdx) {
3966 case 0: //ssrc_0
3967 return 4;
3968 case 1: //ssrc_1
3969 return 4;
3970 default:
3971 fatal("op idx %i out of bounds\n", opIdx);
3972 return -1;
3973 }
3974 } // getOperandSize
3975
3976 void execute(GPUDynInstPtr) override;
3977 }; // Inst_SOPC__S_CMP_GE_I32
3978
3980 {
3981 public:
3984
3985 int
3987 {
3989 } // getNumOperands
3990
3991 int numDstRegOperands() override { return 0; }
3992 int numSrcRegOperands() override { return 2; }
3993
3994 int
3995 getOperandSize(int opIdx) override
3996 {
3997 switch (opIdx) {
3998 case 0: //ssrc_0
3999 return 4;
4000 case 1: //ssrc_1
4001 return 4;
4002 default:
4003 fatal("op idx %i out of bounds\n", opIdx);
4004 return -1;
4005 }
4006 } // getOperandSize
4007
4008 void execute(GPUDynInstPtr) override;
4009 }; // Inst_SOPC__S_CMP_LT_I32
4010
4012 {
4013 public:
4016
4017 int
4019 {
4021 } // getNumOperands
4022
4023 int numDstRegOperands() override { return 0; }
4024 int numSrcRegOperands() override { return 2; }
4025
4026 int
4027 getOperandSize(int opIdx) override
4028 {
4029 switch (opIdx) {
4030 case 0: //ssrc_0
4031 return 4;
4032 case 1: //ssrc_1
4033 return 4;
4034 default:
4035 fatal("op idx %i out of bounds\n", opIdx);
4036 return -1;
4037 }
4038 } // getOperandSize
4039
4040 void execute(GPUDynInstPtr) override;
4041 }; // Inst_SOPC__S_CMP_LE_I32
4042
4044 {
4045 public:
4048
4049 int
4051 {
4053 } // getNumOperands
4054
4055 int numDstRegOperands() override { return 0; }
4056 int numSrcRegOperands() override { return 2; }
4057
4058 int
4059 getOperandSize(int opIdx) override
4060 {
4061 switch (opIdx) {
4062 case 0: //ssrc_0
4063 return 4;
4064 case 1: //ssrc_1
4065 return 4;
4066 default:
4067 fatal("op idx %i out of bounds\n", opIdx);
4068 return -1;
4069 }
4070 } // getOperandSize
4071
4072 void execute(GPUDynInstPtr) override;
4073 }; // Inst_SOPC__S_CMP_EQ_U32
4074
4076 {
4077 public:
4080
4081 int
4083 {
4085 } // getNumOperands
4086
4087 int numDstRegOperands() override { return 0; }
4088 int numSrcRegOperands() override { return 2; }
4089
4090 int
4091 getOperandSize(int opIdx) override
4092 {
4093 switch (opIdx) {
4094 case 0: //ssrc_0
4095 return 4;
4096 case 1: //ssrc_1
4097 return 4;
4098 default:
4099 fatal("op idx %i out of bounds\n", opIdx);
4100 return -1;
4101 }
4102 } // getOperandSize
4103
4104 void execute(GPUDynInstPtr) override;
4105 }; // Inst_SOPC__S_CMP_LG_U32
4106
4108 {
4109 public:
4112
4113 int
4115 {
4117 } // getNumOperands
4118
4119 int numDstRegOperands() override { return 0; }
4120 int numSrcRegOperands() override { return 2; }
4121
4122 int
4123 getOperandSize(int opIdx) override
4124 {
4125 switch (opIdx) {
4126 case 0: //ssrc_0
4127 return 4;
4128 case 1: //ssrc_1
4129 return 4;
4130 default:
4131 fatal("op idx %i out of bounds\n", opIdx);
4132 return -1;
4133 }
4134 } // getOperandSize
4135
4136 void execute(GPUDynInstPtr) override;
4137 }; // Inst_SOPC__S_CMP_GT_U32
4138
4140 {
4141 public:
4144
4145 int
4147 {
4149 } // getNumOperands
4150
4151 int numDstRegOperands() override { return 0; }
4152 int numSrcRegOperands() override { return 2; }
4153
4154 int
4155 getOperandSize(int opIdx) override
4156 {
4157 switch (opIdx) {
4158 case 0: //ssrc_0
4159 return 4;
4160 case 1: //ssrc_1
4161 return 4;
4162 default:
4163 fatal("op idx %i out of bounds\n", opIdx);
4164 return -1;
4165 }
4166 } // getOperandSize
4167
4168 void execute(GPUDynInstPtr) override;
4169 }; // Inst_SOPC__S_CMP_GE_U32
4170
4172 {
4173 public:
4176
4177 int
4179 {
4181 } // getNumOperands
4182
4183 int numDstRegOperands() override { return 0; }
4184 int numSrcRegOperands() override { return 2; }
4185
4186 int
4187 getOperandSize(int opIdx) override
4188 {
4189 switch (opIdx) {
4190 case 0: //ssrc_0
4191 return 4;
4192 case 1: //ssrc_1
4193 return 4;
4194 default:
4195 fatal("op idx %i out of bounds\n", opIdx);
4196 return -1;
4197 }
4198 } // getOperandSize
4199
4200 void execute(GPUDynInstPtr) override;
4201 }; // Inst_SOPC__S_CMP_LT_U32
4202
4204 {
4205 public:
4208
4209 int
4211 {
4213 } // getNumOperands
4214
4215 int numDstRegOperands() override { return 0; }
4216 int numSrcRegOperands() override { return 2; }
4217
4218 int
4219 getOperandSize(int opIdx) override
4220 {
4221 switch (opIdx) {
4222 case 0: //ssrc_0
4223 return 4;
4224 case 1: //ssrc_1
4225 return 4;
4226 default:
4227 fatal("op idx %i out of bounds\n", opIdx);
4228 return -1;
4229 }
4230 } // getOperandSize
4231
4232 void execute(GPUDynInstPtr) override;
4233 }; // Inst_SOPC__S_CMP_LE_U32
4234
4236 {
4237 public:
4240
4241 int
4243 {
4245 } // getNumOperands
4246
4247 int numDstRegOperands() override { return 0; }
4248 int numSrcRegOperands() override { return 2; }
4249
4250 int
4251 getOperandSize(int opIdx) override
4252 {
4253 switch (opIdx) {
4254 case 0: //ssrc_0
4255 return 4;
4256 case 1: //ssrc_1
4257 return 4;
4258 default:
4259 fatal("op idx %i out of bounds\n", opIdx);
4260 return -1;
4261 }
4262 } // getOperandSize
4263
4264 void execute(GPUDynInstPtr) override;
4265 }; // Inst_SOPC__S_BITCMP0_B32
4266
4268 {
4269 public:
4272
4273 int
4275 {
4277 } // getNumOperands
4278
4279 int numDstRegOperands() override { return 0; }
4280 int numSrcRegOperands() override { return 2; }
4281
4282 int
4283 getOperandSize(int opIdx) override
4284 {
4285 switch (opIdx) {
4286 case 0: //ssrc_0
4287 return 4;
4288 case 1: //ssrc_1
4289 return 4;
4290 default:
4291 fatal("op idx %i out of bounds\n", opIdx);
4292 return -1;
4293 }
4294 } // getOperandSize
4295
4296 void execute(GPUDynInstPtr) override;
4297 }; // Inst_SOPC__S_BITCMP1_B32
4298
4300 {
4301 public:
4304
4305 int
4307 {
4309 } // getNumOperands
4310
4311 int numDstRegOperands() override { return 0; }
4312 int numSrcRegOperands() override { return 2; }
4313
4314 int
4315 getOperandSize(int opIdx) override
4316 {
4317 switch (opIdx) {
4318 case 0: //ssrc_0
4319 return 8;
4320 case 1: //ssrc_1
4321 return 4;
4322 default:
4323 fatal("op idx %i out of bounds\n", opIdx);
4324 return -1;
4325 }
4326 } // getOperandSize
4327
4328 void execute(GPUDynInstPtr) override;
4329 }; // Inst_SOPC__S_BITCMP0_B64
4330
4332 {
4333 public:
4336
4337 int
4339 {
4341 } // getNumOperands
4342
4343 int numDstRegOperands() override { return 0; }
4344 int numSrcRegOperands() override { return 2; }
4345
4346 int
4347 getOperandSize(int opIdx) override
4348 {
4349 switch (opIdx) {
4350 case 0: //ssrc_0
4351 return 8;
4352 case 1: //ssrc_1
4353 return 4;
4354 default:
4355 fatal("op idx %i out of bounds\n", opIdx);
4356 return -1;
4357 }
4358 } // getOperandSize
4359
4360 void execute(GPUDynInstPtr) override;
4361 }; // Inst_SOPC__S_BITCMP1_B64
4362
4364 {
4365 public:
4368
4369 int
4371 {
4373 } // getNumOperands
4374
4375 int numDstRegOperands() override { return 0; }
4376 int numSrcRegOperands() override { return 2; }
4377
4378 int
4379 getOperandSize(int opIdx) override
4380 {
4381 switch (opIdx) {
4382 case 0: //ssrc_0
4383 return 4;
4384 case 1: //ssrc_1
4385 return 4;
4386 default:
4387 fatal("op idx %i out of bounds\n", opIdx);
4388 return -1;
4389 }
4390 } // getOperandSize
4391
4392 void execute(GPUDynInstPtr) override;
4393 }; // Inst_SOPC__S_SETVSKIP
4394
4396 {
4397 public:
4400
4401 int
4403 {
4405 } // getNumOperands
4406
4407 int numDstRegOperands() override { return 0; }
4408 int numSrcRegOperands() override { return 2; }
4409
4410 int
4411 getOperandSize(int opIdx) override
4412 {
4413 switch (opIdx) {
4414 case 0: //ssrc_0
4415 return 4;
4416 case 1: //simm4
4417 return 4;
4418 default:
4419 fatal("op idx %i out of bounds\n", opIdx);
4420 return -1;
4421 }
4422 } // getOperandSize
4423
4424 void execute(GPUDynInstPtr) override;
4425 }; // Inst_SOPC__S_SET_GPR_IDX_ON
4426
4428 {
4429 public:
4432
4433 int
4435 {
4437 } // getNumOperands
4438
4439 int numDstRegOperands() override { return 0; }
4440 int numSrcRegOperands() override { return 2; }
4441
4442 int
4443 getOperandSize(int opIdx) override
4444 {
4445 switch (opIdx) {
4446 case 0: //ssrc_0
4447 return 8;
4448 case 1: //ssrc_1
4449 return 8;
4450 default:
4451 fatal("op idx %i out of bounds\n", opIdx);
4452 return -1;
4453 }
4454 } // getOperandSize
4455
4456 void execute(GPUDynInstPtr) override;
4457 }; // Inst_SOPC__S_CMP_EQ_U64
4458
4460 {
4461 public:
4464
4465 int
4467 {
4469 } // getNumOperands
4470
4471 int numDstRegOperands() override { return 0; }
4472 int numSrcRegOperands() override { return 2; }
4473
4474 int
4475 getOperandSize(int opIdx) override
4476 {
4477 switch (opIdx) {
4478 case 0: //ssrc_0
4479 return 8;
4480 case 1: //ssrc_1
4481 return 8;
4482 default:
4483 fatal("op idx %i out of bounds\n", opIdx);
4484 return -1;
4485 }
4486 } // getOperandSize
4487
4488 void execute(GPUDynInstPtr) override;
4489 }; // Inst_SOPC__S_CMP_LG_U64
4490
4492 {
4493 public:
4496
4497 int
4499 {
4501 } // getNumOperands
4502
4503 int numDstRegOperands() override { return 0; }
4504 int numSrcRegOperands() override { return 1; }
4505
4506 int
4507 getOperandSize(int opIdx) override
4508 {
4509 switch (opIdx) {
4510 case 0: //simm16
4511 return 2;
4512 default:
4513 fatal("op idx %i out of bounds\n", opIdx);
4514 return -1;
4515 }
4516 } // getOperandSize
4517
4518 void execute(GPUDynInstPtr) override;
4519 }; // Inst_SOPP__S_NOP
4520
4522 {
4523 public:
4526
4527 int
4529 {
4531 } // getNumOperands
4532
4533 int numDstRegOperands() override { return 0; }
4534 int numSrcRegOperands() override { return 0; }
4535
4536 int
4537 getOperandSize(int opIdx) override
4538 {
4539 switch (opIdx) {
4540 case 0: //simm16
4541 return 2;
4542 default:
4543 fatal("op idx %i out of bounds\n", opIdx);
4544 return -1;
4545 }
4546 } // getOperandSize
4547
4548 void execute(GPUDynInstPtr) override;
4549 }; // Inst_SOPP__S_ENDPGM
4550
4552 {
4553 public:
4556
4557 int
4559 {
4561 } // getNumOperands
4562
4563 int numDstRegOperands() override { return 0; }
4564 int numSrcRegOperands() override { return 1; }
4565
4566 int
4567 getOperandSize(int opIdx) override
4568 {
4569 switch (opIdx) {
4570 case 0: //label
4571 return 2;
4572 default:
4573 fatal("op idx %i out of bounds\n", opIdx);
4574 return -1;
4575 }
4576 } // getOperandSize
4577
4578 void execute(GPUDynInstPtr) override;
4579 }; // Inst_SOPP__S_BRANCH
4580
4582 {
4583 public:
4586
4587 int
4589 {
4591 } // getNumOperands
4592
4593 int numDstRegOperands() override { return 0; }
4594 int numSrcRegOperands() override { return 0; }
4595
4596 int
4597 getOperandSize(int opIdx) override
4598 {
4599 switch (opIdx) {
4600 case 0: //simm16
4601 return 2;
4602 default:
4603 fatal("op idx %i out of bounds\n", opIdx);
4604 return -1;
4605 }
4606 } // getOperandSize
4607
4608 void execute(GPUDynInstPtr) override;
4609 }; // Inst_SOPP__S_WAKEUP
4610
4612 {
4613 public:
4616
4617 int
4619 {
4621 } // getNumOperands
4622
4623 int numDstRegOperands() override { return 0; }
4624 int numSrcRegOperands() override { return 1; }
4625
4626 int
4627 getOperandSize(int opIdx) override
4628 {
4629 switch (opIdx) {
4630 case 0: //label
4631 return 2;
4632 default:
4633 fatal("op idx %i out of bounds\n", opIdx);
4634 return -1;
4635 }
4636 } // getOperandSize
4637
4638 void execute(GPUDynInstPtr) override;
4639 }; // Inst_SOPP__S_CBRANCH_SCC0
4640
4642 {
4643 public:
4646
4647 int
4649 {
4651 } // getNumOperands
4652
4653 int numDstRegOperands() override { return 0; }
4654 int numSrcRegOperands() override { return 1; }
4655
4656 int
4657 getOperandSize(int opIdx) override
4658 {
4659 switch (opIdx) {
4660 case 0: //label
4661 return 2;
4662 default:
4663 fatal("op idx %i out of bounds\n", opIdx);
4664 return -1;
4665 }
4666 } // getOperandSize
4667
4668 void execute(GPUDynInstPtr) override;
4669 }; // Inst_SOPP__S_CBRANCH_SCC1
4670
4672 {
4673 public:
4676
4677 int
4679 {
4681 } // getNumOperands
4682
4683 int numDstRegOperands() override { return 0; }
4684 int numSrcRegOperands() override { return 2; }
4685
4686 int
4687 getOperandSize(int opIdx) override
4688 {
4689 switch (opIdx) {
4690 case 0: //label
4691 return 2;
4692 case 1:
4693 return 8;
4694 default:
4695 fatal("op idx %i out of bounds\n", opIdx);
4696 return -1;
4697 }
4698 } // getOperandSize
4699
4700 void execute(GPUDynInstPtr) override;
4701 }; // Inst_SOPP__S_CBRANCH_VCCZ
4702
4704 {
4705 public:
4708
4709 int
4711 {
4713 } // getNumOperands
4714
4715 int numDstRegOperands() override { return 0; }
4716 int numSrcRegOperands() override { return 2; }
4717
4718 int
4719 getOperandSize(int opIdx) override
4720 {
4721 switch (opIdx) {
4722 case 0: //label
4723 return 2;
4724 case 1:
4725 return 8;
4726 default:
4727 fatal("op idx %i out of bounds\n", opIdx);
4728 return -1;
4729 }
4730 } // getOperandSize
4731
4732 void execute(GPUDynInstPtr) override;
4733 }; // Inst_SOPP__S_CBRANCH_VCCNZ
4734
4736 {
4737 public:
4740
4741 int
4743 {
4745 } // getNumOperands
4746
4747 int numDstRegOperands() override { return 0; }
4748 int numSrcRegOperands() override { return 1; }
4749
4750 int
4751 getOperandSize(int opIdx) override
4752 {
4753 switch (opIdx) {
4754 case 0: //label
4755 return 2;
4756 default:
4757 fatal("op idx %i out of bounds\n", opIdx);
4758 return -1;
4759 }
4760 } // getOperandSize
4761
4762 void execute(GPUDynInstPtr) override;
4763 }; // Inst_SOPP__S_CBRANCH_EXECZ
4764
4766 {
4767 public:
4770
4771 int
4773 {
4775 } // getNumOperands
4776
4777 int numDstRegOperands() override { return 0; }
4778 int numSrcRegOperands() override { return 1; }
4779
4780 int
4781 getOperandSize(int opIdx) override
4782 {
4783 switch (opIdx) {
4784 case 0: //label
4785 return 2;
4786 default:
4787 fatal("op idx %i out of bounds\n", opIdx);
4788 return -1;
4789 }
4790 } // getOperandSize
4791
4792 void execute(GPUDynInstPtr) override;
4793 }; // Inst_SOPP__S_CBRANCH_EXECNZ
4794
4796 {
4797 public:
4800
4801 int
4803 {
4805 } // getNumOperands
4806
4807 int numDstRegOperands() override { return 0; }
4808 int numSrcRegOperands() override { return 0; }
4809
4810 int
4811 getOperandSize(int opIdx) override
4812 {
4813 switch (opIdx) {
4814 case 0: //simm16
4815 return 2;
4816 default:
4817 fatal("op idx %i out of bounds\n", opIdx);
4818 return -1;
4819 }
4820 } // getOperandSize
4821
4822 void execute(GPUDynInstPtr) override;
4823 }; // Inst_SOPP__S_BARRIER
4824
4826 {
4827 public:
4830
4831 int
4833 {
4835 } // getNumOperands
4836
4837 int numDstRegOperands() override { return 0; }
4838 int numSrcRegOperands() override { return 1; }
4839
4840 int
4841 getOperandSize(int opIdx) override
4842 {
4843 switch (opIdx) {
4844 case 0: //simm16
4845 return 2;
4846 default:
4847 fatal("op idx %i out of bounds\n", opIdx);
4848 return -1;
4849 }
4850 } // getOperandSize
4851
4852 void execute(GPUDynInstPtr) override;
4853 }; // Inst_SOPP__S_SETKILL
4854
4856 {
4857 public:
4860
4861 int
4863 {
4865 } // getNumOperands
4866
4867 int numDstRegOperands() override { return 0; }
4868 int numSrcRegOperands() override { return 1; }
4869
4870 int
4871 getOperandSize(int opIdx) override
4872 {
4873 switch (opIdx) {
4874 case 0: //simm16
4875 return 2;
4876 default:
4877 fatal("op idx %i out of bounds\n", opIdx);
4878 return -1;
4879 }
4880 } // getOperandSize
4881
4882 void execute(GPUDynInstPtr) override;
4883 }; // Inst_SOPP__S_WAITCNT
4884
4886 {
4887 public:
4890
4891 int
4893 {
4895 } // getNumOperands
4896
4897 int numDstRegOperands() override { return 0; }
4898 int numSrcRegOperands() override { return 1; }
4899
4900 int
4901 getOperandSize(int opIdx) override
4902 {
4903 switch (opIdx) {
4904 case 0: //simm16
4905 return 2;
4906 default:
4907 fatal("op idx %i out of bounds\n", opIdx);
4908 return -1;
4909 }
4910 } // getOperandSize
4911
4912 void execute(GPUDynInstPtr) override;
4913 }; // Inst_SOPP__S_SETHALT
4914
4916 {
4917 public:
4920
4921 int
4923 {
4925 } // getNumOperands
4926
4927 int numDstRegOperands() override { return 0; }
4928 int numSrcRegOperands() override { return 1; }
4929
4930 int
4931 getOperandSize(int opIdx) override
4932 {
4933 switch (opIdx) {
4934 case 0: //simm16
4935 return 2;
4936 default:
4937 fatal("op idx %i out of bounds\n", opIdx);
4938 return -1;
4939 }
4940 } // getOperandSize
4941
4942 void execute(GPUDynInstPtr) override;
4943 }; // Inst_SOPP__S_SLEEP
4944
4946 {
4947 public:
4950
4951 int
4953 {
4955 } // getNumOperands
4956
4957 int numDstRegOperands() override { return 0; }
4958 int numSrcRegOperands() override { return 1; }
4959
4960 int
4961 getOperandSize(int opIdx) override
4962 {
4963 switch (opIdx) {
4964 case 0: //simm16
4965 return 2;
4966 default:
4967 fatal("op idx %i out of bounds\n", opIdx);
4968 return -1;
4969 }
4970 } // getOperandSize
4971
4972 void execute(GPUDynInstPtr) override;
4973 }; // Inst_SOPP__S_SETPRIO
4974
4976 {
4977 public:
4980
4981 int
4983 {
4985 } // getNumOperands
4986
4987 int numDstRegOperands() override { return 0; }
4988 int numSrcRegOperands() override { return 1; }
4989
4990 int
4991 getOperandSize(int opIdx) override
4992 {
4993 switch (opIdx) {
4994 case 0: //simm16
4995 return 2;
4996 default:
4997 fatal("op idx %i out of bounds\n", opIdx);
4998 return -1;
4999 }
5000 } // getOperandSize
5001
5002 void execute(GPUDynInstPtr) override;
5003 }; // Inst_SOPP__S_SENDMSG
5004
5006 {
5007 public:
5010
5011 int
5013 {
5015 } // getNumOperands
5016
5017 int numDstRegOperands() override { return 0; }
5018 int numSrcRegOperands() override { return 1; }
5019
5020 int
5021 getOperandSize(int opIdx) override
5022 {
5023 switch (opIdx) {
5024 case 0: //simm16
5025 return 2;
5026 default:
5027 fatal("op idx %i out of bounds\n", opIdx);
5028 return -1;
5029 }
5030 } // getOperandSize
5031
5032 void execute(GPUDynInstPtr) override;
5033 }; // Inst_SOPP__S_SENDMSGHALT
5034
5036 {
5037 public:
5040
5041 int
5043 {
5045 } // getNumOperands
5046
5047 int numDstRegOperands() override { return 0; }
5048 int numSrcRegOperands() override { return 1; }
5049
5050 int
5051 getOperandSize(int opIdx) override
5052 {
5053 switch (opIdx) {
5054 case 0: //simm16
5055 return 2;
5056 default:
5057 fatal("op idx %i out of bounds\n", opIdx);
5058 return -1;
5059 }
5060 } // getOperandSize
5061
5062 void execute(GPUDynInstPtr) override;
5063 }; // Inst_SOPP__S_TRAP
5064
5066 {
5067 public:
5070
5071 int
5073 {
5075 } // getNumOperands
5076
5077 int numDstRegOperands() override { return 0; }
5078 int numSrcRegOperands() override { return 0; }
5079
5080 int
5081 getOperandSize(int opIdx) override
5082 {
5083 switch (opIdx) {
5084 case 0: //simm16
5085 return 2;
5086 default:
5087 fatal("op idx %i out of bounds\n", opIdx);
5088 return -1;
5089 }
5090 } // getOperandSize
5091
5092 void execute(GPUDynInstPtr) override;
5093 }; // Inst_SOPP__S_ICACHE_INV
5094
5096 {
5097 public:
5100
5101 int
5103 {
5105 } // getNumOperands
5106
5107 int numDstRegOperands() override { return 0; }
5108 int numSrcRegOperands() override { return 1; }
5109
5110 int
5111 getOperandSize(int opIdx) override
5112 {
5113 switch (opIdx) {
5114 case 0: //simm16
5115 return 2;
5116 default:
5117 fatal("op idx %i out of bounds\n", opIdx);
5118 return -1;
5119 }
5120 } // getOperandSize
5121
5122 void execute(GPUDynInstPtr) override;
5123 }; // Inst_SOPP__S_INCPERFLEVEL
5124
5126 {
5127 public:
5130
5131 int
5133 {
5135 } // getNumOperands
5136
5137 int numDstRegOperands() override { return 0; }
5138 int numSrcRegOperands() override { return 1; }
5139
5140 int
5141 getOperandSize(int opIdx) override
5142 {
5143 switch (opIdx) {
5144 case 0: //simm16
5145 return 2;
5146 default:
5147 fatal("op idx %i out of bounds\n", opIdx);
5148 return -1;
5149 }
5150 } // getOperandSize
5151
5152 void execute(GPUDynInstPtr) override;
5153 }; // Inst_SOPP__S_DECPERFLEVEL
5154
5156 {
5157 public:
5160
5161 int
5163 {
5165 } // getNumOperands
5166
5167 int numDstRegOperands() override { return 0; }
5168 int numSrcRegOperands() override { return 0; }
5169
5170 int
5171 getOperandSize(int opIdx) override
5172 {
5173 switch (opIdx) {
5174 case 0: //simm16
5175 return 2;
5176 default:
5177 fatal("op idx %i out of bounds\n", opIdx);
5178 return -1;
5179 }
5180 } // getOperandSize
5181
5182 void execute(GPUDynInstPtr) override;
5183 }; // Inst_SOPP__S_TTRACEDATA
5184
5186 {
5187 public:
5190
5191 int
5193 {
5195 } // getNumOperands
5196
5197 int numDstRegOperands() override { return 0; }
5198 int numSrcRegOperands() override { return 1; }
5199
5200 int
5201 getOperandSize(int opIdx) override
5202 {
5203 switch (opIdx) {
5204 case 0: //label
5205 return 2;
5206 default:
5207 fatal("op idx %i out of bounds\n", opIdx);
5208 return -1;
5209 }
5210 } // getOperandSize
5211
5212 void execute(GPUDynInstPtr) override;
5213 }; // Inst_SOPP__S_CBRANCH_CDBGSYS
5214
5216 {
5217 public:
5220
5221 int
5223 {
5225 } // getNumOperands
5226
5227 int numDstRegOperands() override { return 0; }
5228 int numSrcRegOperands() override { return 1; }
5229
5230 int
5231 getOperandSize(int opIdx) override
5232 {
5233 switch (opIdx) {
5234 case 0: //label
5235 return 2;
5236 default:
5237 fatal("op idx %i out of bounds\n", opIdx);
5238 return -1;
5239 }
5240 } // getOperandSize
5241
5242 void execute(GPUDynInstPtr) override;
5243 }; // Inst_SOPP__S_CBRANCH_CDBGUSER
5244
5246 {
5247 public:
5250
5251 int
5253 {
5255 } // getNumOperands
5256
5257 int numDstRegOperands() override { return 0; }
5258 int numSrcRegOperands() override { return 1; }
5259
5260 int
5261 getOperandSize(int opIdx) override
5262 {
5263 switch (opIdx) {
5264 case 0: //label
5265 return 2;
5266 default:
5267 fatal("op idx %i out of bounds\n", opIdx);
5268 return -1;
5269 }
5270 } // getOperandSize
5271
5272 void execute(GPUDynInstPtr) override;
5273 }; // Inst_SOPP__S_CBRANCH_CDBGSYS_OR_USER
5274
5276 {
5277 public:
5280
5281 int
5283 {
5285 } // getNumOperands
5286
5287 int numDstRegOperands() override { return 0; }
5288 int numSrcRegOperands() override { return 1; }
5289
5290 int
5291 getOperandSize(int opIdx) override
5292 {
5293 switch (opIdx) {
5294 case 0: //label
5295 return 2;
5296 default:
5297 fatal("op idx %i out of bounds\n", opIdx);
5298 return -1;
5299 }
5300 } // getOperandSize
5301
5302 void execute(GPUDynInstPtr) override;
5303 }; // Inst_SOPP__S_CBRANCH_CDBGSYS_AND_USER
5304
5306 {
5307 public:
5310
5311 int
5313 {
5315 } // getNumOperands
5316
5317 int numDstRegOperands() override { return 0; }
5318 int numSrcRegOperands() override { return 0; }
5319
5320 int
5321 getOperandSize(int opIdx) override
5322 {
5323 switch (opIdx) {
5324 case 0: //simm16
5325 return 2;
5326 default:
5327 fatal("op idx %i out of bounds\n", opIdx);
5328 return -1;
5329 }
5330 } // getOperandSize
5331
5332 void execute(GPUDynInstPtr) override;
5333 }; // Inst_SOPP__S_ENDPGM_SAVED
5334
5336 {
5337 public:
5340
5341 int
5343 {
5345 } // getNumOperands
5346
5347 int numDstRegOperands() override { return 0; }
5348 int numSrcRegOperands() override { return 0; }
5349
5350 int
5351 getOperandSize(int opIdx) override
5352 {
5353 switch (opIdx) {
5354 case 0: //simm16
5355 return 2;
5356 default:
5357 fatal("op idx %i out of bounds\n", opIdx);
5358 return -1;
5359 }
5360 } // getOperandSize
5361
5362 void execute(GPUDynInstPtr) override;
5363 }; // Inst_SOPP__S_SET_GPR_IDX_OFF
5364
5366 {
5367 public:
5370
5371 int
5373 {
5375 } // getNumOperands
5376
5377 int numDstRegOperands() override { return 0; }
5378 int numSrcRegOperands() override { return 1; }
5379
5380 int
5381 getOperandSize(int opIdx) override
5382 {
5383 switch (opIdx) {
5384 case 0: //simm16
5385 return 2;
5386 default:
5387 fatal("op idx %i out of bounds\n", opIdx);
5388 return -1;
5389 }
5390 } // getOperandSize
5391
5392 void execute(GPUDynInstPtr) override;
5393 }; // Inst_SOPP__S_SET_GPR_IDX_MODE
5394
5396 {
5397 public:
5400
5401 int
5403 {
5405 } // getNumOperands
5406
5407 int numDstRegOperands() override { return 1; }
5408 int numSrcRegOperands() override { return 2; }
5409
5410 int
5411 getOperandSize(int opIdx) override
5412 {
5413 switch (opIdx) {
5414 case 0: //sgpr_base
5415 return 8;
5416 case 1: //offset
5417 return 4;
5418 case 2: //sgpr_dst
5419 return 4;
5420 default:
5421 fatal("op idx %i out of bounds\n", opIdx);
5422 return -1;
5423 }
5424 } // getOperandSize
5425
5426 void execute(GPUDynInstPtr) override;
5427 void initiateAcc(GPUDynInstPtr) override;
5428 void completeAcc(GPUDynInstPtr) override;
5429 }; // Inst_SMEM__S_LOAD_DWORD
5430
5432 {
5433 public:
5436
5437 int
5439 {
5441 } // getNumOperands
5442
5443 int numDstRegOperands() override { return 1; }
5444 int numSrcRegOperands() override { return 2; }
5445
5446 int
5447 getOperandSize(int opIdx) override
5448 {
5449 switch (opIdx) {
5450 case 0: //sgpr_base
5451 return 8;
5452 case 1: //offset
5453 return 4;
5454 case 2: //sgpr_dst
5455 return 8;
5456 default:
5457 fatal("op idx %i out of bounds\n", opIdx);
5458 return -1;
5459 }
5460 } // getOperandSize
5461
5462 void execute(GPUDynInstPtr) override;
5463 void initiateAcc(GPUDynInstPtr) override;
5464 void completeAcc(GPUDynInstPtr) override;
5465 }; // Inst_SMEM__S_LOAD_DWORDX2
5466
5468 {
5469 public:
5472
5473 int
5475 {
5477 } // getNumOperands
5478
5479 int numDstRegOperands() override { return 1; }
5480 int numSrcRegOperands() override { return 2; }
5481
5482 int
5483 getOperandSize(int opIdx) override
5484 {
5485 switch (opIdx) {
5486 case 0: //sgpr_base
5487 return 8;
5488 case 1: //offset
5489 return 4;
5490 case 2: //sgpr_dst
5491 return 16;
5492 default:
5493 fatal("op idx %i out of bounds\n", opIdx);
5494 return -1;
5495 }
5496 } // getOperandSize
5497
5498 void execute(GPUDynInstPtr) override;
5499 void initiateAcc(GPUDynInstPtr) override;
5500 void completeAcc(GPUDynInstPtr) override;
5501 }; // Inst_SMEM__S_LOAD_DWORDX4
5502
5504 {
5505 public:
5508
5509 int
5511 {
5513 } // getNumOperands
5514
5515 int numDstRegOperands() override { return 1; }
5516 int numSrcRegOperands() override { return 2; }
5517
5518 int
5519 getOperandSize(int opIdx) override
5520 {
5521 switch (opIdx) {
5522 case 0: //sgpr_base
5523 return 8;
5524 case 1: //offset
5525 return 4;
5526 case 2: //sgpr_dst
5527 return 32;
5528 default:
5529 fatal("op idx %i out of bounds\n", opIdx);
5530 return -1;
5531 }
5532 } // getOperandSize
5533
5534 void execute(GPUDynInstPtr) override;
5535 void initiateAcc(GPUDynInstPtr) override;
5536 void completeAcc(GPUDynInstPtr) override;
5537 }; // Inst_SMEM__S_LOAD_DWORDX8
5538
5540 {
5541 public:
5544
5545 int
5547 {
5549 } // getNumOperands
5550
5551 int numDstRegOperands() override { return 1; }
5552 int numSrcRegOperands() override { return 2; }
5553
5554 int
5555 getOperandSize(int opIdx) override
5556 {
5557 switch (opIdx) {
5558 case 0: //sgpr_base
5559 return 8;
5560 case 1: //offset
5561 return 4;
5562 case 2: //sgpr_dst
5563 return 64;
5564 default:
5565 fatal("op idx %i out of bounds\n", opIdx);
5566 return -1;
5567 }
5568 } // getOperandSize
5569
5570 void execute(GPUDynInstPtr) override;
5571 void initiateAcc(GPUDynInstPtr) override;
5572 void completeAcc(GPUDynInstPtr) override;
5573 }; // Inst_SMEM__S_LOAD_DWORDX16
5574
5576 {
5577 public:
5580
5581 int
5583 {
5585 } // getNumOperands
5586
5587 int numDstRegOperands() override { return 1; }
5588 int numSrcRegOperands() override { return 2; }
5589
5590 int
5591 getOperandSize(int opIdx) override
5592 {
5593 switch (opIdx) {
5594 case 0: //sgpr_base
5595 return 16;
5596 case 1: //offset
5597 return 4;
5598 case 2: //sgpr_dst
5599 return 4;
5600 default:
5601 fatal("op idx %i out of bounds\n", opIdx);
5602 return -1;
5603 }
5604 } // getOperandSize
5605
5606 void execute(GPUDynInstPtr) override;
5607 void initiateAcc(GPUDynInstPtr) override;
5608 void completeAcc(GPUDynInstPtr) override;
5609 }; // Inst_SMEM__S_BUFFER_LOAD_DWORD
5610
5612 {
5613 public:
5616
5617 int
5619 {
5621 } // getNumOperands
5622
5623 int numDstRegOperands() override { return 1; }
5624 int numSrcRegOperands() override { return 2; }
5625
5626 int
5627 getOperandSize(int opIdx) override
5628 {
5629 switch (opIdx) {
5630 case 0: //sgpr_base
5631 return 16;
5632 case 1: //offset
5633 return 4;
5634 case 2: //sgpr_dst
5635 return 8;
5636 default:
5637 fatal("op idx %i out of bounds\n", opIdx);
5638 return -1;
5639 }
5640 } // getOperandSize
5641
5642 void execute(GPUDynInstPtr) override;
5643 void initiateAcc(GPUDynInstPtr) override;
5644 void completeAcc(GPUDynInstPtr) override;
5645 }; // Inst_SMEM__S_BUFFER_LOAD_DWORDX2
5646
5648 {
5649 public:
5652
5653 int
5655 {
5657 } // getNumOperands
5658
5659 int numDstRegOperands() override { return 1; }
5660 int numSrcRegOperands() override { return 2; }
5661
5662 int
5663 getOperandSize(int opIdx) override
5664 {
5665 switch (opIdx) {
5666 case 0: //sgpr_base
5667 return 16;
5668 case 1: //offset
5669 return 4;
5670 case 2: //sgpr_dst
5671 return 16;
5672 default:
5673 fatal("op idx %i out of bounds\n", opIdx);
5674 return -1;
5675 }
5676 } // getOperandSize
5677
5678 void execute(GPUDynInstPtr) override;
5679 void initiateAcc(GPUDynInstPtr) override;
5680 void completeAcc(GPUDynInstPtr) override;
5681 }; // Inst_SMEM__S_BUFFER_LOAD_DWORDX4
5682
5684 {
5685 public:
5688
5689 int
5691 {
5693 } // getNumOperands
5694
5695 int numDstRegOperands() override { return 1; }
5696 int numSrcRegOperands() override { return 2; }
5697
5698 int
5699 getOperandSize(int opIdx) override
5700 {
5701 switch (opIdx) {
5702 case 0: //sgpr_base
5703 return 16;
5704 case 1: //offset
5705 return 4;
5706 case 2: //sgpr_dst
5707 return 32;
5708 default:
5709 fatal("op idx %i out of bounds\n", opIdx);
5710 return -1;
5711 }
5712 } // getOperandSize
5713
5714 void execute(GPUDynInstPtr) override;
5715 void initiateAcc(GPUDynInstPtr) override;
5716 void completeAcc(GPUDynInstPtr) override;
5717 }; // Inst_SMEM__S_BUFFER_LOAD_DWORDX8
5718
5720 {
5721 public:
5724
5725 int
5727 {
5729 } // getNumOperands
5730
5731 int numDstRegOperands() override { return 1; }
5732 int numSrcRegOperands() override { return 2; }
5733
5734 int
5735 getOperandSize(int opIdx) override
5736 {
5737 switch (opIdx) {
5738 case 0: //sgpr_base
5739 return 16;
5740 case 1: //offset
5741 return 4;
5742 case 2: //sgpr_dst
5743 return 64;
5744 default:
5745 fatal("op idx %i out of bounds\n", opIdx);
5746 return -1;
5747 }
5748 } // getOperandSize
5749
5750 void execute(GPUDynInstPtr) override;
5751 void initiateAcc(GPUDynInstPtr) override;
5752 void completeAcc(GPUDynInstPtr) override;
5753 }; // Inst_SMEM__S_BUFFER_LOAD_DWORDX16
5754
5756 {
5757 public:
5760
5761 int
5763 {
5765 } // getNumOperands
5766
5767 int numDstRegOperands() override { return 0; }
5768 int numSrcRegOperands() override { return 3; }
5769
5770 int
5771 getOperandSize(int opIdx) override
5772 {
5773 switch (opIdx) {
5774 case 0: //sgpr_data
5775 return 4;
5776 case 1: //sgpr_base
5777 return 8;
5778 case 2: //offset
5779 return 4;
5780 default:
5781 fatal("op idx %i out of bounds\n", opIdx);
5782 return -1;
5783 }
5784 } // getOperandSize
5785
5786 void execute(GPUDynInstPtr) override;
5787 void initiateAcc(GPUDynInstPtr) override;
5788 void completeAcc(GPUDynInstPtr) override;
5789 }; // Inst_SMEM__S_STORE_DWORD
5790
5792 {
5793 public:
5796
5797 int
5799 {
5801 } // getNumOperands
5802
5803 int numDstRegOperands() override { return 0; }
5804 int numSrcRegOperands() override { return 3; }
5805
5806 int
5807 getOperandSize(int opIdx) override
5808 {
5809 switch (opIdx) {
5810 case 0: //sgpr_data
5811 return 8;
5812 case 1: //sgpr_base
5813 return 8;
5814 case 2: //offset
5815 return 4;
5816 default:
5817 fatal("op idx %i out of bounds\n", opIdx);
5818 return -1;
5819 }
5820 } // getOperandSize
5821
5822 void execute(GPUDynInstPtr) override;
5823 void initiateAcc(GPUDynInstPtr) override;
5824 void completeAcc(GPUDynInstPtr) override;
5825 }; // Inst_SMEM__S_STORE_DWORDX2
5826
5828 {
5829 public:
5832
5833 int
5835 {
5837 } // getNumOperands
5838
5839 int numDstRegOperands() override { return 0; }
5840 int numSrcRegOperands() override { return 3; }
5841
5842 int
5843 getOperandSize(int opIdx) override
5844 {
5845 switch (opIdx) {
5846 case 0: //sgpr_data
5847 return 16;
5848 case 1: //sgpr_base
5849 return 8;
5850 case 2: //offset
5851 return 4;
5852 default:
5853 fatal("op idx %i out of bounds\n", opIdx);
5854 return -1;
5855 }
5856 } // getOperandSize
5857
5858 void execute(GPUDynInstPtr) override;
5859 void initiateAcc(GPUDynInstPtr) override;
5860 void completeAcc(GPUDynInstPtr) override;
5861 }; // Inst_SMEM__S_STORE_DWORDX4
5862
5864 {
5865 public:
5868
5869 int
5871 {
5873 } // getNumOperands
5874
5875 int numDstRegOperands() override { return 0; }
5876 int numSrcRegOperands() override { return 3; }
5877
5878 int
5879 getOperandSize(int opIdx) override
5880 {
5881 switch (opIdx) {
5882 case 0: //sgpr_data
5883 return 4;
5884 case 1: //sgpr_base
5885 return 16;
5886 case 2: //offset
5887 return 4;
5888 default:
5889 fatal("op idx %i out of bounds\n", opIdx);
5890 return -1;
5891 }
5892 } // getOperandSize
5893
5894 void execute(GPUDynInstPtr) override;
5895 void initiateAcc(GPUDynInstPtr) override;
5896 void completeAcc(GPUDynInstPtr) override;
5897 }; // Inst_SMEM__S_BUFFER_STORE_DWORD
5898
5900 {
5901 public:
5904
5905 int
5907 {
5909 } // getNumOperands
5910
5911 int numDstRegOperands() override { return 0; }
5912 int numSrcRegOperands() override { return 3; }
5913
5914 int
5915 getOperandSize(int opIdx) override
5916 {
5917 switch (opIdx) {
5918 case 0: //sgpr_data
5919 return 8;
5920 case 1: //sgpr_base
5921 return 16;
5922 case 2: //offset
5923 return 4;
5924 default:
5925 fatal("op idx %i out of bounds\n", opIdx);
5926 return -1;
5927 }
5928 } // getOperandSize
5929
5930 void execute(GPUDynInstPtr) override;
5931 void initiateAcc(GPUDynInstPtr) override;
5932 void completeAcc(GPUDynInstPtr) override;
5933 }; // Inst_SMEM__S_BUFFER_STORE_DWORDX2
5934
5936 {
5937 public:
5940
5941 int
5943 {
5945 } // getNumOperands
5946
5947 int numDstRegOperands() override { return 0; }
5948 int numSrcRegOperands() override { return 3; }
5949
5950 int
5951 getOperandSize(int opIdx) override
5952 {
5953 switch (opIdx) {
5954 case 0: //sgpr_data
5955 return 16;
5956 case 1: //sgpr_base
5957 return 16;
5958 case 2: //offset
5959 return 4;
5960 default:
5961 fatal("op idx %i out of bounds\n", opIdx);
5962 return -1;
5963 }
5964 } // getOperandSize
5965
5966 void execute(GPUDynInstPtr) override;
5967 void initiateAcc(GPUDynInstPtr) override;
5968 void completeAcc(GPUDynInstPtr) override;
5969 }; // Inst_SMEM__S_BUFFER_STORE_DWORDX4
5970
5972 {
5973 public:
5976
5977 int
5979 {
5981 } // getNumOperands
5982
5983 int numDstRegOperands() override { return 0; }
5984 int numSrcRegOperands() override { return 0; }
5985
5986 int
5987 getOperandSize(int opIdx) override
5988 {
5989 switch (opIdx) {
5990 default:
5991 fatal("op idx %i out of bounds\n", opIdx);
5992 return -1;
5993 }
5994 } // getOperandSize
5995
5996 void execute(GPUDynInstPtr) override;
5997 }; // Inst_SMEM__S_DCACHE_INV
5998
6000 {
6001 public:
6004
6005 int
6007 {
6009 } // getNumOperands
6010
6011 int numDstRegOperands() override { return 0; }
6012 int numSrcRegOperands() override { return 0; }
6013
6014 int
6015 getOperandSize(int opIdx) override
6016 {
6017 switch (opIdx) {
6018 default:
6019 fatal("op idx %i out of bounds\n", opIdx);
6020 return -1;
6021 }
6022 } // getOperandSize
6023
6024 void execute(GPUDynInstPtr) override;
6025 }; // Inst_SMEM__S_DCACHE_WB
6026
6028 {
6029 public:
6032
6033 int
6035 {
6037 } // getNumOperands
6038
6039 int numDstRegOperands() override { return 0; }
6040 int numSrcRegOperands() override { return 0; }
6041
6042 int
6043 getOperandSize(int opIdx) override
6044 {
6045 switch (opIdx) {
6046 default:
6047 fatal("op idx %i out of bounds\n", opIdx);
6048 return -1;
6049 }
6050 } // getOperandSize
6051
6052 void execute(GPUDynInstPtr) override;
6053 }; // Inst_SMEM__S_DCACHE_INV_VOL
6054
6056 {
6057 public:
6060
6061 int
6063 {
6065 } // getNumOperands
6066
6067 int numDstRegOperands() override { return 0; }
6068 int numSrcRegOperands() override { return 0; }
6069
6070 int
6071 getOperandSize(int opIdx) override
6072 {
6073 switch (opIdx) {
6074 default:
6075 fatal("op idx %i out of bounds\n", opIdx);
6076 return -1;
6077 }
6078 } // getOperandSize
6079
6080 void execute(GPUDynInstPtr) override;
6081 }; // Inst_SMEM__S_DCACHE_WB_VOL
6082
6084 {
6085 public:
6088
6089 int
6091 {
6093 } // getNumOperands
6094
6095 int numDstRegOperands() override { return 1; }
6096 int numSrcRegOperands() override { return 0; }
6097
6098 int
6099 getOperandSize(int opIdx) override
6100 {
6101 switch (opIdx) {
6102 case 0: //sgpr_dst
6103 return 8;
6104 default:
6105 fatal("op idx %i out of bounds\n", opIdx);
6106 return -1;
6107 }
6108 } // getOperandSize
6109
6110 void execute(GPUDynInstPtr) override;
6111 }; // Inst_SMEM__S_MEMTIME
6112
6114 {
6115 public:
6118
6119 int
6121 {
6123 } // getNumOperands
6124
6125 int numDstRegOperands() override { return 1; }
6126 int numSrcRegOperands() override { return 0; }
6127
6128 int
6129 getOperandSize(int opIdx) override
6130 {
6131 switch (opIdx) {
6132 case 0: //sgpr_dst
6133 return 8;
6134 default:
6135 fatal("op idx %i out of bounds\n", opIdx);
6136 return -1;
6137 }
6138 } // getOperandSize
6139
6140 void execute(GPUDynInstPtr) override;
6141 }; // Inst_SMEM__S_MEMREALTIME
6142
6144 {
6145 public:
6148
6149 int
6151 {
6153 } // getNumOperands
6154
6155 int numDstRegOperands() override { return 0; }
6156 int numSrcRegOperands() override { return 3; }
6157
6158 int
6159 getOperandSize(int opIdx) override
6160 {
6161 switch (opIdx) {
6162 case 0: //perm_rwx
6163 return 32;
6164 case 1: //sgpr_base
6165 return 8;
6166 case 2: //offset
6167 return 4;
6168 default:
6169 fatal("op idx %i out of bounds\n", opIdx);
6170 return -1;
6171 }
6172 } // getOperandSize
6173
6174 void execute(GPUDynInstPtr) override;
6175 }; // Inst_SMEM__S_ATC_PROBE
6176
6178 {
6179 public:
6182
6183 int
6185 {
6187 } // getNumOperands
6188
6189 int numDstRegOperands() override { return 0; }
6190 int numSrcRegOperands() override { return 3; }
6191
6192 int
6193 getOperandSize(int opIdx) override
6194 {
6195 switch (opIdx) {
6196 case 0: //perm_rwx
6197 return 32;
6198 case 1: //sgpr_base
6199 return 16;
6200 case 2: //offset
6201 return 4;
6202 default:
6203 fatal("op idx %i out of bounds\n", opIdx);
6204 return -1;
6205 }
6206 } // getOperandSize
6207
6208 void execute(GPUDynInstPtr) override;
6209 }; // Inst_SMEM__S_ATC_PROBE_BUFFER
6210
6212 {
6213 public:
6216
6217 int
6219 {
6221 } // getNumOperands
6222
6223 int numDstRegOperands() override { return 1; }
6224 int numSrcRegOperands() override { return 3; }
6225
6226 int
6227 getOperandSize(int opIdx) override
6228 {
6229 switch (opIdx) {
6230 case 0: //src_0
6231 return 4;
6232 case 1: //src_1
6233 return 4;
6234 case 2: //vcc
6235 return 8;
6236 case 3: //vdst
6237 return 4;
6238 default:
6239 fatal("op idx %i out of bounds\n", opIdx);
6240 return -1;
6241 }
6242 } // getOperandSize
6243
6244 void execute(GPUDynInstPtr) override;
6245 }; // Inst_VOP2__V_CNDMASK_B32
6246
6248 {
6249 public:
6252
6253 int
6255 {
6257 } // getNumOperands
6258
6259 int numDstRegOperands() override { return 1; }
6260 int numSrcRegOperands() override { return 2; }
6261
6262 int
6263 getOperandSize(int opIdx) override
6264 {
6265 switch (opIdx) {
6266 case 0: //src_0
6267 return 4;
6268 case 1: //src_1
6269 return 4;
6270 case 2: //vdst
6271 return 4;
6272 default:
6273 fatal("op idx %i out of bounds\n", opIdx);
6274 return -1;
6275 }
6276 } // getOperandSize
6277
6278 void execute(GPUDynInstPtr) override;
6279 }; // Inst_VOP2__V_ADD_F32
6280
6282 {
6283 public:
6286
6287 int
6289 {
6291 } // getNumOperands
6292
6293 int numDstRegOperands() override { return 1; }
6294 int numSrcRegOperands() override { return 2; }
6295
6296 int
6297 getOperandSize(int opIdx) override
6298 {
6299 switch (opIdx) {
6300 case 0: //src_0
6301 return 4;
6302 case 1: //src_1
6303 return 4;
6304 case 2: //vdst
6305 return 4;
6306 default:
6307 fatal("op idx %i out of bounds\n", opIdx);
6308 return -1;
6309 }
6310 } // getOperandSize
6311
6312 void execute(GPUDynInstPtr) override;
6313 }; // Inst_VOP2__V_SUB_F32
6314
6316 {
6317 public:
6320
6321 int
6323 {
6325 } // getNumOperands
6326
6327 int numDstRegOperands() override { return 1; }
6328 int numSrcRegOperands() override { return 2; }
6329
6330 int
6331 getOperandSize(int opIdx) override
6332 {
6333 switch (opIdx) {
6334 case 0: //src_0
6335 return 4;
6336 case 1: //src_1
6337 return 4;
6338 case 2: //vdst
6339 return 4;
6340 default:
6341 fatal("op idx %i out of bounds\n", opIdx);
6342 return -1;
6343 }
6344 } // getOperandSize
6345
6346 void execute(GPUDynInstPtr) override;
6347 }; // Inst_VOP2__V_SUBREV_F32
6348
6350 {
6351 public:
6354
6355 int
6357 {
6359 } // getNumOperands
6360
6361 int numDstRegOperands() override { return 1; }
6362 int numSrcRegOperands() override { return 2; }
6363
6364 int
6365 getOperandSize(int opIdx) override
6366 {
6367 switch (opIdx) {
6368 case 0: //src_0
6369 return 4;
6370 case 1: //src_1
6371 return 4;
6372 case 2: //vdst
6373 return 4;
6374 default:
6375 fatal("op idx %i out of bounds\n", opIdx);
6376 return -1;
6377 }
6378 } // getOperandSize
6379
6380 void execute(GPUDynInstPtr) override;
6381 }; // Inst_VOP2__V_MUL_LEGACY_F32
6382
6384 {
6385 public:
6388
6389 int
6391 {
6393 } // getNumOperands
6394
6395 int numDstRegOperands() override { return 1; }
6396 int numSrcRegOperands() override { return 2; }
6397
6398 int
6399 getOperandSize(int opIdx) override
6400 {
6401 switch (opIdx) {
6402 case 0: //src_0
6403 return 4;
6404 case 1: //src_1
6405 return 4;
6406 case 2: //vdst
6407 return 4;
6408 default:
6409 fatal("op idx %i out of bounds\n", opIdx);
6410 return -1;
6411 }
6412 } // getOperandSize
6413
6414 void execute(GPUDynInstPtr) override;
6415 }; // Inst_VOP2__V_MUL_F32
6416
6418 {
6419 public:
6422
6423 int
6425 {
6427 } // getNumOperands
6428
6429 int numDstRegOperands() override { return 1; }
6430 int numSrcRegOperands() override { return 2; }
6431
6432 int
6433 getOperandSize(int opIdx) override
6434 {
6435 switch (opIdx) {
6436 case 0: //src_0
6437 return 4;
6438 case 1: //src_1
6439 return 4;
6440 case 2: //vdst
6441 return 4;
6442 default:
6443 fatal("op idx %i out of bounds\n", opIdx);
6444 return -1;
6445 }
6446 } // getOperandSize
6447
6448 void execute(GPUDynInstPtr) override;
6449 }; // Inst_VOP2__V_MUL_I32_I24
6450
6452 {
6453 public:
6456
6457 int
6459 {
6461 } // getNumOperands
6462
6463 int numDstRegOperands() override { return 1; }
6464 int numSrcRegOperands() override { return 2; }
6465
6466 int
6467 getOperandSize(int opIdx) override
6468 {
6469 switch (opIdx) {
6470 case 0: //src_0
6471 return 4;
6472 case 1: //src_1
6473 return 4;
6474 case 2: //vdst
6475 return 4;
6476 default:
6477 fatal("op idx %i out of bounds\n", opIdx);
6478 return -1;
6479 }
6480 } // getOperandSize
6481
6482 void execute(GPUDynInstPtr) override;
6483 }; // Inst_VOP2__V_MUL_HI_I32_I24
6484
6486 {
6487 public:
6490
6491 int
6493 {
6495 } // getNumOperands
6496
6497 int numDstRegOperands() override { return 1; }
6498 int numSrcRegOperands() override { return 2; }
6499
6500 int
6501 getOperandSize(int opIdx) override
6502 {
6503 switch (opIdx) {
6504 case 0: //src_0
6505 return 4;
6506 case 1: //src_1
6507 return 4;
6508 case 2: //vdst
6509 return 4;
6510 default:
6511 fatal("op idx %i out of bounds\n", opIdx);
6512 return -1;
6513 }
6514 } // getOperandSize
6515
6516 void execute(GPUDynInstPtr) override;
6517 }; // Inst_VOP2__V_MUL_U32_U24
6518
6520 {
6521 public:
6524
6525 int
6527 {
6529 } // getNumOperands
6530
6531 int numDstRegOperands() override { return 1; }
6532 int numSrcRegOperands() override { return 2; }
6533
6534 int
6535 getOperandSize(int opIdx) override
6536 {
6537 switch (opIdx) {
6538 case 0: //src_0
6539 return 4;
6540 case 1: //src_1
6541 return 4;
6542 case 2: //vdst
6543 return 4;
6544 default:
6545 fatal("op idx %i out of bounds\n", opIdx);
6546 return -1;
6547 }
6548 } // getOperandSize
6549
6550 void execute(GPUDynInstPtr) override;
6551 }; // Inst_VOP2__V_MUL_HI_U32_U24
6552
6554 {
6555 public:
6558
6559 int
6561 {
6563 } // getNumOperands
6564
6565 int numDstRegOperands() override { return 1; }
6566 int numSrcRegOperands() override { return 2; }
6567
6568 int
6569 getOperandSize(int opIdx) override
6570 {
6571 switch (opIdx) {
6572 case 0: //src_0
6573 return 4;
6574 case 1: //src_1
6575 return 4;
6576 case 2: //vdst
6577 return 4;
6578 default:
6579 fatal("op idx %i out of bounds\n", opIdx);
6580 return -1;
6581 }
6582 } // getOperandSize
6583
6584 void execute(GPUDynInstPtr) override;
6585 }; // Inst_VOP2__V_MIN_F32
6586
6588 {
6589 public:
6592
6593 int
6595 {
6597 } // getNumOperands
6598
6599 int numDstRegOperands() override { return 1; }
6600 int numSrcRegOperands() override { return 2; }
6601
6602 int
6603 getOperandSize(int opIdx) override
6604 {
6605 switch (opIdx) {
6606 case 0: //src_0
6607 return 4;
6608 case 1: //src_1
6609 return 4;
6610 case 2: //vdst
6611 return 4;
6612 default:
6613 fatal("op idx %i out of bounds\n", opIdx);
6614 return -1;
6615 }
6616 } // getOperandSize
6617
6618 void execute(GPUDynInstPtr) override;
6619 }; // Inst_VOP2__V_MAX_F32
6620
6622 {
6623 public:
6626
6627 int
6629 {
6631 } // getNumOperands
6632
6633 int numDstRegOperands() override { return 1; }
6634 int numSrcRegOperands() override { return 2; }
6635
6636 int
6637 getOperandSize(int opIdx) override
6638 {
6639 switch (opIdx) {
6640 case 0: //src_0
6641 return 4;
6642 case 1: //src_1
6643 return 4;
6644 case 2: //vdst
6645 return 4;
6646 default:
6647 fatal("op idx %i out of bounds\n", opIdx);
6648 return -1;
6649 }
6650 } // getOperandSize
6651
6652 void execute(GPUDynInstPtr) override;
6653 }; // Inst_VOP2__V_MIN_I32
6654
6656 {
6657 public:
6660
6661 int
6663 {
6665 } // getNumOperands
6666
6667 int numDstRegOperands() override { return 1; }
6668 int numSrcRegOperands() override { return 2; }
6669
6670 int
6671 getOperandSize(int opIdx) override
6672 {
6673 switch (opIdx) {
6674 case 0: //src_0
6675 return 4;
6676 case 1: //src_1
6677 return 4;
6678 case 2: //vdst
6679 return 4;
6680 default:
6681 fatal("op idx %i out of bounds\n", opIdx);
6682 return -1;
6683 }
6684 } // getOperandSize
6685
6686 void execute(GPUDynInstPtr) override;
6687 }; // Inst_VOP2__V_MAX_I32
6688
6690 {
6691 public:
6694
6695 int
6697 {
6699 } // getNumOperands
6700
6701 int numDstRegOperands() override { return 1; }
6702 int numSrcRegOperands() override { return 2; }
6703
6704 int
6705 getOperandSize(int opIdx) override
6706 {
6707 switch (opIdx) {
6708 case 0: //src_0
6709 return 4;
6710 case 1: //src_1
6711 return 4;
6712 case 2: //vdst
6713 return 4;
6714 default:
6715 fatal("op idx %i out of bounds\n", opIdx);
6716 return -1;
6717 }
6718 } // getOperandSize
6719
6720 void execute(GPUDynInstPtr) override;
6721 }; // Inst_VOP2__V_MIN_U32
6722
6724 {
6725 public:
6728
6729 int
6731 {
6733 } // getNumOperands
6734
6735 int numDstRegOperands() override { return 1; }
6736 int numSrcRegOperands() override { return 2; }
6737
6738 int
6739 getOperandSize(int opIdx) override
6740 {
6741 switch (opIdx) {
6742 case 0: //src_0
6743 return 4;
6744 case 1: //src_1
6745 return 4;
6746 case 2: //vdst
6747 return 4;
6748 default:
6749 fatal("op idx %i out of bounds\n", opIdx);
6750 return -1;
6751 }
6752 } // getOperandSize
6753
6754 void execute(GPUDynInstPtr) override;
6755 }; // Inst_VOP2__V_MAX_U32
6756
6758 {
6759 public:
6762
6763 int
6765 {
6767 } // getNumOperands
6768
6769 int numDstRegOperands() override { return 1; }
6770 int numSrcRegOperands() override { return 2; }
6771
6772 int
6773 getOperandSize(int opIdx) override
6774 {
6775 switch (opIdx) {
6776 case 0: //src_0
6777 return 4;
6778 case 1: //src_1
6779 return 4;
6780 case 2: //vdst
6781 return 4;
6782 default:
6783 fatal("op idx %i out of bounds\n", opIdx);
6784 return -1;
6785 }
6786 } // getOperandSize
6787
6788 void execute(GPUDynInstPtr) override;
6789 }; // Inst_VOP2__V_LSHRREV_B32
6790
6792 {
6793 public:
6796
6797 int
6799 {
6801 } // getNumOperands
6802
6803 int numDstRegOperands() override { return 1; }
6804 int numSrcRegOperands() override { return 2; }
6805
6806 int
6807 getOperandSize(int opIdx) override
6808 {
6809 switch (opIdx) {
6810 case 0: //src_0
6811 return 4;
6812 case 1: //src_1
6813 return 4;
6814 case 2: //vdst
6815 return 4;
6816 default:
6817 fatal("op idx %i out of bounds\n", opIdx);
6818 return -1;
6819 }
6820 } // getOperandSize
6821
6822 void execute(GPUDynInstPtr) override;
6823 }; // Inst_VOP2__V_ASHRREV_I32
6824
6826 {
6827 public:
6830
6831 int
6833 {
6835 } // getNumOperands
6836
6837 int numDstRegOperands() override { return 1; }
6838 int numSrcRegOperands() override { return 2; }
6839
6840 int
6841 getOperandSize(int opIdx) override
6842 {
6843 switch (opIdx) {
6844 case 0: //src_0
6845 return 4;
6846 case 1: //src_1
6847 return 4;
6848 case 2: //vdst
6849 return 4;
6850 default:
6851 fatal("op idx %i out of bounds\n", opIdx);
6852 return -1;
6853 }
6854 } // getOperandSize
6855
6856 void execute(GPUDynInstPtr) override;
6857 }; // Inst_VOP2__V_LSHLREV_B32
6858
6860 {
6861 public:
6864
6865 int
6867 {
6869 } // getNumOperands
6870
6871 int numDstRegOperands() override { return 1; }
6872 int numSrcRegOperands() override { return 2; }
6873
6874 int
6875 getOperandSize(int opIdx) override
6876 {
6877 switch (opIdx) {
6878 case 0: //src_0
6879 return 4;
6880 case 1: //src_1
6881 return 4;
6882 case 2: //vdst
6883 return 4;
6884 default:
6885 fatal("op idx %i out of bounds\n", opIdx);
6886 return -1;
6887 }
6888 } // getOperandSize
6889
6890 void execute(GPUDynInstPtr) override;
6891 }; // Inst_VOP2__V_AND_B32
6892
6894 {
6895 public:
6898
6899 int
6901 {
6903 } // getNumOperands
6904
6905 int numDstRegOperands() override { return 1; }
6906 int numSrcRegOperands() override { return 2; }
6907
6908 int
6909 getOperandSize(int opIdx) override
6910 {
6911 switch (opIdx) {
6912 case 0: //src_0
6913 return 4;
6914 case 1: //src_1
6915 return 4;
6916 case 2: //vdst
6917 return 4;
6918 default:
6919 fatal("op idx %i out of bounds\n", opIdx);
6920 return -1;
6921 }
6922 } // getOperandSize
6923
6924 void execute(GPUDynInstPtr) override;
6925 }; // Inst_VOP2__V_OR_B32
6926
6928 {
6929 public:
6932
6933 int
6935 {
6937 } // getNumOperands
6938
6939 int numDstRegOperands() override { return 1; }
6940 int numSrcRegOperands() override { return 2; }
6941
6942 int
6943 getOperandSize(int opIdx) override
6944 {
6945 switch (opIdx) {
6946 case 0: //src_0
6947 return 4;
6948 case 1: //src_1
6949 return 4;
6950 case 2: //vdst
6951 return 4;
6952 default:
6953 fatal("op idx %i out of bounds\n", opIdx);
6954 return -1;
6955 }
6956 } // getOperandSize
6957
6958 void execute(GPUDynInstPtr) override;
6959 }; // Inst_VOP2__V_XOR_B32
6960
6962 {
6963 public:
6966
6967 int
6969 {
6971 } // getNumOperands
6972
6973 int numDstRegOperands() override { return 1; }
6974 int numSrcRegOperands() override { return 2; }
6975
6976 int
6977 getOperandSize(int opIdx) override
6978 {
6979 switch (opIdx) {
6980 case 0: //src_0
6981 return 4;
6982 case 1: //src_1
6983 return 4;
6984 case 2: //vdst
6985 return 4;
6986 default:
6987 fatal("op idx %i out of bounds\n", opIdx);
6988 return -1;
6989 }
6990 } // getOperandSize
6991
6992 void execute(GPUDynInstPtr) override;
6993 }; // Inst_VOP2__V_MAC_F32
6994
6996 {
6997 public:
7000
7001 int
7003 {
7005 } // getNumOperands
7006
7007 int numDstRegOperands() override { return 1; }
7008 int numSrcRegOperands() override { return 2; }
7009
7010 int
7011 getOperandSize(int opIdx) override
7012 {
7013 switch (opIdx) {
7014 case 0: //src_0
7015 return 4;
7016 case 1: //src_1
7017 return 4;
7018 case 2: //vdst
7019 return 4;
7020 default:
7021 fatal("op idx %i out of bounds\n", opIdx);
7022 return -1;
7023 }
7024 } // getOperandSize
7025
7026 void execute(GPUDynInstPtr) override;
7027 }; // Inst_VOP2__V_MADMK_F32
7028
7030 {
7031 public:
7034
7035 int
7037 {
7039 } // getNumOperands
7040
7041 int numDstRegOperands() override { return 1; }
7042 int numSrcRegOperands() override { return 2; }
7043
7044 int
7045 getOperandSize(int opIdx) override
7046 {
7047 switch (opIdx) {
7048 case 0: //src_0
7049 return 4;
7050 case 1: //src_1
7051 return 4;
7052 case 2: //vdst
7053 return 4;
7054 default:
7055 fatal("op idx %i out of bounds\n", opIdx);
7056 return -1;
7057 }
7058 } // getOperandSize
7059
7060 void execute(GPUDynInstPtr) override;
7061 }; // Inst_VOP2__V_MADAK_F32
7062
7064 {
7065 public:
7068
7069 int
7071 {
7073 } // getNumOperands
7074
7075 int numDstRegOperands() override { return 2; }
7076 int numSrcRegOperands() override { return 2; }
7077
7078 int
7079 getOperandSize(int opIdx) override
7080 {
7081 switch (opIdx) {
7082 case 0: //src_0
7083 return 4;
7084 case 1: //src_1
7085 return 4;
7086 case 2: //vdst
7087 return 4;
7088 case 3: //vcc
7089 return 8;
7090 default:
7091 fatal("op idx %i out of bounds\n", opIdx);
7092 return -1;
7093 }
7094 } // getOperandSize
7095
7096 void execute(GPUDynInstPtr) override;
7097 }; // Inst_VOP2__V_ADD_CO_U32
7098
7100 {
7101 public:
7104
7105 int
7107 {
7109 } // getNumOperands
7110
7111 int numDstRegOperands() override { return 2; }
7112 int numSrcRegOperands() override { return 2; }
7113
7114 int
7115 getOperandSize(int opIdx) override
7116 {
7117 switch (opIdx) {
7118 case 0: //src_0
7119 return 4;
7120 case 1: //src_1
7121 return 4;
7122 case 2: //vdst
7123 return 4;
7124 case 3: //vcc
7125 return 8;
7126 default:
7127 fatal("op idx %i out of bounds\n", opIdx);
7128 return -1;
7129 }
7130 } // getOperandSize
7131
7132 void execute(GPUDynInstPtr) override;
7133 }; // Inst_VOP2__V_SUB_CO_U32
7134
7136 {
7137 public:
7140
7141 int
7143 {
7145 } // getNumOperands
7146
7147 int numDstRegOperands() override { return 2; }
7148 int numSrcRegOperands() override { return 2; }
7149
7150 int
7151 getOperandSize(int opIdx) override
7152 {
7153 switch (opIdx) {
7154 case 0: //src_0
7155 return 4;
7156 case 1: //src_1
7157 return 4;
7158 case 2: //vdst
7159 return 4;
7160 case 3: //vcc
7161 return 8;
7162 default:
7163 fatal("op idx %i out of bounds\n", opIdx);
7164 return -1;
7165 }
7166 } // getOperandSize
7167
7168 void execute(GPUDynInstPtr) override;
7169 }; // Inst_VOP2__V_SUBREV_CO_U32
7170
7172 {
7173 public:
7176
7177 int
7179 {
7181 } // getNumOperands
7182
7183 int numDstRegOperands() override { return 2; }
7184 int numSrcRegOperands() override { return 3; }
7185
7186 int
7187 getOperandSize(int opIdx) override
7188 {
7189 switch (opIdx) {
7190 case 0: //src_0
7191 return 4;
7192 case 1: //src_1
7193 return 4;
7194 case 2: //vcc
7195 return 8;
7196 case 3: //vdst
7197 return 4;
7198 case 4: //vcc
7199 return 8;
7200 default:
7201 fatal("op idx %i out of bounds\n", opIdx);
7202 return -1;
7203 }
7204 } // getOperandSize
7205
7206 void execute(GPUDynInstPtr) override;
7207 }; // Inst_VOP2__V_ADDC_CO_U32
7208
7210 {
7211 public:
7214
7215 int
7217 {
7219 } // getNumOperands
7220
7221 int numDstRegOperands() override { return 2; }
7222 int numSrcRegOperands() override { return 3; }
7223
7224 int
7225 getOperandSize(int opIdx) override
7226 {
7227 switch (opIdx) {
7228 case 0: //src_0
7229 return 4;
7230 case 1: //src_1
7231 return 4;
7232 case 2: //vcc
7233 return 8;
7234 case 3: //vdst
7235 return 4;
7236 case 4: //vcc
7237 return 8;
7238 default:
7239 fatal("op idx %i out of bounds\n", opIdx);
7240 return -1;
7241 }
7242 } // getOperandSize
7243
7244 void execute(GPUDynInstPtr) override;
7245 }; // Inst_VOP2__V_SUBB_CO_U32
7246
7248 {
7249 public:
7252
7253 int
7255 {
7257 } // getNumOperands
7258
7259 int numDstRegOperands() override { return 2; }
7260 int numSrcRegOperands() override { return 3; }
7261
7262 int
7263 getOperandSize(int opIdx) override
7264 {
7265 switch (opIdx) {
7266 case 0: //src_0
7267 return 4;
7268 case 1: //src_1
7269 return 4;
7270 case 2: //vcc
7271 return 8;
7272 case 3: //vdst
7273 return 4;
7274 case 4: //vcc
7275 return 8;
7276 default:
7277 fatal("op idx %i out of bounds\n", opIdx);
7278 return -1;
7279 }
7280 } // getOperandSize
7281
7282 void execute(GPUDynInstPtr) override;
7283 }; // Inst_VOP2__V_SUBBREV_CO_U32
7284
7286 {
7287 public:
7290
7291 int
7293 {
7295 } // getNumOperands
7296
7297 int numDstRegOperands() override { return 1; }
7298 int numSrcRegOperands() override { return 2; }
7299
7300 int
7301 getOperandSize(int opIdx) override
7302 {
7303 switch (opIdx) {
7304 case 0: //src_0
7305 return 2;
7306 case 1: //src_1
7307 return 2;
7308 case 2: //vdst
7309 return 2;
7310 default:
7311 fatal("op idx %i out of bounds\n", opIdx);
7312 return -1;
7313 }
7314 } // getOperandSize
7315
7316 void execute(GPUDynInstPtr) override;
7317 }; // Inst_VOP2__V_ADD_F16
7318
7320 {
7321 public:
7324
7325 int
7327 {
7329 } // getNumOperands
7330
7331 int numDstRegOperands() override { return 1; }
7332 int numSrcRegOperands() override { return 2; }
7333
7334 int
7335 getOperandSize(int opIdx) override
7336 {
7337 switch (opIdx) {
7338 case 0: //src_0
7339 return 2;
7340 case 1: //src_1
7341 return 2;
7342 case 2: //vdst
7343 return 2;
7344 default:
7345 fatal("op idx %i out of bounds\n", opIdx);
7346 return -1;
7347 }
7348 } // getOperandSize
7349
7350 void execute(GPUDynInstPtr) override;
7351 }; // Inst_VOP2__V_SUB_F16
7352
7354 {
7355 public:
7358
7359 int
7361 {
7363 } // getNumOperands
7364
7365 int numDstRegOperands() override { return 1; }
7366 int numSrcRegOperands() override { return 2; }
7367
7368 int
7369 getOperandSize(int opIdx) override
7370 {
7371 switch (opIdx) {
7372 case 0: //src_0
7373 return 2;
7374 case 1: //src_1
7375 return 2;
7376 case 2: //vdst
7377 return 2;
7378 default:
7379 fatal("op idx %i out of bounds\n", opIdx);
7380 return -1;
7381 }
7382 } // getOperandSize
7383
7384 void execute(GPUDynInstPtr) override;
7385 }; // Inst_VOP2__V_SUBREV_F16
7386
7388 {
7389 public:
7392
7393 int
7395 {
7397 } // getNumOperands
7398
7399 int numDstRegOperands() override { return 1; }
7400 int numSrcRegOperands() override { return 2; }
7401
7402 int
7403 getOperandSize(int opIdx) override
7404 {
7405 switch (opIdx) {
7406 case 0: //src_0
7407 return 2;
7408 case 1: //src_1
7409 return 2;
7410 case 2: //vdst
7411 return 2;
7412 default:
7413 fatal("op idx %i out of bounds\n", opIdx);
7414 return -1;
7415 }
7416 } // getOperandSize
7417
7418 void execute(GPUDynInstPtr) override;
7419 }; // Inst_VOP2__V_MUL_F16
7420
7422 {
7423 public:
7426
7427 int
7429 {
7431 } // getNumOperands
7432
7433 int numDstRegOperands() override { return 1; }
7434 int numSrcRegOperands() override { return 2; }
7435
7436 int
7437 getOperandSize(int opIdx) override
7438 {
7439 switch (opIdx) {
7440 case 0: //src_0
7441 return 2;
7442 case 1: //src_1
7443 return 2;
7444 case 2: //vdst
7445 return 2;
7446 default:
7447 fatal("op idx %i out of bounds\n", opIdx);
7448 return -1;
7449 }
7450 } // getOperandSize
7451
7452 void execute(GPUDynInstPtr) override;
7453 }; // Inst_VOP2__V_MAC_F16
7454
7456 {
7457 public:
7460
7461 int
7463 {
7465 } // getNumOperands
7466
7467 int numDstRegOperands() override { return 1; }
7468 int numSrcRegOperands() override { return 3; }
7469
7470 int
7471 getOperandSize(int opIdx) override
7472 {
7473 switch (opIdx) {
7474 case 0: //src_0
7475 return 2;
7476 case 1: //src_1
7477 return 2;
7478 case 2: //src_2
7479 return 2;
7480 case 3: //vdst
7481 return 2;
7482 default:
7483 fatal("op idx %i out of bounds\n", opIdx);
7484 return -1;
7485 }
7486 } // getOperandSize
7487
7488 void execute(GPUDynInstPtr) override;
7489 }; // Inst_VOP2__V_MADMK_F16
7490
7492 {
7493 public:
7496
7497 int
7499 {
7501 } // getNumOperands
7502
7503 int numDstRegOperands() override { return 1; }
7504 int numSrcRegOperands() override { return 3; }
7505
7506 int
7507 getOperandSize(int opIdx) override
7508 {
7509 switch (opIdx) {
7510 case 0: //src_0
7511 return 2;
7512 case 1: //src_1
7513 return 2;
7514 case 2: //src_2
7515 return 2;
7516 case 3: //vdst
7517 return 2;
7518 default:
7519 fatal("op idx %i out of bounds\n", opIdx);
7520 return -1;
7521 }
7522 } // getOperandSize
7523
7524 void execute(GPUDynInstPtr) override;
7525 }; // Inst_VOP2__V_MADAK_F16
7526
7528 {
7529 public:
7532
7533 int
7535 {
7537 } // getNumOperands
7538
7539 int numDstRegOperands() override { return 1; }
7540 int numSrcRegOperands() override { return 2; }
7541
7542 int
7543 getOperandSize(int opIdx) override
7544 {
7545 switch (opIdx) {
7546 case 0: //src_0
7547 return 2;
7548 case 1: //src_1
7549 return 2;
7550 case 2: //vdst
7551 return 2;
7552 default:
7553 fatal("op idx %i out of bounds\n", opIdx);
7554 return -1;
7555 }
7556 } // getOperandSize
7557
7558 void execute(GPUDynInstPtr) override;
7559 }; // Inst_VOP2__V_ADD_U16
7560
7562 {
7563 public:
7566
7567 int
7569 {
7571 } // getNumOperands
7572
7573 int numDstRegOperands() override { return 1; }
7574 int numSrcRegOperands() override { return 2; }
7575
7576 int
7577 getOperandSize(int opIdx) override
7578 {
7579 switch (opIdx) {
7580 case 0: //src_0
7581 return 2;
7582 case 1: //src_1
7583 return 2;
7584 case 2: //vdst
7585 return 2;
7586 default:
7587 fatal("op idx %i out of bounds\n", opIdx);
7588 return -1;
7589 }
7590 } // getOperandSize
7591
7592 void execute(GPUDynInstPtr) override;
7593 }; // Inst_VOP2__V_SUB_U16
7594
7596 {
7597 public:
7600
7601 int
7603 {
7605 } // getNumOperands
7606
7607 int numDstRegOperands() override { return 1; }
7608 int numSrcRegOperands() override { return 2; }
7609
7610 int
7611 getOperandSize(int opIdx) override
7612 {
7613 switch (opIdx) {
7614 case 0: //src_0
7615 return 2;
7616 case 1: //src_1
7617 return 2;
7618 case 2: //vdst
7619 return 2;
7620 default:
7621 fatal("op idx %i out of bounds\n", opIdx);
7622 return -1;
7623 }
7624 } // getOperandSize
7625
7626 void execute(GPUDynInstPtr) override;
7627 }; // Inst_VOP2__V_SUBREV_U16
7628
7630 {
7631 public:
7634
7635 int
7637 {
7639 } // getNumOperands
7640
7641 int numDstRegOperands() override { return 1; }
7642 int numSrcRegOperands() override { return 2; }
7643
7644 int
7645 getOperandSize(int opIdx) override
7646 {
7647 switch (opIdx) {
7648 case 0: //src_0
7649 return 2;
7650 case 1: //src_1
7651 return 2;
7652 case 2: //vdst
7653 return 2;
7654 default:
7655 fatal("op idx %i out of bounds\n", opIdx);
7656 return -1;
7657 }
7658 } // getOperandSize
7659
7660 void execute(GPUDynInstPtr) override;
7661 }; // Inst_VOP2__V_MUL_LO_U16
7662
7664 {
7665 public:
7668
7669 int
7671 {
7673 } // getNumOperands
7674
7675 int numDstRegOperands() override { return 1; }
7676 int numSrcRegOperands() override { return 2; }
7677
7678 int
7679 getOperandSize(int opIdx) override
7680 {
7681 switch (opIdx) {
7682 case 0: //src_0
7683 return 2;
7684 case 1: //src_1
7685 return 2;
7686 case 2: //vdst
7687 return 2;
7688 default:
7689 fatal("op idx %i out of bounds\n", opIdx);
7690 return -1;
7691 }
7692 } // getOperandSize
7693
7694 void execute(GPUDynInstPtr) override;
7695 }; // Inst_VOP2__V_LSHLREV_B16
7696
7698 {
7699 public:
7702
7703 int
7705 {
7707 } // getNumOperands
7708
7709 int numDstRegOperands() override { return 1; }
7710 int numSrcRegOperands() override { return 2; }
7711
7712 int
7713 getOperandSize(int opIdx) override
7714 {
7715 switch (opIdx) {
7716 case 0: //src_0
7717 return 2;
7718 case 1: //src_1
7719 return 2;
7720 case 2: //vdst
7721 return 2;
7722 default:
7723 fatal("op idx %i out of bounds\n", opIdx);
7724 return -1;
7725 }
7726 } // getOperandSize
7727
7728 void execute(GPUDynInstPtr) override;
7729 }; // Inst_VOP2__V_LSHRREV_B16
7730
7732 {
7733 public:
7736
7737 int
7739 {
7741 } // getNumOperands
7742
7743 int numDstRegOperands() override { return 1; }
7744 int numSrcRegOperands() override { return 2; }
7745
7746 int
7747 getOperandSize(int opIdx) override
7748 {
7749 switch (opIdx) {
7750 case 0: //src_0
7751 return 2;
7752 case 1: //src_1
7753 return 2;
7754 case 2: //vdst
7755 return 2;
7756 default:
7757 fatal("op idx %i out of bounds\n", opIdx);
7758 return -1;
7759 }
7760 } // getOperandSize
7761
7762 void execute(GPUDynInstPtr) override;
7763 }; // Inst_VOP2__V_ASHRREV_I16
7764
7766 {
7767 public:
7770
7771 int
7773 {
7775 } // getNumOperands
7776
7777 int numDstRegOperands() override { return 1; }
7778 int numSrcRegOperands() override { return 2; }
7779
7780 int
7781 getOperandSize(int opIdx) override
7782 {
7783 switch (opIdx) {
7784 case 0: //src_0
7785 return 2;
7786 case 1: //src_1
7787 return 2;
7788 case 2: //vdst
7789 return 2;
7790 default:
7791 fatal("op idx %i out of bounds\n", opIdx);
7792 return -1;
7793 }
7794 } // getOperandSize
7795
7796 void execute(GPUDynInstPtr) override;
7797 }; // Inst_VOP2__V_MAX_F16
7798
7800 {
7801 public:
7804
7805 int
7807 {
7809 } // getNumOperands
7810
7811 int numDstRegOperands() override { return 1; }
7812 int numSrcRegOperands() override { return 2; }
7813
7814 int
7815 getOperandSize(int opIdx) override
7816 {
7817 switch (opIdx) {
7818 case 0: //src_0
7819 return 2;
7820 case 1: //src_1
7821 return 2;
7822 case 2: //vdst
7823 return 2;
7824 default:
7825 fatal("op idx %i out of bounds\n", opIdx);
7826 return -1;
7827 }
7828 } // getOperandSize
7829
7830 void execute(GPUDynInstPtr) override;
7831 }; // Inst_VOP2__V_MIN_F16
7832
7834 {
7835 public:
7838
7839 int
7841 {
7843 } // getNumOperands
7844
7845 int numDstRegOperands() override { return 1; }
7846 int numSrcRegOperands() override { return 2; }
7847
7848 int
7849 getOperandSize(int opIdx) override
7850 {
7851 switch (opIdx) {
7852 case 0: //src_0
7853 return 2;
7854 case 1: //src_1
7855 return 2;
7856 case 2: //vdst
7857 return 2;
7858 default:
7859 fatal("op idx %i out of bounds\n", opIdx);
7860 return -1;
7861 }
7862 } // getOperandSize
7863
7864 void execute(GPUDynInstPtr) override;
7865 }; // Inst_VOP2__V_MAX_U16
7866
7868 {
7869 public:
7872
7873 int
7875 {
7877 } // getNumOperands
7878
7879 int numDstRegOperands() override { return 1; }
7880 int numSrcRegOperands() override { return 2; }
7881
7882 int
7883 getOperandSize(int opIdx) override
7884 {
7885 switch (opIdx) {
7886 case 0: //src_0
7887 return 2;
7888 case 1: //src_1
7889 return 2;
7890 case 2: //vdst
7891 return 2;
7892 default:
7893 fatal("op idx %i out of bounds\n", opIdx);
7894 return -1;
7895 }
7896 } // getOperandSize
7897
7898 void execute(GPUDynInstPtr) override;
7899 }; // Inst_VOP2__V_MAX_I16
7900
7902 {
7903 public:
7906
7907 int
7909 {
7911 } // getNumOperands
7912
7913 int numDstRegOperands() override { return 1; }
7914 int numSrcRegOperands() override { return 2; }
7915
7916 int
7917 getOperandSize(int opIdx) override
7918 {
7919 switch (opIdx) {
7920 case 0: //src_0
7921 return 2;
7922 case 1: //src_1
7923 return 2;
7924 case 2: //vdst
7925 return 2;
7926 default:
7927 fatal("op idx %i out of bounds\n", opIdx);
7928 return -1;
7929 }
7930 } // getOperandSize
7931
7932 void execute(GPUDynInstPtr) override;
7933 }; // Inst_VOP2__V_MIN_U16
7934
7936 {
7937 public:
7940
7941 int
7943 {
7945 } // getNumOperands
7946
7947 int numDstRegOperands() override { return 1; }
7948 int numSrcRegOperands() override { return 2; }
7949
7950 int
7951 getOperandSize(int opIdx) override
7952 {
7953 switch (opIdx) {
7954 case 0: //src_0
7955 return 2;
7956 case 1: //src_1
7957 return 2;
7958 case 2: //vdst
7959 return 2;
7960 default:
7961 fatal("op idx %i out of bounds\n", opIdx);
7962 return -1;
7963 }
7964 } // getOperandSize
7965
7966 void execute(GPUDynInstPtr) override;
7967 }; // Inst_VOP2__V_MIN_I16
7968
7970 {
7971 public:
7974
7975 int
7977 {
7979 } // getNumOperands
7980
7981 int numDstRegOperands() override { return 1; }
7982 int numSrcRegOperands() override { return 2; }
7983
7984 int
7985 getOperandSize(int opIdx) override
7986 {
7987 switch (opIdx) {
7988 case 0: //src_0
7989 return 2;
7990 case 1: //src_1
7991 return 2;
7992 case 2: //vdst
7993 return 2;
7994 default:
7995 fatal("op idx %i out of bounds\n", opIdx);
7996 return -1;
7997 }
7998 } // getOperandSize
7999
8000 void execute(GPUDynInstPtr) override;
8001 }; // Inst_VOP2__V_LDEXP_F16
8002
8004 {
8005 public:
8008
8009 int
8011 {
8013 } // getNumOperands
8014
8015 int numDstRegOperands() override { return 1; }
8016 int numSrcRegOperands() override { return 2; }
8017
8018 int
8019 getOperandSize(int opIdx) override
8020 {
8021 switch (opIdx) {
8022 case 0: //src_0
8023 return 4;
8024 case 1: //src_1
8025 return 4;
8026 case 2: //vdst
8027 return 4;
8028 default:
8029 fatal("op idx %i out of bounds\n", opIdx);
8030 return -1;
8031 }
8032 } // getOperandSize
8033
8034 void execute(GPUDynInstPtr) override;
8035 }; // Inst_VOP2__V_ADD_U32
8036
8038 {
8039 public:
8042
8043 int
8045 {
8047 } // getNumOperands
8048
8049 int numDstRegOperands() override { return 1; }
8050 int numSrcRegOperands() override { return 2; }
8051
8052 int
8053 getOperandSize(int opIdx) override
8054 {
8055 switch (opIdx) {
8056 case 0: //src_0
8057 return 4;
8058 case 1: //src_1
8059 return 4;
8060 case 2: //vdst
8061 return 4;
8062 default:
8063 fatal("op idx %i out of bounds\n", opIdx);
8064 return -1;
8065 }
8066 } // getOperandSize
8067
8068 void execute(GPUDynInstPtr) override;
8069 }; // Inst_VOP2__V_SUB_U32
8070
8072 {
8073 public:
8076
8077 int
8079 {
8081 } // getNumOperands
8082
8083 int numDstRegOperands() override { return 1; }
8084 int numSrcRegOperands() override { return 2; }
8085
8086 int
8087 getOperandSize(int opIdx) override
8088 {
8089 switch (opIdx) {
8090 case 0: //src_0
8091 return 4;
8092 case 1: //src_1
8093 return 4;
8094 case 2: //vdst
8095 return 4;
8096 default:
8097 fatal("op idx %i out of bounds\n", opIdx);
8098 return -1;
8099 }
8100 } // getOperandSize
8101
8102 void execute(GPUDynInstPtr) override;
8103 }; // Inst_VOP2__V_SUBREV_U32
8104
8106 {
8107 public:
8110
8111 int
8113 {
8115 } // getNumOperands
8116
8117 int numDstRegOperands() override { return 1; }
8118 int numSrcRegOperands() override { return 2; }
8119
8120 int
8121 getOperandSize(int opIdx) override
8122 {
8123 switch (opIdx) {
8124 case 0: //src_0
8125 return 4;
8126 case 1: //src_1
8127 return 4;
8128 case 2: //vdst
8129 return 4;
8130 default:
8131 fatal("op idx %i out of bounds\n", opIdx);
8132 return -1;
8133 }
8134 } // getOperandSize
8135
8136 void execute(GPUDynInstPtr) override;
8137 }; // Inst_VOP2__V_FMAC_F32
8138
8140 {
8141 public:
8144
8145 int
8147 {
8149 } // getNumOperands
8150
8151 int numDstRegOperands() override { return 1; }
8152 int numSrcRegOperands() override { return 2; }
8153
8154 int
8155 getOperandSize(int opIdx) override
8156 {
8157 switch (opIdx) {
8158 case 0: //src_0
8159 return 4;
8160 case 1: //src_1
8161 return 4;
8162 case 2: //vdst
8163 return 4;
8164 default:
8165 fatal("op idx %i out of bounds\n", opIdx);
8166 return -1;
8167 }
8168 } // getOperandSize
8169
8170 void execute(GPUDynInstPtr) override;
8171 }; // Inst_VOP2__V_XNOR_B32
8172
8174 {
8175 public:
8178
8179 int
8181 {
8183 } // getNumOperands
8184
8185 int numDstRegOperands() override { return 0; }
8186 int numSrcRegOperands() override { return 0; }
8187
8188 int
8189 getOperandSize(int opIdx) override
8190 {
8191 switch (opIdx) {
8192 default:
8193 fatal("op idx %i out of bounds\n", opIdx);
8194 return -1;
8195 }
8196 } // getOperandSize
8197
8198 void execute(GPUDynInstPtr) override;
8199 }; // Inst_VOP1__V_NOP
8200
8202 {
8203 public:
8206
8207 int
8209 {
8211 } // getNumOperands
8212
8213 int numDstRegOperands() override { return 1; }
8214 int numSrcRegOperands() override { return 1; }
8215
8216 int
8217 getOperandSize(int opIdx) override
8218 {
8219 switch (opIdx) {
8220 case 0: //src
8221 return 4;
8222 case 1: //vdst
8223 return 4;
8224 default:
8225 fatal("op idx %i out of bounds\n", opIdx);
8226 return -1;
8227 }
8228 } // getOperandSize
8229
8230 void execute(GPUDynInstPtr) override;
8231 }; // Inst_VOP1__V_MOV_B32
8232
8234 {
8235 public:
8238
8239 int
8241 {
8243 } // getNumOperands
8244
8245 int numDstRegOperands() override { return 1; }
8246 int numSrcRegOperands() override { return 1; }
8247
8248 int
8249 getOperandSize(int opIdx) override
8250 {
8251 switch (opIdx) {
8252 case 0: //vsrc
8253 return 4;
8254 case 1: //sdst
8255 return 4;
8256 default:
8257 fatal("op idx %i out of bounds\n", opIdx);
8258 return -1;
8259 }
8260 } // getOperandSize
8261
8262 void execute(GPUDynInstPtr) override;
8263 }; // Inst_VOP1__V_READFIRSTLANE_B32
8264
8266 {
8267 public:
8270
8271 int
8273 {
8275 } // getNumOperands
8276
8277 int numDstRegOperands() override { return 1; }
8278 int numSrcRegOperands() override { return 1; }
8279
8280 int
8281 getOperandSize(int opIdx) override
8282 {
8283 switch (opIdx) {
8284 case 0: //src
8285 return 8;
8286 case 1: //vdst
8287 return 4;
8288 default:
8289 fatal("op idx %i out of bounds\n", opIdx);
8290 return -1;
8291 }
8292 } // getOperandSize
8293
8294 void execute(GPUDynInstPtr) override;
8295 }; // Inst_VOP1__V_CVT_I32_F64
8296
8298 {
8299 public:
8302
8303 int
8305 {
8307 } // getNumOperands
8308
8309 int numDstRegOperands() override { return 1; }
8310 int numSrcRegOperands() override { return 1; }
8311
8312 int
8313 getOperandSize(int opIdx) override
8314 {
8315 switch (opIdx) {
8316 case 0: //src
8317 return 4;
8318 case 1: //vdst
8319 return 8;
8320 default:
8321 fatal("op idx %i out of bounds\n", opIdx);
8322 return -1;
8323 }
8324 } // getOperandSize
8325
8326 void execute(GPUDynInstPtr) override;
8327 }; // Inst_VOP1__V_CVT_F64_I32
8328
8330 {
8331 public:
8334
8335 int
8337 {
8339 } // getNumOperands
8340
8341 int numDstRegOperands() override { return 1; }
8342 int numSrcRegOperands() override { return 1; }
8343
8344 int
8345 getOperandSize(int opIdx) override
8346 {
8347 switch (opIdx) {
8348 case 0: //src
8349 return 4;
8350 case 1: //vdst
8351 return 4;
8352 default:
8353 fatal("op idx %i out of bounds\n", opIdx);
8354 return -1;
8355 }
8356 } // getOperandSize
8357
8358 void execute(GPUDynInstPtr) override;
8359 }; // Inst_VOP1__V_CVT_F32_I32
8360
8362 {
8363 public:
8366
8367 int
8369 {
8371 } // getNumOperands
8372
8373 int numDstRegOperands() override { return 1; }
8374 int numSrcRegOperands() override { return 1; }
8375
8376 int
8377 getOperandSize(int opIdx) override
8378 {
8379 switch (opIdx) {
8380 case 0: //src
8381 return 4;
8382 case 1: //vdst
8383 return 4;
8384 default:
8385 fatal("op idx %i out of bounds\n", opIdx);
8386 return -1;
8387 }
8388 } // getOperandSize
8389
8390 void execute(GPUDynInstPtr) override;
8391 }; // Inst_VOP1__V_CVT_F32_U32
8392
8394 {
8395 public:
8398
8399 int
8401 {
8403 } // getNumOperands
8404
8405 int numDstRegOperands() override { return 1; }
8406 int numSrcRegOperands() override { return 1; }
8407
8408 int
8409 getOperandSize(int opIdx) override
8410 {
8411 switch (opIdx) {
8412 case 0: //src
8413 return 4;
8414 case 1: //vdst
8415 return 4;
8416 default:
8417 fatal("op idx %i out of bounds\n", opIdx);
8418 return -1;
8419 }
8420 } // getOperandSize
8421
8422 void execute(GPUDynInstPtr) override;
8423 }; // Inst_VOP1__V_CVT_U32_F32
8424
8426 {
8427 public:
8430
8431 int
8433 {
8435 } // getNumOperands
8436
8437 int numDstRegOperands() override { return 1; }
8438 int numSrcRegOperands() override { return 1; }
8439
8440 int
8441 getOperandSize(int opIdx) override
8442 {
8443 switch (opIdx) {
8444 case 0: //src
8445 return 4;
8446 case 1: //vdst
8447 return 4;
8448 default:
8449 fatal("op idx %i out of bounds\n", opIdx);
8450 return -1;
8451 }
8452 } // getOperandSize
8453
8454 void execute(GPUDynInstPtr) override;
8455 }; // Inst_VOP1__V_CVT_I32_F32
8456
8458 {
8459 public:
8462
8463 int
8465 {
8467 } // getNumOperands
8468
8469 int numDstRegOperands() override { return 1; }
8470 int numSrcRegOperands() override { return 1; }
8471
8472 int
8473 getOperandSize(int opIdx) override
8474 {
8475 switch (opIdx) {
8476 case 0: //src
8477 return 4;
8478 case 1: //vdst
8479 return 4;
8480 default:
8481 fatal("op idx %i out of bounds\n", opIdx);
8482 return -1;
8483 }
8484 } // getOperandSize
8485
8486 void execute(GPUDynInstPtr) override;
8487 }; // Inst_VOP1__V_MOV_FED_B32
8488
8490 {
8491 public:
8494
8495 int
8497 {
8499 } // getNumOperands
8500
8501 int numDstRegOperands() override { return 1; }
8502 int numSrcRegOperands() override { return 1; }
8503
8504 int
8505 getOperandSize(int opIdx) override
8506 {
8507 switch (opIdx) {
8508 case 0: //src
8509 return 4;
8510 case 1: //vdst
8511 return 2;
8512 default:
8513 fatal("op idx %i out of bounds\n", opIdx);
8514 return -1;
8515 }
8516 } // getOperandSize
8517
8518 void execute(GPUDynInstPtr) override;
8519 }; // Inst_VOP1__V_CVT_F16_F32
8520
8522 {
8523 public:
8526
8527 int
8529 {
8531 } // getNumOperands
8532
8533 int numDstRegOperands() override { return 1; }
8534 int numSrcRegOperands() override { return 1; }
8535
8536 int
8537 getOperandSize(int opIdx) override
8538 {
8539 switch (opIdx) {
8540 case 0: //src
8541 return 2;
8542 case 1: //vdst
8543 return 4;
8544 default:
8545 fatal("op idx %i out of bounds\n", opIdx);
8546 return -1;
8547 }
8548 } // getOperandSize
8549
8550 void execute(GPUDynInstPtr) override;
8551 }; // Inst_VOP1__V_CVT_F32_F16
8552
8554 {
8555 public:
8558
8559 int
8561 {
8563 } // getNumOperands
8564
8565 int numDstRegOperands() override { return 1; }
8566 int numSrcRegOperands() override { return 1; }
8567
8568 int
8569 getOperandSize(int opIdx) override
8570 {
8571 switch (opIdx) {
8572 case 0: //src
8573 return 4;
8574 case 1: //vdst
8575 return 4;
8576 default:
8577 fatal("op idx %i out of bounds\n", opIdx);
8578 return -1;
8579 }
8580 } // getOperandSize
8581
8582 void execute(GPUDynInstPtr) override;
8583 }; // Inst_VOP1__V_CVT_RPI_I32_F32
8584
8586 {
8587 public:
8590
8591 int
8593 {
8595 } // getNumOperands
8596
8597 int numDstRegOperands() override { return 1; }
8598 int numSrcRegOperands() override { return 1; }
8599
8600 int
8601 getOperandSize(int opIdx) override
8602 {
8603 switch (opIdx) {
8604 case 0: //src
8605 return 4;
8606 case 1: //vdst
8607 return 4;
8608 default:
8609 fatal("op idx %i out of bounds\n", opIdx);
8610 return -1;
8611 }
8612 } // getOperandSize
8613
8614 void execute(GPUDynInstPtr) override;
8615 }; // Inst_VOP1__V_CVT_FLR_I32_F32
8616
8618 {
8619 public:
8622
8623 int
8625 {
8627 } // getNumOperands
8628
8629 int numDstRegOperands() override { return 1; }
8630 int numSrcRegOperands() override { return 1; }
8631
8632 int
8633 getOperandSize(int opIdx) override
8634 {
8635 switch (opIdx) {
8636 case 0: //src
8637 return 4;
8638 case 1: //vdst
8639 return 4;
8640 default:
8641 fatal("op idx %i out of bounds\n", opIdx);
8642 return -1;
8643 }
8644 } // getOperandSize
8645
8646 void execute(GPUDynInstPtr) override;
8647 }; // Inst_VOP1__V_CVT_OFF_F32_I4
8648
8650 {
8651 public:
8654
8655 int
8657 {
8659 } // getNumOperands
8660
8661 int numDstRegOperands() override { return 1; }
8662 int numSrcRegOperands() override { return 1; }
8663
8664 int
8665 getOperandSize(int opIdx) override
8666 {
8667 switch (opIdx) {
8668 case 0: //src
8669 return 8;
8670 case 1: //vdst
8671 return 4;
8672 default:
8673 fatal("op idx %i out of bounds\n", opIdx);
8674 return -1;
8675 }
8676 } // getOperandSize
8677
8678 void execute(GPUDynInstPtr) override;
8679 }; // Inst_VOP1__V_CVT_F32_F64
8680
8682 {
8683 public:
8686
8687 int
8689 {
8691 } // getNumOperands
8692
8693 int numDstRegOperands() override { return 1; }
8694 int numSrcRegOperands() override { return 1; }
8695
8696 int
8697 getOperandSize(int opIdx) override
8698 {
8699 switch (opIdx) {
8700 case 0: //src
8701 return 4;
8702 case 1: //vdst
8703 return 8;
8704 default:
8705 fatal("op idx %i out of bounds\n", opIdx);
8706 return -1;
8707 }
8708 } // getOperandSize
8709
8710 void execute(GPUDynInstPtr) override;
8711 }; // Inst_VOP1__V_CVT_F64_F32
8712
8714 {
8715 public:
8718
8719 int
8721 {
8723 } // getNumOperands
8724
8725 int numDstRegOperands() override { return 1; }
8726 int numSrcRegOperands() override { return 1; }
8727
8728 int
8729 getOperandSize(int opIdx) override
8730 {
8731 switch (opIdx) {
8732 case 0: //src
8733 return 4;
8734 case 1: //vdst
8735 return 4;
8736 default:
8737 fatal("op idx %i out of bounds\n", opIdx);
8738 return -1;
8739 }
8740 } // getOperandSize
8741
8742 void execute(GPUDynInstPtr) override;
8743 }; // Inst_VOP1__V_CVT_F32_UBYTE0
8744
8746 {
8747 public:
8750
8751 int
8753 {
8755 } // getNumOperands
8756
8757 int numDstRegOperands() override { return 1; }
8758 int numSrcRegOperands() override { return 1; }
8759
8760 int
8761 getOperandSize(int opIdx) override
8762 {
8763 switch (opIdx) {
8764 case 0: //src
8765 return 4;
8766 case 1: //vdst
8767 return 4;
8768 default:
8769 fatal("op idx %i out of bounds\n", opIdx);
8770 return -1;
8771 }
8772 } // getOperandSize
8773
8774 void execute(GPUDynInstPtr) override;
8775 }; // Inst_VOP1__V_CVT_F32_UBYTE1
8776
8778 {
8779 public:
8782
8783 int
8785 {
8787 } // getNumOperands
8788
8789 int numDstRegOperands() override { return 1; }
8790 int numSrcRegOperands() override { return 1; }
8791
8792 int
8793 getOperandSize(int opIdx) override
8794 {
8795 switch (opIdx) {
8796 case 0: //src
8797 return 4;
8798 case 1: //vdst
8799 return 4;
8800 default:
8801 fatal("op idx %i out of bounds\n", opIdx);
8802 return -1;
8803 }
8804 } // getOperandSize
8805
8806 void execute(GPUDynInstPtr) override;
8807 }; // Inst_VOP1__V_CVT_F32_UBYTE2
8808
8810 {
8811 public:
8814
8815 int
8817 {
8819 } // getNumOperands
8820
8821 int numDstRegOperands() override { return 1; }
8822 int numSrcRegOperands() override { return 1; }
8823
8824 int
8825 getOperandSize(int opIdx) override
8826 {
8827 switch (opIdx) {
8828 case 0: //src
8829 return 4;
8830 case 1: //vdst
8831 return 4;
8832 default:
8833 fatal("op idx %i out of bounds\n", opIdx);
8834 return -1;
8835 }
8836 } // getOperandSize
8837
8838 void execute(GPUDynInstPtr) override;
8839 }; // Inst_VOP1__V_CVT_F32_UBYTE3
8840
8842 {
8843 public:
8846
8847 int
8849 {
8851 } // getNumOperands
8852
8853 int numDstRegOperands() override { return 1; }
8854 int numSrcRegOperands() override { return 1; }
8855
8856 int
8857 getOperandSize(int opIdx) override
8858 {
8859 switch (opIdx) {
8860 case 0: //src
8861 return 8;
8862 case 1: //vdst
8863 return 4;
8864 default:
8865 fatal("op idx %i out of bounds\n", opIdx);
8866 return -1;
8867 }
8868 } // getOperandSize
8869
8870 void execute(GPUDynInstPtr) override;
8871 }; // Inst_VOP1__V_CVT_U32_F64
8872
8874 {
8875 public:
8878
8879 int
8881 {
8883 } // getNumOperands
8884
8885 int numDstRegOperands() override { return 1; }
8886 int numSrcRegOperands() override { return 1; }
8887
8888 int
8889 getOperandSize(int opIdx) override
8890 {
8891 switch (opIdx) {
8892 case 0: //src
8893 return 4;
8894 case 1: //vdst
8895 return 8;
8896 default:
8897 fatal("op idx %i out of bounds\n", opIdx);
8898 return -1;
8899 }
8900 } // getOperandSize
8901
8902 void execute(GPUDynInstPtr) override;
8903 }; // Inst_VOP1__V_CVT_F64_U32
8904
8906 {
8907 public:
8910
8911 int
8913 {
8915 } // getNumOperands
8916
8917 int numDstRegOperands() override { return 1; }
8918 int numSrcRegOperands() override { return 1; }
8919
8920 int
8921 getOperandSize(int opIdx) override
8922 {
8923 switch (opIdx) {
8924 case 0: //src
8925 return 8;
8926 case 1: //vdst
8927 return 8;
8928 default:
8929 fatal("op idx %i out of bounds\n", opIdx);
8930 return -1;
8931 }
8932 } // getOperandSize
8933
8934 void execute(GPUDynInstPtr) override;
8935 }; // Inst_VOP1__V_TRUNC_F64
8936
8938 {
8939 public:
8942
8943 int
8945 {
8947 } // getNumOperands
8948
8949 int numDstRegOperands() override { return 1; }
8950 int numSrcRegOperands() override { return 1; }
8951
8952 int
8953 getOperandSize(int opIdx) override
8954 {
8955 switch (opIdx) {
8956 case 0: //src
8957 return 8;
8958 case 1: //vdst
8959 return 8;
8960 default:
8961 fatal("op idx %i out of bounds\n", opIdx);
8962 return -1;
8963 }
8964 } // getOperandSize
8965
8966 void execute(GPUDynInstPtr) override;
8967 }; // Inst_VOP1__V_CEIL_F64
8968
8970 {
8971 public:
8974
8975 int
8977 {
8979 } // getNumOperands
8980
8981 int numDstRegOperands() override { return 1; }
8982 int numSrcRegOperands() override { return 1; }
8983
8984 int
8985 getOperandSize(int opIdx) override
8986 {
8987 switch (opIdx) {
8988 case 0: //src
8989 return 8;
8990 case 1: //vdst
8991 return 8;
8992 default:
8993 fatal("op idx %i out of bounds\n", opIdx);
8994 return -1;
8995 }
8996 } // getOperandSize
8997
8998 void execute(GPUDynInstPtr) override;
8999 }; // Inst_VOP1__V_RNDNE_F64
9000
9002 {
9003 public:
9006
9007 int
9009 {
9011 } // getNumOperands
9012
9013 int numDstRegOperands() override { return 1; }
9014 int numSrcRegOperands() override { return 1; }
9015
9016 int
9017 getOperandSize(int opIdx) override
9018 {
9019 switch (opIdx) {
9020 case 0: //src
9021 return 8;
9022 case 1: //vdst
9023 return 8;
9024 default:
9025 fatal("op idx %i out of bounds\n", opIdx);
9026 return -1;
9027 }
9028 } // getOperandSize
9029
9030 void execute(GPUDynInstPtr) override;
9031 }; // Inst_VOP1__V_FLOOR_F64
9032
9034 {
9035 public:
9038
9039 int
9041 {
9043 } // getNumOperands
9044
9045 int numDstRegOperands() override { return 1; }
9046 int numSrcRegOperands() override { return 1; }
9047
9048 int
9049 getOperandSize(int opIdx) override
9050 {
9051 switch (opIdx) {
9052 case 0: //src
9053 return 4;
9054 case 1: //vdst
9055 return 4;
9056 default:
9057 fatal("op idx %i out of bounds\n", opIdx);
9058 return -1;
9059 }
9060 } // getOperandSize
9061
9062 void execute(GPUDynInstPtr) override;
9063 }; // Inst_VOP1__V_FRACT_F32
9064
9066 {
9067 public:
9070
9071 int
9073 {
9075 } // getNumOperands
9076
9077 int numDstRegOperands() override { return 1; }
9078 int numSrcRegOperands() override { return 1; }
9079
9080 int
9081 getOperandSize(int opIdx) override
9082 {
9083 switch (opIdx) {
9084 case 0: //src
9085 return 4;
9086 case 1: //vdst
9087 return 4;
9088 default:
9089 fatal("op idx %i out of bounds\n", opIdx);
9090 return -1;
9091 }
9092 } // getOperandSize
9093
9094 void execute(GPUDynInstPtr) override;
9095 }; // Inst_VOP1__V_TRUNC_F32
9096
9098 {
9099 public:
9102
9103 int
9105 {
9107 } // getNumOperands
9108
9109 int numDstRegOperands() override { return 1; }
9110 int numSrcRegOperands() override { return 1; }
9111
9112 int
9113 getOperandSize(int opIdx) override
9114 {
9115 switch (opIdx) {
9116 case 0: //src
9117 return 4;
9118 case 1: //vdst
9119 return 4;
9120 default:
9121 fatal("op idx %i out of bounds\n", opIdx);
9122 return -1;
9123 }
9124 } // getOperandSize
9125
9126 void execute(GPUDynInstPtr) override;
9127 }; // Inst_VOP1__V_CEIL_F32
9128
9130 {
9131 public:
9134
9135 int
9137 {
9139 } // getNumOperands
9140
9141 int numDstRegOperands() override { return 1; }
9142 int numSrcRegOperands() override { return 1; }
9143
9144 int
9145 getOperandSize(int opIdx) override
9146 {
9147 switch (opIdx) {
9148 case 0: //src
9149 return 4;
9150 case 1: //vdst
9151 return 4;
9152 default:
9153 fatal("op idx %i out of bounds\n", opIdx);
9154 return -1;
9155 }
9156 } // getOperandSize
9157
9158 void execute(GPUDynInstPtr) override;
9159 }; // Inst_VOP1__V_RNDNE_F32
9160
9162 {
9163 public:
9166
9167 int
9169 {
9171 } // getNumOperands
9172
9173 int numDstRegOperands() override { return 1; }
9174 int numSrcRegOperands() override { return 1; }
9175
9176 int
9177 getOperandSize(int opIdx) override
9178 {
9179 switch (opIdx) {
9180 case 0: //src
9181 return 4;
9182 case 1: //vdst
9183 return 4;
9184 default:
9185 fatal("op idx %i out of bounds\n", opIdx);
9186 return -1;
9187 }
9188 } // getOperandSize
9189
9190 void execute(GPUDynInstPtr) override;
9191 }; // Inst_VOP1__V_FLOOR_F32
9192
9194 {
9195 public:
9198
9199 int
9201 {
9203 } // getNumOperands
9204
9205 int numDstRegOperands() override { return 1; }
9206 int numSrcRegOperands() override { return 1; }
9207
9208 int
9209 getOperandSize(int opIdx) override
9210 {
9211 switch (opIdx) {
9212 case 0: //src
9213 return 4;
9214 case 1: //vdst
9215 return 4;
9216 default:
9217 fatal("op idx %i out of bounds\n", opIdx);
9218 return -1;
9219 }
9220 } // getOperandSize
9221
9222 void execute(GPUDynInstPtr) override;
9223 }; // Inst_VOP1__V_EXP_F32
9224
9226 {
9227 public:
9230
9231 int
9233 {
9235 } // getNumOperands
9236
9237 int numDstRegOperands() override { return 1; }
9238 int numSrcRegOperands() override { return 1; }
9239
9240 int
9241 getOperandSize(int opIdx) override
9242 {
9243 switch (opIdx) {
9244 case 0: //src
9245 return 4;
9246 case 1: //vdst
9247 return 4;
9248 default:
9249 fatal("op idx %i out of bounds\n", opIdx);
9250 return -1;
9251 }
9252 } // getOperandSize
9253
9254 void execute(GPUDynInstPtr) override;
9255 }; // Inst_VOP1__V_LOG_F32
9256
9258 {
9259 public:
9262
9263 int
9265 {
9267 } // getNumOperands
9268
9269 int numDstRegOperands() override { return 1; }
9270 int numSrcRegOperands() override { return 1; }
9271
9272 int
9273 getOperandSize(int opIdx) override
9274 {
9275 switch (opIdx) {
9276 case 0: //src
9277 return 4;
9278 case 1: //vdst
9279 return 4;
9280 default:
9281 fatal("op idx %i out of bounds\n", opIdx);
9282 return -1;
9283 }
9284 } // getOperandSize
9285
9286 void execute(GPUDynInstPtr) override;
9287 }; // Inst_VOP1__V_RCP_F32
9288
9290 {
9291 public:
9294
9295 int
9297 {
9299 } // getNumOperands
9300
9301 int numDstRegOperands() override { return 1; }
9302 int numSrcRegOperands() override { return 1; }
9303
9304 int
9305 getOperandSize(int opIdx) override
9306 {
9307 switch (opIdx) {
9308 case 0: //src
9309 return 4;
9310 case 1: //vdst
9311 return 4;
9312 default:
9313 fatal("op idx %i out of bounds\n", opIdx);
9314 return -1;
9315 }
9316 } // getOperandSize
9317
9318 void execute(GPUDynInstPtr) override;
9319 }; // Inst_VOP1__V_RCP_IFLAG_F32
9320
9322 {
9323 public:
9326
9327 int
9329 {
9331 } // getNumOperands
9332
9333 int numDstRegOperands() override { return 1; }
9334 int numSrcRegOperands() override { return 1; }
9335
9336 int
9337 getOperandSize(int opIdx) override
9338 {
9339 switch (opIdx) {
9340 case 0: //src
9341 return 4;
9342 case 1: //vdst
9343 return 4;
9344 default:
9345 fatal("op idx %i out of bounds\n", opIdx);
9346 return -1;
9347 }
9348 } // getOperandSize
9349
9350 void execute(GPUDynInstPtr) override;
9351 }; // Inst_VOP1__V_RSQ_F32
9352
9354 {
9355 public:
9358
9359 int
9361 {
9363 } // getNumOperands
9364
9365 int numDstRegOperands() override { return 1; }
9366 int numSrcRegOperands() override { return 1; }
9367
9368 int
9369 getOperandSize(int opIdx) override
9370 {
9371 switch (opIdx) {
9372 case 0: //src
9373 return 8;
9374 case 1: //vdst
9375 return 8;
9376 default:
9377 fatal("op idx %i out of bounds\n", opIdx);
9378 return -1;
9379 }
9380 } // getOperandSize
9381
9382 void execute(GPUDynInstPtr) override;
9383 }; // Inst_VOP1__V_RCP_F64
9384
9386 {
9387 public:
9390
9391 int
9393 {
9395 } // getNumOperands
9396
9397 int numDstRegOperands() override { return 1; }
9398 int numSrcRegOperands() override { return 1; }
9399
9400 int
9401 getOperandSize(int opIdx) override
9402 {
9403 switch (opIdx) {
9404 case 0: //src
9405 return 8;
9406 case 1: //vdst
9407 return 8;
9408 default:
9409 fatal("op idx %i out of bounds\n", opIdx);
9410 return -1;
9411 }
9412 } // getOperandSize
9413
9414 void execute(GPUDynInstPtr) override;
9415 }; // Inst_VOP1__V_RSQ_F64
9416
9418 {
9419 public:
9422
9423 int
9425 {
9427 } // getNumOperands
9428
9429 int numDstRegOperands() override { return 1; }
9430 int numSrcRegOperands() override { return 1; }
9431
9432 int
9433 getOperandSize(int opIdx) override
9434 {
9435 switch (opIdx) {
9436 case 0: //src
9437 return 4;
9438 case 1: //vdst
9439 return 4;
9440 default:
9441 fatal("op idx %i out of bounds\n", opIdx);
9442 return -1;
9443 }
9444 } // getOperandSize
9445
9446 void execute(GPUDynInstPtr) override;
9447 }; // Inst_VOP1__V_SQRT_F32
9448
9450 {
9451 public:
9454
9455 int
9457 {
9459 } // getNumOperands
9460
9461 int numDstRegOperands() override { return 1; }
9462 int numSrcRegOperands() override { return 1; }
9463
9464 int
9465 getOperandSize(int opIdx) override
9466 {
9467 switch (opIdx) {
9468 case 0: //src
9469 return 8;
9470 case 1: //vdst
9471 return 8;
9472 default:
9473 fatal("op idx %i out of bounds\n", opIdx);
9474 return -1;
9475 }
9476 } // getOperandSize
9477
9478 void execute(GPUDynInstPtr) override;
9479 }; // Inst_VOP1__V_SQRT_F64
9480
9482 {
9483 public:
9486
9487 int
9489 {
9491 } // getNumOperands
9492
9493 int numDstRegOperands() override { return 1; }
9494 int numSrcRegOperands() override { return 1; }
9495
9496 int
9497 getOperandSize(int opIdx) override
9498 {
9499 switch (opIdx) {
9500 case 0: //src
9501 return 4;
9502 case 1: //vdst
9503 return 4;
9504 default:
9505 fatal("op idx %i out of bounds\n", opIdx);
9506 return -1;
9507 }
9508 } // getOperandSize
9509
9510 void execute(GPUDynInstPtr) override;
9511 }; // Inst_VOP1__V_SIN_F32
9512
9514 {
9515 public:
9518
9519 int
9521 {
9523 } // getNumOperands
9524
9525 int numDstRegOperands() override { return 1; }
9526 int numSrcRegOperands() override { return 1; }
9527
9528 int
9529 getOperandSize(int opIdx) override
9530 {
9531 switch (opIdx) {
9532 case 0: //src
9533 return 4;
9534 case 1: //vdst
9535 return 4;
9536 default:
9537 fatal("op idx %i out of bounds\n", opIdx);
9538 return -1;
9539 }
9540 } // getOperandSize
9541
9542 void execute(GPUDynInstPtr) override;
9543 }; // Inst_VOP1__V_COS_F32
9544
9546 {
9547 public:
9550
9551 int
9553 {
9555 } // getNumOperands
9556
9557 int numDstRegOperands() override { return 1; }
9558 int numSrcRegOperands() override { return 1; }
9559
9560 int
9561 getOperandSize(int opIdx) override
9562 {
9563 switch (opIdx) {
9564 case 0: //src
9565 return 4;
9566 case 1: //vdst
9567 return 4;
9568 default:
9569 fatal("op idx %i out of bounds\n", opIdx);
9570 return -1;
9571 }
9572 } // getOperandSize
9573
9574 void execute(GPUDynInstPtr) override;
9575 }; // Inst_VOP1__V_NOT_B32
9576
9578 {
9579 public:
9582
9583 int
9585 {
9587 } // getNumOperands
9588
9589 int numDstRegOperands() override { return 1; }
9590 int numSrcRegOperands() override { return 1; }
9591
9592 int
9593 getOperandSize(int opIdx) override
9594 {
9595 switch (opIdx) {
9596 case 0: //src
9597 return 4;
9598 case 1: //vdst
9599 return 4;
9600 default:
9601 fatal("op idx %i out of bounds\n", opIdx);
9602 return -1;
9603 }
9604 } // getOperandSize
9605
9606 void execute(GPUDynInstPtr) override;
9607 }; // Inst_VOP1__V_BFREV_B32
9608
9610 {
9611 public:
9614
9615 int
9617 {
9619 } // getNumOperands
9620
9621 int numDstRegOperands() override { return 1; }
9622 int numSrcRegOperands() override { return 1; }
9623
9624 int
9625 getOperandSize(int opIdx) override
9626 {
9627 switch (opIdx) {
9628 case 0: //src
9629 return 4;
9630 case 1: //vdst
9631 return 4;
9632 default:
9633 fatal("op idx %i out of bounds\n", opIdx);
9634 return -1;
9635 }
9636 } // getOperandSize
9637
9638 void execute(GPUDynInstPtr) override;
9639 }; // Inst_VOP1__V_FFBH_U32
9640
9642 {
9643 public:
9646
9647 int
9649 {
9651 } // getNumOperands
9652
9653 int numDstRegOperands() override { return 1; }
9654 int numSrcRegOperands() override { return 1; }
9655
9656 int
9657 getOperandSize(int opIdx) override
9658 {
9659 switch (opIdx) {
9660 case 0: //src
9661 return 4;
9662 case 1: //vdst
9663 return 4;
9664 default:
9665 fatal("op idx %i out of bounds\n", opIdx);
9666 return -1;
9667 }
9668 } // getOperandSize
9669
9670 void execute(GPUDynInstPtr) override;
9671 }; // Inst_VOP1__V_FFBL_B32
9672
9674 {
9675 public:
9678
9679 int
9681 {
9683 } // getNumOperands
9684
9685 int numDstRegOperands() override { return 1; }
9686 int numSrcRegOperands() override { return 1; }
9687
9688 int
9689 getOperandSize(int opIdx) override
9690 {
9691 switch (opIdx) {
9692 case 0: //src
9693 return 4;
9694 case 1: //vdst
9695 return 4;
9696 default:
9697 fatal("op idx %i out of bounds\n", opIdx);
9698 return -1;
9699 }
9700 } // getOperandSize
9701
9702 void execute(GPUDynInstPtr) override;
9703 }; // Inst_VOP1__V_FFBH_I32
9704
9706 {
9707 public:
9710
9711 int
9713 {
9715 } // getNumOperands
9716
9717 int numDstRegOperands() override { return 1; }
9718 int numSrcRegOperands() override { return 1; }
9719
9720 int
9721 getOperandSize(int opIdx) override
9722 {
9723 switch (opIdx) {
9724 case 0: //src
9725 return 8;
9726 case 1: //vdst
9727 return 4;
9728 default:
9729 fatal("op idx %i out of bounds\n", opIdx);
9730 return -1;
9731 }
9732 } // getOperandSize
9733
9734 void execute(GPUDynInstPtr) override;
9735 }; // Inst_VOP1__V_FREXP_EXP_I32_F64
9736
9738 {
9739 public:
9742
9743 int
9745 {
9747 } // getNumOperands
9748
9749 int numDstRegOperands() override { return 1; }
9750 int numSrcRegOperands() override { return 1; }
9751
9752 int
9753 getOperandSize(int opIdx) override
9754 {
9755 switch (opIdx) {
9756 case 0: //src
9757 return 8;
9758 case 1: //vdst
9759 return 8;
9760 default:
9761 fatal("op idx %i out of bounds\n", opIdx);
9762 return -1;
9763 }
9764 } // getOperandSize
9765
9766 void execute(GPUDynInstPtr) override;
9767 }; // Inst_VOP1__V_FREXP_MANT_F64
9768
9770 {
9771 public:
9774
9775 int
9777 {
9779 } // getNumOperands
9780
9781 int numDstRegOperands() override { return 1; }
9782 int numSrcRegOperands() override { return 1; }
9783
9784 int
9785 getOperandSize(int opIdx) override
9786 {
9787 switch (opIdx) {
9788 case 0: //src
9789 return 8;
9790 case 1: //vdst
9791 return 8;
9792 default:
9793 fatal("op idx %i out of bounds\n", opIdx);
9794 return -1;
9795 }
9796 } // getOperandSize
9797
9798 void execute(GPUDynInstPtr) override;
9799 }; // Inst_VOP1__V_FRACT_F64
9800
9802 {
9803 public:
9806
9807 int
9809 {
9811 } // getNumOperands
9812
9813 int numDstRegOperands() override { return 1; }
9814 int numSrcRegOperands() override { return 1; }
9815
9816 int
9817 getOperandSize(int opIdx) override
9818 {
9819 switch (opIdx) {
9820 case 0: //src
9821 return 4;
9822 case 1: //vdst
9823 return 4;
9824 default:
9825 fatal("op idx %i out of bounds\n", opIdx);
9826 return -1;
9827 }
9828 } // getOperandSize
9829
9830 void execute(GPUDynInstPtr) override;
9831 }; // Inst_VOP1__V_FREXP_EXP_I32_F32
9832
9834 {
9835 public:
9838
9839 int
9841 {
9843 } // getNumOperands
9844
9845 int numDstRegOperands() override { return 1; }
9846 int numSrcRegOperands() override { return 1; }
9847
9848 int
9849 getOperandSize(int opIdx) override
9850 {
9851 switch (opIdx) {
9852 case 0: //src
9853 return 4;
9854 case 1: //vdst
9855 return 4;
9856 default:
9857 fatal("op idx %i out of bounds\n", opIdx);
9858 return -1;
9859 }
9860 } // getOperandSize
9861
9862 void execute(GPUDynInstPtr) override;
9863 }; // Inst_VOP1__V_FREXP_MANT_F32
9864
9866 {
9867 public:
9870
9871 int
9873 {
9875 } // getNumOperands
9876
9877 int numDstRegOperands() override { return 0; }
9878 int numSrcRegOperands() override { return 0; }
9879
9880 int
9881 getOperandSize(int opIdx) override
9882 {
9883 switch (opIdx) {
9884 default:
9885 fatal("op idx %i out of bounds\n", opIdx);
9886 return -1;
9887 }
9888 } // getOperandSize
9889
9890 void execute(GPUDynInstPtr) override;
9891 }; // Inst_VOP1__V_CLREXCP
9892
9894 {
9895 public:
9898
9899 int
9901 {
9903 } // getNumOperands
9904
9905 int numDstRegOperands() override { return 1; }
9906 int numSrcRegOperands() override { return 1; }
9907
9908 int
9909 getOperandSize(int opIdx) override
9910 {
9911 switch (opIdx) {
9912 case 0: //src
9913 return 8;
9914 case 1: //vdst
9915 return 8;
9916 default:
9917 fatal("op idx %i out of bounds\n", opIdx);
9918 return -1;
9919 }
9920 } // getOperandSize
9921
9922 void execute(GPUDynInstPtr) override;
9923 }; // Inst_VOP1__V_MOV_B64
9924
9926 {
9927 public:
9930
9931 int
9933 {
9935 } // getNumOperands
9936
9937 int numDstRegOperands() override { return 1; }
9938 int numSrcRegOperands() override { return 1; }
9939
9940 int
9941 getOperandSize(int opIdx) override
9942 {
9943 switch (opIdx) {
9944 case 0: //src
9945 return 2;
9946 case 1: //vdst
9947 return 2;
9948 default:
9949 fatal("op idx %i out of bounds\n", opIdx);
9950 return -1;
9951 }
9952 } // getOperandSize
9953
9954 void execute(GPUDynInstPtr) override;
9955 }; // Inst_VOP1__V_CVT_F16_U16
9956
9958 {
9959 public:
9962
9963 int
9965 {
9967 } // getNumOperands
9968
9969 int numDstRegOperands() override { return 1; }
9970 int numSrcRegOperands() override { return 1; }
9971
9972 int
9973 getOperandSize(int opIdx) override
9974 {
9975 switch (opIdx) {
9976 case 0: //src
9977 return 2;
9978 case 1: //vdst
9979 return 2;
9980 default:
9981 fatal("op idx %i out of bounds\n", opIdx);
9982 return -1;
9983 }
9984 } // getOperandSize
9985
9986 void execute(GPUDynInstPtr) override;
9987 }; // Inst_VOP1__V_CVT_F16_I16
9988
9990 {
9991 public:
9994
9995 int
9997 {
9999 } // getNumOperands
10000
10001 int numDstRegOperands() override { return 1; }
10002 int numSrcRegOperands() override { return 1; }
10003
10004 int
10005 getOperandSize(int opIdx) override
10006 {
10007 switch (opIdx) {
10008 case 0: //src
10009 return 2;
10010 case 1: //vdst
10011 return 2;
10012 default:
10013 fatal("op idx %i out of bounds\n", opIdx);
10014 return -1;
10015 }
10016 } // getOperandSize
10017
10018 void execute(GPUDynInstPtr) override;
10019 }; // Inst_VOP1__V_CVT_U16_F16
10020
10022 {
10023 public:
10026
10027 int
10029 {
10031 } // getNumOperands
10032
10033 int numDstRegOperands() override { return 1; }
10034 int numSrcRegOperands() override { return 1; }
10035
10036 int
10037 getOperandSize(int opIdx) override
10038 {
10039 switch (opIdx) {
10040 case 0: //src
10041 return 2;
10042 case 1: //vdst
10043 return 2;
10044 default:
10045 fatal("op idx %i out of bounds\n", opIdx);
10046 return -1;
10047 }
10048 } // getOperandSize
10049
10050 void execute(GPUDynInstPtr) override;
10051 }; // Inst_VOP1__V_CVT_I16_F16
10052
10054 {
10055 public:
10058
10059 int
10061 {
10063 } // getNumOperands
10064
10065 int numDstRegOperands() override { return 1; }
10066 int numSrcRegOperands() override { return 1; }
10067
10068 int
10069 getOperandSize(int opIdx) override
10070 {
10071 switch (opIdx) {
10072 case 0: //src
10073 return 2;
10074 case 1: //vdst
10075 return 2;
10076 default:
10077 fatal("op idx %i out of bounds\n", opIdx);
10078 return -1;
10079 }
10080 } // getOperandSize
10081
10082 void execute(GPUDynInstPtr) override;
10083 }; // Inst_VOP1__V_RCP_F16
10084
10086 {
10087 public:
10090
10091 int
10093 {
10095 } // getNumOperands
10096
10097 int numDstRegOperands() override { return 1; }
10098 int numSrcRegOperands() override { return 1; }
10099
10100 int
10101 getOperandSize(int opIdx) override
10102 {
10103 switch (opIdx) {
10104 case 0: //src
10105 return 2;
10106 case 1: //vdst
10107 return 2;
10108 default:
10109 fatal("op idx %i out of bounds\n", opIdx);
10110 return -1;
10111 }
10112 } // getOperandSize
10113
10114 void execute(GPUDynInstPtr) override;
10115 }; // Inst_VOP1__V_SQRT_F16
10116
10118 {
10119 public:
10122
10123 int
10125 {
10127 } // getNumOperands
10128
10129 int numDstRegOperands() override { return 1; }
10130 int numSrcRegOperands() override { return 1; }
10131
10132 int
10133 getOperandSize(int opIdx) override
10134 {
10135 switch (opIdx) {
10136 case 0: //src
10137 return 2;
10138 case 1: //vdst
10139 return 2;
10140 default:
10141 fatal("op idx %i out of bounds\n", opIdx);
10142 return -1;
10143 }
10144 } // getOperandSize
10145
10146 void execute(GPUDynInstPtr) override;
10147 }; // Inst_VOP1__V_RSQ_F16
10148
10150 {
10151 public:
10154
10155 int
10157 {
10159 } // getNumOperands
10160
10161 int numDstRegOperands() override { return 1; }
10162 int numSrcRegOperands() override { return 1; }
10163
10164 int
10165 getOperandSize(int opIdx) override
10166 {
10167 switch (opIdx) {
10168 case 0: //src
10169 return 2;
10170 case 1: //vdst
10171 return 2;
10172 default:
10173 fatal("op idx %i out of bounds\n", opIdx);
10174 return -1;
10175 }
10176 } // getOperandSize
10177
10178 void execute(GPUDynInstPtr) override;
10179 }; // Inst_VOP1__V_LOG_F16
10180
10182 {
10183 public:
10186
10187 int
10189 {
10191 } // getNumOperands
10192
10193 int numDstRegOperands() override { return 1; }
10194 int numSrcRegOperands() override { return 1; }
10195
10196 int
10197 getOperandSize(int opIdx) override
10198 {
10199 switch (opIdx) {
10200 case 0: //src
10201 return 2;
10202 case 1: //vdst
10203 return 2;
10204 default:
10205 fatal("op idx %i out of bounds\n", opIdx);
10206 return -1;
10207 }
10208 } // getOperandSize
10209
10210 void execute(GPUDynInstPtr) override;
10211 }; // Inst_VOP1__V_EXP_F16
10212
10214 {
10215 public:
10218
10219 int
10221 {
10223 } // getNumOperands
10224
10225 int numDstRegOperands() override { return 1; }
10226 int numSrcRegOperands() override { return 1; }
10227
10228 int
10229 getOperandSize(int opIdx) override
10230 {
10231 switch (opIdx) {
10232 case 0: //src
10233 return 2;
10234 case 1: //vdst
10235 return 2;
10236 default:
10237 fatal("op idx %i out of bounds\n", opIdx);
10238 return -1;
10239 }
10240 } // getOperandSize
10241
10242 void execute(GPUDynInstPtr) override;
10243 }; // Inst_VOP1__V_FREXP_MANT_F16
10244
10246 {
10247 public:
10250
10251 int
10253 {
10255 } // getNumOperands
10256
10257 int numDstRegOperands() override { return 1; }
10258 int numSrcRegOperands() override { return 1; }
10259
10260 int
10261 getOperandSize(int opIdx) override
10262 {
10263 switch (opIdx) {
10264 case 0: //src
10265 return 2;
10266 case 1: //vdst
10267 return 2;
10268 default:
10269 fatal("op idx %i out of bounds\n", opIdx);
10270 return -1;
10271 }
10272 } // getOperandSize
10273
10274 void execute(GPUDynInstPtr) override;
10275 }; // Inst_VOP1__V_FREXP_EXP_I16_F16
10276
10278 {
10279 public:
10282
10283 int
10285 {
10287 } // getNumOperands
10288
10289 int numDstRegOperands() override { return 1; }
10290 int numSrcRegOperands() override { return 1; }
10291
10292 int
10293 getOperandSize(int opIdx) override
10294 {
10295 switch (opIdx) {
10296 case 0: //src
10297 return 2;
10298 case 1: //vdst
10299 return 2;
10300 default:
10301 fatal("op idx %i out of bounds\n", opIdx);
10302 return -1;
10303 }
10304 } // getOperandSize
10305
10306 void execute(GPUDynInstPtr) override;
10307 }; // Inst_VOP1__V_FLOOR_F16
10308
10310 {
10311 public:
10314
10315 int
10317 {
10319 } // getNumOperands
10320
10321 int numDstRegOperands() override { return 1; }
10322 int numSrcRegOperands() override { return 1; }
10323
10324 int
10325 getOperandSize(int opIdx) override
10326 {
10327 switch (opIdx) {
10328 case 0: //src
10329 return 2;
10330 case 1: //vdst
10331 return 2;
10332 default:
10333 fatal("op idx %i out of bounds\n", opIdx);
10334 return -1;
10335 }
10336 } // getOperandSize
10337
10338 void execute(GPUDynInstPtr) override;
10339 }; // Inst_VOP1__V_CEIL_F16
10340
10342 {
10343 public:
10346
10347 int
10349 {
10351 } // getNumOperands
10352
10353 int numDstRegOperands() override { return 1; }
10354 int numSrcRegOperands() override { return 1; }
10355
10356 int
10357 getOperandSize(int opIdx) override
10358 {
10359 switch (opIdx) {
10360 case 0: //src
10361 return 2;
10362 case 1: //vdst
10363 return 2;
10364 default:
10365 fatal("op idx %i out of bounds\n", opIdx);
10366 return -1;
10367 }
10368 } // getOperandSize
10369
10370 void execute(GPUDynInstPtr) override;
10371 }; // Inst_VOP1__V_TRUNC_F16
10372
10374 {
10375 public:
10378
10379 int
10381 {
10383 } // getNumOperands
10384
10385 int numDstRegOperands() override { return 1; }
10386 int numSrcRegOperands() override { return 1; }
10387
10388 int
10389 getOperandSize(int opIdx) override
10390 {
10391 switch (opIdx) {
10392 case 0: //src
10393 return 2;
10394 case 1: //vdst
10395 return 2;
10396 default:
10397 fatal("op idx %i out of bounds\n", opIdx);
10398 return -1;
10399 }
10400 } // getOperandSize
10401
10402 void execute(GPUDynInstPtr) override;
10403 }; // Inst_VOP1__V_RNDNE_F16
10404
10406 {
10407 public:
10410
10411 int
10413 {
10415 } // getNumOperands
10416
10417 int numDstRegOperands() override { return 1; }
10418 int numSrcRegOperands() override { return 1; }
10419
10420 int
10421 getOperandSize(int opIdx) override
10422 {
10423 switch (opIdx) {
10424 case 0: //src
10425 return 2;
10426 case 1: //vdst
10427 return 2;
10428 default:
10429 fatal("op idx %i out of bounds\n", opIdx);
10430 return -1;
10431 }
10432 } // getOperandSize
10433
10434 void execute(GPUDynInstPtr) override;
10435 }; // Inst_VOP1__V_FRACT_F16
10436
10438 {
10439 public:
10442
10443 int
10445 {
10447 } // getNumOperands
10448
10449 int numDstRegOperands() override { return 1; }
10450 int numSrcRegOperands() override { return 1; }
10451
10452 int
10453 getOperandSize(int opIdx) override
10454 {
10455 switch (opIdx) {
10456 case 0: //src
10457 return 2;
10458 case 1: //vdst
10459 return 2;
10460 default:
10461 fatal("op idx %i out of bounds\n", opIdx);
10462 return -1;
10463 }
10464 } // getOperandSize
10465
10466 void execute(GPUDynInstPtr) override;
10467 }; // Inst_VOP1__V_SIN_F16
10468
10470 {
10471 public:
10474
10475 int
10477 {
10479 } // getNumOperands
10480
10481 int numDstRegOperands() override { return 1; }
10482 int numSrcRegOperands() override { return 1; }
10483
10484 int
10485 getOperandSize(int opIdx) override
10486 {
10487 switch (opIdx) {
10488 case 0: //src
10489 return 2;
10490 case 1: //vdst
10491 return 2;
10492 default:
10493 fatal("op idx %i out of bounds\n", opIdx);
10494 return -1;
10495 }
10496 } // getOperandSize
10497
10498 void execute(GPUDynInstPtr) override;
10499 }; // Inst_VOP1__V_COS_F16
10500
10502 {
10503 public:
10506
10507 int
10509 {
10511 } // getNumOperands
10512
10513 int numDstRegOperands() override { return 1; }
10514 int numSrcRegOperands() override { return 1; }
10515
10516 int
10517 getOperandSize(int opIdx) override
10518 {
10519 switch (opIdx) {
10520 case 0: //src
10521 return 4;
10522 case 1: //vdst
10523 return 4;
10524 default:
10525 fatal("op idx %i out of bounds\n", opIdx);
10526 return -1;
10527 }
10528 } // getOperandSize
10529
10530 void execute(GPUDynInstPtr) override;
10531 }; // Inst_VOP1__V_EXP_LEGACY_F32
10532
10534 {
10535 public:
10538
10539 int
10541 {
10543 } // getNumOperands
10544
10545 int numDstRegOperands() override { return 1; }
10546 int numSrcRegOperands() override { return 1; }
10547
10548 int
10549 getOperandSize(int opIdx) override
10550 {
10551 switch (opIdx) {
10552 case 0: //src
10553 return 4;
10554 case 1: //vdst
10555 return 4;
10556 default:
10557 fatal("op idx %i out of bounds\n", opIdx);
10558 return -1;
10559 }
10560 } // getOperandSize
10561
10562 void execute(GPUDynInstPtr) override;
10563 }; // Inst_VOP1__V_LOG_LEGACY_F32
10564
10566 {
10567 public:
10570
10571 int
10573 {
10575 } // getNumOperands
10576
10577 int numDstRegOperands() override { return 1; }
10578 int numSrcRegOperands() override { return 1; }
10579
10580 int
10581 getOperandSize(int opIdx) override
10582 {
10583 switch (opIdx) {
10584 case 0: //src
10585 return 4;
10586 case 1: //vdst
10587 return 4;
10588 default:
10589 fatal("op idx %i out of bounds\n", opIdx);
10590 return -1;
10591 }
10592 } // getOperandSize
10593
10594 void execute(GPUDynInstPtr) override;
10595 }; // Inst_VOP1__V_ACCVGPR_MOV_B32
10596
10598 {
10599 public:
10602
10603 int
10605 {
10607 } // getNumOperands
10608
10609 int numDstRegOperands() override { return 1; }
10610 int numSrcRegOperands() override { return 2; }
10611
10612 int
10613 getOperandSize(int opIdx) override
10614 {
10615 switch (opIdx) {
10616 case 0: //src_0
10617 return 4;
10618 case 1: //src_1
10619 return 4;
10620 case 2: //vcc
10621 return 8;
10622 default:
10623 fatal("op idx %i out of bounds\n", opIdx);
10624 return -1;
10625 }
10626 } // getOperandSize
10627
10628 void execute(GPUDynInstPtr) override;
10629 }; // Inst_VOPC__V_CMP_CLASS_F32
10630
10632 {
10633 public:
10636
10637 int
10639 {
10641 } // getNumOperands
10642
10643 int numDstRegOperands() override { return 1; }
10644 int numSrcRegOperands() override { return 2; }
10645
10646 int
10647 getOperandSize(int opIdx) override
10648 {
10649 switch (opIdx) {
10650 case 0: //src_0
10651 return 4;
10652 case 1: //src_1
10653 return 4;
10654 case 2: //vcc
10655 return 8;
10656 default:
10657 fatal("op idx %i out of bounds\n", opIdx);
10658 return -1;
10659 }
10660 } // getOperandSize
10661
10662 void execute(GPUDynInstPtr) override;
10663 }; // Inst_VOPC__V_CMPX_CLASS_F32
10664
10666 {
10667 public:
10670
10671 int
10673 {
10675 } // getNumOperands
10676
10677 int numDstRegOperands() override { return 1; }
10678 int numSrcRegOperands() override { return 2; }
10679
10680 int
10681 getOperandSize(int opIdx) override
10682 {
10683 switch (opIdx) {
10684 case 0: //src_0
10685 return 8;
10686 case 1: //src_1
10687 return 4;
10688 case 2: //vcc
10689 return 8;
10690 default:
10691 fatal("op idx %i out of bounds\n", opIdx);
10692 return -1;
10693 }
10694 } // getOperandSize
10695
10696 void execute(GPUDynInstPtr) override;
10697 }; // Inst_VOPC__V_CMP_CLASS_F64
10698
10700 {
10701 public:
10704
10705 int
10707 {
10709 } // getNumOperands
10710
10711 int numDstRegOperands() override { return 1; }
10712 int numSrcRegOperands() override { return 2; }
10713
10714 int
10715 getOperandSize(int opIdx) override
10716 {
10717 switch (opIdx) {
10718 case 0: //src_0
10719 return 8;
10720 case 1: //src_1
10721 return 4;
10722 case 2: //vcc
10723 return 8;
10724 default:
10725 fatal("op idx %i out of bounds\n", opIdx);
10726 return -1;
10727 }
10728 } // getOperandSize
10729
10730 void execute(GPUDynInstPtr) override;
10731 }; // Inst_VOPC__V_CMPX_CLASS_F64
10732
10734 {
10735 public:
10738
10739 int
10741 {
10743 } // getNumOperands
10744
10745 int numDstRegOperands() override { return 1; }
10746 int numSrcRegOperands() override { return 2; }
10747
10748 int
10749 getOperandSize(int opIdx) override
10750 {
10751 switch (opIdx) {
10752 case 0: //src_0
10753 return 2;
10754 case 1: //src_1
10755 return 2;
10756 case 2: //vcc
10757 return 8;
10758 default:
10759 fatal("op idx %i out of bounds\n", opIdx);
10760 return -1;
10761 }
10762 } // getOperandSize
10763
10764 void execute(GPUDynInstPtr) override;
10765 }; // Inst_VOPC__V_CMP_CLASS_F16
10766
10768 {
10769 public:
10772
10773 int
10775 {
10777 } // getNumOperands
10778
10779 int numDstRegOperands() override { return 1; }
10780 int numSrcRegOperands() override { return 2; }
10781
10782 int
10783 getOperandSize(int opIdx) override
10784 {
10785 switch (opIdx) {
10786 case 0: //src_0
10787 return 2;
10788 case 1: //src_1
10789 return 2;
10790 case 2: //vcc
10791 return 8;
10792 default:
10793 fatal("op idx %i out of bounds\n", opIdx);
10794 return -1;
10795 }
10796 } // getOperandSize
10797
10798 void execute(GPUDynInstPtr) override;
10799 }; // Inst_VOPC__V_CMPX_CLASS_F16
10800
10802 {
10803 public:
10806
10807 int
10809 {
10811 } // getNumOperands
10812
10813 int numDstRegOperands() override { return 1; }
10814 int numSrcRegOperands() override { return 2; }
10815
10816 int
10817 getOperandSize(int opIdx) override
10818 {
10819 switch (opIdx) {
10820 case 0: //src_0
10821 return 2;
10822 case 1: //src_1
10823 return 2;
10824 case 2: //vcc
10825 return 8;
10826 default:
10827 fatal("op idx %i out of bounds\n", opIdx);
10828 return -1;
10829 }
10830 } // getOperandSize
10831
10832 void execute(GPUDynInstPtr) override;
10833 }; // Inst_VOPC__V_CMP_F_F16
10834
10836 {
10837 public:
10840
10841 int
10843 {
10845 } // getNumOperands
10846
10847 int numDstRegOperands() override { return 1; }
10848 int numSrcRegOperands() override { return 2; }
10849
10850 int
10851 getOperandSize(int opIdx) override
10852 {
10853 switch (opIdx) {
10854 case 0: //src_0
10855 return 2;
10856 case 1: //src_1
10857 return 2;
10858 case 2: //vcc
10859 return 8;
10860 default:
10861 fatal("op idx %i out of bounds\n", opIdx);
10862 return -1;
10863 }
10864 } // getOperandSize
10865
10866 void execute(GPUDynInstPtr) override;
10867 }; // Inst_VOPC__V_CMP_LT_F16
10868
10870 {
10871 public:
10874
10875 int
10877 {
10879 } // getNumOperands
10880
10881 int numDstRegOperands() override { return 1; }
10882 int numSrcRegOperands() override { return 2; }
10883
10884 int
10885 getOperandSize(int opIdx) override
10886 {
10887 switch (opIdx) {
10888 case 0: //src_0
10889 return 2;
10890 case 1: //src_1
10891 return 2;
10892 case 2: //vcc
10893 return 8;
10894 default:
10895 fatal("op idx %i out of bounds\n", opIdx);
10896 return -1;
10897 }
10898 } // getOperandSize
10899
10900 void execute(GPUDynInstPtr) override;
10901 }; // Inst_VOPC__V_CMP_EQ_F16
10902
10904 {
10905 public:
10908
10909 int
10911 {
10913 } // getNumOperands
10914
10915 int numDstRegOperands() override { return 1; }
10916 int numSrcRegOperands() override { return 2; }
10917
10918 int
10919 getOperandSize(int opIdx) override
10920 {
10921 switch (opIdx) {
10922 case 0: //src_0
10923 return 2;
10924 case 1: //src_1
10925 return 2;
10926 case 2: //vcc
10927 return 8;
10928 default:
10929 fatal("op idx %i out of bounds\n", opIdx);
10930 return -1;
10931 }
10932 } // getOperandSize
10933
10934 void execute(GPUDynInstPtr) override;
10935 }; // Inst_VOPC__V_CMP_LE_F16
10936
10938 {
10939 public:
10942
10943 int
10945 {
10947 } // getNumOperands
10948
10949 int numDstRegOperands() override { return 1; }
10950 int numSrcRegOperands() override { return 2; }
10951
10952 int
10953 getOperandSize(int opIdx) override
10954 {
10955 switch (opIdx) {
10956 case 0: //src_0
10957 return 2;
10958 case 1: //src_1
10959 return 2;
10960 case 2: //vcc
10961 return 8;
10962 default:
10963 fatal("op idx %i out of bounds\n", opIdx);
10964 return -1;
10965 }
10966 } // getOperandSize
10967
10968 void execute(GPUDynInstPtr) override;
10969 }; // Inst_VOPC__V_CMP_GT_F16
10970
10972 {
10973 public:
10976
10977 int
10979 {
10981 } // getNumOperands
10982
10983 int numDstRegOperands() override { return 1; }
10984 int numSrcRegOperands() override { return 2; }
10985
10986 int
10987 getOperandSize(int opIdx) override
10988 {
10989 switch (opIdx) {
10990 case 0: //src_0
10991 return 2;
10992 case 1: //src_1
10993 return 2;
10994 case 2: //vcc
10995 return 8;
10996 default:
10997 fatal("op idx %i out of bounds\n", opIdx);
10998 return -1;
10999 }
11000 } // getOperandSize
11001
11002 void execute(GPUDynInstPtr) override;
11003 }; // Inst_VOPC__V_CMP_LG_F16
11004
11006 {
11007 public:
11010
11011 int
11013 {
11015 } // getNumOperands
11016
11017 int numDstRegOperands() override { return 1; }
11018 int numSrcRegOperands() override { return 2; }
11019
11020 int
11021 getOperandSize(int opIdx) override
11022 {
11023 switch (opIdx) {
11024 case 0: //src_0
11025 return 2;
11026 case 1: //src_1
11027 return 2;
11028 case 2: //vcc
11029 return 8;
11030 default:
11031 fatal("op idx %i out of bounds\n", opIdx);
11032 return -1;
11033 }
11034 } // getOperandSize
11035
11036 void execute(GPUDynInstPtr) override;
11037 }; // Inst_VOPC__V_CMP_GE_F16
11038
11040 {
11041 public:
11044
11045 int
11047 {
11049 } // getNumOperands
11050
11051 int numDstRegOperands() override { return 1; }
11052 int numSrcRegOperands() override { return 2; }
11053
11054 int
11055 getOperandSize(int opIdx) override
11056 {
11057 switch (opIdx) {
11058 case 0: //src_0
11059 return 2;
11060 case 1: //src_1
11061 return 2;
11062 case 2: //vcc
11063 return 8;
11064 default:
11065 fatal("op idx %i out of bounds\n", opIdx);
11066 return -1;
11067 }
11068 } // getOperandSize
11069
11070 void execute(GPUDynInstPtr) override;
11071 }; // Inst_VOPC__V_CMP_O_F16
11072
11074 {
11075 public:
11078
11079 int
11081 {
11083 } // getNumOperands
11084
11085 int numDstRegOperands() override { return 1; }
11086 int numSrcRegOperands() override { return 2; }
11087
11088 int
11089 getOperandSize(int opIdx) override
11090 {
11091 switch (opIdx) {
11092 case 0: //src_0
11093 return 2;
11094 case 1: //src_1
11095 return 2;
11096 case 2: //vcc
11097 return 8;
11098 default:
11099 fatal("op idx %i out of bounds\n", opIdx);
11100 return -1;
11101 }
11102 } // getOperandSize
11103
11104 void execute(GPUDynInstPtr) override;
11105 }; // Inst_VOPC__V_CMP_U_F16
11106
11108 {
11109 public:
11112
11113 int
11115 {
11117 } // getNumOperands
11118
11119 int numDstRegOperands() override { return 1; }
11120 int numSrcRegOperands() override { return 2; }
11121
11122 int
11123 getOperandSize(int opIdx) override
11124 {
11125 switch (opIdx) {
11126 case 0: //src_0
11127 return 2;
11128 case 1: //src_1
11129 return 2;
11130 case 2: //vcc
11131 return 8;
11132 default:
11133 fatal("op idx %i out of bounds\n", opIdx);
11134 return -1;
11135 }
11136 } // getOperandSize
11137
11138 void execute(GPUDynInstPtr) override;
11139 }; // Inst_VOPC__V_CMP_NGE_F16
11140
11142 {
11143 public:
11146
11147 int
11149 {
11151 } // getNumOperands
11152
11153 int numDstRegOperands() override { return 1; }
11154 int numSrcRegOperands() override { return 2; }
11155
11156 int
11157 getOperandSize(int opIdx) override
11158 {
11159 switch (opIdx) {
11160 case 0: //src_0
11161 return 2;
11162 case 1: //src_1
11163 return 2;
11164 case 2: //vcc
11165 return 8;
11166 default:
11167 fatal("op idx %i out of bounds\n", opIdx);
11168 return -1;
11169 }
11170 } // getOperandSize
11171
11172 void execute(GPUDynInstPtr) override;
11173 }; // Inst_VOPC__V_CMP_NLG_F16
11174
11176 {
11177 public:
11180
11181 int
11183 {
11185 } // getNumOperands
11186
11187 int numDstRegOperands() override { return 1; }
11188 int numSrcRegOperands() override { return 2; }
11189
11190 int
11191 getOperandSize(int opIdx) override
11192 {
11193 switch (opIdx) {
11194 case 0: //src_0
11195 return 2;
11196 case 1: //src_1
11197 return 2;
11198 case 2: //vcc
11199 return 8;
11200 default:
11201 fatal("op idx %i out of bounds\n", opIdx);
11202 return -1;
11203 }
11204 } // getOperandSize
11205
11206 void execute(GPUDynInstPtr) override;
11207 }; // Inst_VOPC__V_CMP_NGT_F16
11208
11210 {
11211 public:
11214
11215 int
11217 {
11219 } // getNumOperands
11220
11221 int numDstRegOperands() override { return 1; }
11222 int numSrcRegOperands() override { return 2; }
11223
11224 int
11225 getOperandSize(int opIdx) override
11226 {
11227 switch (opIdx) {
11228 case 0: //src_0
11229 return 2;
11230 case 1: //src_1
11231 return 2;
11232 case 2: //vcc
11233 return 8;
11234 default:
11235 fatal("op idx %i out of bounds\n", opIdx);
11236 return -1;
11237 }
11238 } // getOperandSize
11239
11240 void execute(GPUDynInstPtr) override;
11241 }; // Inst_VOPC__V_CMP_NLE_F16
11242
11244 {
11245 public:
11248
11249 int
11251 {
11253 } // getNumOperands
11254
11255 int numDstRegOperands() override { return 1; }
11256 int numSrcRegOperands() override { return 2; }
11257
11258 int
11259 getOperandSize(int opIdx) override
11260 {
11261 switch (opIdx) {
11262 case 0: //src_0
11263 return 2;
11264 case 1: //src_1
11265 return 2;
11266 case 2: //vcc
11267 return 8;
11268 default:
11269 fatal("op idx %i out of bounds\n", opIdx);
11270 return -1;
11271 }
11272 } // getOperandSize
11273
11274 void execute(GPUDynInstPtr) override;
11275 }; // Inst_VOPC__V_CMP_NEQ_F16
11276
11278 {
11279 public:
11282
11283 int
11285 {
11287 } // getNumOperands
11288
11289 int numDstRegOperands() override { return 1; }
11290 int numSrcRegOperands() override { return 2; }
11291
11292 int
11293 getOperandSize(int opIdx) override
11294 {
11295 switch (opIdx) {
11296 case 0: //src_0
11297 return 2;
11298 case 1: //src_1
11299 return 2;
11300 case 2: //vcc
11301 return 8;
11302 default:
11303 fatal("op idx %i out of bounds\n", opIdx);
11304 return -1;
11305 }
11306 } // getOperandSize
11307
11308 void execute(GPUDynInstPtr) override;
11309 }; // Inst_VOPC__V_CMP_NLT_F16
11310
11312 {
11313 public:
11316
11317 int
11319 {
11321 } // getNumOperands
11322
11323 int numDstRegOperands() override { return 1; }
11324 int numSrcRegOperands() override { return 2; }
11325
11326 int
11327 getOperandSize(int opIdx) override
11328 {
11329 switch (opIdx) {
11330 case 0: //src_0
11331 return 2;
11332 case 1: //src_1
11333 return 2;
11334 case 2: //vcc
11335 return 8;
11336 default:
11337 fatal("op idx %i out of bounds\n", opIdx);
11338 return -1;
11339 }
11340 } // getOperandSize
11341
11342 void execute(GPUDynInstPtr) override;
11343 }; // Inst_VOPC__V_CMP_TRU_F16
11344
11346 {
11347 public:
11350
11351 int
11353 {
11355 } // getNumOperands
11356
11357 int numDstRegOperands() override { return 1; }
11358 int numSrcRegOperands() override { return 2; }
11359
11360 int
11361 getOperandSize(int opIdx) override
11362 {
11363 switch (opIdx) {
11364 case 0: //src_0
11365 return 2;
11366 case 1: //src_1
11367 return 2;
11368 case 2: //vcc
11369 return 8;
11370 default:
11371 fatal("op idx %i out of bounds\n", opIdx);
11372 return -1;
11373 }
11374 } // getOperandSize
11375
11376 void execute(GPUDynInstPtr) override;
11377 }; // Inst_VOPC__V_CMPX_F_F16
11378
11380 {
11381 public:
11384
11385 int
11387 {
11389 } // getNumOperands
11390
11391 int numDstRegOperands() override { return 1; }
11392 int numSrcRegOperands() override { return 2; }
11393
11394 int
11395 getOperandSize(int opIdx) override
11396 {
11397 switch (opIdx) {
11398 case 0: //src_0
11399 return 2;
11400 case 1: //src_1
11401 return 2;
11402 case 2: //vcc
11403 return 8;
11404 default:
11405 fatal("op idx %i out of bounds\n", opIdx);
11406 return -1;
11407 }
11408 } // getOperandSize
11409
11410 void execute(GPUDynInstPtr) override;
11411 }; // Inst_VOPC__V_CMPX_LT_F16
11412
11414 {
11415 public:
11418
11419 int
11421 {
11423 } // getNumOperands
11424
11425 int numDstRegOperands() override { return 1; }
11426 int numSrcRegOperands() override { return 2; }
11427
11428 int
11429 getOperandSize(int opIdx) override
11430 {
11431 switch (opIdx) {
11432 case 0: //src_0
11433 return 2;
11434 case 1: //src_1
11435 return 2;
11436 case 2: //vcc
11437 return 8;
11438 default:
11439 fatal("op idx %i out of bounds\n", opIdx);
11440 return -1;
11441 }
11442 } // getOperandSize
11443
11444 void execute(GPUDynInstPtr) override;
11445 }; // Inst_VOPC__V_CMPX_EQ_F16
11446
11448 {
11449 public:
11452
11453 int
11455 {
11457 } // getNumOperands
11458
11459 int numDstRegOperands() override { return 1; }
11460 int numSrcRegOperands() override { return 2; }
11461
11462 int
11463 getOperandSize(int opIdx) override
11464 {
11465 switch (opIdx) {
11466 case 0: //src_0
11467 return 2;
11468 case 1: //src_1
11469 return 2;
11470 case 2: //vcc
11471 return 8;
11472 default:
11473 fatal("op idx %i out of bounds\n", opIdx);
11474 return -1;
11475 }
11476 } // getOperandSize
11477
11478 void execute(GPUDynInstPtr) override;
11479 }; // Inst_VOPC__V_CMPX_LE_F16
11480
11482 {
11483 public:
11486
11487 int
11489 {
11491 } // getNumOperands
11492
11493 int numDstRegOperands() override { return 1; }
11494 int numSrcRegOperands() override { return 2; }
11495
11496 int
11497 getOperandSize(int opIdx) override
11498 {
11499 switch (opIdx) {
11500 case 0: //src_0
11501 return 2;
11502 case 1: //src_1
11503 return 2;
11504 case 2: //vcc
11505 return 8;
11506 default:
11507 fatal("op idx %i out of bounds\n", opIdx);
11508 return -1;
11509 }
11510 } // getOperandSize
11511
11512 void execute(GPUDynInstPtr) override;
11513 }; // Inst_VOPC__V_CMPX_GT_F16
11514
11516 {
11517 public:
11520
11521 int
11523 {
11525 } // getNumOperands
11526
11527 int numDstRegOperands() override { return 1; }
11528 int numSrcRegOperands() override { return 2; }
11529
11530 int
11531 getOperandSize(int opIdx) override
11532 {
11533 switch (opIdx) {
11534 case 0: //src_0
11535 return 2;
11536 case 1: //src_1
11537 return 2;
11538 case 2: //vcc
11539 return 8;
11540 default:
11541 fatal("op idx %i out of bounds\n", opIdx);
11542 return -1;
11543 }
11544 } // getOperandSize
11545
11546 void execute(GPUDynInstPtr) override;
11547 }; // Inst_VOPC__V_CMPX_LG_F16
11548
11550 {
11551 public:
11554
11555 int
11557 {
11559 } // getNumOperands
11560
11561 int numDstRegOperands() override { return 1; }
11562 int numSrcRegOperands() override { return 2; }
11563
11564 int
11565 getOperandSize(int opIdx) override
11566 {
11567 switch (opIdx) {
11568 case 0: //src_0
11569 return 2;
11570 case 1: //src_1
11571 return 2;
11572 case 2: //vcc
11573 return 8;
11574 default:
11575 fatal("op idx %i out of bounds\n", opIdx);
11576 return -1;
11577 }
11578 } // getOperandSize
11579
11580 void execute(GPUDynInstPtr) override;
11581 }; // Inst_VOPC__V_CMPX_GE_F16
11582
11584 {
11585 public:
11588
11589 int
11591 {
11593 } // getNumOperands
11594
11595 int numDstRegOperands() override { return 1; }
11596 int numSrcRegOperands() override { return 2; }
11597
11598 int
11599 getOperandSize(int opIdx) override
11600 {
11601 switch (opIdx) {
11602 case 0: //src_0
11603 return 2;
11604 case 1: //src_1
11605 return 2;
11606 case 2: //vcc
11607 return 8;
11608 default:
11609 fatal("op idx %i out of bounds\n", opIdx);
11610 return -1;
11611 }
11612 } // getOperandSize
11613
11614 void execute(GPUDynInstPtr) override;
11615 }; // Inst_VOPC__V_CMPX_O_F16
11616
11618 {
11619 public:
11622
11623 int
11625 {
11627 } // getNumOperands
11628
11629 int numDstRegOperands() override { return 1; }
11630 int numSrcRegOperands() override { return 2; }
11631
11632 int
11633 getOperandSize(int opIdx) override
11634 {
11635 switch (opIdx) {
11636 case 0: //src_0
11637 return 2;
11638 case 1: //src_1
11639 return 2;
11640 case 2: //vcc
11641 return 8;
11642 default:
11643 fatal("op idx %i out of bounds\n", opIdx);
11644 return -1;
11645 }
11646 } // getOperandSize
11647
11648 void execute(GPUDynInstPtr) override;
11649 }; // Inst_VOPC__V_CMPX_U_F16
11650
11652 {
11653 public:
11656
11657 int
11659 {
11661 } // getNumOperands
11662
11663 int numDstRegOperands() override { return 1; }
11664 int numSrcRegOperands() override { return 2; }
11665
11666 int
11667 getOperandSize(int opIdx) override
11668 {
11669 switch (opIdx) {
11670 case 0: //src_0
11671 return 2;
11672 case 1: //src_1
11673 return 2;
11674 case 2: //vcc
11675 return 8;
11676 default:
11677 fatal("op idx %i out of bounds\n", opIdx);
11678 return -1;
11679 }
11680 } // getOperandSize
11681
11682 void execute(GPUDynInstPtr) override;
11683 }; // Inst_VOPC__V_CMPX_NGE_F16
11684
11686 {
11687 public:
11690
11691 int
11693 {
11695 } // getNumOperands
11696
11697 int numDstRegOperands() override { return 1; }
11698 int numSrcRegOperands() override { return 2; }
11699
11700 int
11701 getOperandSize(int opIdx) override
11702 {
11703 switch (opIdx) {
11704 case 0: //src_0
11705 return 2;
11706 case 1: //src_1
11707 return 2;
11708 case 2: //vcc
11709 return 8;
11710 default:
11711 fatal("op idx %i out of bounds\n", opIdx);
11712 return -1;
11713 }
11714 } // getOperandSize
11715
11716 void execute(GPUDynInstPtr) override;
11717 }; // Inst_VOPC__V_CMPX_NLG_F16
11718
11720 {
11721 public:
11724
11725 int
11727 {
11729 } // getNumOperands
11730
11731 int numDstRegOperands() override { return 1; }
11732 int numSrcRegOperands() override { return 2; }
11733
11734 int
11735 getOperandSize(int opIdx) override
11736 {
11737 switch (opIdx) {
11738 case 0: //src_0
11739 return 2;
11740 case 1: //src_1
11741 return 2;
11742 case 2: //vcc
11743 return 8;
11744 default:
11745 fatal("op idx %i out of bounds\n", opIdx);
11746 return -1;
11747 }
11748 } // getOperandSize
11749
11750 void execute(GPUDynInstPtr) override;
11751 }; // Inst_VOPC__V_CMPX_NGT_F16
11752
11754 {
11755 public:
11758
11759 int
11761 {
11763 } // getNumOperands
11764
11765 int numDstRegOperands() override { return 1; }
11766 int numSrcRegOperands() override { return 2; }
11767
11768 int
11769 getOperandSize(int opIdx) override
11770 {
11771 switch (opIdx) {
11772 case 0: //src_0
11773 return 2;
11774 case 1: //src_1
11775 return 2;
11776 case 2: //vcc
11777 return 8;
11778 default:
11779 fatal("op idx %i out of bounds\n", opIdx);
11780 return -1;
11781 }
11782 } // getOperandSize
11783
11784 void execute(GPUDynInstPtr) override;
11785 }; // Inst_VOPC__V_CMPX_NLE_F16
11786
11788 {
11789 public:
11792
11793 int
11795 {
11797 } // getNumOperands
11798
11799 int numDstRegOperands() override { return 1; }
11800 int numSrcRegOperands() override { return 2; }
11801
11802 int
11803 getOperandSize(int opIdx) override
11804 {
11805 switch (opIdx) {
11806 case 0: //src_0
11807 return 2;
11808 case 1: //src_1
11809 return 2;
11810 case 2: //vcc
11811 return 8;
11812 default:
11813 fatal("op idx %i out of bounds\n", opIdx);
11814 return -1;
11815 }
11816 } // getOperandSize
11817
11818 void execute(GPUDynInstPtr) override;
11819 }; // Inst_VOPC__V_CMPX_NEQ_F16
11820
11822 {
11823 public:
11826
11827 int
11829 {
11831 } // getNumOperands
11832
11833 int numDstRegOperands() override { return 1; }
11834 int numSrcRegOperands() override { return 2; }
11835
11836 int
11837 getOperandSize(int opIdx) override
11838 {
11839 switch (opIdx) {
11840 case 0: //src_0
11841 return 2;
11842 case 1: //src_1
11843 return 2;
11844 case 2: //vcc
11845 return 8;
11846 default:
11847 fatal("op idx %i out of bounds\n", opIdx);
11848 return -1;
11849 }
11850 } // getOperandSize
11851
11852 void execute(GPUDynInstPtr) override;
11853 }; // Inst_VOPC__V_CMPX_NLT_F16
11854
11856 {
11857 public:
11860
11861 int
11863 {
11865 } // getNumOperands
11866
11867 int numDstRegOperands() override { return 1; }
11868 int numSrcRegOperands() override { return 2; }
11869
11870 int
11871 getOperandSize(int opIdx) override
11872 {
11873 switch (opIdx) {
11874 case 0: //src_0
11875 return 2;
11876 case 1: //src_1
11877 return 2;
11878 case 2: //vcc
11879 return 8;
11880 default:
11881 fatal("op idx %i out of bounds\n", opIdx);
11882 return -1;
11883 }
11884 } // getOperandSize
11885
11886 void execute(GPUDynInstPtr) override;
11887 }; // Inst_VOPC__V_CMPX_TRU_F16
11888
11890 {
11891 public:
11894
11895 int
11897 {
11899 } // getNumOperands
11900
11901 int numDstRegOperands() override { return 1; }
11902 int numSrcRegOperands() override { return 2; }
11903
11904 int
11905 getOperandSize(int opIdx) override
11906 {
11907 switch (opIdx) {
11908 case 0: //src_0
11909 return 4;
11910 case 1: //src_1
11911 return 4;
11912 case 2: //vcc
11913 return 8;
11914 default:
11915 fatal("op idx %i out of bounds\n", opIdx);
11916 return -1;
11917 }
11918 } // getOperandSize
11919
11920 void execute(GPUDynInstPtr) override;
11921 }; // Inst_VOPC__V_CMP_F_F32
11922
11924 {
11925 public:
11928
11929 int
11931 {
11933 } // getNumOperands
11934
11935 int numDstRegOperands() override { return 1; }
11936 int numSrcRegOperands() override { return 2; }
11937
11938 int
11939 getOperandSize(int opIdx) override
11940 {
11941 switch (opIdx) {
11942 case 0: //src_0
11943 return 4;
11944 case 1: //src_1
11945 return 4;
11946 case 2: //vcc
11947 return 8;
11948 default:
11949 fatal("op idx %i out of bounds\n", opIdx);
11950 return -1;
11951 }
11952 } // getOperandSize
11953
11954 void execute(GPUDynInstPtr) override;
11955 }; // Inst_VOPC__V_CMP_LT_F32
11956
11958 {
11959 public:
11962
11963 int
11965 {
11967 } // getNumOperands
11968
11969 int numDstRegOperands() override { return 1; }
11970 int numSrcRegOperands() override { return 2; }
11971
11972 int
11973 getOperandSize(int opIdx) override
11974 {
11975 switch (opIdx) {
11976 case 0: //src_0
11977 return 4;
11978 case 1: //src_1
11979 return 4;
11980 case 2: //vcc
11981 return 8;
11982 default:
11983 fatal("op idx %i out of bounds\n", opIdx);
11984 return -1;
11985 }
11986 } // getOperandSize
11987
11988 void execute(GPUDynInstPtr) override;
11989 }; // Inst_VOPC__V_CMP_EQ_F32
11990
11992 {
11993 public:
11996
11997 int
11999 {
12001 } // getNumOperands
12002
12003 int numDstRegOperands() override { return 1; }
12004 int numSrcRegOperands() override { return 2; }
12005
12006 int
12007 getOperandSize(int opIdx) override
12008 {
12009 switch (opIdx) {
12010 case 0: //src_0
12011 return 4;
12012 case 1: //src_1
12013 return 4;
12014 case 2: //vcc
12015 return 8;
12016 default:
12017 fatal("op idx %i out of bounds\n", opIdx);
12018 return -1;
12019 }
12020 } // getOperandSize
12021
12022 void execute(GPUDynInstPtr) override;
12023 }; // Inst_VOPC__V_CMP_LE_F32
12024
12026 {
12027 public:
12030
12031 int
12033 {
12035 } // getNumOperands
12036
12037 int numDstRegOperands() override { return 1; }
12038 int numSrcRegOperands() override { return 2; }
12039
12040 int
12041 getOperandSize(int opIdx) override
12042 {
12043 switch (opIdx) {
12044 case 0: //src_0
12045 return 4;
12046 case 1: //src_1
12047 return 4;
12048 case 2: //vcc
12049 return 8;
12050 default:
12051 fatal("op idx %i out of bounds\n", opIdx);
12052 return -1;
12053 }
12054 } // getOperandSize
12055
12056 void execute(GPUDynInstPtr) override;
12057 }; // Inst_VOPC__V_CMP_GT_F32
12058
12060 {
12061 public:
12064
12065 int
12067 {
12069 } // getNumOperands
12070
12071 int numDstRegOperands() override { return 1; }
12072 int numSrcRegOperands() override { return 2; }
12073
12074 int
12075 getOperandSize(int opIdx) override
12076 {
12077 switch (opIdx) {
12078 case 0: //src_0
12079 return 4;
12080 case 1: //src_1
12081 return 4;
12082 case 2: //vcc
12083 return 8;
12084 default:
12085 fatal("op idx %i out of bounds\n", opIdx);
12086 return -1;
12087 }
12088 } // getOperandSize
12089
12090 void execute(GPUDynInstPtr) override;
12091 }; // Inst_VOPC__V_CMP_LG_F32
12092
12094 {
12095 public:
12098
12099 int
12101 {
12103 } // getNumOperands
12104
12105 int numDstRegOperands() override { return 1; }
12106 int numSrcRegOperands() override { return 2; }
12107
12108 int
12109 getOperandSize(int opIdx) override
12110 {
12111 switch (opIdx) {
12112 case 0: //src_0
12113 return 4;
12114 case 1: //src_1
12115 return 4;
12116 case 2: //vcc
12117 return 8;
12118 default:
12119 fatal("op idx %i out of bounds\n", opIdx);
12120 return -1;
12121 }
12122 } // getOperandSize
12123
12124 void execute(GPUDynInstPtr) override;
12125 }; // Inst_VOPC__V_CMP_GE_F32
12126
12128 {
12129 public:
12132
12133 int
12135 {
12137 } // getNumOperands
12138
12139 int numDstRegOperands() override { return 1; }
12140 int numSrcRegOperands() override { return 2; }
12141
12142 int
12143 getOperandSize(int opIdx) override
12144 {
12145 switch (opIdx) {
12146 case 0: //src_0
12147 return 4;
12148 case 1: //src_1
12149 return 4;
12150 case 2: //vcc
12151 return 8;
12152 default:
12153 fatal("op idx %i out of bounds\n", opIdx);
12154 return -1;
12155 }
12156 } // getOperandSize
12157
12158 void execute(GPUDynInstPtr) override;
12159 }; // Inst_VOPC__V_CMP_O_F32
12160
12162 {
12163 public:
12166
12167 int
12169 {
12171 } // getNumOperands
12172
12173 int numDstRegOperands() override { return 1; }
12174 int numSrcRegOperands() override { return 2; }
12175
12176 int
12177 getOperandSize(int opIdx) override
12178 {
12179 switch (opIdx) {
12180 case 0: //src_0
12181 return 4;
12182 case 1: //src_1
12183 return 4;
12184 case 2: //vcc
12185 return 8;
12186 default:
12187 fatal("op idx %i out of bounds\n", opIdx);
12188 return -1;
12189 }
12190 } // getOperandSize
12191
12192 void execute(GPUDynInstPtr) override;
12193 }; // Inst_VOPC__V_CMP_U_F32
12194
12196 {
12197 public:
12200
12201 int
12203 {
12205 } // getNumOperands
12206
12207 int numDstRegOperands() override { return 1; }
12208 int numSrcRegOperands() override { return 2; }
12209
12210 int
12211 getOperandSize(int opIdx) override
12212 {
12213 switch (opIdx) {
12214 case 0: //src_0
12215 return 4;
12216 case 1: //src_1
12217 return 4;
12218 case 2: //vcc
12219 return 8;
12220 default:
12221 fatal("op idx %i out of bounds\n", opIdx);
12222 return -1;
12223 }
12224 } // getOperandSize
12225
12226 void execute(GPUDynInstPtr) override;
12227 }; // Inst_VOPC__V_CMP_NGE_F32
12228
12230 {
12231 public:
12234
12235 int
12237 {
12239 } // getNumOperands
12240
12241 int numDstRegOperands() override { return 1; }
12242 int numSrcRegOperands() override { return 2; }
12243
12244 int
12245 getOperandSize(int opIdx) override
12246 {
12247 switch (opIdx) {
12248 case 0: //src_0
12249 return 4;
12250 case 1: //src_1
12251 return 4;
12252 case 2: //vcc
12253 return 8;
12254 default:
12255 fatal("op idx %i out of bounds\n", opIdx);
12256 return -1;
12257 }
12258 } // getOperandSize
12259
12260 void execute(GPUDynInstPtr) override;
12261 }; // Inst_VOPC__V_CMP_NLG_F32
12262
12264 {
12265 public:
12268
12269 int
12271 {
12273 } // getNumOperands
12274
12275 int numDstRegOperands() override { return 1; }
12276 int numSrcRegOperands() override { return 2; }
12277
12278 int
12279 getOperandSize(int opIdx) override
12280 {
12281 switch (opIdx) {
12282 case 0: //src_0
12283 return 4;
12284 case 1: //src_1
12285 return 4;
12286 case 2: //vcc
12287 return 8;
12288 default:
12289 fatal("op idx %i out of bounds\n", opIdx);
12290 return -1;
12291 }
12292 } // getOperandSize
12293
12294 void execute(GPUDynInstPtr) override;
12295 }; // Inst_VOPC__V_CMP_NGT_F32
12296
12298 {
12299 public:
12302
12303 int
12305 {
12307 } // getNumOperands
12308
12309 int numDstRegOperands() override { return 1; }
12310 int numSrcRegOperands() override { return 2; }
12311
12312 int
12313 getOperandSize(int opIdx) override
12314 {
12315 switch (opIdx) {
12316 case 0: //src_0
12317 return 4;
12318 case 1: //src_1
12319 return 4;
12320 case 2: //vcc
12321 return 8;
12322 default:
12323 fatal("op idx %i out of bounds\n", opIdx);
12324 return -1;
12325 }
12326 } // getOperandSize
12327
12328 void execute(GPUDynInstPtr) override;
12329 }; // Inst_VOPC__V_CMP_NLE_F32
12330
12332 {
12333 public:
12336
12337 int
12339 {
12341 } // getNumOperands
12342
12343 int numDstRegOperands() override { return 1; }
12344 int numSrcRegOperands() override { return 2; }
12345
12346 int
12347 getOperandSize(int opIdx) override
12348 {
12349 switch (opIdx) {
12350 case 0: //src_0
12351 return 4;
12352 case 1: //src_1
12353 return 4;
12354 case 2: //vcc
12355 return 8;
12356 default:
12357 fatal("op idx %i out of bounds\n", opIdx);
12358 return -1;
12359 }
12360 } // getOperandSize
12361
12362 void execute(GPUDynInstPtr) override;
12363 }; // Inst_VOPC__V_CMP_NEQ_F32
12364
12366 {
12367 public:
12370
12371 int
12373 {
12375 } // getNumOperands
12376
12377 int numDstRegOperands() override { return 1; }
12378 int numSrcRegOperands() override { return 2; }
12379
12380 int
12381 getOperandSize(int opIdx) override
12382 {
12383 switch (opIdx) {
12384 case 0: //src_0
12385 return 4;
12386 case 1: //src_1
12387 return 4;
12388 case 2: //vcc
12389 return 8;
12390 default:
12391 fatal("op idx %i out of bounds\n", opIdx);
12392 return -1;
12393 }
12394 } // getOperandSize
12395
12396 void execute(GPUDynInstPtr) override;
12397 }; // Inst_VOPC__V_CMP_NLT_F32
12398
12400 {
12401 public:
12404
12405 int
12407 {
12409 } // getNumOperands
12410
12411 int numDstRegOperands() override { return 1; }
12412 int numSrcRegOperands() override { return 2; }
12413
12414 int
12415 getOperandSize(int opIdx) override
12416 {
12417 switch (opIdx) {
12418 case 0: //src_0
12419 return 4;
12420 case 1: //src_1
12421 return 4;
12422 case 2: //vcc
12423 return 8;
12424 default:
12425 fatal("op idx %i out of bounds\n", opIdx);
12426 return -1;
12427 }
12428 } // getOperandSize
12429
12430 void execute(GPUDynInstPtr) override;
12431 }; // Inst_VOPC__V_CMP_TRU_F32
12432
12434 {
12435 public:
12438
12439 int
12441 {
12443 } // getNumOperands
12444
12445 int numDstRegOperands() override { return 1; }
12446 int numSrcRegOperands() override { return 2; }
12447
12448 int
12449 getOperandSize(int opIdx) override
12450 {
12451 switch (opIdx) {
12452 case 0: //src_0
12453 return 4;
12454 case 1: //src_1
12455 return 4;
12456 case 2: //vcc
12457 return 8;
12458 default:
12459 fatal("op idx %i out of bounds\n", opIdx);
12460 return -1;
12461 }
12462 } // getOperandSize
12463
12464 void execute(GPUDynInstPtr) override;
12465 }; // Inst_VOPC__V_CMPX_F_F32
12466
12468 {
12469 public:
12472
12473 int
12475 {
12477 } // getNumOperands
12478
12479 int numDstRegOperands() override { return 1; }
12480 int numSrcRegOperands() override { return 2; }
12481
12482 int
12483 getOperandSize(int opIdx) override
12484 {
12485 switch (opIdx) {
12486 case 0: //src_0
12487 return 4;
12488 case 1: //src_1
12489 return 4;
12490 case 2: //vcc
12491 return 8;
12492 default:
12493 fatal("op idx %i out of bounds\n", opIdx);
12494 return -1;
12495 }
12496 } // getOperandSize
12497
12498 void execute(GPUDynInstPtr) override;
12499 }; // Inst_VOPC__V_CMPX_LT_F32
12500
12502 {
12503 public:
12506
12507 int
12509 {
12511 } // getNumOperands
12512
12513 int numDstRegOperands() override { return 1; }
12514 int numSrcRegOperands() override { return 2; }
12515
12516 int
12517 getOperandSize(int opIdx) override
12518 {
12519 switch (opIdx) {
12520 case 0: //src_0
12521 return 4;
12522 case 1: //src_1
12523 return 4;
12524 case 2: //vcc
12525 return 8;
12526 default:
12527 fatal("op idx %i out of bounds\n", opIdx);
12528 return -1;
12529 }
12530 } // getOperandSize
12531
12532 void execute(GPUDynInstPtr) override;
12533 }; // Inst_VOPC__V_CMPX_EQ_F32
12534
12536 {
12537 public:
12540
12541 int
12543 {
12545 } // getNumOperands
12546
12547 int numDstRegOperands() override { return 1; }
12548 int numSrcRegOperands() override { return 2; }
12549
12550 int
12551 getOperandSize(int opIdx) override
12552 {
12553 switch (opIdx) {
12554 case 0: //src_0
12555 return 4;
12556 case 1: //src_1
12557 return 4;
12558 case 2: //vcc
12559 return 8;
12560 default:
12561 fatal("op idx %i out of bounds\n", opIdx);
12562 return -1;
12563 }
12564 } // getOperandSize
12565
12566 void execute(GPUDynInstPtr) override;
12567 }; // Inst_VOPC__V_CMPX_LE_F32
12568
12570 {
12571 public:
12574
12575 int
12577 {
12579 } // getNumOperands
12580
12581 int numDstRegOperands() override { return 1; }
12582 int numSrcRegOperands() override { return 2; }
12583
12584 int
12585 getOperandSize(int opIdx) override
12586 {
12587 switch (opIdx) {
12588 case 0: //src_0
12589 return 4;
12590 case 1: //src_1
12591 return 4;
12592 case 2: //vcc
12593 return 8;
12594 default:
12595 fatal("op idx %i out of bounds\n", opIdx);
12596 return -1;
12597 }
12598 } // getOperandSize
12599
12600 void execute(GPUDynInstPtr) override;
12601 }; // Inst_VOPC__V_CMPX_GT_F32
12602
12604 {
12605 public:
12608
12609 int
12611 {
12613 } // getNumOperands
12614
12615 int numDstRegOperands() override { return 1; }
12616 int numSrcRegOperands() override { return 2; }
12617
12618 int
12619 getOperandSize(int opIdx) override
12620 {
12621 switch (opIdx) {
12622 case 0: //src_0
12623 return 4;
12624 case 1: //src_1
12625 return 4;
12626 case 2: //vcc
12627 return 8;
12628 default:
12629 fatal("op idx %i out of bounds\n", opIdx);
12630 return -1;
12631 }
12632 } // getOperandSize
12633
12634 void execute(GPUDynInstPtr) override;
12635 }; // Inst_VOPC__V_CMPX_LG_F32
12636
12638 {
12639 public:
12642
12643 int
12645 {
12647 } // getNumOperands
12648
12649 int numDstRegOperands() override { return 1; }
12650 int numSrcRegOperands() override { return 2; }
12651
12652 int
12653 getOperandSize(int opIdx) override
12654 {
12655 switch (opIdx) {
12656 case 0: //src_0
12657 return 4;
12658 case 1: //src_1
12659 return 4;
12660 case 2: //vcc
12661 return 8;
12662 default:
12663 fatal("op idx %i out of bounds\n", opIdx);
12664 return -1;
12665 }
12666 } // getOperandSize
12667
12668 void execute(GPUDynInstPtr) override;
12669 }; // Inst_VOPC__V_CMPX_GE_F32
12670
12672 {
12673 public:
12676
12677 int
12679 {
12681 } // getNumOperands
12682
12683 int numDstRegOperands() override { return 1; }
12684 int numSrcRegOperands() override { return 2; }
12685
12686 int
12687 getOperandSize(int opIdx) override
12688 {
12689 switch (opIdx) {
12690 case 0: //src_0
12691 return 4;
12692 case 1: //src_1
12693 return 4;
12694 case 2: //vcc
12695 return 8;
12696 default:
12697 fatal("op idx %i out of bounds\n", opIdx);
12698 return -1;
12699 }
12700 } // getOperandSize
12701
12702 void execute(GPUDynInstPtr) override;
12703 }; // Inst_VOPC__V_CMPX_O_F32
12704
12706 {
12707 public:
12710
12711 int
12713 {
12715 } // getNumOperands
12716
12717 int numDstRegOperands() override { return 1; }
12718 int numSrcRegOperands() override { return 2; }
12719
12720 int
12721 getOperandSize(int opIdx) override
12722 {
12723 switch (opIdx) {
12724 case 0: //src_0
12725 return 4;
12726 case 1: //src_1
12727 return 4;
12728 case 2: //vcc
12729 return 8;
12730 default:
12731 fatal("op idx %i out of bounds\n", opIdx);
12732 return -1;
12733 }
12734 } // getOperandSize
12735
12736 void execute(GPUDynInstPtr) override;
12737 }; // Inst_VOPC__V_CMPX_U_F32
12738
12740 {
12741 public:
12744
12745 int
12747 {
12749 } // getNumOperands
12750
12751 int numDstRegOperands() override { return 1; }
12752 int numSrcRegOperands() override { return 2; }
12753
12754 int
12755 getOperandSize(int opIdx) override
12756 {
12757 switch (opIdx) {
12758 case 0: //src_0
12759 return 4;
12760 case 1: //src_1
12761 return 4;
12762 case 2: //vcc
12763 return 8;
12764 default:
12765 fatal("op idx %i out of bounds\n", opIdx);
12766 return -1;
12767 }
12768 } // getOperandSize
12769
12770 void execute(GPUDynInstPtr) override;
12771 }; // Inst_VOPC__V_CMPX_NGE_F32
12772
12774 {
12775 public:
12778
12779 int
12781 {
12783 } // getNumOperands
12784
12785 int numDstRegOperands() override { return 1; }
12786 int numSrcRegOperands() override { return 2; }
12787
12788 int
12789 getOperandSize(int opIdx) override
12790 {
12791 switch (opIdx) {
12792 case 0: //src_0
12793 return 4;
12794 case 1: //src_1
12795 return 4;
12796 case 2: //vcc
12797 return 8;
12798 default:
12799 fatal("op idx %i out of bounds\n", opIdx);
12800 return -1;
12801 }
12802 } // getOperandSize
12803
12804 void execute(GPUDynInstPtr) override;
12805 }; // Inst_VOPC__V_CMPX_NLG_F32
12806
12808 {
12809 public:
12812
12813 int
12815 {
12817 } // getNumOperands
12818
12819 int numDstRegOperands() override { return 1; }
12820 int numSrcRegOperands() override { return 2; }
12821
12822 int
12823 getOperandSize(int opIdx) override
12824 {
12825 switch (opIdx) {
12826 case 0: //src_0
12827 return 4;
12828 case 1: //src_1
12829 return 4;
12830 case 2: //vcc
12831 return 8;
12832 default:
12833 fatal("op idx %i out of bounds\n", opIdx);
12834 return -1;
12835 }
12836 } // getOperandSize
12837
12838 void execute(GPUDynInstPtr) override;
12839 }; // Inst_VOPC__V_CMPX_NGT_F32
12840
12842 {
12843 public:
12846
12847 int
12849 {
12851 } // getNumOperands
12852
12853 int numDstRegOperands() override { return 1; }
12854 int numSrcRegOperands() override { return 2; }
12855
12856 int
12857 getOperandSize(int opIdx) override
12858 {
12859 switch (opIdx) {
12860 case 0: //src_0
12861 return 4;
12862 case 1: //src_1
12863 return 4;
12864 case 2: //vcc
12865 return 8;
12866 default:
12867 fatal("op idx %i out of bounds\n", opIdx);
12868 return -1;
12869 }
12870 } // getOperandSize
12871
12872 void execute(GPUDynInstPtr) override;
12873 }; // Inst_VOPC__V_CMPX_NLE_F32
12874
12876 {
12877 public:
12880
12881 int
12883 {
12885 } // getNumOperands
12886
12887 int numDstRegOperands() override { return 1; }
12888 int numSrcRegOperands() override { return 2; }
12889
12890 int
12891 getOperandSize(int opIdx) override
12892 {
12893 switch (opIdx) {
12894 case 0: //src_0
12895 return 4;
12896 case 1: //src_1
12897 return 4;
12898 case 2: //vcc
12899 return 8;
12900 default:
12901 fatal("op idx %i out of bounds\n", opIdx);
12902 return -1;
12903 }
12904 } // getOperandSize
12905
12906 void execute(GPUDynInstPtr) override;
12907 }; // Inst_VOPC__V_CMPX_NEQ_F32
12908
12910 {
12911 public:
12914
12915 int
12917 {
12919 } // getNumOperands
12920
12921 int numDstRegOperands() override { return 1; }
12922 int numSrcRegOperands() override { return 2; }
12923
12924 int
12925 getOperandSize(int opIdx) override
12926 {
12927 switch (opIdx) {
12928 case 0: //src_0
12929 return 4;
12930 case 1: //src_1
12931 return 4;
12932 case 2: //vcc
12933 return 8;
12934 default:
12935 fatal("op idx %i out of bounds\n", opIdx);
12936 return -1;
12937 }
12938 } // getOperandSize
12939
12940 void execute(GPUDynInstPtr) override;
12941 }; // Inst_VOPC__V_CMPX_NLT_F32
12942
12944 {
12945 public:
12948
12949 int
12951 {
12953 } // getNumOperands
12954
12955 int numDstRegOperands() override { return 1; }
12956 int numSrcRegOperands() override { return 2; }
12957
12958 int
12959 getOperandSize(int opIdx) override
12960 {
12961 switch (opIdx) {
12962 case 0: //src_0
12963 return 4;
12964 case 1: //src_1
12965 return 4;
12966 case 2: //vcc
12967 return 8;
12968 default:
12969 fatal("op idx %i out of bounds\n", opIdx);
12970 return -1;
12971 }
12972 } // getOperandSize
12973
12974 void execute(GPUDynInstPtr) override;
12975 }; // Inst_VOPC__V_CMPX_TRU_F32
12976
12978 {
12979 public:
12982
12983 int
12985 {
12987 } // getNumOperands
12988
12989 int numDstRegOperands() override { return 1; }
12990 int numSrcRegOperands() override { return 2; }
12991
12992 int
12993 getOperandSize(int opIdx) override
12994 {
12995 switch (opIdx) {
12996 case 0: //src_0
12997 return 8;
12998 case 1: //src_1
12999 return 8;
13000 case 2: //vcc
13001 return 8;
13002 default:
13003 fatal("op idx %i out of bounds\n", opIdx);
13004 return -1;
13005 }
13006 } // getOperandSize
13007
13008 void execute(GPUDynInstPtr) override;
13009 }; // Inst_VOPC__V_CMP_F_F64
13010
13012 {
13013 public:
13016
13017 int
13019 {
13021 } // getNumOperands
13022
13023 int numDstRegOperands() override { return 1; }
13024 int numSrcRegOperands() override { return 2; }
13025
13026 int
13027 getOperandSize(int opIdx) override
13028 {
13029 switch (opIdx) {
13030 case 0: //src_0
13031 return 8;
13032 case 1: //src_1
13033 return 8;
13034 case 2: //vcc
13035 return 8;
13036 default:
13037 fatal("op idx %i out of bounds\n", opIdx);
13038 return -1;
13039 }
13040 } // getOperandSize
13041
13042 void execute(GPUDynInstPtr) override;
13043 }; // Inst_VOPC__V_CMP_LT_F64
13044
13046 {
13047 public:
13050
13051 int
13053 {
13055 } // getNumOperands
13056
13057 int numDstRegOperands() override { return 1; }
13058 int numSrcRegOperands() override { return 2; }
13059
13060 int
13061 getOperandSize(int opIdx) override
13062 {
13063 switch (opIdx) {
13064 case 0: //src_0
13065 return 8;
13066 case 1: //src_1
13067 return 8;
13068 case 2: //vcc
13069 return 8;
13070 default:
13071 fatal("op idx %i out of bounds\n", opIdx);
13072 return -1;
13073 }
13074 } // getOperandSize
13075
13076 void execute(GPUDynInstPtr) override;
13077 }; // Inst_VOPC__V_CMP_EQ_F64
13078
13080 {
13081 public:
13084
13085 int
13087 {
13089 } // getNumOperands
13090
13091 int numDstRegOperands() override { return 1; }
13092 int numSrcRegOperands() override { return 2; }
13093
13094 int
13095 getOperandSize(int opIdx) override
13096 {
13097 switch (opIdx) {
13098 case 0: //src_0
13099 return 8;
13100 case 1: //src_1
13101 return 8;
13102 case 2: //vcc
13103 return 8;
13104 default:
13105 fatal("op idx %i out of bounds\n", opIdx);
13106 return -1;
13107 }
13108 } // getOperandSize
13109
13110 void execute(GPUDynInstPtr) override;
13111 }; // Inst_VOPC__V_CMP_LE_F64
13112
13114 {
13115 public:
13118
13119 int
13121 {
13123 } // getNumOperands
13124
13125 int numDstRegOperands() override { return 1; }
13126 int numSrcRegOperands() override { return 2; }
13127
13128 int
13129 getOperandSize(int opIdx) override
13130 {
13131 switch (opIdx) {
13132 case 0: //src_0
13133 return 8;
13134 case 1: //src_1
13135 return 8;
13136 case 2: //vcc
13137 return 8;
13138 default:
13139 fatal("op idx %i out of bounds\n", opIdx);
13140 return -1;
13141 }
13142 } // getOperandSize
13143
13144 void execute(GPUDynInstPtr) override;
13145 }; // Inst_VOPC__V_CMP_GT_F64
13146
13148 {
13149 public:
13152
13153 int
13155 {
13157 } // getNumOperands
13158
13159 int numDstRegOperands() override { return 1; }
13160 int numSrcRegOperands() override { return 2; }
13161
13162 int
13163 getOperandSize(int opIdx) override
13164 {
13165 switch (opIdx) {
13166 case 0: //src_0
13167 return 8;
13168 case 1: //src_1
13169 return 8;
13170 case 2: //vcc
13171 return 8;
13172 default:
13173 fatal("op idx %i out of bounds\n", opIdx);
13174 return -1;
13175 }
13176 } // getOperandSize
13177
13178 void execute(GPUDynInstPtr) override;
13179 }; // Inst_VOPC__V_CMP_LG_F64
13180
13182 {
13183 public:
13186
13187 int
13189 {
13191 } // getNumOperands
13192
13193 int numDstRegOperands() override { return 1; }
13194 int numSrcRegOperands() override { return 2; }
13195
13196 int
13197 getOperandSize(int opIdx) override
13198 {
13199 switch (opIdx) {
13200 case 0: //src_0
13201 return 8;
13202 case 1: //src_1
13203 return 8;
13204 case 2: //vcc
13205 return 8;
13206 default:
13207 fatal("op idx %i out of bounds\n", opIdx);
13208 return -1;
13209 }
13210 } // getOperandSize
13211
13212 void execute(GPUDynInstPtr) override;
13213 }; // Inst_VOPC__V_CMP_GE_F64
13214
13216 {
13217 public:
13220
13221 int
13223 {
13225 } // getNumOperands
13226
13227 int numDstRegOperands() override { return 1; }
13228 int numSrcRegOperands() override { return 2; }
13229
13230 int
13231 getOperandSize(int opIdx) override
13232 {
13233 switch (opIdx) {
13234 case 0: //src_0
13235 return 8;
13236 case 1: //src_1
13237 return 8;
13238 case 2: //vcc
13239 return 8;
13240 default:
13241 fatal("op idx %i out of bounds\n", opIdx);
13242 return -1;
13243 }
13244 } // getOperandSize
13245
13246 void execute(GPUDynInstPtr) override;
13247 }; // Inst_VOPC__V_CMP_O_F64
13248
13250 {
13251 public:
13254
13255 int
13257 {
13259 } // getNumOperands
13260
13261 int numDstRegOperands() override { return 1; }
13262 int numSrcRegOperands() override { return 2; }
13263
13264 int
13265 getOperandSize(int opIdx) override
13266 {
13267 switch (opIdx) {
13268 case 0: //src_0
13269 return 8;
13270 case 1: //src_1
13271 return 8;
13272 case 2: //vcc
13273 return 8;
13274 default:
13275 fatal("op idx %i out of bounds\n", opIdx);
13276 return -1;
13277 }
13278 } // getOperandSize
13279
13280 void execute(GPUDynInstPtr) override;
13281 }; // Inst_VOPC__V_CMP_U_F64
13282
13284 {
13285 public:
13288
13289 int
13291 {
13293 } // getNumOperands
13294
13295 int numDstRegOperands() override { return 1; }
13296 int numSrcRegOperands() override { return 2; }
13297
13298 int
13299 getOperandSize(int opIdx) override
13300 {
13301 switch (opIdx) {
13302 case 0: //src_0
13303 return 8;
13304 case 1: //src_1
13305 return 8;
13306 case 2: //vcc
13307 return 8;
13308 default:
13309 fatal("op idx %i out of bounds\n", opIdx);
13310 return -1;
13311 }
13312 } // getOperandSize
13313
13314 void execute(GPUDynInstPtr) override;
13315 }; // Inst_VOPC__V_CMP_NGE_F64
13316
13318 {
13319 public:
13322
13323 int
13325 {
13327 } // getNumOperands
13328
13329 int numDstRegOperands() override { return 1; }
13330 int numSrcRegOperands() override { return 2; }
13331
13332 int
13333 getOperandSize(int opIdx) override
13334 {
13335 switch (opIdx) {
13336 case 0: //src_0
13337 return 8;
13338 case 1: //src_1
13339 return 8;
13340 case 2: //vcc
13341 return 8;
13342 default:
13343 fatal("op idx %i out of bounds\n", opIdx);
13344 return -1;
13345 }
13346 } // getOperandSize
13347
13348 void execute(GPUDynInstPtr) override;
13349 }; // Inst_VOPC__V_CMP_NLG_F64
13350
13352 {
13353 public:
13356
13357 int
13359 {
13361 } // getNumOperands
13362
13363 int numDstRegOperands() override { return 1; }
13364 int numSrcRegOperands() override { return 2; }
13365
13366 int
13367 getOperandSize(int opIdx) override
13368 {
13369 switch (opIdx) {
13370 case 0: //src_0
13371 return 8;
13372 case 1: //src_1
13373 return 8;
13374 case 2: //vcc
13375 return 8;
13376 default:
13377 fatal("op idx %i out of bounds\n", opIdx);
13378 return -1;
13379 }
13380 } // getOperandSize
13381
13382 void execute(GPUDynInstPtr) override;
13383 }; // Inst_VOPC__V_CMP_NGT_F64
13384
13386 {
13387 public:
13390
13391 int
13393 {
13395 } // getNumOperands
13396
13397 int numDstRegOperands() override { return 1; }
13398 int numSrcRegOperands() override { return 2; }
13399
13400 int
13401 getOperandSize(int opIdx) override
13402 {
13403 switch (opIdx) {
13404 case 0: //src_0
13405 return 8;
13406 case 1: //src_1
13407 return 8;
13408 case 2: //vcc
13409 return 8;
13410 default:
13411 fatal("op idx %i out of bounds\n", opIdx);
13412 return -1;
13413 }
13414 } // getOperandSize
13415
13416 void execute(GPUDynInstPtr) override;
13417 }; // Inst_VOPC__V_CMP_NLE_F64
13418
13420 {
13421 public:
13424
13425 int
13427 {
13429 } // getNumOperands
13430
13431 int numDstRegOperands() override { return 1; }
13432 int numSrcRegOperands() override { return 2; }
13433
13434 int
13435 getOperandSize(int opIdx) override
13436 {
13437 switch (opIdx) {
13438 case 0: //src_0
13439 return 8;
13440 case 1: //src_1
13441 return 8;
13442 case 2: //vcc
13443 return 8;
13444 default:
13445 fatal("op idx %i out of bounds\n", opIdx);
13446 return -1;
13447 }
13448 } // getOperandSize
13449
13450 void execute(GPUDynInstPtr) override;
13451 }; // Inst_VOPC__V_CMP_NEQ_F64
13452
13454 {
13455 public:
13458
13459 int
13461 {
13463 } // getNumOperands
13464
13465 int numDstRegOperands() override { return 1; }
13466 int numSrcRegOperands() override { return 2; }
13467
13468 int
13469 getOperandSize(int opIdx) override
13470 {
13471 switch (opIdx) {
13472 case 0: //src_0
13473 return 8;
13474 case 1: //src_1
13475 return 8;
13476 case 2: //vcc
13477 return 8;
13478 default:
13479 fatal("op idx %i out of bounds\n", opIdx);
13480 return -1;
13481 }
13482 } // getOperandSize
13483
13484 void execute(GPUDynInstPtr) override;
13485 }; // Inst_VOPC__V_CMP_NLT_F64
13486
13488 {
13489 public:
13492
13493 int
13495 {
13497 } // getNumOperands
13498
13499 int numDstRegOperands() override { return 1; }
13500 int numSrcRegOperands() override { return 2; }
13501
13502 int
13503 getOperandSize(int opIdx) override
13504 {
13505 switch (opIdx) {
13506 case 0: //src_0
13507 return 8;
13508 case 1: //src_1
13509 return 8;
13510 case 2: //vcc
13511 return 8;
13512 default:
13513 fatal("op idx %i out of bounds\n", opIdx);
13514 return -1;
13515 }
13516 } // getOperandSize
13517
13518 void execute(GPUDynInstPtr) override;
13519 }; // Inst_VOPC__V_CMP_TRU_F64
13520
13522 {
13523 public:
13526
13527 int
13529 {
13531 } // getNumOperands
13532
13533 int numDstRegOperands() override { return 1; }
13534 int numSrcRegOperands() override { return 2; }
13535
13536 int
13537 getOperandSize(int opIdx) override
13538 {
13539 switch (opIdx) {
13540 case 0: //src_0
13541 return 8;
13542 case 1: //src_1
13543 return 8;
13544 case 2: //vcc
13545 return 8;
13546 default:
13547 fatal("op idx %i out of bounds\n", opIdx);
13548 return -1;
13549 }
13550 } // getOperandSize
13551
13552 void execute(GPUDynInstPtr) override;
13553 }; // Inst_VOPC__V_CMPX_F_F64
13554
13556 {
13557 public:
13560
13561 int
13563 {
13565 } // getNumOperands
13566
13567 int numDstRegOperands() override { return 1; }
13568 int numSrcRegOperands() override { return 2; }
13569
13570 int
13571 getOperandSize(int opIdx) override
13572 {
13573 switch (opIdx) {
13574 case 0: //src_0
13575 return 8;
13576 case 1: //src_1
13577 return 8;
13578 case 2: //vcc
13579 return 8;
13580 default:
13581 fatal("op idx %i out of bounds\n", opIdx);
13582 return -1;
13583 }
13584 } // getOperandSize
13585
13586 void execute(GPUDynInstPtr) override;
13587 }; // Inst_VOPC__V_CMPX_LT_F64
13588
13590 {
13591 public:
13594
13595 int
13597 {
13599 } // getNumOperands
13600
13601 int numDstRegOperands() override { return 1; }
13602 int numSrcRegOperands() override { return 2; }
13603
13604 int
13605 getOperandSize(int opIdx) override
13606 {
13607 switch (opIdx) {
13608 case 0: //src_0
13609 return 8;
13610 case 1: //src_1
13611 return 8;
13612 case 2: //vcc
13613 return 8;
13614 default:
13615 fatal("op idx %i out of bounds\n", opIdx);
13616 return -1;
13617 }
13618 } // getOperandSize
13619
13620 void execute(GPUDynInstPtr) override;
13621 }; // Inst_VOPC__V_CMPX_EQ_F64
13622
13624 {
13625 public:
13628
13629 int
13631 {
13633 } // getNumOperands
13634
13635 int numDstRegOperands() override { return 1; }
13636 int numSrcRegOperands() override { return 2; }
13637
13638 int
13639 getOperandSize(int opIdx) override
13640 {
13641 switch (opIdx) {
13642 case 0: //src_0
13643 return 8;
13644 case 1: //src_1
13645 return 8;
13646 case 2: //vcc
13647 return 8;
13648 default:
13649 fatal("op idx %i out of bounds\n", opIdx);
13650 return -1;
13651 }
13652 } // getOperandSize
13653
13654 void execute(GPUDynInstPtr) override;
13655 }; // Inst_VOPC__V_CMPX_LE_F64
13656
13658 {
13659 public:
13662
13663 int
13665 {
13667 } // getNumOperands
13668
13669 int numDstRegOperands() override { return 1; }
13670 int numSrcRegOperands() override { return 2; }
13671
13672 int
13673 getOperandSize(int opIdx) override
13674 {
13675 switch (opIdx) {
13676 case 0: //src_0
13677 return 8;
13678 case 1: //src_1
13679 return 8;
13680 case 2: //vcc
13681 return 8;
13682 default:
13683 fatal("op idx %i out of bounds\n", opIdx);
13684 return -1;
13685 }
13686 } // getOperandSize
13687
13688 void execute(GPUDynInstPtr) override;
13689 }; // Inst_VOPC__V_CMPX_GT_F64
13690
13692 {
13693 public:
13696
13697 int
13699 {
13701 } // getNumOperands
13702
13703 int numDstRegOperands() override { return 1; }
13704 int numSrcRegOperands() override { return 2; }
13705
13706 int
13707 getOperandSize(int opIdx) override
13708 {
13709 switch (opIdx) {
13710 case 0: //src_0
13711 return 8;
13712 case 1: //src_1
13713 return 8;
13714 case 2: //vcc
13715 return 8;
13716 default:
13717 fatal("op idx %i out of bounds\n", opIdx);
13718 return -1;
13719 }
13720 } // getOperandSize
13721
13722 void execute(GPUDynInstPtr) override;
13723 }; // Inst_VOPC__V_CMPX_LG_F64
13724
13726 {
13727 public:
13730
13731 int
13733 {
13735 } // getNumOperands
13736
13737 int numDstRegOperands() override { return 1; }
13738 int numSrcRegOperands() override { return 2; }
13739
13740 int
13741 getOperandSize(int opIdx) override
13742 {
13743 switch (opIdx) {
13744 case 0: //src_0
13745 return 8;
13746 case 1: //src_1
13747 return 8;
13748 case 2: //vcc
13749 return 8;
13750 default:
13751 fatal("op idx %i out of bounds\n", opIdx);
13752 return -1;
13753 }
13754 } // getOperandSize
13755
13756 void execute(GPUDynInstPtr) override;
13757 }; // Inst_VOPC__V_CMPX_GE_F64
13758
13760 {
13761 public:
13764
13765 int
13767 {
13769 } // getNumOperands
13770
13771 int numDstRegOperands() override { return 1; }
13772 int numSrcRegOperands() override { return 2; }
13773
13774 int
13775 getOperandSize(int opIdx) override
13776 {
13777 switch (opIdx) {
13778 case 0: //src_0
13779 return 8;
13780 case 1: //src_1
13781 return 8;
13782 case 2: //vcc
13783 return 8;
13784 default:
13785 fatal("op idx %i out of bounds\n", opIdx);
13786 return -1;
13787 }
13788 } // getOperandSize
13789
13790 void execute(GPUDynInstPtr) override;
13791 }; // Inst_VOPC__V_CMPX_O_F64
13792
13794 {
13795 public:
13798
13799 int
13801 {
13803 } // getNumOperands
13804
13805 int numDstRegOperands() override { return 1; }
13806 int numSrcRegOperands() override { return 2; }
13807
13808 int
13809 getOperandSize(int opIdx) override
13810 {
13811 switch (opIdx) {
13812 case 0: //src_0
13813 return 8;
13814 case 1: //src_1
13815 return 8;
13816 case 2: //vcc
13817 return 8;
13818 default:
13819 fatal("op idx %i out of bounds\n", opIdx);
13820 return -1;
13821 }
13822 } // getOperandSize
13823
13824 void execute(GPUDynInstPtr) override;
13825 }; // Inst_VOPC__V_CMPX_U_F64
13826
13828 {
13829 public:
13832
13833 int
13835 {
13837 } // getNumOperands
13838
13839 int numDstRegOperands() override { return 1; }
13840 int numSrcRegOperands() override { return 2; }
13841
13842 int
13843 getOperandSize(int opIdx) override
13844 {
13845 switch (opIdx) {
13846 case 0: //src_0
13847 return 8;
13848 case 1: //src_1
13849 return 8;
13850 case 2: //vcc
13851 return 8;
13852 default:
13853 fatal("op idx %i out of bounds\n", opIdx);
13854 return -1;
13855 }
13856 } // getOperandSize
13857
13858 void execute(GPUDynInstPtr) override;
13859 }; // Inst_VOPC__V_CMPX_NGE_F64
13860
13862 {
13863 public:
13866
13867 int
13869 {
13871 } // getNumOperands
13872
13873 int numDstRegOperands() override { return 1; }
13874 int numSrcRegOperands() override { return 2; }
13875
13876 int
13877 getOperandSize(int opIdx) override
13878 {
13879 switch (opIdx) {
13880 case 0: //src_0
13881 return 8;
13882 case 1: //src_1
13883 return 8;
13884 case 2: //vcc
13885 return 8;
13886 default:
13887 fatal("op idx %i out of bounds\n", opIdx);
13888 return -1;
13889 }
13890 } // getOperandSize
13891
13892 void execute(GPUDynInstPtr) override;
13893 }; // Inst_VOPC__V_CMPX_NLG_F64
13894
13896 {
13897 public:
13900
13901 int
13903 {
13905 } // getNumOperands
13906
13907 int numDstRegOperands() override { return 1; }
13908 int numSrcRegOperands() override { return 2; }
13909
13910 int
13911 getOperandSize(int opIdx) override
13912 {
13913 switch (opIdx) {
13914 case 0: //src_0
13915 return 8;
13916 case 1: //src_1
13917 return 8;
13918 case 2: //vcc
13919 return 8;
13920 default:
13921 fatal("op idx %i out of bounds\n", opIdx);
13922 return -1;
13923 }
13924 } // getOperandSize
13925
13926 void execute(GPUDynInstPtr) override;
13927 }; // Inst_VOPC__V_CMPX_NGT_F64
13928
13930 {
13931 public:
13934
13935 int
13937 {
13939 } // getNumOperands
13940
13941 int numDstRegOperands() override { return 1; }
13942 int numSrcRegOperands() override { return 2; }
13943
13944 int
13945 getOperandSize(int opIdx) override
13946 {
13947 switch (opIdx) {
13948 case 0: //src_0
13949 return 8;
13950 case 1: //src_1
13951 return 8;
13952 case 2: //vcc
13953 return 8;
13954 default:
13955 fatal("op idx %i out of bounds\n", opIdx);
13956 return -1;
13957 }
13958 } // getOperandSize
13959
13960 void execute(GPUDynInstPtr) override;
13961 }; // Inst_VOPC__V_CMPX_NLE_F64
13962
13964 {
13965 public:
13968
13969 int
13971 {
13973 } // getNumOperands
13974
13975 int numDstRegOperands() override { return 1; }
13976 int numSrcRegOperands() override { return 2; }
13977
13978 int
13979 getOperandSize(int opIdx) override
13980 {
13981 switch (opIdx) {
13982 case 0: //src_0
13983 return 8;
13984 case 1: //src_1
13985 return 8;
13986 case 2: //vcc
13987 return 8;
13988 default:
13989 fatal("op idx %i out of bounds\n", opIdx);
13990 return -1;
13991 }
13992 } // getOperandSize
13993
13994 void execute(GPUDynInstPtr) override;
13995 }; // Inst_VOPC__V_CMPX_NEQ_F64
13996
13998 {
13999 public:
14002
14003 int
14005 {
14007 } // getNumOperands
14008
14009 int numDstRegOperands() override { return 1; }
14010 int numSrcRegOperands() override { return 2; }
14011
14012 int
14013 getOperandSize(int opIdx) override
14014 {
14015 switch (opIdx) {
14016 case 0: //src_0
14017 return 8;
14018 case 1: //src_1
14019 return 8;
14020 case 2: //vcc
14021 return 8;
14022 default:
14023 fatal("op idx %i out of bounds\n", opIdx);
14024 return -1;
14025 }
14026 } // getOperandSize
14027
14028 void execute(GPUDynInstPtr) override;
14029 }; // Inst_VOPC__V_CMPX_NLT_F64
14030
14032 {
14033 public:
14036
14037 int
14039 {
14041 } // getNumOperands
14042
14043 int numDstRegOperands() override { return 1; }
14044 int numSrcRegOperands() override { return 2; }
14045
14046 int
14047 getOperandSize(int opIdx) override
14048 {
14049 switch (opIdx) {
14050 case 0: //src_0
14051 return 8;
14052 case 1: //src_1
14053 return 8;
14054 case 2: //vcc
14055 return 8;
14056 default:
14057 fatal("op idx %i out of bounds\n", opIdx);
14058 return -1;
14059 }
14060 } // getOperandSize
14061
14062 void execute(GPUDynInstPtr) override;
14063 }; // Inst_VOPC__V_CMPX_TRU_F64
14064
14066 {
14067 public:
14070
14071 int
14073 {
14075 } // getNumOperands
14076
14077 int numDstRegOperands() override { return 1; }
14078 int numSrcRegOperands() override { return 2; }
14079
14080 int
14081 getOperandSize(int opIdx) override
14082 {
14083 switch (opIdx) {
14084 case 0: //src_0
14085 return 2;
14086 case 1: //src_1
14087 return 2;
14088 case 2: //vcc
14089 return 8;
14090 default:
14091 fatal("op idx %i out of bounds\n", opIdx);
14092 return -1;
14093 }
14094 } // getOperandSize
14095
14096 void execute(GPUDynInstPtr) override;
14097 }; // Inst_VOPC__V_CMP_F_I16
14098
14100 {
14101 public:
14104
14105 int
14107 {
14109 } // getNumOperands
14110
14111 int numDstRegOperands() override { return 1; }
14112 int numSrcRegOperands() override { return 2; }
14113
14114 int
14115 getOperandSize(int opIdx) override
14116 {
14117 switch (opIdx) {
14118 case 0: //src_0
14119 return 2;
14120 case 1: //src_1
14121 return 2;
14122 case 2: //vcc
14123 return 8;
14124 default:
14125 fatal("op idx %i out of bounds\n", opIdx);
14126 return -1;
14127 }
14128 } // getOperandSize
14129
14130 void execute(GPUDynInstPtr) override;
14131 }; // Inst_VOPC__V_CMP_LT_I16
14132
14134 {
14135 public:
14138
14139 int
14141 {
14143 } // getNumOperands
14144
14145 int numDstRegOperands() override { return 1; }
14146 int numSrcRegOperands() override { return 2; }
14147
14148 int
14149 getOperandSize(int opIdx) override
14150 {
14151 switch (opIdx) {
14152 case 0: //src_0
14153 return 2;
14154 case 1: //src_1
14155 return 2;
14156 case 2: //vcc
14157 return 8;
14158 default:
14159 fatal("op idx %i out of bounds\n", opIdx);
14160 return -1;
14161 }
14162 } // getOperandSize
14163
14164 void execute(GPUDynInstPtr) override;
14165 }; // Inst_VOPC__V_CMP_EQ_I16
14166
14168 {
14169 public:
14172
14173 int
14175 {
14177 } // getNumOperands
14178
14179 int numDstRegOperands() override { return 1; }
14180 int numSrcRegOperands() override { return 2; }
14181
14182 int
14183 getOperandSize(int opIdx) override
14184 {
14185 switch (opIdx) {
14186 case 0: //src_0
14187 return 2;
14188 case 1: //src_1
14189 return 2;
14190 case 2: //vcc
14191 return 8;
14192 default:
14193 fatal("op idx %i out of bounds\n", opIdx);
14194 return -1;
14195 }
14196 } // getOperandSize
14197
14198 void execute(GPUDynInstPtr) override;
14199 }; // Inst_VOPC__V_CMP_LE_I16
14200
14202 {
14203 public:
14206
14207 int
14209 {
14211 } // getNumOperands
14212
14213 int numDstRegOperands() override { return 1; }
14214 int numSrcRegOperands() override { return 2; }
14215
14216 int
14217 getOperandSize(int opIdx) override
14218 {
14219 switch (opIdx) {
14220 case 0: //src_0
14221 return 2;
14222 case 1: //src_1
14223 return 2;
14224 case 2: //vcc
14225 return 8;
14226 default:
14227 fatal("op idx %i out of bounds\n", opIdx);
14228 return -1;
14229 }
14230 } // getOperandSize
14231
14232 void execute(GPUDynInstPtr) override;
14233 }; // Inst_VOPC__V_CMP_GT_I16
14234
14236 {
14237 public:
14240
14241 int
14243 {
14245 } // getNumOperands
14246
14247 int numDstRegOperands() override { return 1; }
14248 int numSrcRegOperands() override { return 2; }
14249
14250 int
14251 getOperandSize(int opIdx) override
14252 {
14253 switch (opIdx) {
14254 case 0: //src_0
14255 return 2;
14256 case 1: //src_1
14257 return 2;
14258 case 2: //vcc
14259 return 8;
14260 default:
14261 fatal("op idx %i out of bounds\n", opIdx);
14262 return -1;
14263 }
14264 } // getOperandSize
14265
14266 void execute(GPUDynInstPtr) override;
14267 }; // Inst_VOPC__V_CMP_NE_I16
14268
14270 {
14271 public:
14274
14275 int
14277 {
14279 } // getNumOperands
14280
14281 int numDstRegOperands() override { return 1; }
14282 int numSrcRegOperands() override { return 2; }
14283
14284 int
14285 getOperandSize(int opIdx) override
14286 {
14287 switch (opIdx) {
14288 case 0: //src_0
14289 return 2;
14290 case 1: //src_1
14291 return 2;
14292 case 2: //vcc
14293 return 8;
14294 default:
14295 fatal("op idx %i out of bounds\n", opIdx);
14296 return -1;
14297 }
14298 } // getOperandSize
14299
14300 void execute(GPUDynInstPtr) override;
14301 }; // Inst_VOPC__V_CMP_GE_I16
14302
14304 {
14305 public:
14308
14309 int
14311 {
14313 } // getNumOperands
14314
14315 int numDstRegOperands() override { return 1; }
14316 int numSrcRegOperands() override { return 2; }
14317
14318 int
14319 getOperandSize(int opIdx) override
14320 {
14321 switch (opIdx) {
14322 case 0: //src_0
14323 return 2;
14324 case 1: //src_1
14325 return 2;
14326 case 2: //vcc
14327 return 8;
14328 default:
14329 fatal("op idx %i out of bounds\n", opIdx);
14330 return -1;
14331 }
14332 } // getOperandSize
14333
14334 void execute(GPUDynInstPtr) override;
14335 }; // Inst_VOPC__V_CMP_T_I16
14336
14338 {
14339 public:
14342
14343 int
14345 {
14347 } // getNumOperands
14348
14349 int numDstRegOperands() override { return 1; }
14350 int numSrcRegOperands() override { return 2; }
14351
14352 int
14353 getOperandSize(int opIdx) override
14354 {
14355 switch (opIdx) {
14356 case 0: //src_0
14357 return 2;
14358 case 1: //src_1
14359 return 2;
14360 case 2: //vcc
14361 return 8;
14362 default:
14363 fatal("op idx %i out of bounds\n", opIdx);
14364 return -1;
14365 }
14366 } // getOperandSize
14367
14368 void execute(GPUDynInstPtr) override;
14369 }; // Inst_VOPC__V_CMP_F_U16
14370
14372 {
14373 public:
14376
14377 int
14379 {
14381 } // getNumOperands
14382
14383 int numDstRegOperands() override { return 1; }
14384 int numSrcRegOperands() override { return 2; }
14385
14386 int
14387 getOperandSize(int opIdx) override
14388 {
14389 switch (opIdx) {
14390 case 0: //src_0
14391 return 2;
14392 case 1: //src_1
14393 return 2;
14394 case 2: //vcc
14395 return 8;
14396 default:
14397 fatal("op idx %i out of bounds\n", opIdx);
14398 return -1;
14399 }
14400 } // getOperandSize
14401
14402 void execute(GPUDynInstPtr) override;
14403 }; // Inst_VOPC__V_CMP_LT_U16
14404
14406 {
14407 public:
14410
14411 int
14413 {
14415 } // getNumOperands
14416
14417 int numDstRegOperands() override { return 1; }
14418 int numSrcRegOperands() override { return 2; }
14419
14420 int
14421 getOperandSize(int opIdx) override
14422 {
14423 switch (opIdx) {
14424 case 0: //src_0
14425 return 2;
14426 case 1: //src_1
14427 return 2;
14428 case 2: //vcc
14429 return 8;
14430 default:
14431 fatal("op idx %i out of bounds\n", opIdx);
14432 return -1;
14433 }
14434 } // getOperandSize
14435
14436 void execute(GPUDynInstPtr) override;
14437 }; // Inst_VOPC__V_CMP_EQ_U16
14438
14440 {
14441 public:
14444
14445 int
14447 {
14449 } // getNumOperands
14450
14451 int numDstRegOperands() override { return 1; }
14452 int numSrcRegOperands() override { return 2; }
14453
14454 int
14455 getOperandSize(int opIdx) override
14456 {
14457 switch (opIdx) {
14458 case 0: //src_0
14459 return 2;
14460 case 1: //src_1
14461 return 2;
14462 case 2: //vcc
14463 return 8;
14464 default:
14465 fatal("op idx %i out of bounds\n", opIdx);
14466 return -1;
14467 }
14468 } // getOperandSize
14469
14470 void execute(GPUDynInstPtr) override;
14471 }; // Inst_VOPC__V_CMP_LE_U16
14472
14474 {
14475 public:
14478
14479 int
14481 {
14483 } // getNumOperands
14484
14485 int numDstRegOperands() override { return 1; }
14486 int numSrcRegOperands() override { return 2; }
14487
14488 int
14489 getOperandSize(int opIdx) override
14490 {
14491 switch (opIdx) {
14492 case 0: //src_0
14493 return 2;
14494 case 1: //src_1
14495 return 2;
14496 case 2: //vcc
14497 return 8;
14498 default:
14499 fatal("op idx %i out of bounds\n", opIdx);
14500 return -1;
14501 }
14502 } // getOperandSize
14503
14504 void execute(GPUDynInstPtr) override;
14505 }; // Inst_VOPC__V_CMP_GT_U16
14506
14508 {
14509 public:
14512
14513 int
14515 {
14517 } // getNumOperands
14518
14519 int numDstRegOperands() override { return 1; }
14520 int numSrcRegOperands() override { return 2; }
14521
14522 int
14523 getOperandSize(int opIdx) override
14524 {
14525 switch (opIdx) {
14526 case 0: //src_0
14527 return 2;
14528 case 1: //src_1
14529 return 2;
14530 case 2: //vcc
14531 return 8;
14532 default:
14533 fatal("op idx %i out of bounds\n", opIdx);
14534 return -1;
14535 }
14536 } // getOperandSize
14537
14538 void execute(GPUDynInstPtr) override;
14539 }; // Inst_VOPC__V_CMP_NE_U16
14540
14542 {
14543 public:
14546
14547 int
14549 {
14551 } // getNumOperands
14552
14553 int numDstRegOperands() override { return 1; }
14554 int numSrcRegOperands() override { return 2; }
14555
14556 int
14557 getOperandSize(int opIdx) override
14558 {
14559 switch (opIdx) {
14560 case 0: //src_0
14561 return 2;
14562 case 1: //src_1
14563 return 2;
14564 case 2: //vcc
14565 return 8;
14566 default:
14567 fatal("op idx %i out of bounds\n", opIdx);
14568 return -1;
14569 }
14570 } // getOperandSize
14571
14572 void execute(GPUDynInstPtr) override;
14573 }; // Inst_VOPC__V_CMP_GE_U16
14574
14576 {
14577 public:
14580
14581 int
14583 {
14585 } // getNumOperands
14586
14587 int numDstRegOperands() override { return 1; }
14588 int numSrcRegOperands() override { return 2; }
14589
14590 int
14591 getOperandSize(int opIdx) override
14592 {
14593 switch (opIdx) {
14594 case 0: //src_0
14595 return 2;
14596 case 1: //src_1
14597 return 2;
14598 case 2: //vcc
14599 return 8;
14600 default:
14601 fatal("op idx %i out of bounds\n", opIdx);
14602 return -1;
14603 }
14604 } // getOperandSize
14605
14606 void execute(GPUDynInstPtr) override;
14607 }; // Inst_VOPC__V_CMP_T_U16
14608
14610 {
14611 public:
14614
14615 int
14617 {
14619 } // getNumOperands
14620
14621 int numDstRegOperands() override { return 1; }
14622 int numSrcRegOperands() override { return 2; }
14623
14624 int
14625 getOperandSize(int opIdx) override
14626 {
14627 switch (opIdx) {
14628 case 0: //src_0
14629 return 2;
14630 case 1: //src_1
14631 return 2;
14632 case 2: //vcc
14633 return 8;
14634 default:
14635 fatal("op idx %i out of bounds\n", opIdx);
14636 return -1;
14637 }
14638 } // getOperandSize
14639
14640 void execute(GPUDynInstPtr) override;
14641 }; // Inst_VOPC__V_CMPX_F_I16
14642
14644 {
14645 public:
14648
14649 int
14651 {
14653 } // getNumOperands
14654
14655 int numDstRegOperands() override { return 1; }
14656 int numSrcRegOperands() override { return 2; }
14657
14658 int
14659 getOperandSize(int opIdx) override
14660 {
14661 switch (opIdx) {
14662 case 0: //src_0
14663 return 2;
14664 case 1: //src_1
14665 return 2;
14666 case 2: //vcc
14667 return 8;
14668 default:
14669 fatal("op idx %i out of bounds\n", opIdx);
14670 return -1;
14671 }
14672 } // getOperandSize
14673
14674 void execute(GPUDynInstPtr) override;
14675 }; // Inst_VOPC__V_CMPX_LT_I16
14676
14678 {
14679 public:
14682
14683 int
14685 {
14687 } // getNumOperands
14688
14689 int numDstRegOperands() override { return 1; }
14690 int numSrcRegOperands() override { return 2; }
14691
14692 int
14693 getOperandSize(int opIdx) override
14694 {
14695 switch (opIdx) {
14696 case 0: //src_0
14697 return 2;
14698 case 1: //src_1
14699 return 2;
14700 case 2: //vcc
14701 return 8;
14702 default:
14703 fatal("op idx %i out of bounds\n", opIdx);
14704 return -1;
14705 }
14706 } // getOperandSize
14707
14708 void execute(GPUDynInstPtr) override;
14709 }; // Inst_VOPC__V_CMPX_EQ_I16
14710
14712 {
14713 public:
14716
14717 int
14719 {
14721 } // getNumOperands
14722
14723 int numDstRegOperands() override { return 1; }
14724 int numSrcRegOperands() override { return 2; }
14725
14726 int
14727 getOperandSize(int opIdx) override
14728 {
14729 switch (opIdx) {
14730 case 0: //src_0
14731 return 2;
14732 case 1: //src_1
14733 return 2;
14734 case 2: //vcc
14735 return 8;
14736 default:
14737 fatal("op idx %i out of bounds\n", opIdx);
14738 return -1;
14739 }
14740 } // getOperandSize
14741
14742 void execute(GPUDynInstPtr) override;
14743 }; // Inst_VOPC__V_CMPX_LE_I16
14744
14746 {
14747 public:
14750
14751 int
14753 {
14755 } // getNumOperands
14756
14757 int numDstRegOperands() override { return 1; }
14758 int numSrcRegOperands() override { return 2; }
14759
14760 int
14761 getOperandSize(int opIdx) override
14762 {
14763 switch (opIdx) {
14764 case 0: //src_0
14765 return 2;
14766 case 1: //src_1
14767 return 2;
14768 case 2: //vcc
14769 return 8;
14770 default:
14771 fatal("op idx %i out of bounds\n", opIdx);
14772 return -1;
14773 }
14774 } // getOperandSize
14775
14776 void execute(GPUDynInstPtr) override;
14777 }; // Inst_VOPC__V_CMPX_GT_I16
14778
14780 {
14781 public:
14784
14785 int
14787 {
14789 } // getNumOperands
14790
14791 int numDstRegOperands() override { return 1; }
14792 int numSrcRegOperands() override { return 2; }
14793
14794 int
14795 getOperandSize(int opIdx) override
14796 {
14797 switch (opIdx) {
14798 case 0: //src_0
14799 return 2;
14800 case 1: //src_1
14801 return 2;
14802 case 2: //vcc
14803 return 8;
14804 default:
14805 fatal("op idx %i out of bounds\n", opIdx);
14806 return -1;
14807 }
14808 } // getOperandSize
14809
14810 void execute(GPUDynInstPtr) override;
14811 }; // Inst_VOPC__V_CMPX_NE_I16
14812
14814 {
14815 public:
14818
14819 int
14821 {
14823 } // getNumOperands
14824
14825 int numDstRegOperands() override { return 1; }
14826 int numSrcRegOperands() override { return 2; }
14827
14828 int
14829 getOperandSize(int opIdx) override
14830 {
14831 switch (opIdx) {
14832 case 0: //src_0
14833 return 2;
14834 case 1: //src_1
14835 return 2;
14836 case 2: //vcc
14837 return 8;
14838 default:
14839 fatal("op idx %i out of bounds\n", opIdx);
14840 return -1;
14841 }
14842 } // getOperandSize
14843
14844 void execute(GPUDynInstPtr) override;
14845 }; // Inst_VOPC__V_CMPX_GE_I16
14846
14848 {
14849 public:
14852
14853 int
14855 {
14857 } // getNumOperands
14858
14859 int numDstRegOperands() override { return 1; }
14860 int numSrcRegOperands() override { return 2; }
14861
14862 int
14863 getOperandSize(int opIdx) override
14864 {
14865 switch (opIdx) {
14866 case 0: //src_0
14867 return 2;
14868 case 1: //src_1
14869 return 2;
14870 case 2: //vcc
14871 return 8;
14872 default:
14873 fatal("op idx %i out of bounds\n", opIdx);
14874 return -1;
14875 }
14876 } // getOperandSize
14877
14878 void execute(GPUDynInstPtr) override;
14879 }; // Inst_VOPC__V_CMPX_T_I16
14880
14882 {
14883 public:
14886
14887 int
14889 {
14891 } // getNumOperands
14892
14893 int numDstRegOperands() override { return 1; }
14894 int numSrcRegOperands() override { return 2; }
14895
14896 int
14897 getOperandSize(int opIdx) override
14898 {
14899 switch (opIdx) {
14900 case 0: //src_0
14901 return 2;
14902 case 1: //src_1
14903 return 2;
14904 case 2: //vcc
14905 return 8;
14906 default:
14907 fatal("op idx %i out of bounds\n", opIdx);
14908 return -1;
14909 }
14910 } // getOperandSize
14911
14912 void execute(GPUDynInstPtr) override;
14913 }; // Inst_VOPC__V_CMPX_F_U16
14914
14916 {
14917 public:
14920
14921 int
14923 {
14925 } // getNumOperands
14926
14927 int numDstRegOperands() override { return 1; }
14928 int numSrcRegOperands() override { return 2; }
14929
14930 int
14931 getOperandSize(int opIdx) override
14932 {
14933 switch (opIdx) {
14934 case 0: //src_0
14935 return 2;
14936 case 1: //src_1
14937 return 2;
14938 case 2: //vcc
14939 return 8;
14940 default:
14941 fatal("op idx %i out of bounds\n", opIdx);
14942 return -1;
14943 }
14944 } // getOperandSize
14945
14946 void execute(GPUDynInstPtr) override;
14947 }; // Inst_VOPC__V_CMPX_LT_U16
14948
14950 {
14951 public:
14954
14955 int
14957 {
14959 } // getNumOperands
14960
14961 int numDstRegOperands() override { return 1; }
14962 int numSrcRegOperands() override { return 2; }
14963
14964 int
14965 getOperandSize(int opIdx) override
14966 {
14967 switch (opIdx) {
14968 case 0: //src_0
14969 return 2;
14970 case 1: //src_1
14971 return 2;
14972 case 2: //vcc
14973 return 8;
14974 default:
14975 fatal("op idx %i out of bounds\n", opIdx);
14976 return -1;
14977 }
14978 } // getOperandSize
14979
14980 void execute(GPUDynInstPtr) override;
14981 }; // Inst_VOPC__V_CMPX_EQ_U16
14982
14984 {
14985 public:
14988
14989 int
14991 {
14993 } // getNumOperands
14994
14995 int numDstRegOperands() override { return 1; }
14996 int numSrcRegOperands() override { return 2; }
14997
14998 int
14999 getOperandSize(int opIdx) override
15000 {
15001 switch (opIdx) {
15002 case 0: //src_0
15003 return 2;
15004 case 1: //src_1
15005 return 2;
15006 case 2: //vcc
15007 return 8;
15008 default:
15009 fatal("op idx %i out of bounds\n", opIdx);
15010 return -1;
15011 }
15012 } // getOperandSize
15013
15014 void execute(GPUDynInstPtr) override;
15015 }; // Inst_VOPC__V_CMPX_LE_U16
15016
15018 {
15019 public:
15022
15023 int
15025 {
15027 } // getNumOperands
15028
15029 int numDstRegOperands() override { return 1; }
15030 int numSrcRegOperands() override { return 2; }
15031
15032 int
15033 getOperandSize(int opIdx) override
15034 {
15035 switch (opIdx) {
15036 case 0: //src_0
15037 return 2;
15038 case 1: //src_1
15039 return 2;
15040 case 2: //vcc
15041 return 8;
15042 default:
15043 fatal("op idx %i out of bounds\n", opIdx);
15044 return -1;
15045 }
15046 } // getOperandSize
15047
15048 void execute(GPUDynInstPtr) override;
15049 }; // Inst_VOPC__V_CMPX_GT_U16
15050
15052 {
15053 public:
15056
15057 int
15059 {
15061 } // getNumOperands
15062
15063 int numDstRegOperands() override { return 1; }
15064 int numSrcRegOperands() override { return 2; }
15065
15066 int
15067 getOperandSize(int opIdx) override
15068 {
15069 switch (opIdx) {
15070 case 0: //src_0
15071 return 2;
15072 case 1: //src_1
15073 return 2;
15074 case 2: //vcc
15075 return 8;
15076 default:
15077 fatal("op idx %i out of bounds\n", opIdx);
15078 return -1;
15079 }
15080 } // getOperandSize
15081
15082 void execute(GPUDynInstPtr) override;
15083 }; // Inst_VOPC__V_CMPX_NE_U16
15084
15086 {
15087 public:
15090
15091 int
15093 {
15095 } // getNumOperands
15096
15097 int numDstRegOperands() override { return 1; }
15098 int numSrcRegOperands() override { return 2; }
15099
15100 int
15101 getOperandSize(int opIdx) override
15102 {
15103 switch (opIdx) {
15104 case 0: //src_0
15105 return 2;
15106 case 1: //src_1
15107 return 2;
15108 case 2: //vcc
15109 return 8;
15110 default:
15111 fatal("op idx %i out of bounds\n", opIdx);
15112 return -1;
15113 }
15114 } // getOperandSize
15115
15116 void execute(GPUDynInstPtr) override;
15117 }; // Inst_VOPC__V_CMPX_GE_U16
15118
15120 {
15121 public:
15124
15125 int
15127 {
15129 } // getNumOperands
15130
15131 int numDstRegOperands() override { return 1; }
15132 int numSrcRegOperands() override { return 2; }
15133
15134 int
15135 getOperandSize(int opIdx) override
15136 {
15137 switch (opIdx) {
15138 case 0: //src_0
15139 return 2;
15140 case 1: //src_1
15141 return 2;
15142 case 2: //vcc
15143 return 8;
15144 default:
15145 fatal("op idx %i out of bounds\n", opIdx);
15146 return -1;
15147 }
15148 } // getOperandSize
15149
15150 void execute(GPUDynInstPtr) override;
15151 }; // Inst_VOPC__V_CMPX_T_U16
15152
15154 {
15155 public:
15158
15159 int
15161 {
15163 } // getNumOperands
15164
15165 int numDstRegOperands() override { return 1; }
15166 int numSrcRegOperands() override { return 2; }
15167
15168 int
15169 getOperandSize(int opIdx) override
15170 {
15171 switch (opIdx) {
15172 case 0: //src_0
15173 return 4;
15174 case 1: //src_1
15175 return 4;
15176 case 2: //vcc
15177 return 8;
15178 default:
15179 fatal("op idx %i out of bounds\n", opIdx);
15180 return -1;
15181 }
15182 } // getOperandSize
15183
15184 void execute(GPUDynInstPtr) override;
15185 }; // Inst_VOPC__V_CMP_F_I32
15186
15188 {
15189 public:
15192
15193 int
15195 {
15197 } // getNumOperands
15198
15199 int numDstRegOperands() override { return 1; }
15200 int numSrcRegOperands() override { return 2; }
15201
15202 int
15203 getOperandSize(int opIdx) override
15204 {
15205 switch (opIdx) {
15206 case 0: //src_0
15207 return 4;
15208 case 1: //src_1
15209 return 4;
15210 case 2: //vcc
15211 return 8;
15212 default:
15213 fatal("op idx %i out of bounds\n", opIdx);
15214 return -1;
15215 }
15216 } // getOperandSize
15217
15218 void execute(GPUDynInstPtr) override;
15219 }; // Inst_VOPC__V_CMP_LT_I32
15220
15222 {
15223 public:
15226
15227 int
15229 {
15231 } // getNumOperands
15232
15233 int numDstRegOperands() override { return 1; }
15234 int numSrcRegOperands() override { return 2; }
15235
15236 int
15237 getOperandSize(int opIdx) override
15238 {
15239 switch (opIdx) {
15240 case 0: //src_0
15241 return 4;
15242 case 1: //src_1
15243 return 4;
15244 case 2: //vcc
15245 return 8;
15246 default:
15247 fatal("op idx %i out of bounds\n", opIdx);
15248 return -1;
15249 }
15250 } // getOperandSize
15251
15252 void execute(GPUDynInstPtr) override;
15253 }; // Inst_VOPC__V_CMP_EQ_I32
15254
15256 {
15257 public:
15260
15261 int
15263 {
15265 } // getNumOperands
15266
15267 int numDstRegOperands() override { return 1; }
15268 int numSrcRegOperands() override { return 2; }
15269
15270 int
15271 getOperandSize(int opIdx) override
15272 {
15273 switch (opIdx) {
15274 case 0: //src_0
15275 return 4;
15276 case 1: //src_1
15277 return 4;
15278 case 2: //vcc
15279 return 8;
15280 default:
15281 fatal("op idx %i out of bounds\n", opIdx);
15282 return -1;
15283 }
15284 } // getOperandSize
15285
15286 void execute(GPUDynInstPtr) override;
15287 }; // Inst_VOPC__V_CMP_LE_I32
15288
15290 {
15291 public:
15294
15295 int
15297 {
15299 } // getNumOperands
15300
15301 int numDstRegOperands() override { return 1; }
15302 int numSrcRegOperands() override { return 2; }
15303
15304 int
15305 getOperandSize(int opIdx) override
15306 {
15307 switch (opIdx) {
15308 case 0: //src_0
15309 return 4;
15310 case 1: //src_1
15311 return 4;
15312 case 2: //vcc
15313 return 8;
15314 default:
15315 fatal("op idx %i out of bounds\n", opIdx);
15316 return -1;
15317 }
15318 } // getOperandSize
15319
15320 void execute(GPUDynInstPtr) override;
15321 }; // Inst_VOPC__V_CMP_GT_I32
15322
15324 {
15325 public:
15328
15329 int
15331 {
15333 } // getNumOperands
15334
15335 int numDstRegOperands() override { return 1; }
15336 int numSrcRegOperands() override { return 2; }
15337
15338 int
15339 getOperandSize(int opIdx) override
15340 {
15341 switch (opIdx) {
15342 case 0: //src_0
15343 return 4;
15344 case 1: //src_1
15345 return 4;
15346 case 2: //vcc
15347 return 8;
15348 default:
15349 fatal("op idx %i out of bounds\n", opIdx);
15350 return -1;
15351 }
15352 } // getOperandSize
15353
15354 void execute(GPUDynInstPtr) override;
15355 }; // Inst_VOPC__V_CMP_NE_I32
15356
15358 {
15359 public:
15362
15363 int
15365 {
15367 } // getNumOperands
15368
15369 int numDstRegOperands() override { return 1; }
15370 int numSrcRegOperands() override { return 2; }
15371
15372 int
15373 getOperandSize(int opIdx) override
15374 {
15375 switch (opIdx) {
15376 case 0: //src_0
15377 return 4;
15378 case 1: //src_1
15379 return 4;
15380 case 2: //vcc
15381 return 8;
15382 default:
15383 fatal("op idx %i out of bounds\n", opIdx);
15384 return -1;
15385 }
15386 } // getOperandSize
15387
15388 void execute(GPUDynInstPtr) override;
15389 }; // Inst_VOPC__V_CMP_GE_I32
15390
15392 {
15393 public:
15396
15397 int
15399 {
15401 } // getNumOperands
15402
15403 int numDstRegOperands() override { return 1; }
15404 int numSrcRegOperands() override { return 2; }
15405
15406 int
15407 getOperandSize(int opIdx) override
15408 {
15409 switch (opIdx) {
15410 case 0: //src_0
15411 return 4;
15412 case 1: //src_1
15413 return 4;
15414 case 2: //vcc
15415 return 8;
15416 default:
15417 fatal("op idx %i out of bounds\n", opIdx);
15418 return -1;
15419 }
15420 } // getOperandSize
15421
15422 void execute(GPUDynInstPtr) override;
15423 }; // Inst_VOPC__V_CMP_T_I32
15424
15426 {
15427 public:
15430
15431 int
15433 {
15435 } // getNumOperands
15436
15437 int numDstRegOperands() override { return 1; }
15438 int numSrcRegOperands() override { return 2; }
15439
15440 int
15441 getOperandSize(int opIdx) override
15442 {
15443 switch (opIdx) {
15444 case 0: //src_0
15445 return 4;
15446 case 1: //src_1
15447 return 4;
15448 case 2: //vcc
15449 return 8;
15450 default:
15451 fatal("op idx %i out of bounds\n", opIdx);
15452 return -1;
15453 }
15454 } // getOperandSize
15455
15456 void execute(GPUDynInstPtr) override;
15457 }; // Inst_VOPC__V_CMP_F_U32
15458
15460 {
15461 public:
15464
15465 int
15467 {
15469 } // getNumOperands
15470
15471 int numDstRegOperands() override { return 1; }
15472 int numSrcRegOperands() override { return 2; }
15473
15474 int
15475 getOperandSize(int opIdx) override
15476 {
15477 switch (opIdx) {
15478 case 0: //src_0
15479 return 4;
15480 case 1: //src_1
15481 return 4;
15482 case 2: //vcc
15483 return 8;
15484 default:
15485 fatal("op idx %i out of bounds\n", opIdx);
15486 return -1;
15487 }
15488 } // getOperandSize
15489
15490 void execute(GPUDynInstPtr) override;
15491 }; // Inst_VOPC__V_CMP_LT_U32
15492
15494 {
15495 public:
15498
15499 int
15501 {
15503 } // getNumOperands
15504
15505 int numDstRegOperands() override { return 1; }
15506 int numSrcRegOperands() override { return 2; }
15507
15508 int
15509 getOperandSize(int opIdx) override
15510 {
15511 switch (opIdx) {
15512 case 0: //src_0
15513 return 4;
15514 case 1: //src_1
15515 return 4;
15516 case 2: //vcc
15517 return 8;
15518 default:
15519 fatal("op idx %i out of bounds\n", opIdx);
15520 return -1;
15521 }
15522 } // getOperandSize
15523
15524 void execute(GPUDynInstPtr) override;
15525 }; // Inst_VOPC__V_CMP_EQ_U32
15526
15528 {
15529 public:
15532
15533 int
15535 {
15537 } // getNumOperands
15538
15539 int numDstRegOperands() override { return 1; }
15540 int numSrcRegOperands() override { return 2; }
15541
15542 int
15543 getOperandSize(int opIdx) override
15544 {
15545 switch (opIdx) {
15546 case 0: //src_0
15547 return 4;
15548 case 1: //src_1
15549 return 4;
15550 case 2: //vcc
15551 return 8;
15552 default:
15553 fatal("op idx %i out of bounds\n", opIdx);
15554 return -1;
15555 }
15556 } // getOperandSize
15557
15558 void execute(GPUDynInstPtr) override;
15559 }; // Inst_VOPC__V_CMP_LE_U32
15560
15562 {
15563 public:
15566
15567 int
15569 {
15571 } // getNumOperands
15572
15573 int numDstRegOperands() override { return 1; }
15574 int numSrcRegOperands() override { return 2; }
15575
15576 int
15577 getOperandSize(int opIdx) override
15578 {
15579 switch (opIdx) {
15580 case 0: //src_0
15581 return 4;
15582 case 1: //src_1
15583 return 4;
15584 case 2: //vcc
15585 return 8;
15586 default:
15587 fatal("op idx %i out of bounds\n", opIdx);
15588 return -1;
15589 }
15590 } // getOperandSize
15591
15592 void execute(GPUDynInstPtr) override;
15593 }; // Inst_VOPC__V_CMP_GT_U32
15594
15596 {
15597 public:
15600
15601 int
15603 {
15605 } // getNumOperands
15606
15607 int numDstRegOperands() override { return 1; }
15608 int numSrcRegOperands() override { return 2; }
15609
15610 int
15611 getOperandSize(int opIdx) override
15612 {
15613 switch (opIdx) {
15614 case 0: //src_0
15615 return 4;
15616 case 1: //src_1
15617 return 4;
15618 case 2: //vcc
15619 return 8;
15620 default:
15621 fatal("op idx %i out of bounds\n", opIdx);
15622 return -1;
15623 }
15624 } // getOperandSize
15625
15626 void execute(GPUDynInstPtr) override;
15627 }; // Inst_VOPC__V_CMP_NE_U32
15628
15630 {
15631 public:
15634
15635 int
15637 {
15639 } // getNumOperands
15640
15641 int numDstRegOperands() override { return 1; }
15642 int numSrcRegOperands() override { return 2; }
15643
15644 int
15645 getOperandSize(int opIdx) override
15646 {
15647 switch (opIdx) {
15648 case 0: //src_0
15649 return 4;
15650 case 1: //src_1
15651 return 4;
15652 case 2: //vcc
15653 return 8;
15654 default:
15655 fatal("op idx %i out of bounds\n", opIdx);
15656 return -1;
15657 }
15658 } // getOperandSize
15659
15660 void execute(GPUDynInstPtr) override;
15661 }; // Inst_VOPC__V_CMP_GE_U32
15662
15664 {
15665 public:
15668
15669 int
15671 {
15673 } // getNumOperands
15674
15675 int numDstRegOperands() override { return 1; }
15676 int numSrcRegOperands() override { return 2; }
15677
15678 int
15679 getOperandSize(int opIdx) override
15680 {
15681 switch (opIdx) {
15682 case 0: //src_0
15683 return 4;
15684 case 1: //src_1
15685 return 4;
15686 case 2: //vcc
15687 return 8;
15688 default:
15689 fatal("op idx %i out of bounds\n", opIdx);
15690 return -1;
15691 }
15692 } // getOperandSize
15693
15694 void execute(GPUDynInstPtr) override;
15695 }; // Inst_VOPC__V_CMP_T_U32
15696
15698 {
15699 public:
15702
15703 int
15705 {
15707 } // getNumOperands
15708
15709 int numDstRegOperands() override { return 1; }
15710 int numSrcRegOperands() override { return 2; }
15711
15712 int
15713 getOperandSize(int opIdx) override
15714 {
15715 switch (opIdx) {
15716 case 0: //src_0
15717 return 4;
15718 case 1: //src_1
15719 return 4;
15720 case 2: //vcc
15721 return 8;
15722 default:
15723 fatal("op idx %i out of bounds\n", opIdx);
15724 return -1;
15725 }
15726 } // getOperandSize
15727
15728 void execute(GPUDynInstPtr) override;
15729 }; // Inst_VOPC__V_CMPX_F_I32
15730
15732 {
15733 public:
15736
15737 int
15739 {
15741 } // getNumOperands
15742
15743 int numDstRegOperands() override { return 1; }
15744 int numSrcRegOperands() override { return 2; }
15745
15746 int
15747 getOperandSize(int opIdx) override
15748 {
15749 switch (opIdx) {
15750 case 0: //src_0
15751 return 4;
15752 case 1: //src_1
15753 return 4;
15754 case 2: //vcc
15755 return 8;
15756 default:
15757 fatal("op idx %i out of bounds\n", opIdx);
15758 return -1;
15759 }
15760 } // getOperandSize
15761
15762 void execute(GPUDynInstPtr) override;
15763 }; // Inst_VOPC__V_CMPX_LT_I32
15764
15766 {
15767 public:
15770
15771 int
15773 {
15775 } // getNumOperands
15776
15777 int numDstRegOperands() override { return 1; }
15778 int numSrcRegOperands() override { return 2; }
15779
15780 int
15781 getOperandSize(int opIdx) override
15782 {
15783 switch (opIdx) {
15784 case 0: //src_0
15785 return 4;
15786 case 1: //src_1
15787 return 4;
15788 case 2: //vcc
15789 return 8;
15790 default:
15791 fatal("op idx %i out of bounds\n", opIdx);
15792 return -1;
15793 }
15794 } // getOperandSize
15795
15796 void execute(GPUDynInstPtr) override;
15797 }; // Inst_VOPC__V_CMPX_EQ_I32
15798
15800 {
15801 public:
15804
15805 int
15807 {
15809 } // getNumOperands
15810
15811 int numDstRegOperands() override { return 1; }
15812 int numSrcRegOperands() override { return 2; }
15813
15814 int
15815 getOperandSize(int opIdx) override
15816 {
15817 switch (opIdx) {
15818 case 0: //src_0
15819 return 4;
15820 case 1: //src_1
15821 return 4;
15822 case 2: //vcc
15823 return 8;
15824 default:
15825 fatal("op idx %i out of bounds\n", opIdx);
15826 return -1;
15827 }
15828 } // getOperandSize
15829
15830 void execute(GPUDynInstPtr) override;
15831 }; // Inst_VOPC__V_CMPX_LE_I32
15832
15834 {
15835 public:
15838
15839 int
15841 {
15843 } // getNumOperands
15844
15845 int numDstRegOperands() override { return 1; }
15846 int numSrcRegOperands() override { return 2; }
15847
15848 int
15849 getOperandSize(int opIdx) override
15850 {
15851 switch (opIdx) {
15852 case 0: //src_0
15853 return 4;
15854 case 1: //src_1
15855 return 4;
15856 case 2: //vcc
15857 return 8;
15858 default:
15859 fatal("op idx %i out of bounds\n", opIdx);
15860 return -1;
15861 }
15862 } // getOperandSize
15863
15864 void execute(GPUDynInstPtr) override;
15865 }; // Inst_VOPC__V_CMPX_GT_I32
15866
15868 {
15869 public:
15872
15873 int
15875 {
15877 } // getNumOperands
15878
15879 int numDstRegOperands() override { return 1; }
15880 int numSrcRegOperands() override { return 2; }
15881
15882 int
15883 getOperandSize(int opIdx) override
15884 {
15885 switch (opIdx) {
15886 case 0: //src_0
15887 return 4;
15888 case 1: //src_1
15889 return 4;
15890 case 2: //vcc
15891 return 8;
15892 default:
15893 fatal("op idx %i out of bounds\n", opIdx);
15894 return -1;
15895 }
15896 } // getOperandSize
15897
15898 void execute(GPUDynInstPtr) override;
15899 }; // Inst_VOPC__V_CMPX_NE_I32
15900
15902 {
15903 public:
15906
15907 int
15909 {
15911 } // getNumOperands
15912
15913 int numDstRegOperands() override { return 1; }
15914 int numSrcRegOperands() override { return 2; }
15915
15916 int
15917 getOperandSize(int opIdx) override
15918 {
15919 switch (opIdx) {
15920 case 0: //src_0
15921 return 4;
15922 case 1: //src_1
15923 return 4;
15924 case 2: //vcc
15925 return 8;
15926 default:
15927 fatal("op idx %i out of bounds\n", opIdx);
15928 return -1;
15929 }
15930 } // getOperandSize
15931
15932 void execute(GPUDynInstPtr) override;
15933 }; // Inst_VOPC__V_CMPX_GE_I32
15934
15936 {
15937 public:
15940
15941 int
15943 {
15945 } // getNumOperands
15946
15947 int numDstRegOperands() override { return 1; }
15948 int numSrcRegOperands() override { return 2; }
15949
15950 int
15951 getOperandSize(int opIdx) override
15952 {
15953 switch (opIdx) {
15954 case 0: //src_0
15955 return 4;
15956 case 1: //src_1
15957 return 4;
15958 case 2: //vcc
15959 return 8;
15960 default:
15961 fatal("op idx %i out of bounds\n", opIdx);
15962 return -1;
15963 }
15964 } // getOperandSize
15965
15966 void execute(GPUDynInstPtr) override;
15967 }; // Inst_VOPC__V_CMPX_T_I32
15968
15970 {
15971 public:
15974
15975 int
15977 {
15979 } // getNumOperands
15980
15981 int numDstRegOperands() override { return 1; }
15982 int numSrcRegOperands() override { return 2; }
15983
15984 int
15985 getOperandSize(int opIdx) override
15986 {
15987 switch (opIdx) {
15988 case 0: //src_0
15989 return 4;
15990 case 1: //src_1
15991 return 4;
15992 case 2: //vcc
15993 return 8;
15994 default:
15995 fatal("op idx %i out of bounds\n", opIdx);
15996 return -1;
15997 }
15998 } // getOperandSize
15999
16000 void execute(GPUDynInstPtr) override;
16001 }; // Inst_VOPC__V_CMPX_F_U32
16002
16004 {
16005 public:
16008
16009 int
16011 {
16013 } // getNumOperands
16014
16015 int numDstRegOperands() override { return 1; }
16016 int numSrcRegOperands() override { return 2; }
16017
16018 int
16019 getOperandSize(int opIdx) override
16020 {
16021 switch (opIdx) {
16022 case 0: //src_0
16023 return 4;
16024 case 1: //src_1
16025 return 4;
16026 case 2: //vcc
16027 return 8;
16028 default:
16029 fatal("op idx %i out of bounds\n", opIdx);
16030 return -1;
16031 }
16032 } // getOperandSize
16033
16034 void execute(GPUDynInstPtr) override;
16035 }; // Inst_VOPC__V_CMPX_LT_U32
16036
16038 {
16039 public:
16042
16043 int
16045 {
16047 } // getNumOperands
16048
16049 int numDstRegOperands() override { return 1; }
16050 int numSrcRegOperands() override { return 2; }
16051
16052 int
16053 getOperandSize(int opIdx) override
16054 {
16055 switch (opIdx) {
16056 case 0: //src_0
16057 return 4;
16058 case 1: //src_1
16059 return 4;
16060 case 2: //vcc
16061 return 8;
16062 default:
16063 fatal("op idx %i out of bounds\n", opIdx);
16064 return -1;
16065 }
16066 } // getOperandSize
16067
16068 void execute(GPUDynInstPtr) override;
16069 }; // Inst_VOPC__V_CMPX_EQ_U32
16070
16072 {
16073 public:
16076
16077 int
16079 {
16081 } // getNumOperands
16082
16083 int numDstRegOperands() override { return 1; }
16084 int numSrcRegOperands() override { return 2; }
16085
16086 int
16087 getOperandSize(int opIdx) override
16088 {
16089 switch (opIdx) {
16090 case 0: //src_0
16091 return 4;
16092 case 1: //src_1
16093 return 4;
16094 case 2: //vcc
16095 return 8;
16096 default:
16097 fatal("op idx %i out of bounds\n", opIdx);
16098 return -1;
16099 }
16100 } // getOperandSize
16101
16102 void execute(GPUDynInstPtr) override;
16103 }; // Inst_VOPC__V_CMPX_LE_U32
16104
16106 {
16107 public:
16110
16111 int
16113 {
16115 } // getNumOperands
16116
16117 int numDstRegOperands() override { return 1; }
16118 int numSrcRegOperands() override { return 2; }
16119
16120 int
16121 getOperandSize(int opIdx) override
16122 {
16123 switch (opIdx) {
16124 case 0: //src_0
16125 return 4;
16126 case 1: //src_1
16127 return 4;
16128 case 2: //vcc
16129 return 8;
16130 default:
16131 fatal("op idx %i out of bounds\n", opIdx);
16132 return -1;
16133 }
16134 } // getOperandSize
16135
16136 void execute(GPUDynInstPtr) override;
16137 }; // Inst_VOPC__V_CMPX_GT_U32
16138
16140 {
16141 public:
16144
16145 int
16147 {
16149 } // getNumOperands
16150
16151 int numDstRegOperands() override { return 1; }
16152 int numSrcRegOperands() override { return 2; }
16153
16154 int
16155 getOperandSize(int opIdx) override
16156 {
16157 switch (opIdx) {
16158 case 0: //src_0
16159 return 4;
16160 case 1: //src_1
16161 return 4;
16162 case 2: //vcc
16163 return 8;
16164 default:
16165 fatal("op idx %i out of bounds\n", opIdx);
16166 return -1;
16167 }
16168 } // getOperandSize
16169
16170 void execute(GPUDynInstPtr) override;
16171 }; // Inst_VOPC__V_CMPX_NE_U32
16172
16174 {
16175 public:
16178
16179 int
16181 {
16183 } // getNumOperands
16184
16185 int numDstRegOperands() override { return 1; }
16186 int numSrcRegOperands() override { return 2; }
16187
16188 int
16189 getOperandSize(int opIdx) override
16190 {
16191 switch (opIdx) {
16192 case 0: //src_0
16193 return 4;
16194 case 1: //src_1
16195 return 4;
16196 case 2: //vcc
16197 return 8;
16198 default:
16199 fatal("op idx %i out of bounds\n", opIdx);
16200 return -1;
16201 }
16202 } // getOperandSize
16203
16204 void execute(GPUDynInstPtr) override;
16205 }; // Inst_VOPC__V_CMPX_GE_U32
16206
16208 {
16209 public:
16212
16213 int
16215 {
16217 } // getNumOperands
16218
16219 int numDstRegOperands() override { return 1; }
16220 int numSrcRegOperands() override { return 2; }
16221
16222 int
16223 getOperandSize(int opIdx) override
16224 {
16225 switch (opIdx) {
16226 case 0: //src_0
16227 return 4;
16228 case 1: //src_1
16229 return 4;
16230 case 2: //vcc
16231 return 8;
16232 default:
16233 fatal("op idx %i out of bounds\n", opIdx);
16234 return -1;
16235 }
16236 } // getOperandSize
16237
16238 void execute(GPUDynInstPtr) override;
16239 }; // Inst_VOPC__V_CMPX_T_U32
16240
16242 {
16243 public:
16246
16247 int
16249 {
16251 } // getNumOperands
16252
16253 int numDstRegOperands() override { return 1; }
16254 int numSrcRegOperands() override { return 2; }
16255
16256 int
16257 getOperandSize(int opIdx) override
16258 {
16259 switch (opIdx) {
16260 case 0: //src_0
16261 return 8;
16262 case 1: //src_1
16263 return 8;
16264 case 2: //vcc
16265 return 8;
16266 default:
16267 fatal("op idx %i out of bounds\n", opIdx);
16268 return -1;
16269 }
16270 } // getOperandSize
16271
16272 void execute(GPUDynInstPtr) override;
16273 }; // Inst_VOPC__V_CMP_F_I64
16274
16276 {
16277 public:
16280
16281 int
16283 {
16285 } // getNumOperands
16286
16287 int numDstRegOperands() override { return 1; }
16288 int numSrcRegOperands() override { return 2; }
16289
16290 int
16291 getOperandSize(int opIdx) override
16292 {
16293 switch (opIdx) {
16294 case 0: //src_0
16295 return 8;
16296 case 1: //src_1
16297 return 8;
16298 case 2: //vcc
16299 return 8;
16300 default:
16301 fatal("op idx %i out of bounds\n", opIdx);
16302 return -1;
16303 }
16304 } // getOperandSize
16305
16306 void execute(GPUDynInstPtr) override;
16307 }; // Inst_VOPC__V_CMP_LT_I64
16308
16310 {
16311 public:
16314
16315 int
16317 {
16319 } // getNumOperands
16320
16321 int numDstRegOperands() override { return 1; }
16322 int numSrcRegOperands() override { return 2; }
16323
16324 int
16325 getOperandSize(int opIdx) override
16326 {
16327 switch (opIdx) {
16328 case 0: //src_0
16329 return 8;
16330 case 1: //src_1
16331 return 8;
16332 case 2: //vcc
16333 return 8;
16334 default:
16335 fatal("op idx %i out of bounds\n", opIdx);
16336 return -1;
16337 }
16338 } // getOperandSize
16339
16340 void execute(GPUDynInstPtr) override;
16341 }; // Inst_VOPC__V_CMP_EQ_I64
16342
16344 {
16345 public:
16348
16349 int
16351 {
16353 } // getNumOperands
16354
16355 int numDstRegOperands() override { return 1; }
16356 int numSrcRegOperands() override { return 2; }
16357
16358 int
16359 getOperandSize(int opIdx) override
16360 {
16361 switch (opIdx) {
16362 case 0: //src_0
16363 return 8;
16364 case 1: //src_1
16365 return 8;
16366 case 2: //vcc
16367 return 8;
16368 default:
16369 fatal("op idx %i out of bounds\n", opIdx);
16370 return -1;
16371 }
16372 } // getOperandSize
16373
16374 void execute(GPUDynInstPtr) override;
16375 }; // Inst_VOPC__V_CMP_LE_I64
16376
16378 {
16379 public:
16382
16383 int
16385 {
16387 } // getNumOperands
16388
16389 int numDstRegOperands() override { return 1; }
16390 int numSrcRegOperands() override { return 2; }
16391
16392 int
16393 getOperandSize(int opIdx) override
16394 {
16395 switch (opIdx) {
16396 case 0: //src_0
16397 return 8;
16398 case 1: //src_1
16399 return 8;
16400 case 2: //vcc
16401 return 8;
16402 default:
16403 fatal("op idx %i out of bounds\n", opIdx);
16404 return -1;
16405 }
16406 } // getOperandSize
16407
16408 void execute(GPUDynInstPtr) override;
16409 }; // Inst_VOPC__V_CMP_GT_I64
16410
16412 {
16413 public:
16416
16417 int
16419 {
16421 } // getNumOperands
16422
16423 int numDstRegOperands() override { return 1; }
16424 int numSrcRegOperands() override { return 2; }
16425
16426 int
16427 getOperandSize(int opIdx) override
16428 {
16429 switch (opIdx) {
16430 case 0: //src_0
16431 return 8;
16432 case 1: //src_1
16433 return 8;
16434 case 2: //vcc
16435 return 8;
16436 default:
16437 fatal("op idx %i out of bounds\n", opIdx);
16438 return -1;
16439 }
16440 } // getOperandSize
16441
16442 void execute(GPUDynInstPtr) override;
16443 }; // Inst_VOPC__V_CMP_NE_I64
16444
16446 {
16447 public:
16450
16451 int
16453 {
16455 } // getNumOperands
16456
16457 int numDstRegOperands() override { return 1; }
16458 int numSrcRegOperands() override { return 2; }
16459
16460 int
16461 getOperandSize(int opIdx) override
16462 {
16463 switch (opIdx) {
16464 case 0: //src_0
16465 return 8;
16466 case 1: //src_1
16467 return 8;
16468 case 2: //vcc
16469 return 8;
16470 default:
16471 fatal("op idx %i out of bounds\n", opIdx);
16472 return -1;
16473 }
16474 } // getOperandSize
16475
16476 void execute(GPUDynInstPtr) override;
16477 }; // Inst_VOPC__V_CMP_GE_I64
16478
16480 {
16481 public:
16484
16485 int
16487 {
16489 } // getNumOperands
16490
16491 int numDstRegOperands() override { return 1; }
16492 int numSrcRegOperands() override { return 2; }
16493
16494 int
16495 getOperandSize(int opIdx) override
16496 {
16497 switch (opIdx) {
16498 case 0: //src_0
16499 return 8;
16500 case 1: //src_1
16501 return 8;
16502 case 2: //vcc
16503 return 8;
16504 default:
16505 fatal("op idx %i out of bounds\n", opIdx);
16506 return -1;
16507 }
16508 } // getOperandSize
16509
16510 void execute(GPUDynInstPtr) override;
16511 }; // Inst_VOPC__V_CMP_T_I64
16512
16514 {
16515 public:
16518
16519 int
16521 {
16523 } // getNumOperands
16524
16525 int numDstRegOperands() override { return 1; }
16526 int numSrcRegOperands() override { return 2; }
16527
16528 int
16529 getOperandSize(int opIdx) override
16530 {
16531 switch (opIdx) {
16532 case 0: //src_0
16533 return 8;
16534 case 1: //src_1
16535 return 8;
16536 case 2: //vcc
16537 return 8;
16538 default:
16539 fatal("op idx %i out of bounds\n", opIdx);
16540 return -1;
16541 }
16542 } // getOperandSize
16543
16544 void execute(GPUDynInstPtr) override;
16545 }; // Inst_VOPC__V_CMP_F_U64
16546
16548 {
16549 public:
16552
16553 int
16555 {
16557 } // getNumOperands
16558
16559 int numDstRegOperands() override { return 1; }
16560 int numSrcRegOperands() override { return 2; }
16561
16562 int
16563 getOperandSize(int opIdx) override
16564 {
16565 switch (opIdx) {
16566 case 0: //src_0
16567 return 8;
16568 case 1: //src_1
16569 return 8;
16570 case 2: //vcc
16571 return 8;
16572 default:
16573 fatal("op idx %i out of bounds\n", opIdx);
16574 return -1;
16575 }
16576 } // getOperandSize
16577
16578 void execute(GPUDynInstPtr) override;
16579 }; // Inst_VOPC__V_CMP_LT_U64
16580
16582 {
16583 public:
16586
16587 int
16589 {
16591 } // getNumOperands
16592
16593 int numDstRegOperands() override { return 1; }
16594 int numSrcRegOperands() override { return 2; }
16595
16596 int
16597 getOperandSize(int opIdx) override
16598 {
16599 switch (opIdx) {
16600 case 0: //src_0
16601 return 8;
16602 case 1: //src_1
16603 return 8;
16604 case 2: //vcc
16605 return 8;
16606 default:
16607 fatal("op idx %i out of bounds\n", opIdx);
16608 return -1;
16609 }
16610 } // getOperandSize
16611
16612 void execute(GPUDynInstPtr) override;
16613 }; // Inst_VOPC__V_CMP_EQ_U64
16614
16616 {
16617 public:
16620
16621 int
16623 {
16625 } // getNumOperands
16626
16627 int numDstRegOperands() override { return 1; }
16628 int numSrcRegOperands() override { return 2; }
16629
16630 int
16631 getOperandSize(int opIdx) override
16632 {
16633 switch (opIdx) {
16634 case 0: //src_0
16635 return 8;
16636 case 1: //src_1
16637 return 8;
16638 case 2: //vcc
16639 return 8;
16640 default:
16641 fatal("op idx %i out of bounds\n", opIdx);
16642 return -1;
16643 }
16644 } // getOperandSize
16645
16646 void execute(GPUDynInstPtr) override;
16647 }; // Inst_VOPC__V_CMP_LE_U64
16648
16650 {
16651 public:
16654
16655 int
16657 {
16659 } // getNumOperands
16660
16661 int numDstRegOperands() override { return 1; }
16662 int numSrcRegOperands() override { return 2; }
16663
16664 int
16665 getOperandSize(int opIdx) override
16666 {
16667 switch (opIdx) {
16668 case 0: //src_0
16669 return 8;
16670 case 1: //src_1
16671 return 8;
16672 case 2: //vcc
16673 return 8;
16674 default:
16675 fatal("op idx %i out of bounds\n", opIdx);
16676 return -1;
16677 }
16678 } // getOperandSize
16679
16680 void execute(GPUDynInstPtr) override;
16681 }; // Inst_VOPC__V_CMP_GT_U64
16682
16684 {
16685 public:
16688
16689 int
16691 {
16693 } // getNumOperands
16694
16695 int numDstRegOperands() override { return 1; }
16696 int numSrcRegOperands() override { return 2; }
16697
16698 int
16699 getOperandSize(int opIdx) override
16700 {
16701 switch (opIdx) {
16702 case 0: //src_0
16703 return 8;
16704 case 1: //src_1
16705 return 8;
16706 case 2: //vcc
16707 return 8;
16708 default:
16709 fatal("op idx %i out of bounds\n", opIdx);
16710 return -1;
16711 }
16712 } // getOperandSize
16713
16714 void execute(GPUDynInstPtr) override;
16715 }; // Inst_VOPC__V_CMP_NE_U64
16716
16718 {
16719 public:
16722
16723 int
16725 {
16727 } // getNumOperands
16728
16729 int numDstRegOperands() override { return 1; }
16730 int numSrcRegOperands() override { return 2; }
16731
16732 int
16733 getOperandSize(int opIdx) override
16734 {
16735 switch (opIdx) {
16736 case 0: //src_0
16737 return 8;
16738 case 1: //src_1
16739 return 8;
16740 case 2: //vcc
16741 return 8;
16742 default:
16743 fatal("op idx %i out of bounds\n", opIdx);
16744 return -1;
16745 }
16746 } // getOperandSize
16747
16748 void execute(GPUDynInstPtr) override;
16749 }; // Inst_VOPC__V_CMP_GE_U64
16750
16752 {
16753 public:
16756
16757 int
16759 {
16761 } // getNumOperands
16762
16763 int numDstRegOperands() override { return 1; }
16764 int numSrcRegOperands() override { return 2; }
16765
16766 int
16767 getOperandSize(int opIdx) override
16768 {
16769 switch (opIdx) {
16770 case 0: //src_0
16771 return 8;
16772 case 1: //src_1
16773 return 8;
16774 case 2: //vcc
16775 return 8;
16776 default:
16777 fatal("op idx %i out of bounds\n", opIdx);
16778 return -1;
16779 }
16780 } // getOperandSize
16781
16782 void execute(GPUDynInstPtr) override;
16783 }; // Inst_VOPC__V_CMP_T_U64
16784
16786 {
16787 public:
16790
16791 int
16793 {
16795 } // getNumOperands
16796
16797 int numDstRegOperands() override { return 1; }
16798 int numSrcRegOperands() override { return 2; }
16799
16800 int
16801 getOperandSize(int opIdx) override
16802 {
16803 switch (opIdx) {
16804 case 0: //src_0
16805 return 8;
16806 case 1: //src_1
16807 return 8;
16808 case 2: //vcc
16809 return 8;
16810 default:
16811 fatal("op idx %i out of bounds\n", opIdx);
16812 return -1;
16813 }
16814 } // getOperandSize
16815
16816 void execute(GPUDynInstPtr) override;
16817 }; // Inst_VOPC__V_CMPX_F_I64
16818
16820 {
16821 public:
16824
16825 int
16827 {
16829 } // getNumOperands
16830
16831 int numDstRegOperands() override { return 1; }
16832 int numSrcRegOperands() override { return 2; }
16833
16834 int
16835 getOperandSize(int opIdx) override
16836 {
16837 switch (opIdx) {
16838 case 0: //src_0
16839 return 8;
16840 case 1: //src_1
16841 return 8;
16842 case 2: //vcc
16843 return 8;
16844 default:
16845 fatal("op idx %i out of bounds\n", opIdx);
16846 return -1;
16847 }
16848 } // getOperandSize
16849
16850 void execute(GPUDynInstPtr) override;
16851 }; // Inst_VOPC__V_CMPX_LT_I64
16852
16854 {
16855 public:
16858
16859 int
16861 {
16863 } // getNumOperands
16864
16865 int numDstRegOperands() override { return 1; }
16866 int numSrcRegOperands() override { return 2; }
16867
16868 int
16869 getOperandSize(int opIdx) override
16870 {
16871 switch (opIdx) {
16872 case 0: //src_0
16873 return 8;
16874 case 1: //src_1
16875 return 8;
16876 case 2: //vcc
16877 return 8;
16878 default:
16879 fatal("op idx %i out of bounds\n", opIdx);
16880 return -1;
16881 }
16882 } // getOperandSize
16883
16884 void execute(GPUDynInstPtr) override;
16885 }; // Inst_VOPC__V_CMPX_EQ_I64
16886
16888 {
16889 public:
16892
16893 int
16895 {
16897 } // getNumOperands
16898
16899 int numDstRegOperands() override { return 1; }
16900 int numSrcRegOperands() override { return 2; }
16901
16902 int
16903 getOperandSize(int opIdx) override
16904 {
16905 switch (opIdx) {
16906 case 0: //src_0
16907 return 8;
16908 case 1: //src_1
16909 return 8;
16910 case 2: //vcc
16911 return 8;
16912 default:
16913 fatal("op idx %i out of bounds\n", opIdx);
16914 return -1;
16915 }
16916 } // getOperandSize
16917
16918 void execute(GPUDynInstPtr) override;
16919 }; // Inst_VOPC__V_CMPX_LE_I64
16920
16922 {
16923 public:
16926
16927 int
16929 {
16931 } // getNumOperands
16932
16933 int numDstRegOperands() override { return 1; }
16934 int numSrcRegOperands() override { return 2; }
16935
16936 int
16937 getOperandSize(int opIdx) override
16938 {
16939 switch (opIdx) {
16940 case 0: //src_0
16941 return 8;
16942 case 1: //src_1
16943 return 8;
16944 case 2: //vcc
16945 return 8;
16946 default:
16947 fatal("op idx %i out of bounds\n", opIdx);
16948 return -1;
16949 }
16950 } // getOperandSize
16951
16952 void execute(GPUDynInstPtr) override;
16953 }; // Inst_VOPC__V_CMPX_GT_I64
16954
16956 {
16957 public:
16960
16961 int
16963 {
16965 } // getNumOperands
16966
16967 int numDstRegOperands() override { return 1; }
16968 int numSrcRegOperands() override { return 2; }
16969
16970 int
16971 getOperandSize(int opIdx) override
16972 {
16973 switch (opIdx) {
16974 case 0: //src_0
16975 return 8;
16976 case 1: //src_1
16977 return 8;
16978 case 2: //vcc
16979 return 8;
16980 default:
16981 fatal("op idx %i out of bounds\n", opIdx);
16982 return -1;
16983 }
16984 } // getOperandSize
16985
16986 void execute(GPUDynInstPtr) override;
16987 }; // Inst_VOPC__V_CMPX_NE_I64
16988
16990 {
16991 public:
16994
16995 int
16997 {
16999 } // getNumOperands
17000
17001 int numDstRegOperands() override { return 1; }
17002 int numSrcRegOperands() override { return 2; }
17003
17004 int
17005 getOperandSize(int opIdx) override
17006 {
17007 switch (opIdx) {
17008 case 0: //src_0
17009 return 8;
17010 case 1: //src_1
17011 return 8;
17012 case 2: //vcc
17013 return 8;
17014 default:
17015 fatal("op idx %i out of bounds\n", opIdx);
17016 return -1;
17017 }
17018 } // getOperandSize
17019
17020 void execute(GPUDynInstPtr) override;
17021 }; // Inst_VOPC__V_CMPX_GE_I64
17022
17024 {
17025 public:
17028
17029 int
17031 {
17033 } // getNumOperands
17034
17035 int numDstRegOperands() override { return 1; }
17036 int numSrcRegOperands() override { return 2; }
17037
17038 int
17039 getOperandSize(int opIdx) override
17040 {
17041 switch (opIdx) {
17042 case 0: //src_0
17043 return 8;
17044 case 1: //src_1
17045 return 8;
17046 case 2: //vcc
17047 return 8;
17048 default:
17049 fatal("op idx %i out of bounds\n", opIdx);
17050 return -1;
17051 }
17052 } // getOperandSize
17053
17054 void execute(GPUDynInstPtr) override;
17055 }; // Inst_VOPC__V_CMPX_T_I64
17056
17058 {
17059 public:
17062
17063 int
17065 {
17067 } // getNumOperands
17068
17069 int numDstRegOperands() override { return 1; }
17070 int numSrcRegOperands() override { return 2; }
17071
17072 int
17073 getOperandSize(int opIdx) override
17074 {
17075 switch (opIdx) {
17076 case 0: //src_0
17077 return 8;
17078 case 1: //src_1
17079 return 8;
17080 case 2: //vcc
17081 return 8;
17082 default:
17083 fatal("op idx %i out of bounds\n", opIdx);
17084 return -1;
17085 }
17086 } // getOperandSize
17087
17088 void execute(GPUDynInstPtr) override;
17089 }; // Inst_VOPC__V_CMPX_F_U64
17090
17092 {
17093 public:
17096
17097 int
17099 {
17101 } // getNumOperands
17102
17103 int numDstRegOperands() override { return 1; }
17104 int numSrcRegOperands() override { return 2; }
17105
17106 int
17107 getOperandSize(int opIdx) override
17108 {
17109 switch (opIdx) {
17110 case 0: //src_0
17111 return 8;
17112 case 1: //src_1
17113 return 8;
17114 case 2: //vcc
17115 return 8;
17116 default:
17117 fatal("op idx %i out of bounds\n", opIdx);
17118 return -1;
17119 }
17120 } // getOperandSize
17121
17122 void execute(GPUDynInstPtr) override;
17123 }; // Inst_VOPC__V_CMPX_LT_U64
17124
17126 {
17127 public:
17130
17131 int
17133 {
17135 } // getNumOperands
17136
17137 int numDstRegOperands() override { return 1; }
17138 int numSrcRegOperands() override { return 2; }
17139
17140 int
17141 getOperandSize(int opIdx) override
17142 {
17143 switch (opIdx) {
17144 case 0: //src_0
17145 return 8;
17146 case 1: //src_1
17147 return 8;
17148 case 2: //vcc
17149 return 8;
17150 default:
17151 fatal("op idx %i out of bounds\n", opIdx);
17152 return -1;
17153 }
17154 } // getOperandSize
17155
17156 void execute(GPUDynInstPtr) override;
17157 }; // Inst_VOPC__V_CMPX_EQ_U64
17158
17160 {
17161 public:
17164
17165 int
17167 {
17169 } // getNumOperands
17170
17171 int numDstRegOperands() override { return 1; }
17172 int numSrcRegOperands() override { return 2; }
17173
17174 int
17175 getOperandSize(int opIdx) override
17176 {
17177 switch (opIdx) {
17178 case 0: //src_0
17179 return 8;
17180 case 1: //src_1
17181 return 8;
17182 case 2: //vcc
17183 return 8;
17184 default:
17185 fatal("op idx %i out of bounds\n", opIdx);
17186 return -1;
17187 }
17188 } // getOperandSize
17189
17190 void execute(GPUDynInstPtr) override;
17191 }; // Inst_VOPC__V_CMPX_LE_U64
17192
17194 {
17195 public:
17198
17199 int
17201 {
17203 } // getNumOperands
17204
17205 int numDstRegOperands() override { return 1; }
17206 int numSrcRegOperands() override { return 2; }
17207
17208 int
17209 getOperandSize(int opIdx) override
17210 {
17211 switch (opIdx) {
17212 case 0: //src_0
17213 return 8;
17214 case 1: //src_1
17215 return 8;
17216 case 2: //vcc
17217 return 8;
17218 default:
17219 fatal("op idx %i out of bounds\n", opIdx);
17220 return -1;
17221 }
17222 } // getOperandSize
17223
17224 void execute(GPUDynInstPtr) override;
17225 }; // Inst_VOPC__V_CMPX_GT_U64
17226
17228 {
17229 public:
17232
17233 int
17235 {
17237 } // getNumOperands
17238
17239 int numDstRegOperands() override { return 1; }
17240 int numSrcRegOperands() override { return 2; }
17241
17242 int
17243 getOperandSize(int opIdx) override
17244 {
17245 switch (opIdx) {
17246 case 0: //src_0
17247 return 8;
17248 case 1: //src_1
17249 return 8;
17250 case 2: //vcc
17251 return 8;
17252 default:
17253 fatal("op idx %i out of bounds\n", opIdx);
17254 return -1;
17255 }
17256 } // getOperandSize
17257
17258 void execute(GPUDynInstPtr) override;
17259 }; // Inst_VOPC__V_CMPX_NE_U64
17260
17262 {
17263 public:
17266
17267 int
17269 {
17271 } // getNumOperands
17272
17273 int numDstRegOperands() override { return 1; }
17274 int numSrcRegOperands() override { return 2; }
17275
17276 int
17277 getOperandSize(int opIdx) override
17278 {
17279 switch (opIdx) {
17280 case 0: //src_0
17281 return 8;
17282 case 1: //src_1
17283 return 8;
17284 case 2: //vcc
17285 return 8;
17286 default:
17287 fatal("op idx %i out of bounds\n", opIdx);
17288 return -1;
17289 }
17290 } // getOperandSize
17291
17292 void execute(GPUDynInstPtr) override;
17293 }; // Inst_VOPC__V_CMPX_GE_U64
17294
17296 {
17297 public:
17300
17301 int
17303 {
17305 } // getNumOperands
17306
17307 int numDstRegOperands() override { return 1; }
17308 int numSrcRegOperands() override { return 2; }
17309
17310 int
17311 getOperandSize(int opIdx) override
17312 {
17313 switch (opIdx) {
17314 case 0: //src_0
17315 return 8;
17316 case 1: //src_1
17317 return 8;
17318 case 2: //vcc
17319 return 8;
17320 default:
17321 fatal("op idx %i out of bounds\n", opIdx);
17322 return -1;
17323 }
17324 } // getOperandSize
17325
17326 void execute(GPUDynInstPtr) override;
17327 }; // Inst_VOPC__V_CMPX_T_U64
17328
17330 {
17331 public:
17334
17335 int
17337 {
17339 } // getNumOperands
17340
17341 int numDstRegOperands() override { return 1; }
17342 int numSrcRegOperands() override { return 2; }
17343
17344 int
17345 getOperandSize(int opIdx) override
17346 {
17347 switch (opIdx) {
17348 case 0: //vgpr_ij
17349 return 4;
17350 case 1: //attr
17351 return 16;
17352 case 2: //vgpr_dst
17353 return 4;
17354 default:
17355 fatal("op idx %i out of bounds\n", opIdx);
17356 return -1;
17357 }
17358 } // getOperandSize
17359
17360 void execute(GPUDynInstPtr) override;
17361 }; // Inst_VINTRP__V_INTERP_P1_F32
17362
17364 {
17365 public:
17368
17369 int
17371 {
17373 } // getNumOperands
17374
17375 int numDstRegOperands() override { return 1; }
17376 int numSrcRegOperands() override { return 2; }
17377
17378 int
17379 getOperandSize(int opIdx) override
17380 {
17381 switch (opIdx) {
17382 case 0: //vgpr_ij
17383 return 4;
17384 case 1: //attr
17385 return 16;
17386 case 2: //vgpr_dst
17387 return 4;
17388 default:
17389 fatal("op idx %i out of bounds\n", opIdx);
17390 return -1;
17391 }
17392 } // getOperandSize
17393
17394 void execute(GPUDynInstPtr) override;
17395 }; // Inst_VINTRP__V_INTERP_P2_F32
17396
17398 {
17399 public:
17402
17403 int
17405 {
17407 } // getNumOperands
17408
17409 int numDstRegOperands() override { return 1; }
17410 int numSrcRegOperands() override { return 2; }
17411
17412 int
17413 getOperandSize(int opIdx) override
17414 {
17415 switch (opIdx) {
17416 case 0: //param
17417 return 4;
17418 case 1: //attr
17419 return 16;
17420 case 2: //vgpr_dst
17421 return 4;
17422 default:
17423 fatal("op idx %i out of bounds\n", opIdx);
17424 return -1;
17425 }
17426 } // getOperandSize
17427
17428 void execute(GPUDynInstPtr) override;
17429 }; // Inst_VINTRP__V_INTERP_MOV_F32
17430
17432 {
17433 public:
17436
17437 int
17439 {
17441 } // getNumOperands
17442
17443 int numDstRegOperands() override { return 1; }
17444 int numSrcRegOperands() override { return 2; }
17445
17446 int
17447 getOperandSize(int opIdx) override
17448 {
17449 switch (opIdx) {
17450 case 0: //src_0
17451 return 4;
17452 case 1: //src_1
17453 return 4;
17454 case 2: //sdst
17455 return 8;
17456 default:
17457 fatal("op idx %i out of bounds\n", opIdx);
17458 return -1;
17459 }
17460 } // getOperandSize
17461
17462 void execute(GPUDynInstPtr) override;
17463 }; // Inst_VOP3__V_CMP_CLASS_F32
17464
17466 {
17467 public:
17470
17471 int
17473 {
17475 } // getNumOperands
17476
17477 int numDstRegOperands() override { return 1; }
17478 int numSrcRegOperands() override { return 2; }
17479
17480 int
17481 getOperandSize(int opIdx) override
17482 {
17483 switch (opIdx) {
17484 case 0: //src_0
17485 return 4;
17486 case 1: //src_1
17487 return 4;
17488 case 2: //sdst
17489 return 8;
17490 default:
17491 fatal("op idx %i out of bounds\n", opIdx);
17492 return -1;
17493 }
17494 } // getOperandSize
17495
17496 void execute(GPUDynInstPtr) override;
17497 }; // Inst_VOP3__V_CMPX_CLASS_F32
17498
17500 {
17501 public:
17504
17505 int
17507 {
17509 } // getNumOperands
17510
17511 int numDstRegOperands() override { return 1; }
17512 int numSrcRegOperands() override { return 2; }
17513
17514 int
17515 getOperandSize(int opIdx) override
17516 {
17517 switch (opIdx) {
17518 case 0: //src_0
17519 return 8;
17520 case 1: //src_1
17521 return 4;
17522 case 2: //sdst
17523 return 8;
17524 default:
17525 fatal("op idx %i out of bounds\n", opIdx);
17526 return -1;
17527 }
17528 } // getOperandSize
17529
17530 void execute(GPUDynInstPtr) override;
17531 }; // Inst_VOP3__V_CMP_CLASS_F64
17532
17534 {
17535 public:
17538
17539 int
17541 {
17543 } // getNumOperands
17544
17545 int numDstRegOperands() override { return 1; }
17546 int numSrcRegOperands() override { return 2; }
17547
17548 int
17549 getOperandSize(int opIdx) override
17550 {
17551 switch (opIdx) {
17552 case 0: //src_0
17553 return 8;
17554 case 1: //src_1
17555 return 4;
17556 case 2: //sdst
17557 return 8;
17558 default:
17559 fatal("op idx %i out of bounds\n", opIdx);
17560 return -1;
17561 }
17562 } // getOperandSize
17563
17564 void execute(GPUDynInstPtr) override;
17565 }; // Inst_VOP3__V_CMPX_CLASS_F64
17566
17568 {
17569 public:
17572
17573 int
17575 {
17577 } // getNumOperands
17578
17579 int numDstRegOperands() override { return 1; }
17580 int numSrcRegOperands() override { return 2; }
17581
17582 int
17583 getOperandSize(int opIdx) override
17584 {
17585 switch (opIdx) {
17586 case 0: //src_0
17587 return 2;
17588 case 1: //src_1
17589 return 2;
17590 case 2: //sdst
17591 return 8;
17592 default:
17593 fatal("op idx %i out of bounds\n", opIdx);
17594 return -1;
17595 }
17596 } // getOperandSize
17597
17598 void execute(GPUDynInstPtr) override;
17599 }; // Inst_VOP3__V_CMP_CLASS_F16
17600
17602 {
17603 public:
17606
17607 int
17609 {
17611 } // getNumOperands
17612
17613 int numDstRegOperands() override { return 1; }
17614 int numSrcRegOperands() override { return 2; }
17615
17616 int
17617 getOperandSize(int opIdx) override
17618 {
17619 switch (opIdx) {
17620 case 0: //src_0
17621 return 2;
17622 case 1: //src_1
17623 return 2;
17624 case 2: //sdst
17625 return 8;
17626 default:
17627 fatal("op idx %i out of bounds\n", opIdx);
17628 return -1;
17629 }
17630 } // getOperandSize
17631
17632 void execute(GPUDynInstPtr) override;
17633 }; // Inst_VOP3__V_CMPX_CLASS_F16
17634
17636 {
17637 public:
17640
17641 int
17643 {
17645 } // getNumOperands
17646
17647 int numDstRegOperands() override { return 1; }
17648 int numSrcRegOperands() override { return 2; }
17649
17650 int
17651 getOperandSize(int opIdx) override
17652 {
17653 switch (opIdx) {
17654 case 0: //src_0
17655 return 2;
17656 case 1: //src_1
17657 return 2;
17658 case 2: //sdst
17659 return 8;
17660 default:
17661 fatal("op idx %i out of bounds\n", opIdx);
17662 return -1;
17663 }
17664 } // getOperandSize
17665
17666 void execute(GPUDynInstPtr) override;
17667 }; // Inst_VOP3__V_CMP_F_F16
17668
17670 {
17671 public:
17674
17675 int
17677 {
17679 } // getNumOperands
17680
17681 int numDstRegOperands() override { return 1; }
17682 int numSrcRegOperands() override { return 2; }
17683
17684 int
17685 getOperandSize(int opIdx) override
17686 {
17687 switch (opIdx) {
17688 case 0: //src_0
17689 return 2;
17690 case 1: //src_1
17691 return 2;
17692 case 2: //sdst
17693 return 8;
17694 default:
17695 fatal("op idx %i out of bounds\n", opIdx);
17696 return -1;
17697 }
17698 } // getOperandSize
17699
17700 void execute(GPUDynInstPtr) override;
17701 }; // Inst_VOP3__V_CMP_LT_F16
17702
17704 {
17705 public:
17708
17709 int
17711 {
17713 } // getNumOperands
17714
17715 int numDstRegOperands() override { return 1; }
17716 int numSrcRegOperands() override { return 2; }
17717
17718 int
17719 getOperandSize(int opIdx) override
17720 {
17721 switch (opIdx) {
17722 case 0: //src_0
17723 return 2;
17724 case 1: //src_1
17725 return 2;
17726 case 2: //sdst
17727 return 8;
17728 default:
17729 fatal("op idx %i out of bounds\n", opIdx);
17730 return -1;
17731 }
17732 } // getOperandSize
17733
17734 void execute(GPUDynInstPtr) override;
17735 }; // Inst_VOP3__V_CMP_EQ_F16
17736
17738 {
17739 public:
17742
17743 int
17745 {
17747 } // getNumOperands
17748
17749 int numDstRegOperands() override { return 1; }
17750 int numSrcRegOperands() override { return 2; }
17751
17752 int
17753 getOperandSize(int opIdx) override
17754 {
17755 switch (opIdx) {
17756 case 0: //src_0
17757 return 2;
17758 case 1: //src_1
17759 return 2;
17760 case 2: //sdst
17761 return 8;
17762 default:
17763 fatal("op idx %i out of bounds\n", opIdx);
17764 return -1;
17765 }
17766 } // getOperandSize
17767
17768 void execute(GPUDynInstPtr) override;
17769 }; // Inst_VOP3__V_CMP_LE_F16
17770
17772 {
17773 public:
17776
17777 int
17779 {
17781 } // getNumOperands
17782
17783 int numDstRegOperands() override { return 1; }
17784 int numSrcRegOperands() override { return 2; }
17785
17786 int
17787 getOperandSize(int opIdx) override
17788 {
17789 switch (opIdx) {
17790 case 0: //src_0
17791 return 2;
17792 case 1: //src_1
17793 return 2;
17794 case 2: //sdst
17795 return 8;
17796 default:
17797 fatal("op idx %i out of bounds\n", opIdx);
17798 return -1;
17799 }
17800 } // getOperandSize
17801
17802 void execute(GPUDynInstPtr) override;
17803 }; // Inst_VOP3__V_CMP_GT_F16
17804
17806 {
17807 public:
17810
17811 int
17813 {
17815 } // getNumOperands
17816
17817 int numDstRegOperands() override { return 1; }
17818 int numSrcRegOperands() override { return 2; }
17819
17820 int
17821 getOperandSize(int opIdx) override
17822 {
17823 switch (opIdx) {
17824 case 0: //src_0
17825 return 2;
17826 case 1: //src_1
17827 return 2;
17828 case 2: //sdst
17829 return 8;
17830 default:
17831 fatal("op idx %i out of bounds\n", opIdx);
17832 return -1;
17833 }
17834 } // getOperandSize
17835
17836 void execute(GPUDynInstPtr) override;
17837 }; // Inst_VOP3__V_CMP_LG_F16
17838
17840 {
17841 public:
17844
17845 int
17847 {
17849 } // getNumOperands
17850
17851 int numDstRegOperands() override { return 1; }
17852 int numSrcRegOperands() override { return 2; }
17853
17854 int
17855 getOperandSize(int opIdx) override
17856 {
17857 switch (opIdx) {
17858 case 0: //src_0
17859 return 2;
17860 case 1: //src_1
17861 return 2;
17862 case 2: //sdst
17863 return 8;
17864 default:
17865 fatal("op idx %i out of bounds\n", opIdx);
17866 return -1;
17867 }
17868 } // getOperandSize
17869
17870 void execute(GPUDynInstPtr) override;
17871 }; // Inst_VOP3__V_CMP_GE_F16
17872
17874 {
17875 public:
17878
17879 int
17881 {
17883 } // getNumOperands
17884
17885 int numDstRegOperands() override { return 1; }
17886 int numSrcRegOperands() override { return 2; }
17887
17888 int
17889 getOperandSize(int opIdx) override
17890 {
17891 switch (opIdx) {
17892 case 0: //src_0
17893 return 2;
17894 case 1: //src_1
17895 return 2;
17896 case 2: //sdst
17897 return 8;
17898 default:
17899 fatal("op idx %i out of bounds\n", opIdx);
17900 return -1;
17901 }
17902 } // getOperandSize
17903
17904 void execute(GPUDynInstPtr) override;
17905 }; // Inst_VOP3__V_CMP_O_F16
17906
17908 {
17909 public:
17912
17913 int
17915 {
17917 } // getNumOperands
17918
17919 int numDstRegOperands() override { return 1; }
17920 int numSrcRegOperands() override { return 2; }
17921
17922 int
17923 getOperandSize(int opIdx) override
17924 {
17925 switch (opIdx) {
17926 case 0: //src_0
17927 return 2;
17928 case 1: //src_1
17929 return 2;
17930 case 2: //sdst
17931 return 8;
17932 default:
17933 fatal("op idx %i out of bounds\n", opIdx);
17934 return -1;
17935 }
17936 } // getOperandSize
17937
17938 void execute(GPUDynInstPtr) override;
17939 }; // Inst_VOP3__V_CMP_U_F16
17940
17942 {
17943 public:
17946
17947 int
17949 {
17951 } // getNumOperands
17952
17953 int numDstRegOperands() override { return 1; }
17954 int numSrcRegOperands() override { return 2; }
17955
17956 int
17957 getOperandSize(int opIdx) override
17958 {
17959 switch (opIdx) {
17960 case 0: //src_0
17961 return 2;
17962 case 1: //src_1
17963 return 2;
17964 case 2: //sdst
17965 return 8;
17966 default:
17967 fatal("op idx %i out of bounds\n", opIdx);
17968 return -1;
17969 }
17970 } // getOperandSize
17971
17972 void execute(GPUDynInstPtr) override;
17973 }; // Inst_VOP3__V_CMP_NGE_F16
17974
17976 {
17977 public:
17980
17981 int
17983 {
17985 } // getNumOperands
17986
17987 int numDstRegOperands() override { return 1; }
17988 int numSrcRegOperands() override { return 2; }
17989
17990 int
17991 getOperandSize(int opIdx) override
17992 {
17993 switch (opIdx) {
17994 case 0: //src_0
17995 return 2;
17996 case 1: //src_1
17997 return 2;
17998 case 2: //sdst
17999 return 8;
18000 default:
18001 fatal("op idx %i out of bounds\n", opIdx);
18002 return -1;
18003 }
18004 } // getOperandSize
18005
18006 void execute(GPUDynInstPtr) override;
18007 }; // Inst_VOP3__V_CMP_NLG_F16
18008
18010 {
18011 public:
18014
18015 int
18017 {
18019 } // getNumOperands
18020
18021 int numDstRegOperands() override { return 1; }
18022 int numSrcRegOperands() override { return 2; }
18023
18024 int
18025 getOperandSize(int opIdx) override
18026 {
18027 switch (opIdx) {
18028 case 0: //src_0
18029 return 2;
18030 case 1: //src_1
18031 return 2;
18032 case 2: //sdst
18033 return 8;
18034 default:
18035 fatal("op idx %i out of bounds\n", opIdx);
18036 return -1;
18037 }
18038 } // getOperandSize
18039
18040 void execute(GPUDynInstPtr) override;
18041 }; // Inst_VOP3__V_CMP_NGT_F16
18042
18044 {
18045 public:
18048
18049 int
18051 {
18053 } // getNumOperands
18054
18055 int numDstRegOperands() override { return 1; }
18056 int numSrcRegOperands() override { return 2; }
18057
18058 int
18059 getOperandSize(int opIdx) override
18060 {
18061 switch (opIdx) {
18062 case 0: //src_0
18063 return 2;
18064 case 1: //src_1
18065 return 2;
18066 case 2: //sdst
18067 return 8;
18068 default:
18069 fatal("op idx %i out of bounds\n", opIdx);
18070 return -1;
18071 }
18072 } // getOperandSize
18073
18074 void execute(GPUDynInstPtr) override;
18075 }; // Inst_VOP3__V_CMP_NLE_F16
18076
18078 {
18079 public:
18082
18083 int
18085 {
18087 } // getNumOperands
18088
18089 int numDstRegOperands() override { return 1; }
18090 int numSrcRegOperands() override { return 2; }
18091
18092 int
18093 getOperandSize(int opIdx) override
18094 {
18095 switch (opIdx) {
18096 case 0: //src_0
18097 return 2;
18098 case 1: //src_1
18099 return 2;
18100 case 2: //sdst
18101 return 8;
18102 default:
18103 fatal("op idx %i out of bounds\n", opIdx);
18104 return -1;
18105 }
18106 } // getOperandSize
18107
18108 void execute(GPUDynInstPtr) override;
18109 }; // Inst_VOP3__V_CMP_NEQ_F16
18110
18112 {
18113 public:
18116
18117 int
18119 {
18121 } // getNumOperands
18122
18123 int numDstRegOperands() override { return 1; }
18124 int numSrcRegOperands() override { return 2; }
18125
18126 int
18127 getOperandSize(int opIdx) override
18128 {
18129 switch (opIdx) {
18130 case 0: //src_0
18131 return 2;
18132 case 1: //src_1
18133 return 2;
18134 case 2: //sdst
18135 return 8;
18136 default:
18137 fatal("op idx %i out of bounds\n", opIdx);
18138 return -1;
18139 }
18140 } // getOperandSize
18141
18142 void execute(GPUDynInstPtr) override;
18143 }; // Inst_VOP3__V_CMP_NLT_F16
18144
18146 {
18147 public:
18150
18151 int
18153 {
18155 } // getNumOperands
18156
18157 int numDstRegOperands() override { return 1; }
18158 int numSrcRegOperands() override { return 2; }
18159
18160 int
18161 getOperandSize(int opIdx) override
18162 {
18163 switch (opIdx) {
18164 case 0: //src_0
18165 return 2;
18166 case 1: //src_1
18167 return 2;
18168 case 2: //sdst
18169 return 8;
18170 default:
18171 fatal("op idx %i out of bounds\n", opIdx);
18172 return -1;
18173 }
18174 } // getOperandSize
18175
18176 void execute(GPUDynInstPtr) override;
18177 }; // Inst_VOP3__V_CMP_TRU_F16
18178
18180 {
18181 public:
18184
18185 int
18187 {
18189 } // getNumOperands
18190
18191 int numDstRegOperands() override { return 1; }
18192 int numSrcRegOperands() override { return 2; }
18193
18194 int
18195 getOperandSize(int opIdx) override
18196 {
18197 switch (opIdx) {
18198 case 0: //src_0
18199 return 2;
18200 case 1: //src_1
18201 return 2;
18202 case 2: //sdst
18203 return 8;
18204 default:
18205 fatal("op idx %i out of bounds\n", opIdx);
18206 return -1;
18207 }
18208 } // getOperandSize
18209
18210 void execute(GPUDynInstPtr) override;
18211 }; // Inst_VOP3__V_CMPX_F_F16
18212
18214 {
18215 public:
18218
18219 int
18221 {
18223 } // getNumOperands
18224
18225 int numDstRegOperands() override { return 1; }
18226 int numSrcRegOperands() override { return 2; }
18227
18228 int
18229 getOperandSize(int opIdx) override
18230 {
18231 switch (opIdx) {
18232 case 0: //src_0
18233 return 2;
18234 case 1: //src_1
18235 return 2;
18236 case 2: //sdst
18237 return 8;
18238 default:
18239 fatal("op idx %i out of bounds\n", opIdx);
18240 return -1;
18241 }
18242 } // getOperandSize
18243
18244 void execute(GPUDynInstPtr) override;
18245 }; // Inst_VOP3__V_CMPX_LT_F16
18246
18248 {
18249 public:
18252
18253 int
18255 {
18257 } // getNumOperands
18258
18259 int numDstRegOperands() override { return 1; }
18260 int numSrcRegOperands() override { return 2; }
18261
18262 int
18263 getOperandSize(int opIdx) override
18264 {
18265 switch (opIdx) {
18266 case 0: //src_0
18267 return 2;
18268 case 1: //src_1
18269 return 2;
18270 case 2: //sdst
18271 return 8;
18272 default:
18273 fatal("op idx %i out of bounds\n", opIdx);
18274 return -1;
18275 }
18276 } // getOperandSize
18277
18278 void execute(GPUDynInstPtr) override;
18279 }; // Inst_VOP3__V_CMPX_EQ_F16
18280
18282 {
18283 public:
18286
18287 int
18289 {
18291 } // getNumOperands
18292
18293 int numDstRegOperands() override { return 1; }
18294 int numSrcRegOperands() override { return 2; }
18295
18296 int
18297 getOperandSize(int opIdx) override
18298 {
18299 switch (opIdx) {
18300 case 0: //src_0
18301 return 2;
18302 case 1: //src_1
18303 return 2;
18304 case 2: //sdst
18305 return 8;
18306 default:
18307 fatal("op idx %i out of bounds\n", opIdx);
18308 return -1;
18309 }
18310 } // getOperandSize
18311
18312 void execute(GPUDynInstPtr) override;
18313 }; // Inst_VOP3__V_CMPX_LE_F16
18314
18316 {
18317 public:
18320
18321 int
18323 {
18325 } // getNumOperands
18326
18327 int numDstRegOperands() override { return 1; }
18328 int numSrcRegOperands() override { return 2; }
18329
18330 int
18331 getOperandSize(int opIdx) override
18332 {
18333 switch (opIdx) {
18334 case 0: //src_0
18335 return 2;
18336 case 1: //src_1
18337 return 2;
18338 case 2: //sdst
18339 return 8;
18340 default:
18341 fatal("op idx %i out of bounds\n", opIdx);
18342 return -1;
18343 }
18344 } // getOperandSize
18345
18346 void execute(GPUDynInstPtr) override;
18347 }; // Inst_VOP3__V_CMPX_GT_F16
18348
18350 {
18351 public:
18354
18355 int
18357 {
18359 } // getNumOperands
18360
18361 int numDstRegOperands() override { return 1; }
18362 int numSrcRegOperands() override { return 2; }
18363
18364 int
18365 getOperandSize(int opIdx) override
18366 {
18367 switch (opIdx) {
18368 case 0: //src_0
18369 return 2;
18370 case 1: //src_1
18371 return 2;
18372 case 2: //sdst
18373 return 8;
18374 default:
18375 fatal("op idx %i out of bounds\n", opIdx);
18376 return -1;
18377 }
18378 } // getOperandSize
18379
18380 void execute(GPUDynInstPtr) override;
18381 }; // Inst_VOP3__V_CMPX_LG_F16
18382
18384 {
18385 public:
18388
18389 int
18391 {
18393 } // getNumOperands
18394
18395 int numDstRegOperands() override { return 1; }
18396 int numSrcRegOperands() override { return 2; }
18397
18398 int
18399 getOperandSize(int opIdx) override
18400 {
18401 switch (opIdx) {
18402 case 0: //src_0
18403 return 2;
18404 case 1: //src_1
18405 return 2;
18406 case 2: //sdst
18407 return 8;
18408 default:
18409 fatal("op idx %i out of bounds\n", opIdx);
18410 return -1;
18411 }
18412 } // getOperandSize
18413
18414 void execute(GPUDynInstPtr) override;
18415 }; // Inst_VOP3__V_CMPX_GE_F16
18416
18418 {
18419 public:
18422
18423 int
18425 {
18427 } // getNumOperands
18428
18429 int numDstRegOperands() override { return 1; }
18430 int numSrcRegOperands() override { return 2; }
18431
18432 int
18433 getOperandSize(int opIdx) override
18434 {
18435 switch (opIdx) {
18436 case 0: //src_0
18437 return 2;
18438 case 1: //src_1
18439 return 2;
18440 case 2: //sdst
18441 return 8;
18442 default:
18443 fatal("op idx %i out of bounds\n", opIdx);
18444 return -1;
18445 }
18446 } // getOperandSize
18447
18448 void execute(GPUDynInstPtr) override;
18449 }; // Inst_VOP3__V_CMPX_O_F16
18450
18452 {
18453 public:
18456
18457 int
18459 {
18461 } // getNumOperands
18462
18463 int numDstRegOperands() override { return 1; }
18464 int numSrcRegOperands() override { return 2; }
18465
18466 int
18467 getOperandSize(int opIdx) override
18468 {
18469 switch (opIdx) {
18470 case 0: //src_0
18471 return 2;
18472 case 1: //src_1
18473 return 2;
18474 case 2: //sdst
18475 return 8;
18476 default:
18477 fatal("op idx %i out of bounds\n", opIdx);
18478 return -1;
18479 }
18480 } // getOperandSize
18481
18482 void execute(GPUDynInstPtr) override;
18483 }; // Inst_VOP3__V_CMPX_U_F16
18484
18486 {
18487 public:
18490
18491 int
18493 {
18495 } // getNumOperands
18496
18497 int numDstRegOperands() override { return 1; }
18498 int numSrcRegOperands() override { return 2; }
18499
18500 int
18501 getOperandSize(int opIdx) override
18502 {
18503 switch (opIdx) {
18504 case 0: //src_0
18505 return 2;
18506 case 1: //src_1
18507 return 2;
18508 case 2: //sdst
18509 return 8;
18510 default:
18511 fatal("op idx %i out of bounds\n", opIdx);
18512 return -1;
18513 }
18514 } // getOperandSize
18515
18516 void execute(GPUDynInstPtr) override;
18517 }; // Inst_VOP3__V_CMPX_NGE_F16
18518
18520 {
18521 public:
18524
18525 int
18527 {
18529 } // getNumOperands
18530
18531 int numDstRegOperands() override { return 1; }
18532 int numSrcRegOperands() override { return 2; }
18533
18534 int
18535 getOperandSize(int opIdx) override
18536 {
18537 switch (opIdx) {
18538 case 0: //src_0
18539 return 2;
18540 case 1: //src_1
18541 return 2;
18542 case 2: //sdst
18543 return 8;
18544 default:
18545 fatal("op idx %i out of bounds\n", opIdx);
18546 return -1;
18547 }
18548 } // getOperandSize
18549
18550 void execute(GPUDynInstPtr) override;
18551 }; // Inst_VOP3__V_CMPX_NLG_F16
18552
18554 {
18555 public:
18558
18559 int
18561 {
18563 } // getNumOperands
18564
18565 int numDstRegOperands() override { return 1; }
18566 int numSrcRegOperands() override { return 2; }
18567
18568 int
18569 getOperandSize(int opIdx) override
18570 {
18571 switch (opIdx) {
18572 case 0: //src_0
18573 return 2;
18574 case 1: //src_1
18575 return 2;
18576 case 2: //sdst
18577 return 8;
18578 default:
18579 fatal("op idx %i out of bounds\n", opIdx);
18580 return -1;
18581 }
18582 } // getOperandSize
18583
18584 void execute(GPUDynInstPtr) override;
18585 }; // Inst_VOP3__V_CMPX_NGT_F16
18586
18588 {
18589 public:
18592
18593 int
18595 {
18597 } // getNumOperands
18598
18599 int numDstRegOperands() override { return 1; }
18600 int numSrcRegOperands() override { return 2; }
18601
18602 int
18603 getOperandSize(int opIdx) override
18604 {
18605 switch (opIdx) {
18606 case 0: //src_0
18607 return 2;
18608 case 1: //src_1
18609 return 2;
18610 case 2: //sdst
18611 return 8;
18612 default:
18613 fatal("op idx %i out of bounds\n", opIdx);
18614 return -1;
18615 }
18616 } // getOperandSize
18617
18618 void execute(GPUDynInstPtr) override;
18619 }; // Inst_VOP3__V_CMPX_NLE_F16
18620
18622 {
18623 public:
18626
18627 int
18629 {
18631 } // getNumOperands
18632
18633 int numDstRegOperands() override { return 1; }
18634 int numSrcRegOperands() override { return 2; }
18635
18636 int
18637 getOperandSize(int opIdx) override
18638 {
18639 switch (opIdx) {
18640 case 0: //src_0
18641 return 2;
18642 case 1: //src_1
18643 return 2;
18644 case 2: //sdst
18645 return 8;
18646 default:
18647 fatal("op idx %i out of bounds\n", opIdx);
18648 return -1;
18649 }
18650 } // getOperandSize
18651
18652 void execute(GPUDynInstPtr) override;
18653 }; // Inst_VOP3__V_CMPX_NEQ_F16
18654
18656 {
18657 public:
18660
18661 int
18663 {
18665 } // getNumOperands
18666
18667 int numDstRegOperands() override { return 1; }
18668 int numSrcRegOperands() override { return 2; }
18669
18670 int
18671 getOperandSize(int opIdx) override
18672 {
18673 switch (opIdx) {
18674 case 0: //src_0
18675 return 2;
18676 case 1: //src_1
18677 return 2;
18678 case 2: //sdst
18679 return 8;
18680 default:
18681 fatal("op idx %i out of bounds\n", opIdx);
18682 return -1;
18683 }
18684 } // getOperandSize
18685
18686 void execute(GPUDynInstPtr) override;
18687 }; // Inst_VOP3__V_CMPX_NLT_F16
18688
18690 {
18691 public:
18694
18695 int
18697 {
18699 } // getNumOperands
18700
18701 int numDstRegOperands() override { return 1; }
18702 int numSrcRegOperands() override { return 2; }
18703
18704 int
18705 getOperandSize(int opIdx) override
18706 {
18707 switch (opIdx) {
18708 case 0: //src_0
18709 return 2;
18710 case 1: //src_1
18711 return 2;
18712 case 2: //sdst
18713 return 8;
18714 default:
18715 fatal("op idx %i out of bounds\n", opIdx);
18716 return -1;
18717 }
18718 } // getOperandSize
18719
18720 void execute(GPUDynInstPtr) override;
18721 }; // Inst_VOP3__V_CMPX_TRU_F16
18722
18724 {
18725 public:
18728
18729 int
18731 {
18733 } // getNumOperands
18734
18735 int numDstRegOperands() override { return 1; }
18736 int numSrcRegOperands() override { return 2; }
18737
18738 int
18739 getOperandSize(int opIdx) override
18740 {
18741 switch (opIdx) {
18742 case 0: //src_0
18743 return 4;
18744 case 1: //src_1
18745 return 4;
18746 case 2: //sdst
18747 return 8;
18748 default:
18749 fatal("op idx %i out of bounds\n", opIdx);
18750 return -1;
18751 }
18752 } // getOperandSize
18753
18754 void execute(GPUDynInstPtr) override;
18755 }; // Inst_VOP3__V_CMP_F_F32
18756
18758 {
18759 public:
18762
18763 int
18765 {
18767 } // getNumOperands
18768
18769 int numDstRegOperands() override { return 1; }
18770 int numSrcRegOperands() override { return 2; }
18771
18772 int
18773 getOperandSize(int opIdx) override
18774 {
18775 switch (opIdx) {
18776 case 0: //src_0
18777 return 4;
18778 case 1: //src_1
18779 return 4;
18780 case 2: //sdst
18781 return 8;
18782 default:
18783 fatal("op idx %i out of bounds\n", opIdx);
18784 return -1;
18785 }
18786 } // getOperandSize
18787
18788 void execute(GPUDynInstPtr) override;
18789 }; // Inst_VOP3__V_CMP_LT_F32
18790
18792 {
18793 public:
18796
18797 int
18799 {
18801 } // getNumOperands
18802
18803 int numDstRegOperands() override { return 1; }
18804 int numSrcRegOperands() override { return 2; }
18805
18806 int
18807 getOperandSize(int opIdx) override
18808 {
18809 switch (opIdx) {
18810 case 0: //src_0
18811 return 4;
18812 case 1: //src_1
18813 return 4;
18814 case 2: //sdst
18815 return 8;
18816 default:
18817 fatal("op idx %i out of bounds\n", opIdx);
18818 return -1;
18819 }
18820 } // getOperandSize
18821
18822 void execute(GPUDynInstPtr) override;
18823 }; // Inst_VOP3__V_CMP_EQ_F32
18824
18826 {
18827 public:
18830
18831 int
18833 {
18835 } // getNumOperands
18836
18837 int numDstRegOperands() override { return 1; }
18838 int numSrcRegOperands() override { return 2; }
18839
18840 int
18841 getOperandSize(int opIdx) override
18842 {
18843 switch (opIdx) {
18844 case 0: //src_0
18845 return 4;
18846 case 1: //src_1
18847 return 4;
18848 case 2: //sdst
18849 return 8;
18850 default:
18851 fatal("op idx %i out of bounds\n", opIdx);
18852 return -1;
18853 }
18854 } // getOperandSize
18855
18856 void execute(GPUDynInstPtr) override;
18857 }; // Inst_VOP3__V_CMP_LE_F32
18858
18860 {
18861 public:
18864
18865 int
18867 {
18869 } // getNumOperands
18870
18871 int numDstRegOperands() override { return 1; }
18872 int numSrcRegOperands() override { return 2; }
18873
18874 int
18875 getOperandSize(int opIdx) override
18876 {
18877 switch (opIdx) {
18878 case 0: //src_0
18879 return 4;
18880 case 1: //src_1
18881 return 4;
18882 case 2: //sdst
18883 return 8;
18884 default:
18885 fatal("op idx %i out of bounds\n", opIdx);
18886 return -1;
18887 }
18888 } // getOperandSize
18889
18890 void execute(GPUDynInstPtr) override;
18891 }; // Inst_VOP3__V_CMP_GT_F32
18892
18894 {
18895 public:
18898
18899 int
18901 {
18903 } // getNumOperands
18904
18905 int numDstRegOperands() override { return 1; }
18906 int numSrcRegOperands() override { return 2; }
18907
18908 int
18909 getOperandSize(int opIdx) override
18910 {
18911 switch (opIdx) {
18912 case 0: //src_0
18913 return 4;
18914 case 1: //src_1
18915 return 4;
18916 case 2: //sdst
18917 return 8;
18918 default:
18919 fatal("op idx %i out of bounds\n", opIdx);
18920 return -1;
18921 }
18922 } // getOperandSize
18923
18924 void execute(GPUDynInstPtr) override;
18925 }; // Inst_VOP3__V_CMP_LG_F32
18926
18928 {
18929 public:
18932
18933 int
18935 {
18937 } // getNumOperands
18938
18939 int numDstRegOperands() override { return 1; }
18940 int numSrcRegOperands() override { return 2; }
18941
18942 int
18943 getOperandSize(int opIdx) override
18944 {
18945 switch (opIdx) {
18946 case 0: //src_0
18947 return 4;
18948 case 1: //src_1
18949 return 4;
18950 case 2: //sdst
18951 return 8;
18952 default:
18953 fatal("op idx %i out of bounds\n", opIdx);
18954 return -1;
18955 }
18956 } // getOperandSize
18957
18958 void execute(GPUDynInstPtr) override;
18959 }; // Inst_VOP3__V_CMP_GE_F32
18960
18962 {
18963 public:
18966
18967 int
18969 {
18971 } // getNumOperands
18972
18973 int numDstRegOperands() override { return 1; }
18974 int numSrcRegOperands() override { return 2; }
18975
18976 int
18977 getOperandSize(int opIdx) override
18978 {
18979 switch (opIdx) {
18980 case 0: //src_0
18981 return 4;
18982 case 1: //src_1
18983 return 4;
18984 case 2: //sdst
18985 return 8;
18986 default:
18987 fatal("op idx %i out of bounds\n", opIdx);
18988 return -1;
18989 }
18990 } // getOperandSize
18991
18992 void execute(GPUDynInstPtr) override;
18993 }; // Inst_VOP3__V_CMP_O_F32
18994
18996 {
18997 public:
19000
19001 int
19003 {
19005 } // getNumOperands
19006
19007 int numDstRegOperands() override { return 1; }
19008 int numSrcRegOperands() override { return 2; }
19009
19010 int
19011 getOperandSize(int opIdx) override
19012 {
19013 switch (opIdx) {
19014 case 0: //src_0
19015 return 4;
19016 case 1: //src_1
19017 return 4;
19018 case 2: //sdst
19019 return 8;
19020 default:
19021 fatal("op idx %i out of bounds\n", opIdx);
19022 return -1;
19023 }
19024 } // getOperandSize
19025
19026 void execute(GPUDynInstPtr) override;
19027 }; // Inst_VOP3__V_CMP_U_F32
19028
19030 {
19031 public:
19034
19035 int
19037 {
19039 } // getNumOperands
19040
19041 int numDstRegOperands() override { return 1; }
19042 int numSrcRegOperands() override { return 2; }
19043
19044 int
19045 getOperandSize(int opIdx) override
19046 {
19047 switch (opIdx) {
19048 case 0: //src_0
19049 return 4;
19050 case 1: //src_1
19051 return 4;
19052 case 2: //sdst
19053 return 8;
19054 default:
19055 fatal("op idx %i out of bounds\n", opIdx);
19056 return -1;
19057 }
19058 } // getOperandSize
19059
19060 void execute(GPUDynInstPtr) override;
19061 }; // Inst_VOP3__V_CMP_NGE_F32
19062
19064 {
19065 public:
19068
19069 int
19071 {
19073 } // getNumOperands
19074
19075 int numDstRegOperands() override { return 1; }
19076 int numSrcRegOperands() override { return 2; }
19077
19078 int
19079 getOperandSize(int opIdx) override
19080 {
19081 switch (opIdx) {
19082 case 0: //src_0
19083 return 4;
19084 case 1: //src_1
19085 return 4;
19086 case 2: //sdst
19087 return 8;
19088 default:
19089 fatal("op idx %i out of bounds\n", opIdx);
19090 return -1;
19091 }
19092 } // getOperandSize
19093
19094 void execute(GPUDynInstPtr) override;
19095 }; // Inst_VOP3__V_CMP_NLG_F32
19096
19098 {
19099 public:
19102
19103 int
19105 {
19107 } // getNumOperands
19108
19109 int numDstRegOperands() override { return 1; }
19110 int numSrcRegOperands() override { return 2; }
19111
19112 int
19113 getOperandSize(int opIdx) override
19114 {
19115 switch (opIdx) {
19116 case 0: //src_0
19117 return 4;
19118 case 1: //src_1
19119 return 4;
19120 case 2: //sdst
19121 return 8;
19122 default:
19123 fatal("op idx %i out of bounds\n", opIdx);
19124 return -1;
19125 }
19126 } // getOperandSize
19127
19128 void execute(GPUDynInstPtr) override;
19129 }; // Inst_VOP3__V_CMP_NGT_F32
19130
19132 {
19133 public:
19136
19137 int
19139 {
19141 } // getNumOperands
19142
19143 int numDstRegOperands() override { return 1; }
19144 int numSrcRegOperands() override { return 2; }
19145
19146 int
19147 getOperandSize(int opIdx) override
19148 {
19149 switch (opIdx) {
19150 case 0: //src_0
19151 return 4;
19152 case 1: //src_1
19153 return 4;
19154 case 2: //sdst
19155 return 8;
19156 default:
19157 fatal("op idx %i out of bounds\n", opIdx);
19158 return -1;
19159 }
19160 } // getOperandSize
19161
19162 void execute(GPUDynInstPtr) override;
19163 }; // Inst_VOP3__V_CMP_NLE_F32
19164
19166 {
19167 public:
19170
19171 int
19173 {
19175 } // getNumOperands
19176
19177 int numDstRegOperands() override { return 1; }
19178 int numSrcRegOperands() override { return 2; }
19179
19180 int
19181 getOperandSize(int opIdx) override
19182 {
19183 switch (opIdx) {
19184 case 0: //src_0
19185 return 4;
19186 case 1: //src_1
19187 return 4;
19188 case 2: //sdst
19189 return 8;
19190 default:
19191 fatal("op idx %i out of bounds\n", opIdx);
19192 return -1;
19193 }
19194 } // getOperandSize
19195
19196 void execute(GPUDynInstPtr) override;
19197 }; // Inst_VOP3__V_CMP_NEQ_F32
19198
19200 {
19201 public:
19204
19205 int
19207 {
19209 } // getNumOperands
19210
19211 int numDstRegOperands() override { return 1; }
19212 int numSrcRegOperands() override { return 2; }
19213
19214 int
19215 getOperandSize(int opIdx) override
19216 {
19217 switch (opIdx) {
19218 case 0: //src_0
19219 return 4;
19220 case 1: //src_1
19221 return 4;
19222 case 2: //sdst
19223 return 8;
19224 default:
19225 fatal("op idx %i out of bounds\n", opIdx);
19226 return -1;
19227 }
19228 } // getOperandSize
19229
19230 void execute(GPUDynInstPtr) override;
19231 }; // Inst_VOP3__V_CMP_NLT_F32
19232
19234 {
19235 public:
19238
19239 int
19241 {
19243 } // getNumOperands
19244
19245 int numDstRegOperands() override { return 1; }
19246 int numSrcRegOperands() override { return 2; }
19247
19248 int
19249 getOperandSize(int opIdx) override
19250 {
19251 switch (opIdx) {
19252 case 0: //src_0
19253 return 4;
19254 case 1: //src_1
19255 return 4;
19256 case 2: //sdst
19257 return 8;
19258 default:
19259 fatal("op idx %i out of bounds\n", opIdx);
19260 return -1;
19261 }
19262 } // getOperandSize
19263
19264 void execute(GPUDynInstPtr) override;
19265 }; // Inst_VOP3__V_CMP_TRU_F32
19266
19268 {
19269 public:
19272
19273 int
19275 {
19277 } // getNumOperands
19278
19279 int numDstRegOperands() override { return 1; }
19280 int numSrcRegOperands() override { return 2; }
19281
19282 int
19283 getOperandSize(int opIdx) override
19284 {
19285 switch (opIdx) {
19286 case 0: //src_0
19287 return 4;
19288 case 1: //src_1
19289 return 4;
19290 case 2: //sdst
19291 return 8;
19292 default:
19293 fatal("op idx %i out of bounds\n", opIdx);
19294 return -1;
19295 }
19296 } // getOperandSize
19297
19298 void execute(GPUDynInstPtr) override;
19299 }; // Inst_VOP3__V_CMPX_F_F32
19300
19302 {
19303 public:
19306
19307 int
19309 {
19311 } // getNumOperands
19312
19313 int numDstRegOperands() override { return 1; }
19314 int numSrcRegOperands() override { return 2; }
19315
19316 int
19317 getOperandSize(int opIdx) override
19318 {
19319 switch (opIdx) {
19320 case 0: //src_0
19321 return 4;
19322 case 1: //src_1
19323 return 4;
19324 case 2: //sdst
19325 return 8;
19326 default:
19327 fatal("op idx %i out of bounds\n", opIdx);
19328 return -1;
19329 }
19330 } // getOperandSize
19331
19332 void execute(GPUDynInstPtr) override;
19333 }; // Inst_VOP3__V_CMPX_LT_F32
19334
19336 {
19337 public:
19340
19341 int
19343 {
19345 } // getNumOperands
19346
19347 int numDstRegOperands() override { return 1; }
19348 int numSrcRegOperands() override { return 2; }
19349
19350 int
19351 getOperandSize(int opIdx) override
19352 {
19353 switch (opIdx) {
19354 case 0: //src_0
19355 return 4;
19356 case 1: //src_1
19357 return 4;
19358 case 2: //sdst
19359 return 8;
19360 default:
19361 fatal("op idx %i out of bounds\n", opIdx);
19362 return -1;
19363 }
19364 } // getOperandSize
19365
19366 void execute(GPUDynInstPtr) override;
19367 }; // Inst_VOP3__V_CMPX_EQ_F32
19368
19370 {
19371 public:
19374
19375 int
19377 {
19379 } // getNumOperands
19380
19381 int numDstRegOperands() override { return 1; }
19382 int numSrcRegOperands() override { return 2; }
19383
19384 int
19385 getOperandSize(int opIdx) override
19386 {
19387 switch (opIdx) {
19388 case 0: //src_0
19389 return 4;
19390 case 1: //src_1
19391 return 4;
19392 case 2: //sdst
19393 return 8;
19394 default:
19395 fatal("op idx %i out of bounds\n", opIdx);
19396 return -1;
19397 }
19398 } // getOperandSize
19399
19400 void execute(GPUDynInstPtr) override;
19401 }; // Inst_VOP3__V_CMPX_LE_F32
19402
19404 {
19405 public:
19408
19409 int
19411 {
19413 } // getNumOperands
19414
19415 int numDstRegOperands() override { return 1; }
19416 int numSrcRegOperands() override { return 2; }
19417
19418 int
19419 getOperandSize(int opIdx) override
19420 {
19421 switch (opIdx) {
19422 case 0: //src_0
19423 return 4;
19424 case 1: //src_1
19425 return 4;
19426 case 2: //sdst
19427 return 8;
19428 default:
19429 fatal("op idx %i out of bounds\n", opIdx);
19430 return -1;
19431 }
19432 } // getOperandSize
19433
19434 void execute(GPUDynInstPtr) override;
19435 }; // Inst_VOP3__V_CMPX_GT_F32
19436
19438 {
19439 public:
19442
19443 int
19445 {
19447 } // getNumOperands
19448
19449 int numDstRegOperands() override { return 1; }
19450 int numSrcRegOperands() override { return 2; }
19451
19452 int
19453 getOperandSize(int opIdx) override
19454 {
19455 switch (opIdx) {
19456 case 0: //src_0
19457 return 4;
19458 case 1: //src_1
19459 return 4;
19460 case 2: //sdst
19461 return 8;
19462 default:
19463 fatal("op idx %i out of bounds\n", opIdx);
19464 return -1;
19465 }
19466 } // getOperandSize
19467
19468 void execute(GPUDynInstPtr) override;
19469 }; // Inst_VOP3__V_CMPX_LG_F32
19470
19472 {
19473 public:
19476
19477 int
19479 {
19481 } // getNumOperands
19482
19483 int numDstRegOperands() override { return 1; }
19484 int numSrcRegOperands() override { return 2; }
19485
19486 int
19487 getOperandSize(int opIdx) override
19488 {
19489 switch (opIdx) {
19490 case 0: //src_0
19491 return 4;
19492 case 1: //src_1
19493 return 4;
19494 case 2: //sdst
19495 return 8;
19496 default:
19497 fatal("op idx %i out of bounds\n", opIdx);
19498 return -1;
19499 }
19500 } // getOperandSize
19501
19502 void execute(GPUDynInstPtr) override;
19503 }; // Inst_VOP3__V_CMPX_GE_F32
19504
19506 {
19507 public:
19510
19511 int
19513 {
19515 } // getNumOperands
19516
19517 int numDstRegOperands() override { return 1; }
19518 int numSrcRegOperands() override { return 2; }
19519
19520 int
19521 getOperandSize(int opIdx) override
19522 {
19523 switch (opIdx) {
19524 case 0: //src_0
19525 return 4;
19526 case 1: //src_1
19527 return 4;
19528 case 2: //sdst
19529 return 8;
19530 default:
19531 fatal("op idx %i out of bounds\n", opIdx);
19532 return -1;
19533 }
19534 } // getOperandSize
19535
19536 void execute(GPUDynInstPtr) override;
19537 }; // Inst_VOP3__V_CMPX_O_F32
19538
19540 {
19541 public:
19544
19545 int
19547 {
19549 } // getNumOperands
19550
19551 int numDstRegOperands() override { return 1; }
19552 int numSrcRegOperands() override { return 2; }
19553
19554 int
19555 getOperandSize(int opIdx) override
19556 {
19557 switch (opIdx) {
19558 case 0: //src_0
19559 return 4;
19560 case 1: //src_1
19561 return 4;
19562 case 2: //sdst
19563 return 8;
19564 default:
19565 fatal("op idx %i out of bounds\n", opIdx);
19566 return -1;
19567 }
19568 } // getOperandSize
19569
19570 void execute(GPUDynInstPtr) override;
19571 }; // Inst_VOP3__V_CMPX_U_F32
19572
19574 {
19575 public:
19578
19579 int
19581 {
19583 } // getNumOperands
19584
19585 int numDstRegOperands() override { return 1; }
19586 int numSrcRegOperands() override { return 2; }
19587
19588 int
19589 getOperandSize(int opIdx) override
19590 {
19591 switch (opIdx) {
19592 case 0: //src_0
19593 return 4;
19594 case 1: //src_1
19595 return 4;
19596 case 2: //sdst
19597 return 8;
19598 default:
19599 fatal("op idx %i out of bounds\n", opIdx);
19600 return -1;
19601 }
19602 } // getOperandSize
19603
19604 void execute(GPUDynInstPtr) override;
19605 }; // Inst_VOP3__V_CMPX_NGE_F32
19606
19608 {
19609 public:
19612
19613 int
19615 {
19617 } // getNumOperands
19618
19619 int numDstRegOperands() override { return 1; }
19620 int numSrcRegOperands() override { return 2; }
19621
19622 int
19623 getOperandSize(int opIdx) override
19624 {
19625 switch (opIdx) {
19626 case 0: //src_0
19627 return 4;
19628 case 1: //src_1
19629 return 4;
19630 case 2: //sdst
19631 return 8;
19632 default:
19633 fatal("op idx %i out of bounds\n", opIdx);
19634 return -1;
19635 }
19636 } // getOperandSize
19637
19638 void execute(GPUDynInstPtr) override;
19639 }; // Inst_VOP3__V_CMPX_NLG_F32
19640
19642 {
19643 public:
19646
19647 int
19649 {
19651 } // getNumOperands
19652
19653 int numDstRegOperands() override { return 1; }
19654 int numSrcRegOperands() override { return 2; }
19655
19656 int
19657 getOperandSize(int opIdx) override
19658 {
19659 switch (opIdx) {
19660 case 0: //src_0
19661 return 4;
19662 case 1: //src_1
19663 return 4;
19664 case 2: //sdst
19665 return 8;
19666 default:
19667 fatal("op idx %i out of bounds\n", opIdx);
19668 return -1;
19669 }
19670 } // getOperandSize
19671
19672 void execute(GPUDynInstPtr) override;
19673 }; // Inst_VOP3__V_CMPX_NGT_F32
19674
19676 {
19677 public:
19680
19681 int
19683 {
19685 } // getNumOperands
19686
19687 int numDstRegOperands() override { return 1; }
19688 int numSrcRegOperands() override { return 2; }
19689
19690 int
19691 getOperandSize(int opIdx) override
19692 {
19693 switch (opIdx) {
19694 case 0: //src_0
19695 return 4;
19696 case 1: //src_1
19697 return 4;
19698 case 2: //sdst
19699 return 8;
19700 default:
19701 fatal("op idx %i out of bounds\n", opIdx);
19702 return -1;
19703 }
19704 } // getOperandSize
19705
19706 void execute(GPUDynInstPtr) override;
19707 }; // Inst_VOP3__V_CMPX_NLE_F32
19708
19710 {
19711 public:
19714
19715 int
19717 {
19719 } // getNumOperands
19720
19721 int numDstRegOperands() override { return 1; }
19722 int numSrcRegOperands() override { return 2; }
19723
19724 int
19725 getOperandSize(int opIdx) override
19726 {
19727 switch (opIdx) {
19728 case 0: //src_0
19729 return 4;
19730 case 1: //src_1
19731 return 4;
19732 case 2: //sdst
19733 return 8;
19734 default:
19735 fatal("op idx %i out of bounds\n", opIdx);
19736 return -1;
19737 }
19738 } // getOperandSize
19739
19740 void execute(GPUDynInstPtr) override;
19741 }; // Inst_VOP3__V_CMPX_NEQ_F32
19742
19744 {
19745 public:
19748
19749 int
19751 {
19753 } // getNumOperands
19754
19755 int numDstRegOperands() override { return 1; }
19756 int numSrcRegOperands() override { return 2; }
19757
19758 int
19759 getOperandSize(int opIdx) override
19760 {
19761 switch (opIdx) {
19762 case 0: //src_0
19763 return 4;
19764 case 1: //src_1
19765 return 4;
19766 case 2: //sdst
19767 return 8;
19768 default:
19769 fatal("op idx %i out of bounds\n", opIdx);
19770 return -1;
19771 }
19772 } // getOperandSize
19773
19774 void execute(GPUDynInstPtr) override;
19775 }; // Inst_VOP3__V_CMPX_NLT_F32
19776
19778 {
19779 public:
19782
19783 int
19785 {
19787 } // getNumOperands
19788
19789 int numDstRegOperands() override { return 1; }
19790 int numSrcRegOperands() override { return 2; }
19791
19792 int
19793 getOperandSize(int opIdx) override
19794 {
19795 switch (opIdx) {
19796 case 0: //src_0
19797 return 4;
19798 case 1: //src_1
19799 return 4;
19800 case 2: //sdst
19801 return 8;
19802 default:
19803 fatal("op idx %i out of bounds\n", opIdx);
19804 return -1;
19805 }
19806 } // getOperandSize
19807
19808 void execute(GPUDynInstPtr) override;
19809 }; // Inst_VOP3__V_CMPX_TRU_F32
19810
19812 {
19813 public:
19816
19817 int
19819 {
19821 } // getNumOperands
19822
19823 int numDstRegOperands() override { return 1; }
19824 int numSrcRegOperands() override { return 2; }
19825
19826 int
19827 getOperandSize(int opIdx) override
19828 {
19829 switch (opIdx) {
19830 case 0: //src_0
19831 return 8;
19832 case 1: //src_1
19833 return 8;
19834 case 2: //sdst
19835 return 8;
19836 default:
19837 fatal("op idx %i out of bounds\n", opIdx);
19838 return -1;
19839 }
19840 } // getOperandSize
19841
19842 void execute(GPUDynInstPtr) override;
19843 }; // Inst_VOP3__V_CMP_F_F64
19844
19846 {
19847 public:
19850
19851 int
19853 {
19855 } // getNumOperands
19856
19857 int numDstRegOperands() override { return 1; }
19858 int numSrcRegOperands() override { return 2; }
19859
19860 int
19861 getOperandSize(int opIdx) override
19862 {
19863 switch (opIdx) {
19864 case 0: //src_0
19865 return 8;
19866 case 1: //src_1
19867 return 8;
19868 case 2: //sdst
19869 return 8;
19870 default:
19871 fatal("op idx %i out of bounds\n", opIdx);
19872 return -1;
19873 }
19874 } // getOperandSize
19875
19876 void execute(GPUDynInstPtr) override;
19877 }; // Inst_VOP3__V_CMP_LT_F64
19878
19880 {
19881 public:
19884
19885 int
19887 {
19889 } // getNumOperands
19890
19891 int numDstRegOperands() override { return 1; }
19892 int numSrcRegOperands() override { return 2; }
19893
19894 int
19895 getOperandSize(int opIdx) override
19896 {
19897 switch (opIdx) {
19898 case 0: //src_0
19899 return 8;
19900 case 1: //src_1
19901 return 8;
19902 case 2: //sdst
19903 return 8;
19904 default:
19905 fatal("op idx %i out of bounds\n", opIdx);
19906 return -1;
19907 }
19908 } // getOperandSize
19909
19910 void execute(GPUDynInstPtr) override;
19911 }; // Inst_VOP3__V_CMP_EQ_F64
19912
19914 {
19915 public:
19918
19919 int
19921 {
19923 } // getNumOperands
19924
19925 int numDstRegOperands() override { return 1; }
19926 int numSrcRegOperands() override { return 2; }
19927
19928 int
19929 getOperandSize(int opIdx) override
19930 {
19931 switch (opIdx) {
19932 case 0: //src_0
19933 return 8;
19934 case 1: //src_1
19935 return 8;
19936 case 2: //sdst
19937 return 8;
19938 default:
19939 fatal("op idx %i out of bounds\n", opIdx);
19940 return -1;
19941 }
19942 } // getOperandSize
19943
19944 void execute(GPUDynInstPtr) override;
19945 }; // Inst_VOP3__V_CMP_LE_F64
19946
19948 {
19949 public:
19952
19953 int
19955 {
19957 } // getNumOperands
19958
19959 int numDstRegOperands() override { return 1; }
19960 int numSrcRegOperands() override { return 2; }
19961
19962 int
19963 getOperandSize(int opIdx) override
19964 {
19965 switch (opIdx) {
19966 case 0: //src_0
19967 return 8;
19968 case 1: //src_1
19969 return 8;
19970 case 2: //sdst
19971 return 8;
19972 default:
19973 fatal("op idx %i out of bounds\n", opIdx);
19974 return -1;
19975 }
19976 } // getOperandSize
19977
19978 void execute(GPUDynInstPtr) override;
19979 }; // Inst_VOP3__V_CMP_GT_F64
19980
19982 {
19983 public:
19986
19987 int
19989 {
19991 } // getNumOperands
19992
19993 int numDstRegOperands() override { return 1; }
19994 int numSrcRegOperands() override { return 2; }
19995
19996 int
19997 getOperandSize(int opIdx) override
19998 {
19999 switch (opIdx) {
20000 case 0: //src_0
20001 return 8;
20002 case 1: //src_1
20003 return 8;
20004 case 2: //sdst
20005 return 8;
20006 default:
20007 fatal("op idx %i out of bounds\n", opIdx);
20008 return -1;
20009 }
20010 } // getOperandSize
20011
20012 void execute(GPUDynInstPtr) override;
20013 }; // Inst_VOP3__V_CMP_LG_F64
20014
20016 {
20017 public:
20020
20021 int
20023 {
20025 } // getNumOperands
20026
20027 int numDstRegOperands() override { return 1; }
20028 int numSrcRegOperands() override { return 2; }
20029
20030 int
20031 getOperandSize(int opIdx) override
20032 {
20033 switch (opIdx) {
20034 case 0: //src_0
20035 return 8;
20036 case 1: //src_1
20037 return 8;
20038 case 2: //sdst
20039 return 8;
20040 default:
20041 fatal("op idx %i out of bounds\n", opIdx);
20042 return -1;
20043 }
20044 } // getOperandSize
20045
20046 void execute(GPUDynInstPtr) override;
20047 }; // Inst_VOP3__V_CMP_GE_F64
20048
20050 {
20051 public:
20054
20055 int
20057 {
20059 } // getNumOperands
20060
20061 int numDstRegOperands() override { return 1; }
20062 int numSrcRegOperands() override { return 2; }
20063
20064 int
20065 getOperandSize(int opIdx) override
20066 {
20067 switch (opIdx) {
20068 case 0: //src_0
20069 return 8;
20070 case 1: //src_1
20071 return 8;
20072 case 2: //sdst
20073 return 8;
20074 default:
20075 fatal("op idx %i out of bounds\n", opIdx);
20076 return -1;
20077 }
20078 } // getOperandSize
20079
20080 void execute(GPUDynInstPtr) override;
20081 }; // Inst_VOP3__V_CMP_O_F64
20082
20084 {
20085 public:
20088
20089 int
20091 {
20093 } // getNumOperands
20094
20095 int numDstRegOperands() override { return 1; }
20096 int numSrcRegOperands() override { return 2; }
20097
20098 int
20099 getOperandSize(int opIdx) override
20100 {
20101 switch (opIdx) {
20102 case 0: //src_0
20103 return 8;
20104 case 1: //src_1
20105 return 8;
20106 case 2: //sdst
20107 return 8;
20108 default:
20109 fatal("op idx %i out of bounds\n", opIdx);
20110 return -1;
20111 }
20112 } // getOperandSize
20113
20114 void execute(GPUDynInstPtr) override;
20115 }; // Inst_VOP3__V_CMP_U_F64
20116
20118 {
20119 public:
20122
20123 int
20125 {
20127 } // getNumOperands
20128
20129 int numDstRegOperands() override { return 1; }
20130 int numSrcRegOperands() override { return 2; }
20131
20132 int
20133 getOperandSize(int opIdx) override
20134 {
20135 switch (opIdx) {
20136 case 0: //src_0
20137 return 8;
20138 case 1: //src_1
20139 return 8;
20140 case 2: //sdst
20141 return 8;
20142 default:
20143 fatal("op idx %i out of bounds\n", opIdx);
20144 return -1;
20145 }
20146 } // getOperandSize
20147
20148 void execute(GPUDynInstPtr) override;
20149 }; // Inst_VOP3__V_CMP_NGE_F64
20150
20152 {
20153 public:
20156
20157 int
20159 {
20161 } // getNumOperands
20162
20163 int numDstRegOperands() override { return 1; }
20164 int numSrcRegOperands() override { return 2; }
20165
20166 int
20167 getOperandSize(int opIdx) override
20168 {
20169 switch (opIdx) {
20170 case 0: //src_0
20171 return 8;
20172 case 1: //src_1
20173 return 8;
20174 case 2: //sdst
20175 return 8;
20176 default:
20177 fatal("op idx %i out of bounds\n", opIdx);
20178 return -1;
20179 }
20180 } // getOperandSize
20181
20182 void execute(GPUDynInstPtr) override;
20183 }; // Inst_VOP3__V_CMP_NLG_F64
20184
20186 {
20187 public:
20190
20191 int
20193 {
20195 } // getNumOperands
20196
20197 int numDstRegOperands() override { return 1; }
20198 int numSrcRegOperands() override { return 2; }
20199
20200 int
20201 getOperandSize(int opIdx) override
20202 {
20203 switch (opIdx) {
20204 case 0: //src_0
20205 return 8;
20206 case 1: //src_1
20207 return 8;
20208 case 2: //sdst
20209 return 8;
20210 default:
20211 fatal("op idx %i out of bounds\n", opIdx);
20212 return -1;
20213 }
20214 } // getOperandSize
20215
20216 void execute(GPUDynInstPtr) override;
20217 }; // Inst_VOP3__V_CMP_NGT_F64
20218
20220 {
20221 public:
20224
20225 int
20227 {
20229 } // getNumOperands
20230
20231 int numDstRegOperands() override { return 1; }
20232 int numSrcRegOperands() override { return 2; }
20233
20234 int
20235 getOperandSize(int opIdx) override
20236 {
20237 switch (opIdx) {
20238 case 0: //src_0
20239 return 8;
20240 case 1: //src_1
20241 return 8;
20242 case 2: //sdst
20243 return 8;
20244 default:
20245 fatal("op idx %i out of bounds\n", opIdx);
20246 return -1;
20247 }
20248 } // getOperandSize
20249
20250 void execute(GPUDynInstPtr) override;
20251 }; // Inst_VOP3__V_CMP_NLE_F64
20252
20254 {
20255 public:
20258
20259 int
20261 {
20263 } // getNumOperands
20264
20265 int numDstRegOperands() override { return 1; }
20266 int numSrcRegOperands() override { return 2; }
20267
20268 int
20269 getOperandSize(int opIdx) override
20270 {
20271 switch (opIdx) {
20272 case 0: //src_0
20273 return 8;
20274 case 1: //src_1
20275 return 8;
20276 case 2: //sdst
20277 return 8;
20278 default:
20279 fatal("op idx %i out of bounds\n", opIdx);
20280 return -1;
20281 }
20282 } // getOperandSize
20283
20284 void execute(GPUDynInstPtr) override;
20285 }; // Inst_VOP3__V_CMP_NEQ_F64
20286
20288 {
20289 public:
20292
20293 int
20295 {
20297 } // getNumOperands
20298
20299 int numDstRegOperands() override { return 1; }
20300 int numSrcRegOperands() override { return 2; }
20301
20302 int
20303 getOperandSize(int opIdx) override
20304 {
20305 switch (opIdx) {
20306 case 0: //src_0
20307 return 8;
20308 case 1: //src_1
20309 return 8;
20310 case 2: //sdst
20311 return 8;
20312 default:
20313 fatal("op idx %i out of bounds\n", opIdx);
20314 return -1;
20315 }
20316 } // getOperandSize
20317
20318 void execute(GPUDynInstPtr) override;
20319 }; // Inst_VOP3__V_CMP_NLT_F64
20320
20322 {
20323 public:
20326
20327 int
20329 {
20331 } // getNumOperands
20332
20333 int numDstRegOperands() override { return 1; }
20334 int numSrcRegOperands() override { return 2; }
20335
20336 int
20337 getOperandSize(int opIdx) override
20338 {
20339 switch (opIdx) {
20340 case 0: //src_0
20341 return 8;
20342 case 1: //src_1
20343 return 8;
20344 case 2: //sdst
20345 return 8;
20346 default:
20347 fatal("op idx %i out of bounds\n", opIdx);
20348 return -1;
20349 }
20350 } // getOperandSize
20351
20352 void execute(GPUDynInstPtr) override;
20353 }; // Inst_VOP3__V_CMP_TRU_F64
20354
20356 {
20357 public:
20360
20361 int
20363 {
20365 } // getNumOperands
20366
20367 int numDstRegOperands() override { return 1; }
20368 int numSrcRegOperands() override { return 2; }
20369
20370 int
20371 getOperandSize(int opIdx) override
20372 {
20373 switch (opIdx) {
20374 case 0: //src_0
20375 return 8;
20376 case 1: //src_1
20377 return 8;
20378 case 2: //sdst
20379 return 8;
20380 default:
20381 fatal("op idx %i out of bounds\n", opIdx);
20382 return -1;
20383 }
20384 } // getOperandSize
20385
20386 void execute(GPUDynInstPtr) override;
20387 }; // Inst_VOP3__V_CMPX_F_F64
20388
20390 {
20391 public:
20394
20395 int
20397 {
20399 } // getNumOperands
20400
20401 int numDstRegOperands() override { return 1; }
20402 int numSrcRegOperands() override { return 2; }
20403
20404 int
20405 getOperandSize(int opIdx) override
20406 {
20407 switch (opIdx) {
20408 case 0: //src_0
20409 return 8;
20410 case 1: //src_1
20411 return 8;
20412 case 2: //sdst
20413 return 8;
20414 default:
20415 fatal("op idx %i out of bounds\n", opIdx);
20416 return -1;
20417 }
20418 } // getOperandSize
20419
20420 void execute(GPUDynInstPtr) override;
20421 }; // Inst_VOP3__V_CMPX_LT_F64
20422
20424 {
20425 public:
20428
20429 int
20431 {
20433 } // getNumOperands
20434
20435 int numDstRegOperands() override { return 1; }
20436 int numSrcRegOperands() override { return 2; }
20437
20438 int
20439 getOperandSize(int opIdx) override
20440 {
20441 switch (opIdx) {
20442 case 0: //src_0
20443 return 8;
20444 case 1: //src_1
20445 return 8;
20446 case 2: //sdst
20447 return 8;
20448 default:
20449 fatal("op idx %i out of bounds\n", opIdx);
20450 return -1;
20451 }
20452 } // getOperandSize
20453
20454 void execute(GPUDynInstPtr) override;
20455 }; // Inst_VOP3__V_CMPX_EQ_F64
20456
20458 {
20459 public:
20462
20463 int
20465 {
20467 } // getNumOperands
20468
20469 int numDstRegOperands() override { return 1; }
20470 int numSrcRegOperands() override { return 2; }
20471
20472 int
20473 getOperandSize(int opIdx) override
20474 {
20475 switch (opIdx) {
20476 case 0: //src_0
20477 return 8;
20478 case 1: //src_1
20479 return 8;
20480 case 2: //sdst
20481 return 8;
20482 default:
20483 fatal("op idx %i out of bounds\n", opIdx);
20484 return -1;
20485 }
20486 } // getOperandSize
20487
20488 void execute(GPUDynInstPtr) override;
20489 }; // Inst_VOP3__V_CMPX_LE_F64
20490
20492 {
20493 public:
20496
20497 int
20499 {
20501 } // getNumOperands
20502
20503 int numDstRegOperands() override { return 1; }
20504 int numSrcRegOperands() override { return 2; }
20505
20506 int
20507 getOperandSize(int opIdx) override
20508 {
20509 switch (opIdx) {
20510 case 0: //src_0
20511 return 8;
20512 case 1: //src_1
20513 return 8;
20514 case 2: //sdst
20515 return 8;
20516 default:
20517 fatal("op idx %i out of bounds\n", opIdx);
20518 return -1;
20519 }
20520 } // getOperandSize
20521
20522 void execute(GPUDynInstPtr) override;
20523 }; // Inst_VOP3__V_CMPX_GT_F64
20524
20526 {
20527 public:
20530
20531 int
20533 {
20535 } // getNumOperands
20536
20537 int numDstRegOperands() override { return 1; }
20538 int numSrcRegOperands() override { return 2; }
20539
20540 int
20541 getOperandSize(int opIdx) override
20542 {
20543 switch (opIdx) {
20544 case 0: //src_0
20545 return 8;
20546 case 1: //src_1
20547 return 8;
20548 case 2: //sdst
20549 return 8;
20550 default:
20551 fatal("op idx %i out of bounds\n", opIdx);
20552 return -1;
20553 }
20554 } // getOperandSize
20555
20556 void execute(GPUDynInstPtr) override;
20557 }; // Inst_VOP3__V_CMPX_LG_F64
20558
20560 {
20561 public:
20564
20565 int
20567 {
20569 } // getNumOperands
20570
20571 int numDstRegOperands() override { return 1; }
20572 int numSrcRegOperands() override { return 2; }
20573
20574 int
20575 getOperandSize(int opIdx) override
20576 {
20577 switch (opIdx) {
20578 case 0: //src_0
20579 return 8;
20580 case 1: //src_1
20581 return 8;
20582 case 2: //sdst
20583 return 8;
20584 default:
20585 fatal("op idx %i out of bounds\n", opIdx);
20586 return -1;
20587 }
20588 } // getOperandSize
20589
20590 void execute(GPUDynInstPtr) override;
20591 }; // Inst_VOP3__V_CMPX_GE_F64
20592
20594 {
20595 public:
20598
20599 int
20601 {
20603 } // getNumOperands
20604
20605 int numDstRegOperands() override { return 1; }
20606 int numSrcRegOperands() override { return 2; }
20607
20608 int
20609 getOperandSize(int opIdx) override
20610 {
20611 switch (opIdx) {
20612 case 0: //src_0
20613 return 8;
20614 case 1: //src_1
20615 return 8;
20616 case 2: //sdst
20617 return 8;
20618 default:
20619 fatal("op idx %i out of bounds\n", opIdx);
20620 return -1;
20621 }
20622 } // getOperandSize
20623
20624 void execute(GPUDynInstPtr) override;
20625 }; // Inst_VOP3__V_CMPX_O_F64
20626
20628 {
20629 public:
20632
20633 int
20635 {
20637 } // getNumOperands
20638
20639 int numDstRegOperands() override { return 1; }
20640 int numSrcRegOperands() override { return 2; }
20641
20642 int
20643 getOperandSize(int opIdx) override
20644 {
20645 switch (opIdx) {
20646 case 0: //src_0
20647 return 8;
20648 case 1: //src_1
20649 return 8;
20650 case 2: //sdst
20651 return 8;
20652 default:
20653 fatal("op idx %i out of bounds\n", opIdx);
20654 return -1;
20655 }
20656 } // getOperandSize
20657
20658 void execute(GPUDynInstPtr) override;
20659 }; // Inst_VOP3__V_CMPX_U_F64
20660
20662 {
20663 public:
20666
20667 int
20669 {
20671 } // getNumOperands
20672
20673 int numDstRegOperands() override { return 1; }
20674 int numSrcRegOperands() override { return 2; }
20675
20676 int
20677 getOperandSize(int opIdx) override
20678 {
20679 switch (opIdx) {
20680 case 0: //src_0
20681 return 8;
20682 case 1: //src_1
20683 return 8;
20684 case 2: //sdst
20685 return 8;
20686 default:
20687 fatal("op idx %i out of bounds\n", opIdx);
20688 return -1;
20689 }
20690 } // getOperandSize
20691
20692 void execute(GPUDynInstPtr) override;
20693 }; // Inst_VOP3__V_CMPX_NGE_F64
20694
20696 {
20697 public:
20700
20701 int
20703 {
20705 } // getNumOperands
20706
20707 int numDstRegOperands() override { return 1; }
20708 int numSrcRegOperands() override { return 2; }
20709
20710 int
20711 getOperandSize(int opIdx) override
20712 {
20713 switch (opIdx) {
20714 case 0: //src_0
20715 return 8;
20716 case 1: //src_1
20717 return 8;
20718 case 2: //sdst
20719 return 8;
20720 default:
20721 fatal("op idx %i out of bounds\n", opIdx);
20722 return -1;
20723 }
20724 } // getOperandSize
20725
20726 void execute(GPUDynInstPtr) override;
20727 }; // Inst_VOP3__V_CMPX_NLG_F64
20728
20730 {
20731 public:
20734
20735 int
20737 {
20739 } // getNumOperands
20740
20741 int numDstRegOperands() override { return 1; }
20742 int numSrcRegOperands() override { return 2; }
20743
20744 int
20745 getOperandSize(int opIdx) override
20746 {
20747 switch (opIdx) {
20748 case 0: //src_0
20749 return 8;
20750 case 1: //src_1
20751 return 8;
20752 case 2: //sdst
20753 return 8;
20754 default:
20755 fatal("op idx %i out of bounds\n", opIdx);
20756 return -1;
20757 }
20758 } // getOperandSize
20759
20760 void execute(GPUDynInstPtr) override;
20761 }; // Inst_VOP3__V_CMPX_NGT_F64
20762
20764 {
20765 public:
20768
20769 int
20771 {
20773 } // getNumOperands
20774
20775 int numDstRegOperands() override { return 1; }
20776 int numSrcRegOperands() override { return 2; }
20777
20778 int
20779 getOperandSize(int opIdx) override
20780 {
20781 switch (opIdx) {
20782 case 0: //src_0
20783 return 8;
20784 case 1: //src_1
20785 return 8;
20786 case 2: //sdst
20787 return 8;
20788 default:
20789 fatal("op idx %i out of bounds\n", opIdx);
20790 return -1;
20791 }
20792 } // getOperandSize
20793
20794 void execute(GPUDynInstPtr) override;
20795 }; // Inst_VOP3__V_CMPX_NLE_F64
20796
20798 {
20799 public:
20802
20803 int
20805 {
20807 } // getNumOperands
20808
20809 int numDstRegOperands() override { return 1; }
20810 int numSrcRegOperands() override { return 2; }
20811
20812 int
20813 getOperandSize(int opIdx) override
20814 {
20815 switch (opIdx) {
20816 case 0: //src_0
20817 return 8;
20818 case 1: //src_1
20819 return 8;
20820 case 2: //sdst
20821 return 8;
20822 default:
20823 fatal("op idx %i out of bounds\n", opIdx);
20824 return -1;
20825 }
20826 } // getOperandSize
20827
20828 void execute(GPUDynInstPtr) override;
20829 }; // Inst_VOP3__V_CMPX_NEQ_F64
20830
20832 {
20833 public:
20836
20837 int
20839 {
20841 } // getNumOperands
20842
20843 int numDstRegOperands() override { return 1; }
20844 int numSrcRegOperands() override { return 2; }
20845
20846 int
20847 getOperandSize(int opIdx) override
20848 {
20849 switch (opIdx) {
20850 case 0: //src_0
20851 return 8;
20852 case 1: //src_1
20853 return 8;
20854 case 2: //sdst
20855 return 8;
20856 default:
20857 fatal("op idx %i out of bounds\n", opIdx);
20858 return -1;
20859 }
20860 } // getOperandSize
20861
20862 void execute(GPUDynInstPtr) override;
20863 }; // Inst_VOP3__V_CMPX_NLT_F64
20864
20866 {
20867 public:
20870
20871 int
20873 {
20875 } // getNumOperands
20876
20877 int numDstRegOperands() override { return 1; }
20878 int numSrcRegOperands() override { return 2; }
20879
20880 int
20881 getOperandSize(int opIdx) override
20882 {
20883 switch (opIdx) {
20884 case 0: //src_0
20885 return 8;
20886 case 1: //src_1
20887 return 8;
20888 case 2: //sdst
20889 return 8;
20890 default:
20891 fatal("op idx %i out of bounds\n", opIdx);
20892 return -1;
20893 }
20894 } // getOperandSize
20895
20896 void execute(GPUDynInstPtr) override;
20897 }; // Inst_VOP3__V_CMPX_TRU_F64
20898
20900 {
20901 public:
20904
20905 int
20907 {
20909 } // getNumOperands
20910
20911 int numDstRegOperands() override { return 1; }
20912 int numSrcRegOperands() override { return 2; }
20913
20914 int
20915 getOperandSize(int opIdx) override
20916 {
20917 switch (opIdx) {
20918 case 0: //src_0
20919 return 2;
20920 case 1: //src_1
20921 return 2;
20922 case 2: //sdst
20923 return 8;
20924 default:
20925 fatal("op idx %i out of bounds\n", opIdx);
20926 return -1;
20927 }
20928 } // getOperandSize
20929
20930 void execute(GPUDynInstPtr) override;
20931 }; // Inst_VOP3__V_CMP_F_I16
20932
20934 {
20935 public:
20938
20939 int
20941 {
20943 } // getNumOperands
20944
20945 int numDstRegOperands() override { return 1; }
20946 int numSrcRegOperands() override { return 2; }
20947
20948 int
20949 getOperandSize(int opIdx) override
20950 {
20951 switch (opIdx) {
20952 case 0: //src_0
20953 return 2;
20954 case 1: //src_1
20955 return 2;
20956 case 2: //sdst
20957 return 8;
20958 default:
20959 fatal("op idx %i out of bounds\n", opIdx);
20960 return -1;
20961 }
20962 } // getOperandSize
20963
20964 void execute(GPUDynInstPtr) override;
20965 }; // Inst_VOP3__V_CMP_LT_I16
20966
20968 {
20969 public:
20972
20973 int
20975 {
20977 } // getNumOperands
20978
20979 int numDstRegOperands() override { return 1; }
20980 int numSrcRegOperands() override { return 2; }
20981
20982 int
20983 getOperandSize(int opIdx) override
20984 {
20985 switch (opIdx) {
20986 case 0: //src_0
20987 return 2;
20988 case 1: //src_1
20989 return 2;
20990 case 2: //sdst
20991 return 8;
20992 default:
20993 fatal("op idx %i out of bounds\n", opIdx);
20994 return -1;
20995 }
20996 } // getOperandSize
20997
20998 void execute(GPUDynInstPtr) override;
20999 }; // Inst_VOP3__V_CMP_EQ_I16
21000
21002 {
21003 public:
21006
21007 int
21009 {
21011 } // getNumOperands
21012
21013 int numDstRegOperands() override { return 1; }
21014 int numSrcRegOperands() override { return 2; }
21015
21016 int
21017 getOperandSize(int opIdx) override
21018 {
21019 switch (opIdx) {
21020 case 0: //src_0
21021 return 2;
21022 case 1: //src_1
21023 return 2;
21024 case 2: //sdst
21025 return 8;
21026 default:
21027 fatal("op idx %i out of bounds\n", opIdx);
21028 return -1;
21029 }
21030 } // getOperandSize
21031
21032 void execute(GPUDynInstPtr) override;
21033 }; // Inst_VOP3__V_CMP_LE_I16
21034
21036 {
21037 public:
21040
21041 int
21043 {
21045 } // getNumOperands
21046
21047 int numDstRegOperands() override { return 1; }
21048 int numSrcRegOperands() override { return 2; }
21049
21050 int
21051 getOperandSize(int opIdx) override
21052 {
21053 switch (opIdx) {
21054 case 0: //src_0
21055 return 2;
21056 case 1: //src_1
21057 return 2;
21058 case 2: //sdst
21059 return 8;
21060 default:
21061 fatal("op idx %i out of bounds\n", opIdx);
21062 return -1;
21063 }
21064 } // getOperandSize
21065
21066 void execute(GPUDynInstPtr) override;
21067 }; // Inst_VOP3__V_CMP_GT_I16
21068
21070 {
21071 public:
21074
21075 int
21077 {
21079 } // getNumOperands
21080
21081 int numDstRegOperands() override { return 1; }
21082 int numSrcRegOperands() override { return 2; }
21083
21084 int
21085 getOperandSize(int opIdx) override
21086 {
21087 switch (opIdx) {
21088 case 0: //src_0
21089 return 2;
21090 case 1: //src_1
21091 return 2;
21092 case 2: //sdst
21093 return 8;
21094 default:
21095 fatal("op idx %i out of bounds\n", opIdx);
21096 return -1;
21097 }
21098 } // getOperandSize
21099
21100 void execute(GPUDynInstPtr) override;
21101 }; // Inst_VOP3__V_CMP_NE_I16
21102
21104 {
21105 public:
21108
21109 int
21111 {
21113 } // getNumOperands
21114
21115 int numDstRegOperands() override { return 1; }
21116 int numSrcRegOperands() override { return 2; }
21117
21118 int
21119 getOperandSize(int opIdx) override
21120 {
21121 switch (opIdx) {
21122 case 0: //src_0
21123 return 2;
21124 case 1: //src_1
21125 return 2;
21126 case 2: //sdst
21127 return 8;
21128 default:
21129 fatal("op idx %i out of bounds\n", opIdx);
21130 return -1;
21131 }
21132 } // getOperandSize
21133
21134 void execute(GPUDynInstPtr) override;
21135 }; // Inst_VOP3__V_CMP_GE_I16
21136
21138 {
21139 public:
21142
21143 int
21145 {
21147 } // getNumOperands
21148
21149 int numDstRegOperands() override { return 1; }
21150 int numSrcRegOperands() override { return 2; }
21151
21152 int
21153 getOperandSize(int opIdx) override
21154 {
21155 switch (opIdx) {
21156 case 0: //src_0
21157 return 2;
21158 case 1: //src_1
21159 return 2;
21160 case 2: //sdst
21161 return 8;
21162 default:
21163 fatal("op idx %i out of bounds\n", opIdx);
21164 return -1;
21165 }
21166 } // getOperandSize
21167
21168 void execute(GPUDynInstPtr) override;
21169 }; // Inst_VOP3__V_CMP_T_I16
21170
21172 {
21173 public:
21176
21177 int
21179 {
21181 } // getNumOperands
21182
21183 int numDstRegOperands() override { return 1; }
21184 int numSrcRegOperands() override { return 2; }
21185
21186 int
21187 getOperandSize(int opIdx) override
21188 {
21189 switch (opIdx) {
21190 case 0: //src_0
21191 return 2;
21192 case 1: //src_1
21193 return 2;
21194 case 2: //sdst
21195 return 8;
21196 default:
21197 fatal("op idx %i out of bounds\n", opIdx);
21198 return -1;
21199 }
21200 } // getOperandSize
21201
21202 void execute(GPUDynInstPtr) override;
21203 }; // Inst_VOP3__V_CMP_F_U16
21204
21206 {
21207 public:
21210
21211 int
21213 {
21215 } // getNumOperands
21216
21217 int numDstRegOperands() override { return 1; }
21218 int numSrcRegOperands() override { return 2; }
21219
21220 int
21221 getOperandSize(int opIdx) override
21222 {
21223 switch (opIdx) {
21224 case 0: //src_0
21225 return 2;
21226 case 1: //src_1
21227 return 2;
21228 case 2: //sdst
21229 return 8;
21230 default:
21231 fatal("op idx %i out of bounds\n", opIdx);
21232 return -1;
21233 }
21234 } // getOperandSize
21235
21236 void execute(GPUDynInstPtr) override;
21237 }; // Inst_VOP3__V_CMP_LT_U16
21238
21240 {
21241 public:
21244
21245 int
21247 {
21249 } // getNumOperands
21250
21251 int numDstRegOperands() override { return 1; }
21252 int numSrcRegOperands() override { return 2; }
21253
21254 int
21255 getOperandSize(int opIdx) override
21256 {
21257 switch (opIdx) {
21258 case 0: //src_0
21259 return 2;
21260 case 1: //src_1
21261 return 2;
21262 case 2: //sdst
21263 return 8;
21264 default:
21265 fatal("op idx %i out of bounds\n", opIdx);
21266 return -1;
21267 }
21268 } // getOperandSize
21269
21270 void execute(GPUDynInstPtr) override;
21271 }; // Inst_VOP3__V_CMP_EQ_U16
21272
21274 {
21275 public:
21278
21279 int
21281 {
21283 } // getNumOperands
21284
21285 int numDstRegOperands() override { return 1; }
21286 int numSrcRegOperands() override { return 2; }
21287
21288 int
21289 getOperandSize(int opIdx) override
21290 {
21291 switch (opIdx) {
21292 case 0: //src_0
21293 return 2;
21294 case 1: //src_1
21295 return 2;
21296 case 2: //sdst
21297 return 8;
21298 default:
21299 fatal("op idx %i out of bounds\n", opIdx);
21300 return -1;
21301 }
21302 } // getOperandSize
21303
21304 void execute(GPUDynInstPtr) override;
21305 }; // Inst_VOP3__V_CMP_LE_U16
21306
21308 {
21309 public:
21312
21313 int
21315 {
21317 } // getNumOperands
21318
21319 int numDstRegOperands() override { return 1; }
21320 int numSrcRegOperands() override { return 2; }
21321
21322 int
21323 getOperandSize(int opIdx) override
21324 {
21325 switch (opIdx) {
21326 case 0: //src_0
21327 return 2;
21328 case 1: //src_1
21329 return 2;
21330 case 2: //sdst
21331 return 8;
21332 default:
21333 fatal("op idx %i out of bounds\n", opIdx);
21334 return -1;
21335 }
21336 } // getOperandSize
21337
21338 void execute(GPUDynInstPtr) override;
21339 }; // Inst_VOP3__V_CMP_GT_U16
21340
21342 {
21343 public:
21346
21347 int
21349 {
21351 } // getNumOperands
21352
21353 int numDstRegOperands() override { return 1; }
21354 int numSrcRegOperands() override { return 2; }
21355
21356 int
21357 getOperandSize(int opIdx) override
21358 {
21359 switch (opIdx) {
21360 case 0: //src_0
21361 return 2;
21362 case 1: //src_1
21363 return 2;
21364 case 2: //sdst
21365 return 8;
21366 default:
21367 fatal("op idx %i out of bounds\n", opIdx);
21368 return -1;
21369 }
21370 } // getOperandSize
21371
21372 void execute(GPUDynInstPtr) override;
21373 }; // Inst_VOP3__V_CMP_NE_U16
21374
21376 {
21377 public:
21380
21381 int
21383 {
21385 } // getNumOperands
21386
21387 int numDstRegOperands() override { return 1; }
21388 int numSrcRegOperands() override { return 2; }
21389
21390 int
21391 getOperandSize(int opIdx) override
21392 {
21393 switch (opIdx) {
21394 case 0: //src_0
21395 return 2;
21396 case 1: //src_1
21397 return 2;
21398 case 2: //sdst
21399 return 8;
21400 default:
21401 fatal("op idx %i out of bounds\n", opIdx);
21402 return -1;
21403 }
21404 } // getOperandSize
21405
21406 void execute(GPUDynInstPtr) override;
21407 }; // Inst_VOP3__V_CMP_GE_U16
21408
21410 {
21411 public:
21414
21415 int
21417 {
21419 } // getNumOperands
21420
21421 int numDstRegOperands() override { return 1; }
21422 int numSrcRegOperands() override { return 2; }
21423
21424 int
21425 getOperandSize(int opIdx) override
21426 {
21427 switch (opIdx) {
21428 case 0: //src_0
21429 return 2;
21430 case 1: //src_1
21431 return 2;
21432 case 2: //sdst
21433 return 8;
21434 default:
21435 fatal("op idx %i out of bounds\n", opIdx);
21436 return -1;
21437 }
21438 } // getOperandSize
21439
21440 void execute(GPUDynInstPtr) override;
21441 }; // Inst_VOP3__V_CMP_T_U16
21442
21444 {
21445 public:
21448
21449 int
21451 {
21453 } // getNumOperands
21454
21455 int numDstRegOperands() override { return 1; }
21456 int numSrcRegOperands() override { return 2; }
21457
21458 int
21459 getOperandSize(int opIdx) override
21460 {
21461 switch (opIdx) {
21462 case 0: //src_0
21463 return 2;
21464 case 1: //src_1
21465 return 2;
21466 case 2: //sdst
21467 return 8;
21468 default:
21469 fatal("op idx %i out of bounds\n", opIdx);
21470 return -1;
21471 }
21472 } // getOperandSize
21473
21474 void execute(GPUDynInstPtr) override;
21475 }; // Inst_VOP3__V_CMPX_F_I16
21476
21478 {
21479 public:
21482
21483 int
21485 {
21487 } // getNumOperands
21488
21489 int numDstRegOperands() override { return 1; }
21490 int numSrcRegOperands() override { return 2; }
21491
21492 int
21493 getOperandSize(int opIdx) override
21494 {
21495 switch (opIdx) {
21496 case 0: //src_0
21497 return 2;
21498 case 1: //src_1
21499 return 2;
21500 case 2: //sdst
21501 return 8;
21502 default:
21503 fatal("op idx %i out of bounds\n", opIdx);
21504 return -1;
21505 }
21506 } // getOperandSize
21507
21508 void execute(GPUDynInstPtr) override;
21509 }; // Inst_VOP3__V_CMPX_LT_I16
21510
21512 {
21513 public:
21516
21517 int
21519 {
21521 } // getNumOperands
21522
21523 int numDstRegOperands() override { return 1; }
21524 int numSrcRegOperands() override { return 2; }
21525
21526 int
21527 getOperandSize(int opIdx) override
21528 {
21529 switch (opIdx) {
21530 case 0: //src_0
21531 return 2;
21532 case 1: //src_1
21533 return 2;
21534 case 2: //sdst
21535 return 8;
21536 default:
21537 fatal("op idx %i out of bounds\n", opIdx);
21538 return -1;
21539 }
21540 } // getOperandSize
21541
21542 void execute(GPUDynInstPtr) override;
21543 }; // Inst_VOP3__V_CMPX_EQ_I16
21544
21546 {
21547 public:
21550
21551 int
21553 {
21555 } // getNumOperands
21556
21557 int numDstRegOperands() override { return 1; }
21558 int numSrcRegOperands() override { return 2; }
21559
21560 int
21561 getOperandSize(int opIdx) override
21562 {
21563 switch (opIdx) {
21564 case 0: //src_0
21565 return 2;
21566 case 1: //src_1
21567 return 2;
21568 case 2: //sdst
21569 return 8;
21570 default:
21571 fatal("op idx %i out of bounds\n", opIdx);
21572 return -1;
21573 }
21574 } // getOperandSize
21575
21576 void execute(GPUDynInstPtr) override;
21577 }; // Inst_VOP3__V_CMPX_LE_I16
21578
21580 {
21581 public:
21584
21585 int
21587 {
21589 } // getNumOperands
21590
21591 int numDstRegOperands() override { return 1; }
21592 int numSrcRegOperands() override { return 2; }
21593
21594 int
21595 getOperandSize(int opIdx) override
21596 {
21597 switch (opIdx) {
21598 case 0: //src_0
21599 return 2;
21600 case 1: //src_1
21601 return 2;
21602 case 2: //sdst
21603 return 8;
21604 default:
21605 fatal("op idx %i out of bounds\n", opIdx);
21606 return -1;
21607 }
21608 } // getOperandSize
21609
21610 void execute(GPUDynInstPtr) override;
21611 }; // Inst_VOP3__V_CMPX_GT_I16
21612
21614 {
21615 public:
21618
21619 int
21621 {
21623 } // getNumOperands
21624
21625 int numDstRegOperands() override { return 1; }
21626 int numSrcRegOperands() override { return 2; }
21627
21628 int
21629 getOperandSize(int opIdx) override
21630 {
21631 switch (opIdx) {
21632 case 0: //src_0
21633 return 2;
21634 case 1: //src_1
21635 return 2;
21636 case 2: //sdst
21637 return 8;
21638 default:
21639 fatal("op idx %i out of bounds\n", opIdx);
21640 return -1;
21641 }
21642 } // getOperandSize
21643
21644 void execute(GPUDynInstPtr) override;
21645 }; // Inst_VOP3__V_CMPX_NE_I16
21646
21648 {
21649 public:
21652
21653 int
21655 {
21657 } // getNumOperands
21658
21659 int numDstRegOperands() override { return 1; }
21660 int numSrcRegOperands() override { return 2; }
21661
21662 int
21663 getOperandSize(int opIdx) override
21664 {
21665 switch (opIdx) {
21666 case 0: //src_0
21667 return 2;
21668 case 1: //src_1
21669 return 2;
21670 case 2: //sdst
21671 return 8;
21672 default:
21673 fatal("op idx %i out of bounds\n", opIdx);
21674 return -1;
21675 }
21676 } // getOperandSize
21677
21678 void execute(GPUDynInstPtr) override;
21679 }; // Inst_VOP3__V_CMPX_GE_I16
21680
21682 {
21683 public:
21686
21687 int
21689 {
21691 } // getNumOperands
21692
21693 int numDstRegOperands() override { return 1; }
21694 int numSrcRegOperands() override { return 2; }
21695
21696 int
21697 getOperandSize(int opIdx) override
21698 {
21699 switch (opIdx) {
21700 case 0: //src_0
21701 return 2;
21702 case 1: //src_1
21703 return 2;
21704 case 2: //sdst
21705 return 8;
21706 default:
21707 fatal("op idx %i out of bounds\n", opIdx);
21708 return -1;
21709 }
21710 } // getOperandSize
21711
21712 void execute(GPUDynInstPtr) override;
21713 }; // Inst_VOP3__V_CMPX_T_I16
21714
21716 {
21717 public:
21720
21721 int
21723 {
21725 } // getNumOperands
21726
21727 int numDstRegOperands() override { return 1; }
21728 int numSrcRegOperands() override { return 2; }
21729
21730 int
21731 getOperandSize(int opIdx) override
21732 {
21733 switch (opIdx) {
21734 case 0: //src_0
21735 return 2;
21736 case 1: //src_1
21737 return 2;
21738 case 2: //sdst
21739 return 8;
21740 default:
21741 fatal("op idx %i out of bounds\n", opIdx);
21742 return -1;
21743 }
21744 } // getOperandSize
21745
21746 void execute(GPUDynInstPtr) override;
21747 }; // Inst_VOP3__V_CMPX_F_U16
21748
21750 {
21751 public:
21754
21755 int
21757 {
21759 } // getNumOperands
21760
21761 int numDstRegOperands() override { return 1; }
21762 int numSrcRegOperands() override { return 2; }
21763
21764 int
21765 getOperandSize(int opIdx) override
21766 {
21767 switch (opIdx) {
21768 case 0: //src_0
21769 return 2;
21770 case 1: //src_1
21771 return 2;
21772 case 2: //sdst
21773 return 8;
21774 default:
21775 fatal("op idx %i out of bounds\n", opIdx);
21776 return -1;
21777 }
21778 } // getOperandSize
21779
21780 void execute(GPUDynInstPtr) override;
21781 }; // Inst_VOP3__V_CMPX_LT_U16
21782
21784 {
21785 public:
21788
21789 int
21791 {
21793 } // getNumOperands
21794
21795 int numDstRegOperands() override { return 1; }
21796 int numSrcRegOperands() override { return 2; }
21797
21798 int
21799 getOperandSize(int opIdx) override
21800 {
21801 switch (opIdx) {
21802 case 0: //src_0
21803 return 2;
21804 case 1: //src_1
21805 return 2;
21806 case 2: //sdst
21807 return 8;
21808 default:
21809 fatal("op idx %i out of bounds\n", opIdx);
21810 return -1;
21811 }
21812 } // getOperandSize
21813
21814 void execute(GPUDynInstPtr) override;
21815 }; // Inst_VOP3__V_CMPX_EQ_U16
21816
21818 {
21819 public:
21822
21823 int
21825 {
21827 } // getNumOperands
21828
21829 int numDstRegOperands() override { return 1; }
21830 int numSrcRegOperands() override { return 2; }
21831
21832 int
21833 getOperandSize(int opIdx) override
21834 {
21835 switch (opIdx) {
21836 case 0: //src_0
21837 return 2;
21838 case 1: //src_1
21839 return 2;
21840 case 2: //sdst
21841 return 8;
21842 default:
21843 fatal("op idx %i out of bounds\n", opIdx);
21844 return -1;
21845 }
21846 } // getOperandSize
21847
21848 void execute(GPUDynInstPtr) override;
21849 }; // Inst_VOP3__V_CMPX_LE_U16
21850
21852 {
21853 public:
21856
21857 int
21859 {
21861 } // getNumOperands
21862
21863 int numDstRegOperands() override { return 1; }
21864 int numSrcRegOperands() override { return 2; }
21865
21866 int
21867 getOperandSize(int opIdx) override
21868 {
21869 switch (opIdx) {
21870 case 0: //src_0
21871 return 2;
21872 case 1: //src_1
21873 return 2;
21874 case 2: //sdst
21875 return 8;
21876 default:
21877 fatal("op idx %i out of bounds\n", opIdx);
21878 return -1;
21879 }
21880 } // getOperandSize
21881
21882 void execute(GPUDynInstPtr) override;
21883 }; // Inst_VOP3__V_CMPX_GT_U16
21884
21886 {
21887 public:
21890
21891 int
21893 {
21895 } // getNumOperands
21896
21897 int numDstRegOperands() override { return 1; }
21898 int numSrcRegOperands() override { return 2; }
21899
21900 int
21901 getOperandSize(int opIdx) override
21902 {
21903 switch (opIdx) {
21904 case 0: //src_0
21905 return 2;
21906 case 1: //src_1
21907 return 2;
21908 case 2: //sdst
21909 return 8;
21910 default:
21911 fatal("op idx %i out of bounds\n", opIdx);
21912 return -1;
21913 }
21914 } // getOperandSize
21915
21916 void execute(GPUDynInstPtr) override;
21917 }; // Inst_VOP3__V_CMPX_NE_U16
21918
21920 {
21921 public:
21924
21925 int
21927 {
21929 } // getNumOperands
21930
21931 int numDstRegOperands() override { return 1; }
21932 int numSrcRegOperands() override { return 2; }
21933
21934 int
21935 getOperandSize(int opIdx) override
21936 {
21937 switch (opIdx) {
21938 case 0: //src_0
21939 return 2;
21940 case 1: //src_1
21941 return 2;
21942 case 2: //sdst
21943 return 8;
21944 default:
21945 fatal("op idx %i out of bounds\n", opIdx);
21946 return -1;
21947 }
21948 } // getOperandSize
21949
21950 void execute(GPUDynInstPtr) override;
21951 }; // Inst_VOP3__V_CMPX_GE_U16
21952
21954 {
21955 public:
21958
21959 int
21961 {
21963 } // getNumOperands
21964
21965 int numDstRegOperands() override { return 1; }
21966 int numSrcRegOperands() override { return 2; }
21967
21968 int
21969 getOperandSize(int opIdx) override
21970 {
21971 switch (opIdx) {
21972 case 0: //src_0
21973 return 2;
21974 case 1: //src_1
21975 return 2;
21976 case 2: //sdst
21977 return 8;
21978 default:
21979 fatal("op idx %i out of bounds\n", opIdx);
21980 return -1;
21981 }
21982 } // getOperandSize
21983
21984 void execute(GPUDynInstPtr) override;
21985 }; // Inst_VOP3__V_CMPX_T_U16
21986
21988 {
21989 public:
21992
21993 int
21995 {
21997 } // getNumOperands
21998
21999 int numDstRegOperands() override { return 1; }
22000 int numSrcRegOperands() override { return 2; }
22001
22002 int
22003 getOperandSize(int opIdx) override
22004 {
22005 switch (opIdx) {
22006 case 0: //src_0
22007 return 4;
22008 case 1: //src_1
22009 return 4;
22010 case 2: //sdst
22011 return 8;
22012 default:
22013 fatal("op idx %i out of bounds\n", opIdx);
22014 return -1;
22015 }
22016 } // getOperandSize
22017
22018 void execute(GPUDynInstPtr) override;
22019 }; // Inst_VOP3__V_CMP_F_I32
22020
22022 {
22023 public:
22026
22027 int
22029 {
22031 } // getNumOperands
22032
22033 int numDstRegOperands() override { return 1; }
22034 int numSrcRegOperands() override { return 2; }
22035
22036 int
22037 getOperandSize(int opIdx) override
22038 {
22039 switch (opIdx) {
22040 case 0: //src_0
22041 return 4;
22042 case 1: //src_1
22043 return 4;
22044 case 2: //sdst
22045 return 8;
22046 default:
22047 fatal("op idx %i out of bounds\n", opIdx);
22048 return -1;
22049 }
22050 } // getOperandSize
22051
22052 void execute(GPUDynInstPtr) override;
22053 }; // Inst_VOP3__V_CMP_LT_I32
22054
22056 {
22057 public:
22060
22061 int
22063 {
22065 } // getNumOperands
22066
22067 int numDstRegOperands() override { return 1; }
22068 int numSrcRegOperands() override { return 2; }
22069
22070 int
22071 getOperandSize(int opIdx) override
22072 {
22073 switch (opIdx) {
22074 case 0: //src_0
22075 return 4;
22076 case 1: //src_1
22077 return 4;
22078 case 2: //sdst
22079 return 8;
22080 default:
22081 fatal("op idx %i out of bounds\n", opIdx);
22082 return -1;
22083 }
22084 } // getOperandSize
22085
22086 void execute(GPUDynInstPtr) override;
22087 }; // Inst_VOP3__V_CMP_EQ_I32
22088
22090 {
22091 public:
22094
22095 int
22097 {
22099 } // getNumOperands
22100
22101 int numDstRegOperands() override { return 1; }
22102 int numSrcRegOperands() override { return 2; }
22103
22104 int
22105 getOperandSize(int opIdx) override
22106 {
22107 switch (opIdx) {
22108 case 0: //src_0
22109 return 4;
22110 case 1: //src_1
22111 return 4;
22112 case 2: //sdst
22113 return 8;
22114 default:
22115 fatal("op idx %i out of bounds\n", opIdx);
22116 return -1;
22117 }
22118 } // getOperandSize
22119
22120 void execute(GPUDynInstPtr) override;
22121 }; // Inst_VOP3__V_CMP_LE_I32
22122
22124 {
22125 public:
22128
22129 int
22131 {
22133 } // getNumOperands
22134
22135 int numDstRegOperands() override { return 1; }
22136 int numSrcRegOperands() override { return 2; }
22137
22138 int
22139 getOperandSize(int opIdx) override
22140 {
22141 switch (opIdx) {
22142 case 0: //src_0
22143 return 4;
22144 case 1: //src_1
22145 return 4;
22146 case 2: //sdst
22147 return 8;
22148 default:
22149 fatal("op idx %i out of bounds\n", opIdx);
22150 return -1;
22151 }
22152 } // getOperandSize
22153
22154 void execute(GPUDynInstPtr) override;
22155 }; // Inst_VOP3__V_CMP_GT_I32
22156
22158 {
22159 public:
22162
22163 int
22165 {
22167 } // getNumOperands
22168
22169 int numDstRegOperands() override { return 1; }
22170 int numSrcRegOperands() override { return 2; }
22171
22172 int
22173 getOperandSize(int opIdx) override
22174 {
22175 switch (opIdx) {
22176 case 0: //src_0
22177 return 4;
22178 case 1: //src_1
22179 return 4;
22180 case 2: //sdst
22181 return 8;
22182 default:
22183 fatal("op idx %i out of bounds\n", opIdx);
22184 return -1;
22185 }
22186 } // getOperandSize
22187
22188 void execute(GPUDynInstPtr) override;
22189 }; // Inst_VOP3__V_CMP_NE_I32
22190
22192 {
22193 public:
22196
22197 int
22199 {
22201 } // getNumOperands
22202
22203 int numDstRegOperands() override { return 1; }
22204 int numSrcRegOperands() override { return 2; }
22205
22206 int
22207 getOperandSize(int opIdx) override
22208 {
22209 switch (opIdx) {
22210 case 0: //src_0
22211 return 4;
22212 case 1: //src_1
22213 return 4;
22214 case 2: //sdst
22215 return 8;
22216 default:
22217 fatal("op idx %i out of bounds\n", opIdx);
22218 return -1;
22219 }
22220 } // getOperandSize
22221
22222 void execute(GPUDynInstPtr) override;
22223 }; // Inst_VOP3__V_CMP_GE_I32
22224
22226 {
22227 public:
22230
22231 int
22233 {
22235 } // getNumOperands
22236
22237 int numDstRegOperands() override { return 1; }
22238 int numSrcRegOperands() override { return 2; }
22239
22240 int
22241 getOperandSize(int opIdx) override
22242 {
22243 switch (opIdx) {
22244 case 0: //src_0
22245 return 4;
22246 case 1: //src_1
22247 return 4;
22248 case 2: //sdst
22249 return 8;
22250 default:
22251 fatal("op idx %i out of bounds\n", opIdx);
22252 return -1;
22253 }
22254 } // getOperandSize
22255
22256 void execute(GPUDynInstPtr) override;
22257 }; // Inst_VOP3__V_CMP_T_I32
22258
22260 {
22261 public:
22264
22265 int
22267 {
22269 } // getNumOperands
22270
22271 int numDstRegOperands() override { return 1; }
22272 int numSrcRegOperands() override { return 2; }
22273
22274 int
22275 getOperandSize(int opIdx) override
22276 {
22277 switch (opIdx) {
22278 case 0: //src_0
22279 return 4;
22280 case 1: //src_1
22281 return 4;
22282 case 2: //sdst
22283 return 8;
22284 default:
22285 fatal("op idx %i out of bounds\n", opIdx);
22286 return -1;
22287 }
22288 } // getOperandSize
22289
22290 void execute(GPUDynInstPtr) override;
22291 }; // Inst_VOP3__V_CMP_F_U32
22292
22294 {
22295 public:
22298
22299 int
22301 {
22303 } // getNumOperands
22304
22305 int numDstRegOperands() override { return 1; }
22306 int numSrcRegOperands() override { return 2; }
22307
22308 int
22309 getOperandSize(int opIdx) override
22310 {
22311 switch (opIdx) {
22312 case 0: //src_0
22313 return 4;
22314 case 1: //src_1
22315 return 4;
22316 case 2: //sdst
22317 return 8;
22318 default:
22319 fatal("op idx %i out of bounds\n", opIdx);
22320 return -1;
22321 }
22322 } // getOperandSize
22323
22324 void execute(GPUDynInstPtr) override;
22325 }; // Inst_VOP3__V_CMP_LT_U32
22326
22328 {
22329 public:
22332
22333 int
22335 {
22337 } // getNumOperands
22338
22339 int numDstRegOperands() override { return 1; }
22340 int numSrcRegOperands() override { return 2; }
22341
22342 int
22343 getOperandSize(int opIdx) override
22344 {
22345 switch (opIdx) {
22346 case 0: //src_0
22347 return 4;
22348 case 1: //src_1
22349 return 4;
22350 case 2: //sdst
22351 return 8;
22352 default:
22353 fatal("op idx %i out of bounds\n", opIdx);
22354 return -1;
22355 }
22356 } // getOperandSize
22357
22358 void execute(GPUDynInstPtr) override;
22359 }; // Inst_VOP3__V_CMP_EQ_U32
22360
22362 {
22363 public:
22366
22367 int
22369 {
22371 } // getNumOperands
22372
22373 int numDstRegOperands() override { return 1; }
22374 int numSrcRegOperands() override { return 2; }
22375
22376 int
22377 getOperandSize(int opIdx) override
22378 {
22379 switch (opIdx) {
22380 case 0: //src_0
22381 return 4;
22382 case 1: //src_1
22383 return 4;
22384 case 2: //sdst
22385 return 8;
22386 default:
22387 fatal("op idx %i out of bounds\n", opIdx);
22388 return -1;
22389 }
22390 } // getOperandSize
22391
22392 void execute(GPUDynInstPtr) override;
22393 }; // Inst_VOP3__V_CMP_LE_U32
22394
22396 {
22397 public:
22400
22401 int
22403 {
22405 } // getNumOperands
22406
22407 int numDstRegOperands() override { return 1; }
22408 int numSrcRegOperands() override { return 2; }
22409
22410 int
22411 getOperandSize(int opIdx) override
22412 {
22413 switch (opIdx) {
22414 case 0: //src_0
22415 return 4;
22416 case 1: //src_1
22417 return 4;
22418 case 2: //sdst
22419 return 8;
22420 default:
22421 fatal("op idx %i out of bounds\n", opIdx);
22422 return -1;
22423 }
22424 } // getOperandSize
22425
22426 void execute(GPUDynInstPtr) override;
22427 }; // Inst_VOP3__V_CMP_GT_U32
22428
22430 {
22431 public:
22434
22435 int
22437 {
22439 } // getNumOperands
22440
22441 int numDstRegOperands() override { return 1; }
22442 int numSrcRegOperands() override { return 2; }
22443
22444 int
22445 getOperandSize(int opIdx) override
22446 {
22447 switch (opIdx) {
22448 case 0: //src_0
22449 return 4;
22450 case 1: //src_1
22451 return 4;
22452 case 2: //sdst
22453 return 8;
22454 default:
22455 fatal("op idx %i out of bounds\n", opIdx);
22456 return -1;
22457 }
22458 } // getOperandSize
22459
22460 void execute(GPUDynInstPtr) override;
22461 }; // Inst_VOP3__V_CMP_NE_U32
22462
22464 {
22465 public:
22468
22469 int
22471 {
22473 } // getNumOperands
22474
22475 int numDstRegOperands() override { return 1; }
22476 int numSrcRegOperands() override { return 2; }
22477
22478 int
22479 getOperandSize(int opIdx) override
22480 {
22481 switch (opIdx) {
22482 case 0: //src_0
22483 return 4;
22484 case 1: //src_1
22485 return 4;
22486 case 2: //sdst
22487 return 8;
22488 default:
22489 fatal("op idx %i out of bounds\n", opIdx);
22490 return -1;
22491 }
22492 } // getOperandSize
22493
22494 void execute(GPUDynInstPtr) override;
22495 }; // Inst_VOP3__V_CMP_GE_U32
22496
22498 {
22499 public:
22502
22503 int
22505 {
22507 } // getNumOperands
22508
22509 int numDstRegOperands() override { return 1; }
22510 int numSrcRegOperands() override { return 2; }
22511
22512 int
22513 getOperandSize(int opIdx) override
22514 {
22515 switch (opIdx) {
22516 case 0: //src_0
22517 return 4;
22518 case 1: //src_1
22519 return 4;
22520 case 2: //sdst
22521 return 8;
22522 default:
22523 fatal("op idx %i out of bounds\n", opIdx);
22524 return -1;
22525 }
22526 } // getOperandSize
22527
22528 void execute(GPUDynInstPtr) override;
22529 }; // Inst_VOP3__V_CMP_T_U32
22530
22532 {
22533 public:
22536
22537 int
22539 {
22541 } // getNumOperands
22542
22543 int numDstRegOperands() override { return 1; }
22544 int numSrcRegOperands() override { return 2; }
22545
22546 int
22547 getOperandSize(int opIdx) override
22548 {
22549 switch (opIdx) {
22550 case 0: //src_0
22551 return 4;
22552 case 1: //src_1
22553 return 4;
22554 case 2: //sdst
22555 return 8;
22556 default:
22557 fatal("op idx %i out of bounds\n", opIdx);
22558 return -1;
22559 }
22560 } // getOperandSize
22561
22562 void execute(GPUDynInstPtr) override;
22563 }; // Inst_VOP3__V_CMPX_F_I32
22564
22566 {
22567 public:
22570
22571 int
22573 {
22575 } // getNumOperands
22576
22577 int numDstRegOperands() override { return 1; }
22578 int numSrcRegOperands() override { return 2; }
22579
22580 int
22581 getOperandSize(int opIdx) override
22582 {
22583 switch (opIdx) {
22584 case 0: //src_0
22585 return 4;
22586 case 1: //src_1
22587 return 4;
22588 case 2: //sdst
22589 return 8;
22590 default:
22591 fatal("op idx %i out of bounds\n", opIdx);
22592 return -1;
22593 }
22594 } // getOperandSize
22595
22596 void execute(GPUDynInstPtr) override;
22597 }; // Inst_VOP3__V_CMPX_LT_I32
22598
22600 {
22601 public:
22604
22605 int
22607 {
22609 } // getNumOperands
22610
22611 int numDstRegOperands() override { return 1; }
22612 int numSrcRegOperands() override { return 2; }
22613
22614 int
22615 getOperandSize(int opIdx) override
22616 {
22617 switch (opIdx) {
22618 case 0: //src_0
22619 return 4;
22620 case 1: //src_1
22621 return 4;
22622 case 2: //sdst
22623 return 8;
22624 default:
22625 fatal("op idx %i out of bounds\n", opIdx);
22626 return -1;
22627 }
22628 } // getOperandSize
22629
22630 void execute(GPUDynInstPtr) override;
22631 }; // Inst_VOP3__V_CMPX_EQ_I32
22632
22634 {
22635 public:
22638
22639 int
22641 {
22643 } // getNumOperands
22644
22645 int numDstRegOperands() override { return 1; }
22646 int numSrcRegOperands() override { return 2; }
22647
22648 int
22649 getOperandSize(int opIdx) override
22650 {
22651 switch (opIdx) {
22652 case 0: //src_0
22653 return 4;
22654 case 1: //src_1
22655 return 4;
22656 case 2: //sdst
22657 return 8;
22658 default:
22659 fatal("op idx %i out of bounds\n", opIdx);
22660 return -1;
22661 }
22662 } // getOperandSize
22663
22664 void execute(GPUDynInstPtr) override;
22665 }; // Inst_VOP3__V_CMPX_LE_I32
22666
22668 {
22669 public:
22672
22673 int
22675 {
22677 } // getNumOperands
22678
22679 int numDstRegOperands() override { return 1; }
22680 int numSrcRegOperands() override { return 2; }
22681
22682 int
22683 getOperandSize(int opIdx) override
22684 {
22685 switch (opIdx) {
22686 case 0: //src_0
22687 return 4;
22688 case 1: //src_1
22689 return 4;
22690 case 2: //sdst
22691 return 8;
22692 default:
22693 fatal("op idx %i out of bounds\n", opIdx);
22694 return -1;
22695 }
22696 } // getOperandSize
22697
22698 void execute(GPUDynInstPtr) override;
22699 }; // Inst_VOP3__V_CMPX_GT_I32
22700
22702 {
22703 public:
22706
22707 int
22709 {
22711 } // getNumOperands
22712
22713 int numDstRegOperands() override { return 1; }
22714 int numSrcRegOperands() override { return 2; }
22715
22716 int
22717 getOperandSize(int opIdx) override
22718 {
22719 switch (opIdx) {
22720 case 0: //src_0
22721 return 4;
22722 case 1: //src_1
22723 return 4;
22724 case 2: //sdst
22725 return 8;
22726 default:
22727 fatal("op idx %i out of bounds\n", opIdx);
22728 return -1;
22729 }
22730 } // getOperandSize
22731
22732 void execute(GPUDynInstPtr) override;
22733 }; // Inst_VOP3__V_CMPX_NE_I32
22734
22736 {
22737 public:
22740
22741 int
22743 {
22745 } // getNumOperands
22746
22747 int numDstRegOperands() override { return 1; }
22748 int numSrcRegOperands() override { return 2; }
22749
22750 int
22751 getOperandSize(int opIdx) override
22752 {
22753 switch (opIdx) {
22754 case 0: //src_0
22755 return 4;
22756 case 1: //src_1
22757 return 4;
22758 case 2: //sdst
22759 return 8;
22760 default:
22761 fatal("op idx %i out of bounds\n", opIdx);
22762 return -1;
22763 }
22764 } // getOperandSize
22765
22766 void execute(GPUDynInstPtr) override;
22767 }; // Inst_VOP3__V_CMPX_GE_I32
22768
22770 {
22771 public:
22774
22775 int
22777 {
22779 } // getNumOperands
22780
22781 int numDstRegOperands() override { return 1; }
22782 int numSrcRegOperands() override { return 2; }
22783
22784 int
22785 getOperandSize(int opIdx) override
22786 {
22787 switch (opIdx) {
22788 case 0: //src_0
22789 return 4;
22790 case 1: //src_1
22791 return 4;
22792 case 2: //sdst
22793 return 8;
22794 default:
22795 fatal("op idx %i out of bounds\n", opIdx);
22796 return -1;
22797 }
22798 } // getOperandSize
22799
22800 void execute(GPUDynInstPtr) override;
22801 }; // Inst_VOP3__V_CMPX_T_I32
22802
22804 {
22805 public:
22808
22809 int
22811 {
22813 } // getNumOperands
22814
22815 int numDstRegOperands() override { return 1; }
22816 int numSrcRegOperands() override { return 2; }
22817
22818 int
22819 getOperandSize(int opIdx) override
22820 {
22821 switch (opIdx) {
22822 case 0: //src_0
22823 return 4;
22824 case 1: //src_1
22825 return 4;
22826 case 2: //sdst
22827 return 8;
22828 default:
22829 fatal("op idx %i out of bounds\n", opIdx);
22830 return -1;
22831 }
22832 } // getOperandSize
22833
22834 void execute(GPUDynInstPtr) override;
22835 }; // Inst_VOP3__V_CMPX_F_U32
22836
22838 {
22839 public:
22842
22843 int
22845 {
22847 } // getNumOperands
22848
22849 int numDstRegOperands() override { return 1; }
22850 int numSrcRegOperands() override { return 2; }
22851
22852 int
22853 getOperandSize(int opIdx) override
22854 {
22855 switch (opIdx) {
22856 case 0: //src_0
22857 return 4;
22858 case 1: //src_1
22859 return 4;
22860 case 2: //sdst
22861 return 8;
22862 default:
22863 fatal("op idx %i out of bounds\n", opIdx);
22864 return -1;
22865 }
22866 } // getOperandSize
22867
22868 void execute(GPUDynInstPtr) override;
22869 }; // Inst_VOP3__V_CMPX_LT_U32
22870
22872 {
22873 public:
22876
22877 int
22879 {
22881 } // getNumOperands
22882
22883 int numDstRegOperands() override { return 1; }
22884 int numSrcRegOperands() override { return 2; }
22885
22886 int
22887 getOperandSize(int opIdx) override
22888 {
22889 switch (opIdx) {
22890 case 0: //src_0
22891 return 4;
22892 case 1: //src_1
22893 return 4;
22894 case 2: //sdst
22895 return 8;
22896 default:
22897 fatal("op idx %i out of bounds\n", opIdx);
22898 return -1;
22899 }
22900 } // getOperandSize
22901
22902 void execute(GPUDynInstPtr) override;
22903 }; // Inst_VOP3__V_CMPX_EQ_U32
22904
22906 {
22907 public:
22910
22911 int
22913 {
22915 } // getNumOperands
22916
22917 int numDstRegOperands() override { return 1; }
22918 int numSrcRegOperands() override { return 2; }
22919
22920 int
22921 getOperandSize(int opIdx) override
22922 {
22923 switch (opIdx) {
22924 case 0: //src_0
22925 return 4;
22926 case 1: //src_1
22927 return 4;
22928 case 2: //sdst
22929 return 8;
22930 default:
22931 fatal("op idx %i out of bounds\n", opIdx);
22932 return -1;
22933 }
22934 } // getOperandSize
22935
22936 void execute(GPUDynInstPtr) override;
22937 }; // Inst_VOP3__V_CMPX_LE_U32
22938
22940 {
22941 public:
22944
22945 int
22947 {
22949 } // getNumOperands
22950
22951 int numDstRegOperands() override { return 1; }
22952 int numSrcRegOperands() override { return 2; }
22953
22954 int
22955 getOperandSize(int opIdx) override
22956 {
22957 switch (opIdx) {
22958 case 0: //src_0
22959 return 4;
22960 case 1: //src_1
22961 return 4;
22962 case 2: //sdst
22963 return 8;
22964 default:
22965 fatal("op idx %i out of bounds\n", opIdx);
22966 return -1;
22967 }
22968 } // getOperandSize
22969
22970 void execute(GPUDynInstPtr) override;
22971 }; // Inst_VOP3__V_CMPX_GT_U32
22972
22974 {
22975 public:
22978
22979 int
22981 {
22983 } // getNumOperands
22984
22985 int numDstRegOperands() override { return 1; }
22986 int numSrcRegOperands() override { return 2; }
22987
22988 int
22989 getOperandSize(int opIdx) override
22990 {
22991 switch (opIdx) {
22992 case 0: //src_0
22993 return 4;
22994 case 1: //src_1
22995 return 4;
22996 case 2: //sdst
22997 return 8;
22998 default:
22999 fatal("op idx %i out of bounds\n", opIdx);
23000 return -1;
23001 }
23002 } // getOperandSize
23003
23004 void execute(GPUDynInstPtr) override;
23005 }; // Inst_VOP3__V_CMPX_NE_U32
23006
23008 {
23009 public:
23012
23013 int
23015 {
23017 } // getNumOperands
23018
23019 int numDstRegOperands() override { return 1; }
23020 int numSrcRegOperands() override { return 2; }
23021
23022 int
23023 getOperandSize(int opIdx) override
23024 {
23025 switch (opIdx) {
23026 case 0: //src_0
23027 return 4;
23028 case 1: //src_1
23029 return 4;
23030 case 2: //sdst
23031 return 8;
23032 default:
23033 fatal("op idx %i out of bounds\n", opIdx);
23034 return -1;
23035 }
23036 } // getOperandSize
23037
23038 void execute(GPUDynInstPtr) override;
23039 }; // Inst_VOP3__V_CMPX_GE_U32
23040
23042 {
23043 public:
23046
23047 int
23049 {
23051 } // getNumOperands
23052
23053 int numDstRegOperands() override { return 1; }
23054 int numSrcRegOperands() override { return 2; }
23055
23056 int
23057 getOperandSize(int opIdx) override
23058 {
23059 switch (opIdx) {
23060 case 0: //src_0
23061 return 4;
23062 case 1: //src_1
23063 return 4;
23064 case 2: //sdst
23065 return 8;
23066 default:
23067 fatal("op idx %i out of bounds\n", opIdx);
23068 return -1;
23069 }
23070 } // getOperandSize
23071
23072 void execute(GPUDynInstPtr) override;
23073 }; // Inst_VOP3__V_CMPX_T_U32
23074
23076 {
23077 public:
23080
23081 int
23083 {
23085 } // getNumOperands
23086
23087 int numDstRegOperands() override { return 1; }
23088 int numSrcRegOperands() override { return 2; }
23089
23090 int
23091 getOperandSize(int opIdx) override
23092 {
23093 switch (opIdx) {
23094 case 0: //src_0
23095 return 8;
23096 case 1: //src_1
23097 return 8;
23098 case 2: //sdst
23099 return 8;
23100 default:
23101 fatal("op idx %i out of bounds\n", opIdx);
23102 return -1;
23103 }
23104 } // getOperandSize
23105
23106 void execute(GPUDynInstPtr) override;
23107 }; // Inst_VOP3__V_CMP_F_I64
23108
23110 {
23111 public:
23114
23115 int
23117 {
23119 } // getNumOperands
23120
23121 int numDstRegOperands() override { return 1; }
23122 int numSrcRegOperands() override { return 2; }
23123
23124 int
23125 getOperandSize(int opIdx) override
23126 {
23127 switch (opIdx) {
23128 case 0: //src_0
23129 return 8;
23130 case 1: //src_1
23131 return 8;
23132 case 2: //sdst
23133 return 8;
23134 default:
23135 fatal("op idx %i out of bounds\n", opIdx);
23136 return -1;
23137 }
23138 } // getOperandSize
23139
23140 void execute(GPUDynInstPtr) override;
23141 }; // Inst_VOP3__V_CMP_LT_I64
23142
23144 {
23145 public:
23148
23149 int
23151 {
23153 } // getNumOperands
23154
23155 int numDstRegOperands() override { return 1; }
23156 int numSrcRegOperands() override { return 2; }
23157
23158 int
23159 getOperandSize(int opIdx) override
23160 {
23161 switch (opIdx) {
23162 case 0: //src_0
23163 return 8;
23164 case 1: //src_1
23165 return 8;
23166 case 2: //sdst
23167 return 8;
23168 default:
23169 fatal("op idx %i out of bounds\n", opIdx);
23170 return -1;
23171 }
23172 } // getOperandSize
23173
23174 void execute(GPUDynInstPtr) override;
23175 }; // Inst_VOP3__V_CMP_EQ_I64
23176
23178 {
23179 public:
23182
23183 int
23185 {
23187 } // getNumOperands
23188
23189 int numDstRegOperands() override { return 1; }
23190 int numSrcRegOperands() override { return 2; }
23191
23192 int
23193 getOperandSize(int opIdx) override
23194 {
23195 switch (opIdx) {
23196 case 0: //src_0
23197 return 8;
23198 case 1: //src_1
23199 return 8;
23200 case 2: //sdst
23201 return 8;
23202 default:
23203 fatal("op idx %i out of bounds\n", opIdx);
23204 return -1;
23205 }
23206 } // getOperandSize
23207
23208 void execute(GPUDynInstPtr) override;
23209 }; // Inst_VOP3__V_CMP_LE_I64
23210
23212 {
23213 public:
23216
23217 int
23219 {
23221 } // getNumOperands
23222
23223 int numDstRegOperands() override { return 1; }
23224 int numSrcRegOperands() override { return 2; }
23225
23226 int
23227 getOperandSize(int opIdx) override
23228 {
23229 switch (opIdx) {
23230 case 0: //src_0
23231 return 8;
23232 case 1: //src_1
23233 return 8;
23234 case 2: //sdst
23235 return 8;
23236 default:
23237 fatal("op idx %i out of bounds\n", opIdx);
23238 return -1;
23239 }
23240 } // getOperandSize
23241
23242 void execute(GPUDynInstPtr) override;
23243 }; // Inst_VOP3__V_CMP_GT_I64
23244
23246 {
23247 public:
23250
23251 int
23253 {
23255 } // getNumOperands
23256
23257 int numDstRegOperands() override { return 1; }
23258 int numSrcRegOperands() override { return 2; }
23259
23260 int
23261 getOperandSize(int opIdx) override
23262 {
23263 switch (opIdx) {
23264 case 0: //src_0
23265 return 8;
23266 case 1: //src_1
23267 return 8;
23268 case 2: //sdst
23269 return 8;
23270 default:
23271 fatal("op idx %i out of bounds\n", opIdx);
23272 return -1;
23273 }
23274 } // getOperandSize
23275
23276 void execute(GPUDynInstPtr) override;
23277 }; // Inst_VOP3__V_CMP_NE_I64
23278
23280 {
23281 public:
23284
23285 int
23287 {
23289 } // getNumOperands
23290
23291 int numDstRegOperands() override { return 1; }
23292 int numSrcRegOperands() override { return 2; }
23293
23294 int
23295 getOperandSize(int opIdx) override
23296 {
23297 switch (opIdx) {
23298 case 0: //src_0
23299 return 8;
23300 case 1: //src_1
23301 return 8;
23302 case 2: //sdst
23303 return 8;
23304 default:
23305 fatal("op idx %i out of bounds\n", opIdx);
23306 return -1;
23307 }
23308 } // getOperandSize
23309
23310 void execute(GPUDynInstPtr) override;
23311 }; // Inst_VOP3__V_CMP_GE_I64
23312
23314 {
23315 public:
23318
23319 int
23321 {
23323 } // getNumOperands
23324
23325 int numDstRegOperands() override { return 1; }
23326 int numSrcRegOperands() override { return 2; }
23327
23328 int
23329 getOperandSize(int opIdx) override
23330 {
23331 switch (opIdx) {
23332 case 0: //src_0
23333 return 8;
23334 case 1: //src_1
23335 return 8;
23336 case 2: //sdst
23337 return 8;
23338 default:
23339 fatal("op idx %i out of bounds\n", opIdx);
23340 return -1;
23341 }
23342 } // getOperandSize
23343
23344 void execute(GPUDynInstPtr) override;
23345 }; // Inst_VOP3__V_CMP_T_I64
23346
23348 {
23349 public:
23352
23353 int
23355 {
23357 } // getNumOperands
23358
23359 int numDstRegOperands() override { return 1; }
23360 int numSrcRegOperands() override { return 2; }
23361
23362 int
23363 getOperandSize(int opIdx) override
23364 {
23365 switch (opIdx) {
23366 case 0: //src_0
23367 return 8;
23368 case 1: //src_1
23369 return 8;
23370 case 2: //sdst
23371 return 8;
23372 default:
23373 fatal("op idx %i out of bounds\n", opIdx);
23374 return -1;
23375 }
23376 } // getOperandSize
23377
23378 void execute(GPUDynInstPtr) override;
23379 }; // Inst_VOP3__V_CMP_F_U64
23380
23382 {
23383 public:
23386
23387 int
23389 {
23391 } // getNumOperands
23392
23393 int numDstRegOperands() override { return 1; }
23394 int numSrcRegOperands() override { return 2; }
23395
23396 int
23397 getOperandSize(int opIdx) override
23398 {
23399 switch (opIdx) {
23400 case 0: //src_0
23401 return 8;
23402 case 1: //src_1
23403 return 8;
23404 case 2: //sdst
23405 return 8;
23406 default:
23407 fatal("op idx %i out of bounds\n", opIdx);
23408 return -1;
23409 }
23410 } // getOperandSize
23411
23412 void execute(GPUDynInstPtr) override;
23413 }; // Inst_VOP3__V_CMP_LT_U64
23414
23416 {
23417 public:
23420
23421 int
23423 {
23425 } // getNumOperands
23426
23427 int numDstRegOperands() override { return 1; }
23428 int numSrcRegOperands() override { return 2; }
23429
23430 int
23431 getOperandSize(int opIdx) override
23432 {
23433 switch (opIdx) {
23434 case 0: //src_0
23435 return 8;
23436 case 1: //src_1
23437 return 8;
23438 case 2: //sdst
23439 return 8;
23440 default:
23441 fatal("op idx %i out of bounds\n", opIdx);
23442 return -1;
23443 }
23444 } // getOperandSize
23445
23446 void execute(GPUDynInstPtr) override;
23447 }; // Inst_VOP3__V_CMP_EQ_U64
23448
23450 {
23451 public:
23454
23455 int
23457 {
23459 } // getNumOperands
23460
23461 int numDstRegOperands() override { return 1; }
23462 int numSrcRegOperands() override { return 2; }
23463
23464 int
23465 getOperandSize(int opIdx) override
23466 {
23467 switch (opIdx) {
23468 case 0: //src_0
23469 return 8;
23470 case 1: //src_1
23471 return 8;
23472 case 2: //sdst
23473 return 8;
23474 default:
23475 fatal("op idx %i out of bounds\n", opIdx);
23476 return -1;
23477 }
23478 } // getOperandSize
23479
23480 void execute(GPUDynInstPtr) override;
23481 }; // Inst_VOP3__V_CMP_LE_U64
23482
23484 {
23485 public:
23488
23489 int
23491 {
23493 } // getNumOperands
23494
23495 int numDstRegOperands() override { return 1; }
23496 int numSrcRegOperands() override { return 2; }
23497
23498 int
23499 getOperandSize(int opIdx) override
23500 {
23501 switch (opIdx) {
23502 case 0: //src_0
23503 return 8;
23504 case 1: //src_1
23505 return 8;
23506 case 2: //sdst
23507 return 8;
23508 default:
23509 fatal("op idx %i out of bounds\n", opIdx);
23510 return -1;
23511 }
23512 } // getOperandSize
23513
23514 void execute(GPUDynInstPtr) override;
23515 }; // Inst_VOP3__V_CMP_GT_U64
23516
23518 {
23519 public:
23522
23523 int
23525 {
23527 } // getNumOperands
23528
23529 int numDstRegOperands() override { return 1; }
23530 int numSrcRegOperands() override { return 2; }
23531
23532 int
23533 getOperandSize(int opIdx) override
23534 {
23535 switch (opIdx) {
23536 case 0: //src_0
23537 return 8;
23538 case 1: //src_1
23539 return 8;
23540 case 2: //sdst
23541 return 8;
23542 default:
23543 fatal("op idx %i out of bounds\n", opIdx);
23544 return -1;
23545 }
23546 } // getOperandSize
23547
23548 void execute(GPUDynInstPtr) override;
23549 }; // Inst_VOP3__V_CMP_NE_U64
23550
23552 {
23553 public:
23556
23557 int
23559 {
23561 } // getNumOperands
23562
23563 int numDstRegOperands() override { return 1; }
23564 int numSrcRegOperands() override { return 2; }
23565
23566 int
23567 getOperandSize(int opIdx) override
23568 {
23569 switch (opIdx) {
23570 case 0: //src_0
23571 return 8;
23572 case 1: //src_1
23573 return 8;
23574 case 2: //sdst
23575 return 8;
23576 default:
23577 fatal("op idx %i out of bounds\n", opIdx);
23578 return -1;
23579 }
23580 } // getOperandSize
23581
23582 void execute(GPUDynInstPtr) override;
23583 }; // Inst_VOP3__V_CMP_GE_U64
23584
23586 {
23587 public:
23590
23591 int
23593 {
23595 } // getNumOperands
23596
23597 int numDstRegOperands() override { return 1; }
23598 int numSrcRegOperands() override { return 2; }
23599
23600 int
23601 getOperandSize(int opIdx) override
23602 {
23603 switch (opIdx) {
23604 case 0: //src_0
23605 return 8;
23606 case 1: //src_1
23607 return 8;
23608 case 2: //sdst
23609 return 8;
23610 default:
23611 fatal("op idx %i out of bounds\n", opIdx);
23612 return -1;
23613 }
23614 } // getOperandSize
23615
23616 void execute(GPUDynInstPtr) override;
23617 }; // Inst_VOP3__V_CMP_T_U64
23618
23620 {
23621 public:
23624
23625 int
23627 {
23629 } // getNumOperands
23630
23631 int numDstRegOperands() override { return 1; }
23632 int numSrcRegOperands() override { return 2; }
23633
23634 int
23635 getOperandSize(int opIdx) override
23636 {
23637 switch (opIdx) {
23638 case 0: //src_0
23639 return 8;
23640 case 1: //src_1
23641 return 8;
23642 case 2: //sdst
23643 return 8;
23644 default:
23645 fatal("op idx %i out of bounds\n", opIdx);
23646 return -1;
23647 }
23648 } // getOperandSize
23649
23650 void execute(GPUDynInstPtr) override;
23651 }; // Inst_VOP3__V_CMPX_F_I64
23652
23654 {
23655 public:
23658
23659 int
23661 {
23663 } // getNumOperands
23664
23665 int numDstRegOperands() override { return 1; }
23666 int numSrcRegOperands() override { return 2; }
23667
23668 int
23669 getOperandSize(int opIdx) override
23670 {
23671 switch (opIdx) {
23672 case 0: //src_0
23673 return 8;
23674 case 1: //src_1
23675 return 8;
23676 case 2: //sdst
23677 return 8;
23678 default:
23679 fatal("op idx %i out of bounds\n", opIdx);
23680 return -1;
23681 }
23682 } // getOperandSize
23683
23684 void execute(GPUDynInstPtr) override;
23685 }; // Inst_VOP3__V_CMPX_LT_I64
23686
23688 {
23689 public:
23692
23693 int
23695 {
23697 } // getNumOperands
23698
23699 int numDstRegOperands() override { return 1; }
23700 int numSrcRegOperands() override { return 2; }
23701
23702 int
23703 getOperandSize(int opIdx) override
23704 {
23705 switch (opIdx) {
23706 case 0: //src_0
23707 return 8;
23708 case 1: //src_1
23709 return 8;
23710 case 2: //sdst
23711 return 8;
23712 default:
23713 fatal("op idx %i out of bounds\n", opIdx);
23714 return -1;
23715 }
23716 } // getOperandSize
23717
23718 void execute(GPUDynInstPtr) override;
23719 }; // Inst_VOP3__V_CMPX_EQ_I64
23720
23722 {
23723 public:
23726
23727 int
23729 {
23731 } // getNumOperands
23732
23733 int numDstRegOperands() override { return 1; }
23734 int numSrcRegOperands() override { return 2; }
23735
23736 int
23737 getOperandSize(int opIdx) override
23738 {
23739 switch (opIdx) {
23740 case 0: //src_0
23741 return 8;
23742 case 1: //src_1
23743 return 8;
23744 case 2: //sdst
23745 return 8;
23746 default:
23747 fatal("op idx %i out of bounds\n", opIdx);
23748 return -1;
23749 }
23750 } // getOperandSize
23751
23752 void execute(GPUDynInstPtr) override;
23753 }; // Inst_VOP3__V_CMPX_LE_I64
23754
23756 {
23757 public:
23760
23761 int
23763 {
23765 } // getNumOperands
23766
23767 int numDstRegOperands() override { return 1; }
23768 int numSrcRegOperands() override { return 2; }
23769
23770 int
23771 getOperandSize(int opIdx) override
23772 {
23773 switch (opIdx) {
23774 case 0: //src_0
23775 return 8;
23776 case 1: //src_1
23777 return 8;
23778 case 2: //sdst
23779 return 8;
23780 default:
23781 fatal("op idx %i out of bounds\n", opIdx);
23782 return -1;
23783 }
23784 } // getOperandSize
23785
23786 void execute(GPUDynInstPtr) override;
23787 }; // Inst_VOP3__V_CMPX_GT_I64
23788
23790 {
23791 public:
23794
23795 int
23797 {
23799 } // getNumOperands
23800
23801 int numDstRegOperands() override { return 1; }
23802 int numSrcRegOperands() override { return 2; }
23803
23804 int
23805 getOperandSize(int opIdx) override
23806 {
23807 switch (opIdx) {
23808 case 0: //src_0
23809 return 8;
23810 case 1: //src_1
23811 return 8;
23812 case 2: //sdst
23813 return 8;
23814 default:
23815 fatal("op idx %i out of bounds\n", opIdx);
23816 return -1;
23817 }
23818 } // getOperandSize
23819
23820 void execute(GPUDynInstPtr) override;
23821 }; // Inst_VOP3__V_CMPX_NE_I64
23822
23824 {
23825 public:
23828
23829 int
23831 {
23833 } // getNumOperands
23834
23835 int numDstRegOperands() override { return 1; }
23836 int numSrcRegOperands() override { return 2; }
23837
23838 int
23839 getOperandSize(int opIdx) override
23840 {
23841 switch (opIdx) {
23842 case 0: //src_0
23843 return 8;
23844 case 1: //src_1
23845 return 8;
23846 case 2: //sdst
23847 return 8;
23848 default:
23849 fatal("op idx %i out of bounds\n", opIdx);
23850 return -1;
23851 }
23852 } // getOperandSize
23853
23854 void execute(GPUDynInstPtr) override;
23855 }; // Inst_VOP3__V_CMPX_GE_I64
23856
23858 {
23859 public:
23862
23863 int
23865 {
23867 } // getNumOperands
23868
23869 int numDstRegOperands() override { return 1; }
23870 int numSrcRegOperands() override { return 2; }
23871
23872 int
23873 getOperandSize(int opIdx) override
23874 {
23875 switch (opIdx) {
23876 case 0: //src_0
23877 return 8;
23878 case 1: //src_1
23879 return 8;
23880 case 2: //sdst
23881 return 8;
23882 default:
23883 fatal("op idx %i out of bounds\n", opIdx);
23884 return -1;
23885 }
23886 } // getOperandSize
23887
23888 void execute(GPUDynInstPtr) override;
23889 }; // Inst_VOP3__V_CMPX_T_I64
23890
23892 {
23893 public:
23896
23897 int
23899 {
23901 } // getNumOperands
23902
23903 int numDstRegOperands() override { return 1; }
23904 int numSrcRegOperands() override { return 2; }
23905
23906 int
23907 getOperandSize(int opIdx) override
23908 {
23909 switch (opIdx) {
23910 case 0: //src_0
23911 return 8;
23912 case 1: //src_1
23913 return 8;
23914 case 2: //sdst
23915 return 8;
23916 default:
23917 fatal("op idx %i out of bounds\n", opIdx);
23918 return -1;
23919 }
23920 } // getOperandSize
23921
23922 void execute(GPUDynInstPtr) override;
23923 }; // Inst_VOP3__V_CMPX_F_U64
23924
23926 {
23927 public:
23930
23931 int
23933 {
23935 } // getNumOperands
23936
23937 int numDstRegOperands() override { return 1; }
23938 int numSrcRegOperands() override { return 2; }
23939
23940 int
23941 getOperandSize(int opIdx) override
23942 {
23943 switch (opIdx) {
23944 case 0: //src_0
23945 return 8;
23946 case 1: //src_1
23947 return 8;
23948 case 2: //sdst
23949 return 8;
23950 default:
23951 fatal("op idx %i out of bounds\n", opIdx);
23952 return -1;
23953 }
23954 } // getOperandSize
23955
23956 void execute(GPUDynInstPtr) override;
23957 }; // Inst_VOP3__V_CMPX_LT_U64
23958
23960 {
23961 public:
23964
23965 int
23967 {
23969 } // getNumOperands
23970
23971 int numDstRegOperands() override { return 1; }
23972 int numSrcRegOperands() override { return 2; }
23973
23974 int
23975 getOperandSize(int opIdx) override
23976 {
23977 switch (opIdx) {
23978 case 0: //src_0
23979 return 8;
23980 case 1: //src_1
23981 return 8;
23982 case 2: //sdst
23983 return 8;
23984 default:
23985 fatal("op idx %i out of bounds\n", opIdx);
23986 return -1;
23987 }
23988 } // getOperandSize
23989
23990 void execute(GPUDynInstPtr) override;
23991 }; // Inst_VOP3__V_CMPX_EQ_U64
23992
23994 {
23995 public:
23998
23999 int
24001 {
24003 } // getNumOperands
24004
24005 int numDstRegOperands() override { return 1; }
24006 int numSrcRegOperands() override { return 2; }
24007
24008 int
24009 getOperandSize(int opIdx) override
24010 {
24011 switch (opIdx) {
24012 case 0: //src_0
24013 return 8;
24014 case 1: //src_1
24015 return 8;
24016 case 2: //sdst
24017 return 8;
24018 default:
24019 fatal("op idx %i out of bounds\n", opIdx);
24020 return -1;
24021 }
24022 } // getOperandSize
24023
24024 void execute(GPUDynInstPtr) override;
24025 }; // Inst_VOP3__V_CMPX_LE_U64
24026
24028 {
24029 public:
24032
24033 int
24035 {
24037 } // getNumOperands
24038
24039 int numDstRegOperands() override { return 1; }
24040 int numSrcRegOperands() override { return 2; }
24041
24042 int
24043 getOperandSize(int opIdx) override
24044 {
24045 switch (opIdx) {
24046 case 0: //src_0
24047 return 8;
24048 case 1: //src_1
24049 return 8;
24050 case 2: //sdst
24051 return 8;
24052 default:
24053 fatal("op idx %i out of bounds\n", opIdx);
24054 return -1;
24055 }
24056 } // getOperandSize
24057
24058 void execute(GPUDynInstPtr) override;
24059 }; // Inst_VOP3__V_CMPX_GT_U64
24060
24062 {
24063 public:
24066
24067 int
24069 {
24071 } // getNumOperands
24072
24073 int numDstRegOperands() override { return 1; }
24074 int numSrcRegOperands() override { return 2; }
24075
24076 int
24077 getOperandSize(int opIdx) override
24078 {
24079 switch (opIdx) {
24080 case 0: //src_0
24081 return 8;
24082 case 1: //src_1
24083 return 8;
24084 case 2: //sdst
24085 return 8;
24086 default:
24087 fatal("op idx %i out of bounds\n", opIdx);
24088 return -1;
24089 }
24090 } // getOperandSize
24091
24092 void execute(GPUDynInstPtr) override;
24093 }; // Inst_VOP3__V_CMPX_NE_U64
24094
24096 {
24097 public:
24100
24101 int
24103 {
24105 } // getNumOperands
24106
24107 int numDstRegOperands() override { return 1; }
24108 int numSrcRegOperands() override { return 2; }
24109
24110 int
24111 getOperandSize(int opIdx) override
24112 {
24113 switch (opIdx) {
24114 case 0: //src_0
24115 return 8;
24116 case 1: //src_1
24117 return 8;
24118 case 2: //sdst
24119 return 8;
24120 default:
24121 fatal("op idx %i out of bounds\n", opIdx);
24122 return -1;
24123 }
24124 } // getOperandSize
24125
24126 void execute(GPUDynInstPtr) override;
24127 }; // Inst_VOP3__V_CMPX_GE_U64
24128
24130 {
24131 public:
24134
24135 int
24137 {
24139 } // getNumOperands
24140
24141 int numDstRegOperands() override { return 1; }
24142 int numSrcRegOperands() override { return 2; }
24143
24144 int
24145 getOperandSize(int opIdx) override
24146 {
24147 switch (opIdx) {
24148 case 0: //src_0
24149 return 8;
24150 case 1: //src_1
24151 return 8;
24152 case 2: //sdst
24153 return 8;
24154 default:
24155 fatal("op idx %i out of bounds\n", opIdx);
24156 return -1;
24157 }
24158 } // getOperandSize
24159
24160 void execute(GPUDynInstPtr) override;
24161 }; // Inst_VOP3__V_CMPX_T_U64
24162
24164 {
24165 public:
24168
24169 int
24171 {
24173 } // getNumOperands
24174
24175 int numDstRegOperands() override { return 1; }
24176 int numSrcRegOperands() override { return 3; }
24177
24178 int
24179 getOperandSize(int opIdx) override
24180 {
24181 switch (opIdx) {
24182 case 0: //src_0
24183 return 4;
24184 case 1: //src_1
24185 return 4;
24186 case 2: //carryin
24187 return 8;
24188 case 3: //vdst
24189 return 4;
24190 default:
24191 fatal("op idx %i out of bounds\n", opIdx);
24192 return -1;
24193 }
24194 } // getOperandSize
24195
24196 void execute(GPUDynInstPtr) override;
24197 }; // Inst_VOP3__V_CNDMASK_B32
24198
24200 {
24201 public:
24204
24205 int
24207 {
24209 } // getNumOperands
24210
24211 int numDstRegOperands() override { return 1; }
24212 int numSrcRegOperands() override { return 2; }
24213
24214 int
24215 getOperandSize(int opIdx) override
24216 {
24217 switch (opIdx) {
24218 case 0: //src_0
24219 return 4;
24220 case 1: //src_1
24221 return 4;
24222 case 2: //vdst
24223 return 4;
24224 default:
24225 fatal("op idx %i out of bounds\n", opIdx);
24226 return -1;
24227 }
24228 } // getOperandSize
24229
24230 void execute(GPUDynInstPtr) override;
24231 }; // Inst_VOP3__V_ADD_F32
24232
24234 {
24235 public:
24238
24239 int
24241 {
24243 } // getNumOperands
24244
24245 int numDstRegOperands() override { return 1; }
24246 int numSrcRegOperands() override { return 2; }
24247
24248 int
24249 getOperandSize(int opIdx) override
24250 {
24251 switch (opIdx) {
24252 case 0: //src_0
24253 return 4;
24254 case 1: //src_1
24255 return 4;
24256 case 2: //vdst
24257 return 4;
24258 default:
24259 fatal("op idx %i out of bounds\n", opIdx);
24260 return -1;
24261 }
24262 } // getOperandSize
24263
24264 void execute(GPUDynInstPtr) override;
24265 }; // Inst_VOP3__V_SUB_F32
24266
24268 {
24269 public:
24272
24273 int
24275 {
24277 } // getNumOperands
24278
24279 int numDstRegOperands() override { return 1; }
24280 int numSrcRegOperands() override { return 2; }
24281
24282 int
24283 getOperandSize(int opIdx) override
24284 {
24285 switch (opIdx) {
24286 case 0: //src_0
24287 return 4;
24288 case 1: //src_1
24289 return 4;
24290 case 2: //vdst
24291 return 4;
24292 default:
24293 fatal("op idx %i out of bounds\n", opIdx);
24294 return -1;
24295 }
24296 } // getOperandSize
24297
24298 void execute(GPUDynInstPtr) override;
24299 }; // Inst_VOP3__V_SUBREV_F32
24300
24302 {
24303 public:
24306
24307 int
24309 {
24311 } // getNumOperands
24312
24313 int numDstRegOperands() override { return 1; }
24314 int numSrcRegOperands() override { return 2; }
24315
24316 int
24317 getOperandSize(int opIdx) override
24318 {
24319 switch (opIdx) {
24320 case 0: //src_0
24321 return 4;
24322 case 1: //src_1
24323 return 4;
24324 case 2: //vdst
24325 return 4;
24326 default:
24327 fatal("op idx %i out of bounds\n", opIdx);
24328 return -1;
24329 }
24330 } // getOperandSize
24331
24332 void execute(GPUDynInstPtr) override;
24333 }; // Inst_VOP3__V_MUL_LEGACY_F32
24334
24336 {
24337 public:
24340
24341 int
24343 {
24345 } // getNumOperands
24346
24347 int numDstRegOperands() override { return 1; }
24348 int numSrcRegOperands() override { return 2; }
24349
24350 int
24351 getOperandSize(int opIdx) override
24352 {
24353 switch (opIdx) {
24354 case 0: //src_0
24355 return 4;
24356 case 1: //src_1
24357 return 4;
24358 case 2: //vdst
24359 return 4;
24360 default:
24361 fatal("op idx %i out of bounds\n", opIdx);
24362 return -1;
24363 }
24364 } // getOperandSize
24365
24366 void execute(GPUDynInstPtr) override;
24367 }; // Inst_VOP3__V_MUL_F32
24368
24370 {
24371 public:
24374
24375 int
24377 {
24379 } // getNumOperands
24380
24381 int numDstRegOperands() override { return 1; }
24382 int numSrcRegOperands() override { return 2; }
24383
24384 int
24385 getOperandSize(int opIdx) override
24386 {
24387 switch (opIdx) {
24388 case 0: //src_0
24389 return 4;
24390 case 1: //src_1
24391 return 4;
24392 case 2: //vdst
24393 return 4;
24394 default:
24395 fatal("op idx %i out of bounds\n", opIdx);
24396 return -1;
24397 }
24398 } // getOperandSize
24399
24400 void execute(GPUDynInstPtr) override;
24401 }; // Inst_VOP3__V_MUL_I32_I24
24402
24404 {
24405 public:
24408
24409 int
24411 {
24413 } // getNumOperands
24414
24415 int numDstRegOperands() override { return 1; }
24416 int numSrcRegOperands() override { return 2; }
24417
24418 int
24419 getOperandSize(int opIdx) override
24420 {
24421 switch (opIdx) {
24422 case 0: //src_0
24423 return 4;
24424 case 1: //src_1
24425 return 4;
24426 case 2: //vdst
24427 return 4;
24428 default:
24429 fatal("op idx %i out of bounds\n", opIdx);
24430 return -1;
24431 }
24432 } // getOperandSize
24433
24434 void execute(GPUDynInstPtr) override;
24435 }; // Inst_VOP3__V_MUL_HI_I32_I24
24436
24438 {
24439 public:
24442
24443 int
24445 {
24447 } // getNumOperands
24448
24449 int numDstRegOperands() override { return 1; }
24450 int numSrcRegOperands() override { return 2; }
24451
24452 int
24453 getOperandSize(int opIdx) override
24454 {
24455 switch (opIdx) {
24456 case 0: //src_0
24457 return 4;
24458 case 1: //src_1
24459 return 4;
24460 case 2: //vdst
24461 return 4;
24462 default:
24463 fatal("op idx %i out of bounds\n", opIdx);
24464 return -1;
24465 }
24466 } // getOperandSize
24467
24468 void execute(GPUDynInstPtr) override;
24469 }; // Inst_VOP3__V_MUL_U32_U24
24470
24472 {
24473 public:
24476
24477 int
24479 {
24481 } // getNumOperands
24482
24483 int numDstRegOperands() override { return 1; }
24484 int numSrcRegOperands() override { return 2; }
24485
24486 int
24487 getOperandSize(int opIdx) override
24488 {
24489 switch (opIdx) {
24490 case 0: //src_0
24491 return 4;
24492 case 1: //src_1
24493 return 4;
24494 case 2: //vdst
24495 return 4;
24496 default:
24497 fatal("op idx %i out of bounds\n", opIdx);
24498 return -1;
24499 }
24500 } // getOperandSize
24501
24502 void execute(GPUDynInstPtr) override;
24503 }; // Inst_VOP3__V_MUL_HI_U32_U24
24504
24506 {
24507 public:
24510
24511 int
24513 {
24515 } // getNumOperands
24516
24517 int numDstRegOperands() override { return 1; }
24518 int numSrcRegOperands() override { return 2; }
24519
24520 int
24521 getOperandSize(int opIdx) override
24522 {
24523 switch (opIdx) {
24524 case 0: //src_0
24525 return 4;
24526 case 1: //src_1
24527 return 4;
24528 case 2: //vdst
24529 return 4;
24530 default:
24531 fatal("op idx %i out of bounds\n", opIdx);
24532 return -1;
24533 }
24534 } // getOperandSize
24535
24536 void execute(GPUDynInstPtr) override;
24537 }; // Inst_VOP3__V_MIN_F32
24538
24540 {
24541 public:
24544
24545 int
24547 {
24549 } // getNumOperands
24550
24551 int numDstRegOperands() override { return 1; }
24552 int numSrcRegOperands() override { return 2; }
24553
24554 int
24555 getOperandSize(int opIdx) override
24556 {
24557 switch (opIdx) {
24558 case 0: //src_0
24559 return 4;
24560 case 1: //src_1
24561 return 4;
24562 case 2: //vdst
24563 return 4;
24564 default:
24565 fatal("op idx %i out of bounds\n", opIdx);
24566 return -1;
24567 }
24568 } // getOperandSize
24569
24570 void execute(GPUDynInstPtr) override;
24571 }; // Inst_VOP3__V_MAX_F32
24572
24574 {
24575 public:
24578
24579 int
24581 {
24583 } // getNumOperands
24584
24585 int numDstRegOperands() override { return 1; }
24586 int numSrcRegOperands() override { return 2; }
24587
24588 int
24589 getOperandSize(int opIdx) override
24590 {
24591 switch (opIdx) {
24592 case 0: //src_0
24593 return 4;
24594 case 1: //src_1
24595 return 4;
24596 case 2: //vdst
24597 return 4;
24598 default:
24599 fatal("op idx %i out of bounds\n", opIdx);
24600 return -1;
24601 }
24602 } // getOperandSize
24603
24604 void execute(GPUDynInstPtr) override;
24605 }; // Inst_VOP3__V_MIN_I32
24606
24608 {
24609 public:
24612
24613 int
24615 {
24617 } // getNumOperands
24618
24619 int numDstRegOperands() override { return 1; }
24620 int numSrcRegOperands() override { return 2; }
24621
24622 int
24623 getOperandSize(int opIdx) override
24624 {
24625 switch (opIdx) {
24626 case 0: //src_0
24627 return 4;
24628 case 1: //src_1
24629 return 4;
24630 case 2: //vdst
24631 return 4;
24632 default:
24633 fatal("op idx %i out of bounds\n", opIdx);
24634 return -1;
24635 }
24636 } // getOperandSize
24637
24638 void execute(GPUDynInstPtr) override;
24639 }; // Inst_VOP3__V_MAX_I32
24640
24642 {
24643 public:
24646
24647 int
24649 {
24651 } // getNumOperands
24652
24653 int numDstRegOperands() override { return 1; }
24654 int numSrcRegOperands() override { return 2; }
24655
24656 int
24657 getOperandSize(int opIdx) override
24658 {
24659 switch (opIdx) {
24660 case 0: //src_0
24661 return 4;
24662 case 1: //src_1
24663 return 4;
24664 case 2: //vdst
24665 return 4;
24666 default:
24667 fatal("op idx %i out of bounds\n", opIdx);
24668 return -1;
24669 }
24670 } // getOperandSize
24671
24672 void execute(GPUDynInstPtr) override;
24673 }; // Inst_VOP3__V_MIN_U32
24674
24676 {
24677 public:
24680
24681 int
24683 {
24685 } // getNumOperands
24686
24687 int numDstRegOperands() override { return 1; }
24688 int numSrcRegOperands() override { return 2; }
24689
24690 int
24691 getOperandSize(int opIdx) override
24692 {
24693 switch (opIdx) {
24694 case 0: //src_0
24695 return 4;
24696 case 1: //src_1
24697 return 4;
24698 case 2: //vdst
24699 return 4;
24700 default:
24701 fatal("op idx %i out of bounds\n", opIdx);
24702 return -1;
24703 }
24704 } // getOperandSize
24705
24706 void execute(GPUDynInstPtr) override;
24707 }; // Inst_VOP3__V_MAX_U32
24708
24710 {
24711 public:
24714
24715 int
24717 {
24719 } // getNumOperands
24720
24721 int numDstRegOperands() override { return 1; }
24722 int numSrcRegOperands() override { return 2; }
24723
24724 int
24725 getOperandSize(int opIdx) override
24726 {
24727 switch (opIdx) {
24728 case 0: //src_0
24729 return 4;
24730 case 1: //src_1
24731 return 4;
24732 case 2: //vdst
24733 return 4;
24734 default:
24735 fatal("op idx %i out of bounds\n", opIdx);
24736 return -1;
24737 }
24738 } // getOperandSize
24739
24740 void execute(GPUDynInstPtr) override;
24741 }; // Inst_VOP3__V_LSHRREV_B32
24742
24744 {
24745 public:
24748
24749 int
24751 {
24753 } // getNumOperands
24754
24755 int numDstRegOperands() override { return 1; }
24756 int numSrcRegOperands() override { return 2; }
24757
24758 int
24759 getOperandSize(int opIdx) override
24760 {
24761 switch (opIdx) {
24762 case 0: //src_0
24763 return 4;
24764 case 1: //src_1
24765 return 4;
24766 case 2: //vdst
24767 return 4;
24768 default:
24769 fatal("op idx %i out of bounds\n", opIdx);
24770 return -1;
24771 }
24772 } // getOperandSize
24773
24774 void execute(GPUDynInstPtr) override;
24775 }; // Inst_VOP3__V_ASHRREV_I32
24776
24778 {
24779 public:
24782
24783 int
24785 {
24787 } // getNumOperands
24788
24789 int numDstRegOperands() override { return 1; }
24790 int numSrcRegOperands() override { return 2; }
24791
24792 int
24793 getOperandSize(int opIdx) override
24794 {
24795 switch (opIdx) {
24796 case 0: //src_0
24797 return 4;
24798 case 1: //src_1
24799 return 4;
24800 case 2: //vdst
24801 return 4;
24802 default:
24803 fatal("op idx %i out of bounds\n", opIdx);
24804 return -1;
24805 }
24806 } // getOperandSize
24807
24808 void execute(GPUDynInstPtr) override;
24809 }; // Inst_VOP3__V_LSHLREV_B32
24810
24812 {
24813 public:
24816
24817 int
24819 {
24821 } // getNumOperands
24822
24823 int numDstRegOperands() override { return 1; }
24824 int numSrcRegOperands() override { return 2; }
24825
24826 int
24827 getOperandSize(int opIdx) override
24828 {
24829 switch (opIdx) {
24830 case 0: //src_0
24831 return 4;
24832 case 1: //src_1
24833 return 4;
24834 case 2: //vdst
24835 return 4;
24836 default:
24837 fatal("op idx %i out of bounds\n", opIdx);
24838 return -1;
24839 }
24840 } // getOperandSize
24841
24842 void execute(GPUDynInstPtr) override;
24843 }; // Inst_VOP3__V_AND_B32
24844
24846 {
24847 public:
24850
24851 int
24853 {
24855 } // getNumOperands
24856
24857 int numDstRegOperands() override { return 1; }
24858 int numSrcRegOperands() override { return 2; }
24859
24860 int
24861 getOperandSize(int opIdx) override
24862 {
24863 switch (opIdx) {
24864 case 0: //src_0
24865 return 4;
24866 case 1: //src_1
24867 return 4;
24868 case 2: //vdst
24869 return 4;
24870 default:
24871 fatal("op idx %i out of bounds\n", opIdx);
24872 return -1;
24873 }
24874 } // getOperandSize
24875
24876 void execute(GPUDynInstPtr) override;
24877 }; // Inst_VOP3__V_OR_B32
24878
24880 {
24881 public:
24884
24885 int
24887 {
24889 } // getNumOperands
24890
24891 int numDstRegOperands() override { return 1; }
24892 int numSrcRegOperands() override { return 3; }
24893
24894 int
24895 getOperandSize(int opIdx) override
24896 {
24897 switch (opIdx) {
24898 case 0: //src_0
24899 return 4;
24900 case 1: //src_1
24901 return 4;
24902 case 2: //src_2
24903 return 4;
24904 case 3: //vdst
24905 return 4;
24906 default:
24907 fatal("op idx %i out of bounds\n", opIdx);
24908 return -1;
24909 }
24910 } // getOperandSize
24911
24912 void execute(GPUDynInstPtr) override;
24913 }; // Inst_VOP3__V_OR_B32
24914
24916 {
24917 public:
24920
24921 int
24923 {
24925 } // getNumOperands
24926
24927 int numDstRegOperands() override { return 1; }
24928 int numSrcRegOperands() override { return 2; }
24929
24930 int
24931 getOperandSize(int opIdx) override
24932 {
24933 switch (opIdx) {
24934 case 0: //src_0
24935 return 4;
24936 case 1: //src_1
24937 return 4;
24938 case 2: //vdst
24939 return 4;
24940 default:
24941 fatal("op idx %i out of bounds\n", opIdx);
24942 return -1;
24943 }
24944 } // getOperandSize
24945
24946 void execute(GPUDynInstPtr) override;
24947 }; // Inst_VOP3__V_XOR_B32
24948
24950 {
24951 public:
24954
24955 int
24957 {
24959 } // getNumOperands
24960
24961 int numDstRegOperands() override { return 1; }
24962 int numSrcRegOperands() override { return 2; }
24963
24964 int
24965 getOperandSize(int opIdx) override
24966 {
24967 switch (opIdx) {
24968 case 0: //src_0
24969 return 4;
24970 case 1: //src_1
24971 return 4;
24972 case 2: //vdst
24973 return 4;
24974 default:
24975 fatal("op idx %i out of bounds\n", opIdx);
24976 return -1;
24977 }
24978 } // getOperandSize
24979
24980 void execute(GPUDynInstPtr) override;
24981 }; // Inst_VOP3__V_MAC_F32
24982
24984 {
24985 public:
24988
24989 int
24991 {
24993 } // getNumOperands
24994
24995 int numDstRegOperands() override { return 2; }
24996 int numSrcRegOperands() override { return 2; }
24997
24998 int
24999 getOperandSize(int opIdx) override
25000 {
25001 switch (opIdx) {
25002 case 0: //src_0
25003 return 4;
25004 case 1: //src_1
25005 return 4;
25006 case 2: //vdst
25007 return 4;
25008 case 3: //carryout
25009 return 8;
25010 default:
25011 fatal("op idx %i out of bounds\n", opIdx);
25012 return -1;
25013 }
25014 } // getOperandSize
25015
25016 void execute(GPUDynInstPtr) override;
25017 }; // Inst_VOP3__V_ADD_CO_U32
25018
25020 {
25021 public:
25024
25025 int
25027 {
25029 } // getNumOperands
25030
25031 int numDstRegOperands() override { return 2; }
25032 int numSrcRegOperands() override { return 2; }
25033
25034 int
25035 getOperandSize(int opIdx) override
25036 {
25037 switch (opIdx) {
25038 case 0: //src_0
25039 return 4;
25040 case 1: //src_1
25041 return 4;
25042 case 2: //vdst
25043 return 4;
25044 case 3: //carryout
25045 return 8;
25046 default:
25047 fatal("op idx %i out of bounds\n", opIdx);
25048 return -1;
25049 }
25050 } // getOperandSize
25051
25052 void execute(GPUDynInstPtr) override;
25053 }; // Inst_VOP3__V_SUB_CO_U32
25054
25056 {
25057 public:
25060
25061 int
25063 {
25065 } // getNumOperands
25066
25067 int numDstRegOperands() override { return 2; }
25068 int numSrcRegOperands() override { return 2; }
25069
25070 int
25071 getOperandSize(int opIdx) override
25072 {
25073 switch (opIdx) {
25074 case 0: //src_0
25075 return 4;
25076 case 1: //src_1
25077 return 4;
25078 case 2: //vdst
25079 return 4;
25080 case 3: //carryout
25081 return 8;
25082 default:
25083 fatal("op idx %i out of bounds\n", opIdx);
25084 return -1;
25085 }
25086 } // getOperandSize
25087
25088 void execute(GPUDynInstPtr) override;
25089 }; // Inst_VOP3__V_SUBREV_CO_U32
25090
25092 {
25093 public:
25096
25097 int
25099 {
25101 } // getNumOperands
25102
25103 int numDstRegOperands() override { return 2; }
25104 int numSrcRegOperands() override { return 3; }
25105
25106 int
25107 getOperandSize(int opIdx) override
25108 {
25109 switch (opIdx) {
25110 case 0: //src_0
25111 return 4;
25112 case 1: //src_1
25113 return 4;
25114 case 2: //carryin
25115 return 8;
25116 case 3: //vdst
25117 return 4;
25118 case 4: //carryout
25119 return 8;
25120 default:
25121 fatal("op idx %i out of bounds\n", opIdx);
25122 return -1;
25123 }
25124 } // getOperandSize
25125
25126 void execute(GPUDynInstPtr) override;
25127 }; // Inst_VOP3__V_ADDC_CO_U32
25128
25130 {
25131 public:
25134
25135 int
25137 {
25139 } // getNumOperands
25140
25141 int numDstRegOperands() override { return 2; }
25142 int numSrcRegOperands() override { return 3; }
25143
25144 int
25145 getOperandSize(int opIdx) override
25146 {
25147 switch (opIdx) {
25148 case 0: //src_0
25149 return 4;
25150 case 1: //src_1
25151 return 4;
25152 case 2: //carryin
25153 return 8;
25154 case 3: //vdst
25155 return 4;
25156 case 4: //carryout
25157 return 8;
25158 default:
25159 fatal("op idx %i out of bounds\n", opIdx);
25160 return -1;
25161 }
25162 } // getOperandSize
25163
25164 void execute(GPUDynInstPtr) override;
25165 }; // Inst_VOP3__V_SUBB_CO_U32
25166
25168 {
25169 public:
25172
25173 int
25175 {
25177 } // getNumOperands
25178
25179 int numDstRegOperands() override { return 2; }
25180 int numSrcRegOperands() override { return 3; }
25181
25182 int
25183 getOperandSize(int opIdx) override
25184 {
25185 switch (opIdx) {
25186 case 0: //src_0
25187 return 4;
25188 case 1: //src_1
25189 return 4;
25190 case 2: //carryin
25191 return 8;
25192 case 3: //vdst
25193 return 4;
25194 case 4: //carryout
25195 return 8;
25196 default:
25197 fatal("op idx %i out of bounds\n", opIdx);
25198 return -1;
25199 }
25200 } // getOperandSize
25201
25202 void execute(GPUDynInstPtr) override;
25203 }; // Inst_VOP3__V_SUBBREV_CO_U32
25204
25206 {
25207 public:
25210
25211 int
25213 {
25215 } // getNumOperands
25216
25217 int numDstRegOperands() override { return 1; }
25218 int numSrcRegOperands() override { return 2; }
25219
25220 int
25221 getOperandSize(int opIdx) override
25222 {
25223 switch (opIdx) {
25224 case 0: //src_0
25225 return 2;
25226 case 1: //src_1
25227 return 2;
25228 case 2: //vdst
25229 return 2;
25230 default:
25231 fatal("op idx %i out of bounds\n", opIdx);
25232 return -1;
25233 }
25234 } // getOperandSize
25235
25236 void execute(GPUDynInstPtr) override;
25237 }; // Inst_VOP3__V_ADD_F16
25238
25240 {
25241 public:
25244
25245 int
25247 {
25249 } // getNumOperands
25250
25251 int numDstRegOperands() override { return 1; }
25252 int numSrcRegOperands() override { return 2; }
25253
25254 int
25255 getOperandSize(int opIdx) override
25256 {
25257 switch (opIdx) {
25258 case 0: //src_0
25259 return 2;
25260 case 1: //src_1
25261 return 2;
25262 case 2: //vdst
25263 return 2;
25264 default:
25265 fatal("op idx %i out of bounds\n", opIdx);
25266 return -1;
25267 }
25268 } // getOperandSize
25269
25270 void execute(GPUDynInstPtr) override;
25271 }; // Inst_VOP3__V_SUB_F16
25272
25274 {
25275 public:
25278
25279 int
25281 {
25283 } // getNumOperands
25284
25285 int numDstRegOperands() override { return 1; }
25286 int numSrcRegOperands() override { return 2; }
25287
25288 int
25289 getOperandSize(int opIdx) override
25290 {
25291 switch (opIdx) {
25292 case 0: //src_0
25293 return 2;
25294 case 1: //src_1
25295 return 2;
25296 case 2: //vdst
25297 return 2;
25298 default:
25299 fatal("op idx %i out of bounds\n", opIdx);
25300 return -1;
25301 }
25302 } // getOperandSize
25303
25304 void execute(GPUDynInstPtr) override;
25305 }; // Inst_VOP3__V_SUBREV_F16
25306
25308 {
25309 public:
25312
25313 int
25315 {
25317 } // getNumOperands
25318
25319 int numDstRegOperands() override { return 1; }
25320 int numSrcRegOperands() override { return 2; }
25321
25322 int
25323 getOperandSize(int opIdx) override
25324 {
25325 switch (opIdx) {
25326 case 0: //src_0
25327 return 2;
25328 case 1: //src_1
25329 return 2;
25330 case 2: //vdst
25331 return 2;
25332 default:
25333 fatal("op idx %i out of bounds\n", opIdx);
25334 return -1;
25335 }
25336 } // getOperandSize
25337
25338 void execute(GPUDynInstPtr) override;
25339 }; // Inst_VOP3__V_MUL_F16
25340
25342 {
25343 public:
25346
25347 int
25349 {
25351 } // getNumOperands
25352
25353 int numDstRegOperands() override { return 1; }
25354 int numSrcRegOperands() override { return 2; }
25355
25356 int
25357 getOperandSize(int opIdx) override
25358 {
25359 switch (opIdx) {
25360 case 0: //src_0
25361 return 2;
25362 case 1: //src_1
25363 return 2;
25364 case 2: //vdst
25365 return 2;
25366 default:
25367 fatal("op idx %i out of bounds\n", opIdx);
25368 return -1;
25369 }
25370 } // getOperandSize
25371
25372 void execute(GPUDynInstPtr) override;
25373 }; // Inst_VOP3__V_MAC_F16
25374
25376 {
25377 public:
25380
25381 int
25383 {
25385 } // getNumOperands
25386
25387 int numDstRegOperands() override { return 1; }
25388 int numSrcRegOperands() override { return 2; }
25389
25390 int
25391 getOperandSize(int opIdx) override
25392 {
25393 switch (opIdx) {
25394 case 0: //src_0
25395 return 2;
25396 case 1: //src_1
25397 return 2;
25398 case 2: //vdst
25399 return 2;
25400 default:
25401 fatal("op idx %i out of bounds\n", opIdx);
25402 return -1;
25403 }
25404 } // getOperandSize
25405
25406 void execute(GPUDynInstPtr) override;
25407 }; // Inst_VOP3__V_ADD_U16
25408
25410 {
25411 public:
25414
25415 int
25417 {
25419 } // getNumOperands
25420
25421 int numDstRegOperands() override { return 1; }
25422 int numSrcRegOperands() override { return 2; }
25423
25424 int
25425 getOperandSize(int opIdx) override
25426 {
25427 switch (opIdx) {
25428 case 0: //src_0
25429 return 2;
25430 case 1: //src_1
25431 return 2;
25432 case 2: //vdst
25433 return 2;
25434 default:
25435 fatal("op idx %i out of bounds\n", opIdx);
25436 return -1;
25437 }
25438 } // getOperandSize
25439
25440 void execute(GPUDynInstPtr) override;
25441 }; // Inst_VOP3__V_SUB_U16
25442
25444 {
25445 public:
25448
25449 int
25451 {
25453 } // getNumOperands
25454
25455 int numDstRegOperands() override { return 1; }
25456 int numSrcRegOperands() override { return 2; }
25457
25458 int
25459 getOperandSize(int opIdx) override
25460 {
25461 switch (opIdx) {
25462 case 0: //src_0
25463 return 2;
25464 case 1: //src_1
25465 return 2;
25466 case 2: //vdst
25467 return 2;
25468 default:
25469 fatal("op idx %i out of bounds\n", opIdx);
25470 return -1;
25471 }
25472 } // getOperandSize
25473
25474 void execute(GPUDynInstPtr) override;
25475 }; // Inst_VOP3__V_SUBREV_U16
25476
25478 {
25479 public:
25482
25483 int
25485 {
25487 } // getNumOperands
25488
25489 int numDstRegOperands() override { return 1; }
25490 int numSrcRegOperands() override { return 2; }
25491
25492 int
25493 getOperandSize(int opIdx) override
25494 {
25495 switch (opIdx) {
25496 case 0: //src_0
25497 return 2;
25498 case 1: //src_1
25499 return 2;
25500 case 2: //vdst
25501 return 2;
25502 default:
25503 fatal("op idx %i out of bounds\n", opIdx);
25504 return -1;
25505 }
25506 } // getOperandSize
25507
25508 void execute(GPUDynInstPtr) override;
25509 }; // Inst_VOP3__V_MUL_LO_U16
25510
25512 {
25513 public:
25516
25517 int
25519 {
25521 } // getNumOperands
25522
25523 int numDstRegOperands() override { return 1; }
25524 int numSrcRegOperands() override { return 2; }
25525
25526 int
25527 getOperandSize(int opIdx) override
25528 {
25529 switch (opIdx) {
25530 case 0: //src_0
25531 return 2;
25532 case 1: //src_1
25533 return 2;
25534 case 2: //vdst
25535 return 2;
25536 default:
25537 fatal("op idx %i out of bounds\n", opIdx);
25538 return -1;
25539 }
25540 } // getOperandSize
25541
25542 void execute(GPUDynInstPtr) override;
25543 }; // Inst_VOP3__V_LSHLREV_B16
25544
25546 {
25547 public:
25550
25551 int
25553 {
25555 } // getNumOperands
25556
25557 int numDstRegOperands() override { return 1; }
25558 int numSrcRegOperands() override { return 2; }
25559
25560 int
25561 getOperandSize(int opIdx) override
25562 {
25563 switch (opIdx) {
25564 case 0: //src_0
25565 return 2;
25566 case 1: //src_1
25567 return 2;
25568 case 2: //vdst
25569 return 2;
25570 default:
25571 fatal("op idx %i out of bounds\n", opIdx);
25572 return -1;
25573 }
25574 } // getOperandSize
25575
25576 void execute(GPUDynInstPtr) override;
25577 }; // Inst_VOP3__V_LSHRREV_B16
25578
25580 {
25581 public:
25584
25585 int
25587 {
25589 } // getNumOperands
25590
25591 int numDstRegOperands() override { return 1; }
25592 int numSrcRegOperands() override { return 2; }
25593
25594 int
25595 getOperandSize(int opIdx) override
25596 {
25597 switch (opIdx) {
25598 case 0: //src_0
25599 return 2;
25600 case 1: //src_1
25601 return 2;
25602 case 2: //vdst
25603 return 2;
25604 default:
25605 fatal("op idx %i out of bounds\n", opIdx);
25606 return -1;
25607 }
25608 } // getOperandSize
25609
25610 void execute(GPUDynInstPtr) override;
25611 }; // Inst_VOP3__V_ASHRREV_I16
25612
25614 {
25615 public:
25618
25619 int
25621 {
25623 } // getNumOperands
25624
25625 int numDstRegOperands() override { return 1; }
25626 int numSrcRegOperands() override { return 2; }
25627
25628 int
25629 getOperandSize(int opIdx) override
25630 {
25631 switch (opIdx) {
25632 case 0: //src_0
25633 return 2;
25634 case 1: //src_1
25635 return 2;
25636 case 2: //vdst
25637 return 2;
25638 default:
25639 fatal("op idx %i out of bounds\n", opIdx);
25640 return -1;
25641 }
25642 } // getOperandSize
25643
25644 void execute(GPUDynInstPtr) override;
25645 }; // Inst_VOP3__V_MAX_F16
25646
25648 {
25649 public:
25652
25653 int
25655 {
25657 } // getNumOperands
25658
25659 int numDstRegOperands() override { return 1; }
25660 int numSrcRegOperands() override { return 2; }
25661
25662 int
25663 getOperandSize(int opIdx) override
25664 {
25665 switch (opIdx) {
25666 case 0: //src_0
25667 return 2;
25668 case 1: //src_1
25669 return 2;
25670 case 2: //vdst
25671 return 2;
25672 default:
25673 fatal("op idx %i out of bounds\n", opIdx);
25674 return -1;
25675 }
25676 } // getOperandSize
25677
25678 void execute(GPUDynInstPtr) override;
25679 }; // Inst_VOP3__V_MIN_F16
25680
25682 {
25683 public:
25686
25687 int
25689 {
25691 } // getNumOperands
25692
25693 int numDstRegOperands() override { return 1; }
25694 int numSrcRegOperands() override { return 2; }
25695
25696 int
25697 getOperandSize(int opIdx) override
25698 {
25699 switch (opIdx) {
25700 case 0: //src_0
25701 return 2;
25702 case 1: //src_1
25703 return 2;
25704 case 2: //vdst
25705 return 2;
25706 default:
25707 fatal("op idx %i out of bounds\n", opIdx);
25708 return -1;
25709 }
25710 } // getOperandSize
25711
25712 void execute(GPUDynInstPtr) override;
25713 }; // Inst_VOP3__V_MAX_U16
25714
25716 {
25717 public:
25720
25721 int
25723 {
25725 } // getNumOperands
25726
25727 int numDstRegOperands() override { return 1; }
25728 int numSrcRegOperands() override { return 2; }
25729
25730 int
25731 getOperandSize(int opIdx) override
25732 {
25733 switch (opIdx) {
25734 case 0: //src_0
25735 return 2;
25736 case 1: //src_1
25737 return 2;
25738 case 2: //vdst
25739 return 2;
25740 default:
25741 fatal("op idx %i out of bounds\n", opIdx);
25742 return -1;
25743 }
25744 } // getOperandSize
25745
25746 void execute(GPUDynInstPtr) override;
25747 }; // Inst_VOP3__V_MAX_I16
25748
25750 {
25751 public:
25754
25755 int
25757 {
25759 } // getNumOperands
25760
25761 int numDstRegOperands() override { return 1; }
25762 int numSrcRegOperands() override { return 2; }
25763
25764 int
25765 getOperandSize(int opIdx) override
25766 {
25767 switch (opIdx) {
25768 case 0: //src_0
25769 return 2;
25770 case 1: //src_1
25771 return 2;
25772 case 2: //vdst
25773 return 2;
25774 default:
25775 fatal("op idx %i out of bounds\n", opIdx);
25776 return -1;
25777 }
25778 } // getOperandSize
25779
25780 void execute(GPUDynInstPtr) override;
25781 }; // Inst_VOP3__V_MIN_U16
25782
25784 {
25785 public:
25788
25789 int
25791 {
25793 } // getNumOperands
25794
25795 int numDstRegOperands() override { return 1; }
25796 int numSrcRegOperands() override { return 2; }
25797
25798 int
25799 getOperandSize(int opIdx) override
25800 {
25801 switch (opIdx) {
25802 case 0: //src_0
25803 return 2;
25804 case 1: //src_1
25805 return 2;
25806 case 2: //vdst
25807 return 2;
25808 default:
25809 fatal("op idx %i out of bounds\n", opIdx);
25810 return -1;
25811 }
25812 } // getOperandSize
25813
25814 void execute(GPUDynInstPtr) override;
25815 }; // Inst_VOP3__V_MIN_I16
25816
25818 {
25819 public:
25822
25823 int
25825 {
25827 } // getNumOperands
25828
25829 int numDstRegOperands() override { return 1; }
25830 int numSrcRegOperands() override { return 2; }
25831
25832 int
25833 getOperandSize(int opIdx) override
25834 {
25835 switch (opIdx) {
25836 case 0: //src_0
25837 return 2;
25838 case 1: //src_1
25839 return 2;
25840 case 2: //vdst
25841 return 2;
25842 default:
25843 fatal("op idx %i out of bounds\n", opIdx);
25844 return -1;
25845 }
25846 } // getOperandSize
25847
25848 void execute(GPUDynInstPtr) override;
25849 }; // Inst_VOP3__V_LDEXP_F16
25850
25852 {
25853 public:
25856
25857 int
25859 {
25861 } // getNumOperands
25862
25863 int numDstRegOperands() override { return 1; }
25864 int numSrcRegOperands() override { return 2; }
25865
25866 int
25867 getOperandSize(int opIdx) override
25868 {
25869 switch (opIdx) {
25870 case 0: //src_0
25871 return 4;
25872 case 1: //src_1
25873 return 4;
25874 case 2: //vdst
25875 return 4;
25876 default:
25877 fatal("op idx %i out of bounds\n", opIdx);
25878 return -1;
25879 }
25880 } // getOperandSize
25881
25882 void execute(GPUDynInstPtr) override;
25883 }; // Inst_VOP3__V_ADD_U32
25884
25886 {
25887 public:
25890
25891 int
25893 {
25895 } // getNumOperands
25896
25897 int numDstRegOperands() override { return 1; }
25898 int numSrcRegOperands() override { return 2; }
25899
25900 int
25901 getOperandSize(int opIdx) override
25902 {
25903 switch (opIdx) {
25904 case 0: //src_0
25905 return 4;
25906 case 1: //src_1
25907 return 4;
25908 case 2: //vdst
25909 return 4;
25910 default:
25911 fatal("op idx %i out of bounds\n", opIdx);
25912 return -1;
25913 }
25914 } // getOperandSize
25915
25916 void execute(GPUDynInstPtr) override;
25917 }; // Inst_VOP3__V_SUB_U32
25918
25920 {
25921 public:
25924
25925 int
25927 {
25929 } // getNumOperands
25930
25931 int numDstRegOperands() override { return 1; }
25932 int numSrcRegOperands() override { return 2; }
25933
25934 int
25935 getOperandSize(int opIdx) override
25936 {
25937 switch (opIdx) {
25938 case 0: //src_0
25939 return 4;
25940 case 1: //src_1
25941 return 4;
25942 case 2: //vdst
25943 return 4;
25944 default:
25945 fatal("op idx %i out of bounds\n", opIdx);
25946 return -1;
25947 }
25948 } // getOperandSize
25949
25950 void execute(GPUDynInstPtr) override;
25951 }; // Inst_VOP3__V_SUBREV_U32
25952
25954 {
25955 public:
25958
25959 int
25961 {
25963 } // getNumOperands
25964
25965 int numDstRegOperands() override { return 1; }
25966 int numSrcRegOperands() override { return 2; }
25967
25968 int
25969 getOperandSize(int opIdx) override
25970 {
25971 switch (opIdx) {
25972 case 0: //src_0
25973 return 4;
25974 case 1: //src_1
25975 return 4;
25976 case 2: //vdst
25977 return 4;
25978 default:
25979 fatal("op idx %i out of bounds\n", opIdx);
25980 return -1;
25981 }
25982 } // getOperandSize
25983
25984 void execute(GPUDynInstPtr) override;
25985 }; // Inst_VOP3__V_FMAC_F32
25986
25988 {
25989 public:
25992
25993 int
25995 {
25997 } // getNumOperands
25998
25999 int numDstRegOperands() override { return 0; }
26000 int numSrcRegOperands() override { return 0; }
26001
26002 int
26003 getOperandSize(int opIdx) override
26004 {
26005 switch (opIdx) {
26006 default:
26007 fatal("op idx %i out of bounds\n", opIdx);
26008 return -1;
26009 }
26010 } // getOperandSize
26011
26012 void execute(GPUDynInstPtr) override;
26013 }; // Inst_VOP3__V_NOP
26014
26016 {
26017 public:
26020
26021 int
26023 {
26025 } // getNumOperands
26026
26027 int numDstRegOperands() override { return 1; }
26028 int numSrcRegOperands() override { return 1; }
26029
26030 int
26031 getOperandSize(int opIdx) override
26032 {
26033 switch (opIdx) {
26034 case 0: //src
26035 return 4;
26036 case 1: //vdst
26037 return 4;
26038 default:
26039 fatal("op idx %i out of bounds\n", opIdx);
26040 return -1;
26041 }
26042 } // getOperandSize
26043
26044 void execute(GPUDynInstPtr) override;
26045 }; // Inst_VOP3__V_MOV_B32
26046
26048 {
26049 public:
26052
26053 int
26055 {
26057 } // getNumOperands
26058
26059 int numDstRegOperands() override { return 1; }
26060 int numSrcRegOperands() override { return 1; }
26061
26062 int
26063 getOperandSize(int opIdx) override
26064 {
26065 switch (opIdx) {
26066 case 0: //src
26067 return 8;
26068 case 1: //vdst
26069 return 4;
26070 default:
26071 fatal("op idx %i out of bounds\n", opIdx);
26072 return -1;
26073 }
26074 } // getOperandSize
26075
26076 void execute(GPUDynInstPtr) override;
26077 }; // Inst_VOP3__V_CVT_I32_F64
26078
26080 {
26081 public:
26084
26085 int
26087 {
26089 } // getNumOperands
26090
26091 int numDstRegOperands() override { return 1; }
26092 int numSrcRegOperands() override { return 1; }
26093
26094 int
26095 getOperandSize(int opIdx) override
26096 {
26097 switch (opIdx) {
26098 case 0: //src
26099 return 4;
26100 case 1: //vdst
26101 return 8;
26102 default:
26103 fatal("op idx %i out of bounds\n", opIdx);
26104 return -1;
26105 }
26106 } // getOperandSize
26107
26108 void execute(GPUDynInstPtr) override;
26109 }; // Inst_VOP3__V_CVT_F64_I32
26110
26112 {
26113 public:
26116
26117 int
26119 {
26121 } // getNumOperands
26122
26123 int numDstRegOperands() override { return 1; }
26124 int numSrcRegOperands() override { return 1; }
26125
26126 int
26127 getOperandSize(int opIdx) override
26128 {
26129 switch (opIdx) {
26130 case 0: //src
26131 return 4;
26132 case 1: //vdst
26133 return 4;
26134 default:
26135 fatal("op idx %i out of bounds\n", opIdx);
26136 return -1;
26137 }
26138 } // getOperandSize
26139
26140 void execute(GPUDynInstPtr) override;
26141 }; // Inst_VOP3__V_CVT_F32_I32
26142
26144 {
26145 public:
26148
26149 int
26151 {
26153 } // getNumOperands
26154
26155 int numDstRegOperands() override { return 1; }
26156 int numSrcRegOperands() override { return 1; }
26157
26158 int
26159 getOperandSize(int opIdx) override
26160 {
26161 switch (opIdx) {
26162 case 0: //src
26163 return 4;
26164 case 1: //vdst
26165 return 4;
26166 default:
26167 fatal("op idx %i out of bounds\n", opIdx);
26168 return -1;
26169 }
26170 } // getOperandSize
26171
26172 void execute(GPUDynInstPtr) override;
26173 }; // Inst_VOP3__V_CVT_F32_U32
26174
26176 {
26177 public:
26180
26181 int
26183 {
26185 } // getNumOperands
26186
26187 int numDstRegOperands() override { return 1; }
26188 int numSrcRegOperands() override { return 1; }
26189
26190 int
26191 getOperandSize(int opIdx) override
26192 {
26193 switch (opIdx) {
26194 case 0: //src
26195 return 4;
26196 case 1: //vdst
26197 return 4;
26198 default:
26199 fatal("op idx %i out of bounds\n", opIdx);
26200 return -1;
26201 }
26202 } // getOperandSize
26203
26204 void execute(GPUDynInstPtr) override;
26205 }; // Inst_VOP3__V_CVT_U32_F32
26206
26208 {
26209 public:
26212
26213 int
26215 {
26217 } // getNumOperands
26218
26219 int numDstRegOperands() override { return 1; }
26220 int numSrcRegOperands() override { return 1; }
26221
26222 int
26223 getOperandSize(int opIdx) override
26224 {
26225 switch (opIdx) {
26226 case 0: //src
26227 return 4;
26228 case 1: //vdst
26229 return 4;
26230 default:
26231 fatal("op idx %i out of bounds\n", opIdx);
26232 return -1;
26233 }
26234 } // getOperandSize
26235
26236 void execute(GPUDynInstPtr) override;
26237 }; // Inst_VOP3__V_CVT_I32_F32
26238
26240 {
26241 public:
26244
26245 int
26247 {
26249 } // getNumOperands
26250
26251 int numDstRegOperands() override { return 1; }
26252 int numSrcRegOperands() override { return 1; }
26253
26254 int
26255 getOperandSize(int opIdx) override
26256 {
26257 switch (opIdx) {
26258 case 0: //src
26259 return 4;
26260 case 1: //vdst
26261 return 4;
26262 default:
26263 fatal("op idx %i out of bounds\n", opIdx);
26264 return -1;
26265 }
26266 } // getOperandSize
26267
26268 void execute(GPUDynInstPtr) override;
26269 }; // Inst_VOP3__V_MOV_FED_B32
26270
26272 {
26273 public:
26276
26277 int
26279 {
26281 } // getNumOperands
26282
26283 int numDstRegOperands() override { return 1; }
26284 int numSrcRegOperands() override { return 1; }
26285
26286 int
26287 getOperandSize(int opIdx) override
26288 {
26289 switch (opIdx) {
26290 case 0: //src
26291 return 4;
26292 case 1: //vdst
26293 return 2;
26294 default:
26295 fatal("op idx %i out of bounds\n", opIdx);
26296 return -1;
26297 }
26298 } // getOperandSize
26299
26300 void execute(GPUDynInstPtr) override;
26301 }; // Inst_VOP3__V_CVT_F16_F32
26302
26304 {
26305 public:
26308
26309 int
26311 {
26313 } // getNumOperands
26314
26315 int numDstRegOperands() override { return 1; }
26316 int numSrcRegOperands() override { return 1; }
26317
26318 int
26319 getOperandSize(int opIdx) override
26320 {
26321 switch (opIdx) {
26322 case 0: //src
26323 return 2;
26324 case 1: //vdst
26325 return 4;
26326 default:
26327 fatal("op idx %i out of bounds\n", opIdx);
26328 return -1;
26329 }
26330 } // getOperandSize
26331
26332 void execute(GPUDynInstPtr) override;
26333 }; // Inst_VOP3__V_CVT_F32_F16
26334
26336 {
26337 public:
26340
26341 int
26343 {
26345 } // getNumOperands
26346
26347 int numDstRegOperands() override { return 1; }
26348 int numSrcRegOperands() override { return 1; }
26349
26350 int
26351 getOperandSize(int opIdx) override
26352 {
26353 switch (opIdx) {
26354 case 0: //src
26355 return 4;
26356 case 1: //vdst
26357 return 4;
26358 default:
26359 fatal("op idx %i out of bounds\n", opIdx);
26360 return -1;
26361 }
26362 } // getOperandSize
26363
26364 void execute(GPUDynInstPtr) override;
26365 }; // Inst_VOP3__V_CVT_RPI_I32_F32
26366
26368 {
26369 public:
26372
26373 int
26375 {
26377 } // getNumOperands
26378
26379 int numDstRegOperands() override { return 1; }
26380 int numSrcRegOperands() override { return 1; }
26381
26382 int
26383 getOperandSize(int opIdx) override
26384 {
26385 switch (opIdx) {
26386 case 0: //src
26387 return 4;
26388 case 1: //vdst
26389 return 4;
26390 default:
26391 fatal("op idx %i out of bounds\n", opIdx);
26392 return -1;
26393 }
26394 } // getOperandSize
26395
26396 void execute(GPUDynInstPtr) override;
26397 }; // Inst_VOP3__V_CVT_FLR_I32_F32
26398
26400 {
26401 public:
26404
26405 int
26407 {
26409 } // getNumOperands
26410
26411 int numDstRegOperands() override { return 1; }
26412 int numSrcRegOperands() override { return 1; }
26413
26414 int
26415 getOperandSize(int opIdx) override
26416 {
26417 switch (opIdx) {
26418 case 0: //src
26419 return 4;
26420 case 1: //vdst
26421 return 4;
26422 default:
26423 fatal("op idx %i out of bounds\n", opIdx);
26424 return -1;
26425 }
26426 } // getOperandSize
26427
26428 void execute(GPUDynInstPtr) override;
26429 }; // Inst_VOP3__V_CVT_OFF_F32_I4
26430
26432 {
26433 public:
26436
26437 int
26439 {
26441 } // getNumOperands
26442
26443 int numDstRegOperands() override { return 1; }
26444 int numSrcRegOperands() override { return 1; }
26445
26446 int
26447 getOperandSize(int opIdx) override
26448 {
26449 switch (opIdx) {
26450 case 0: //src
26451 return 8;
26452 case 1: //vdst
26453 return 4;
26454 default:
26455 fatal("op idx %i out of bounds\n", opIdx);
26456 return -1;
26457 }
26458 } // getOperandSize
26459
26460 void execute(GPUDynInstPtr) override;
26461 }; // Inst_VOP3__V_CVT_F32_F64
26462
26464 {
26465 public:
26468
26469 int
26471 {
26473 } // getNumOperands
26474
26475 int numDstRegOperands() override { return 1; }
26476 int numSrcRegOperands() override { return 1; }
26477
26478 int
26479 getOperandSize(int opIdx) override
26480 {
26481 switch (opIdx) {
26482 case 0: //src
26483 return 4;
26484 case 1: //vdst
26485 return 8;
26486 default:
26487 fatal("op idx %i out of bounds\n", opIdx);
26488 return -1;
26489 }
26490 } // getOperandSize
26491
26492 void execute(GPUDynInstPtr) override;
26493 }; // Inst_VOP3__V_CVT_F64_F32
26494
26496 {
26497 public:
26500
26501 int
26503 {
26505 } // getNumOperands
26506
26507 int numDstRegOperands() override { return 1; }
26508 int numSrcRegOperands() override { return 1; }
26509
26510 int
26511 getOperandSize(int opIdx) override
26512 {
26513 switch (opIdx) {
26514 case 0: //src
26515 return 4;
26516 case 1: //vdst
26517 return 4;
26518 default:
26519 fatal("op idx %i out of bounds\n", opIdx);
26520 return -1;
26521 }
26522 } // getOperandSize
26523
26524 void execute(GPUDynInstPtr) override;
26525 }; // Inst_VOP3__V_CVT_F32_UBYTE0
26526
26528 {
26529 public:
26532
26533 int
26535 {
26537 } // getNumOperands
26538
26539 int numDstRegOperands() override { return 1; }
26540 int numSrcRegOperands() override { return 1; }
26541
26542 int
26543 getOperandSize(int opIdx) override
26544 {
26545 switch (opIdx) {
26546 case 0: //src
26547 return 4;
26548 case 1: //vdst
26549 return 4;
26550 default:
26551 fatal("op idx %i out of bounds\n", opIdx);
26552 return -1;
26553 }
26554 } // getOperandSize
26555
26556 void execute(GPUDynInstPtr) override;
26557 }; // Inst_VOP3__V_CVT_F32_UBYTE1
26558
26560 {
26561 public:
26564
26565 int
26567 {
26569 } // getNumOperands
26570
26571 int numDstRegOperands() override { return 1; }
26572 int numSrcRegOperands() override { return 1; }
26573
26574 int
26575 getOperandSize(int opIdx) override
26576 {
26577 switch (opIdx) {
26578 case 0: //src
26579 return 4;
26580 case 1: //vdst
26581 return 4;
26582 default:
26583 fatal("op idx %i out of bounds\n", opIdx);
26584 return -1;
26585 }
26586 } // getOperandSize
26587
26588 void execute(GPUDynInstPtr) override;
26589 }; // Inst_VOP3__V_CVT_F32_UBYTE2
26590
26592 {
26593 public:
26596
26597 int
26599 {
26601 } // getNumOperands
26602
26603 int numDstRegOperands() override { return 1; }
26604 int numSrcRegOperands() override { return 1; }
26605
26606 int
26607 getOperandSize(int opIdx) override
26608 {
26609 switch (opIdx) {
26610 case 0: //src
26611 return 4;
26612 case 1: //vdst
26613 return 4;
26614 default:
26615 fatal("op idx %i out of bounds\n", opIdx);
26616 return -1;
26617 }
26618 } // getOperandSize
26619
26620 void execute(GPUDynInstPtr) override;
26621 }; // Inst_VOP3__V_CVT_F32_UBYTE3
26622
26624 {
26625 public:
26628
26629 int
26631 {
26633 } // getNumOperands
26634
26635 int numDstRegOperands() override { return 1; }
26636 int numSrcRegOperands() override { return 1; }
26637
26638 int
26639 getOperandSize(int opIdx) override
26640 {
26641 switch (opIdx) {
26642 case 0: //src
26643 return 8;
26644 case 1: //vdst
26645 return 4;
26646 default:
26647 fatal("op idx %i out of bounds\n", opIdx);
26648 return -1;
26649 }
26650 } // getOperandSize
26651
26652 void execute(GPUDynInstPtr) override;
26653 }; // Inst_VOP3__V_CVT_U32_F64
26654
26656 {
26657 public:
26660
26661 int
26663 {
26665 } // getNumOperands
26666
26667 int numDstRegOperands() override { return 1; }
26668 int numSrcRegOperands() override { return 1; }
26669
26670 int
26671 getOperandSize(int opIdx) override
26672 {
26673 switch (opIdx) {
26674 case 0: //src
26675 return 4;
26676 case 1: //vdst
26677 return 8;
26678 default:
26679 fatal("op idx %i out of bounds\n", opIdx);
26680 return -1;
26681 }
26682 } // getOperandSize
26683
26684 void execute(GPUDynInstPtr) override;
26685 }; // Inst_VOP3__V_CVT_F64_U32
26686
26688 {
26689 public:
26692
26693 int
26695 {
26697 } // getNumOperands
26698
26699 int numDstRegOperands() override { return 1; }
26700 int numSrcRegOperands() override { return 1; }
26701
26702 int
26703 getOperandSize(int opIdx) override
26704 {
26705 switch (opIdx) {
26706 case 0: //src
26707 return 8;
26708 case 1: //vdst
26709 return 8;
26710 default:
26711 fatal("op idx %i out of bounds\n", opIdx);
26712 return -1;
26713 }
26714 } // getOperandSize
26715
26716 void execute(GPUDynInstPtr) override;
26717 }; // Inst_VOP3__V_TRUNC_F64
26718
26720 {
26721 public:
26724
26725 int
26727 {
26729 } // getNumOperands
26730
26731 int numDstRegOperands() override { return 1; }
26732 int numSrcRegOperands() override { return 1; }
26733
26734 int
26735 getOperandSize(int opIdx) override
26736 {
26737 switch (opIdx) {
26738 case 0: //src
26739 return 8;
26740 case 1: //vdst
26741 return 8;
26742 default:
26743 fatal("op idx %i out of bounds\n", opIdx);
26744 return -1;
26745 }
26746 } // getOperandSize
26747
26748 void execute(GPUDynInstPtr) override;
26749 }; // Inst_VOP3__V_CEIL_F64
26750
26752 {
26753 public:
26756
26757 int
26759 {
26761 } // getNumOperands
26762
26763 int numDstRegOperands() override { return 1; }
26764 int numSrcRegOperands() override { return 1; }
26765
26766 int
26767 getOperandSize(int opIdx) override
26768 {
26769 switch (opIdx) {
26770 case 0: //src
26771 return 8;
26772 case 1: //vdst
26773 return 8;
26774 default:
26775 fatal("op idx %i out of bounds\n", opIdx);
26776 return -1;
26777 }
26778 } // getOperandSize
26779
26780 void execute(GPUDynInstPtr) override;
26781 }; // Inst_VOP3__V_RNDNE_F64
26782
26784 {
26785 public:
26788
26789 int
26791 {
26793 } // getNumOperands
26794
26795 int numDstRegOperands() override { return 1; }
26796 int numSrcRegOperands() override { return 1; }
26797
26798 int
26799 getOperandSize(int opIdx) override
26800 {
26801 switch (opIdx) {
26802 case 0: //src
26803 return 8;
26804 case 1: //vdst
26805 return 8;
26806 default:
26807 fatal("op idx %i out of bounds\n", opIdx);
26808 return -1;
26809 }
26810 } // getOperandSize
26811
26812 void execute(GPUDynInstPtr) override;
26813 }; // Inst_VOP3__V_FLOOR_F64
26814
26816 {
26817 public:
26820
26821 int
26823 {
26825 } // getNumOperands
26826
26827 int numDstRegOperands() override { return 1; }
26828 int numSrcRegOperands() override { return 1; }
26829
26830 int
26831 getOperandSize(int opIdx) override
26832 {
26833 switch (opIdx) {
26834 case 0: //src
26835 return 4;
26836 case 1: //vdst
26837 return 4;
26838 default:
26839 fatal("op idx %i out of bounds\n", opIdx);
26840 return -1;
26841 }
26842 } // getOperandSize
26843
26844 void execute(GPUDynInstPtr) override;
26845 }; // Inst_VOP3__V_FRACT_F32
26846
26848 {
26849 public:
26852
26853 int
26855 {
26857 } // getNumOperands
26858
26859 int numDstRegOperands() override { return 1; }
26860 int numSrcRegOperands() override { return 1; }
26861
26862 int
26863 getOperandSize(int opIdx) override
26864 {
26865 switch (opIdx) {
26866 case 0: //src
26867 return 4;
26868 case 1: //vdst
26869 return 4;
26870 default:
26871 fatal("op idx %i out of bounds\n", opIdx);
26872 return -1;
26873 }
26874 } // getOperandSize
26875
26876 void execute(GPUDynInstPtr) override;
26877 }; // Inst_VOP3__V_TRUNC_F32
26878
26880 {
26881 public:
26884
26885 int
26887 {
26889 } // getNumOperands
26890
26891 int numDstRegOperands() override { return 1; }
26892 int numSrcRegOperands() override { return 1; }
26893
26894 int
26895 getOperandSize(int opIdx) override
26896 {
26897 switch (opIdx) {
26898 case 0: //src
26899 return 4;
26900 case 1: //vdst
26901 return 4;
26902 default:
26903 fatal("op idx %i out of bounds\n", opIdx);
26904 return -1;
26905 }
26906 } // getOperandSize
26907
26908 void execute(GPUDynInstPtr) override;
26909 }; // Inst_VOP3__V_CEIL_F32
26910
26912 {
26913 public:
26916
26917 int
26919 {
26921 } // getNumOperands
26922
26923 int numDstRegOperands() override { return 1; }
26924 int numSrcRegOperands() override { return 1; }
26925
26926 int
26927 getOperandSize(int opIdx) override
26928 {
26929 switch (opIdx) {
26930 case 0: //src
26931 return 4;
26932 case 1: //vdst
26933 return 4;
26934 default:
26935 fatal("op idx %i out of bounds\n", opIdx);
26936 return -1;
26937 }
26938 } // getOperandSize
26939
26940 void execute(GPUDynInstPtr) override;
26941 }; // Inst_VOP3__V_RNDNE_F32
26942
26944 {
26945 public:
26948
26949 int
26951 {
26953 } // getNumOperands
26954
26955 int numDstRegOperands() override { return 1; }
26956 int numSrcRegOperands() override { return 1; }
26957
26958 int
26959 getOperandSize(int opIdx) override
26960 {
26961 switch (opIdx) {
26962 case 0: //src
26963 return 4;
26964 case 1: //vdst
26965 return 4;
26966 default:
26967 fatal("op idx %i out of bounds\n", opIdx);
26968 return -1;
26969 }
26970 } // getOperandSize
26971
26972 void execute(GPUDynInstPtr) override;
26973 }; // Inst_VOP3__V_FLOOR_F32
26974
26976 {
26977 public:
26980
26981 int
26983 {
26985 } // getNumOperands
26986
26987 int numDstRegOperands() override { return 1; }
26988 int numSrcRegOperands() override { return 1; }
26989
26990 int
26991 getOperandSize(int opIdx) override
26992 {
26993 switch (opIdx) {
26994 case 0: //src
26995 return 4;
26996 case 1: //vdst
26997 return 4;
26998 default:
26999 fatal("op idx %i out of bounds\n", opIdx);
27000 return -1;
27001 }
27002 } // getOperandSize
27003
27004 void execute(GPUDynInstPtr) override;
27005 }; // Inst_VOP3__V_EXP_F32
27006
27008 {
27009 public:
27012
27013 int
27015 {
27017 } // getNumOperands
27018
27019 int numDstRegOperands() override { return 1; }
27020 int numSrcRegOperands() override { return 1; }
27021
27022 int
27023 getOperandSize(int opIdx) override
27024 {
27025 switch (opIdx) {
27026 case 0: //src
27027 return 4;
27028 case 1: //vdst
27029 return 4;
27030 default:
27031 fatal("op idx %i out of bounds\n", opIdx);
27032 return -1;
27033 }
27034 } // getOperandSize
27035
27036 void execute(GPUDynInstPtr) override;
27037 }; // Inst_VOP3__V_LOG_F32
27038
27040 {
27041 public:
27044
27045 int
27047 {
27049 } // getNumOperands
27050
27051 int numDstRegOperands() override { return 1; }
27052 int numSrcRegOperands() override { return 1; }
27053
27054 int
27055 getOperandSize(int opIdx) override
27056 {
27057 switch (opIdx) {
27058 case 0: //src
27059 return 4;
27060 case 1: //vdst
27061 return 4;
27062 default:
27063 fatal("op idx %i out of bounds\n", opIdx);
27064 return -1;
27065 }
27066 } // getOperandSize
27067
27068 void execute(GPUDynInstPtr) override;
27069 }; // Inst_VOP3__V_RCP_F32
27070
27072 {
27073 public:
27076
27077 int
27079 {
27081 } // getNumOperands
27082
27083 int numDstRegOperands() override { return 1; }
27084 int numSrcRegOperands() override { return 1; }
27085
27086 int
27087 getOperandSize(int opIdx) override
27088 {
27089 switch (opIdx) {
27090 case 0: //src
27091 return 4;
27092 case 1: //vdst
27093 return 4;
27094 default:
27095 fatal("op idx %i out of bounds\n", opIdx);
27096 return -1;
27097 }
27098 } // getOperandSize
27099
27100 void execute(GPUDynInstPtr) override;
27101 }; // Inst_VOP3__V_RCP_IFLAG_F32
27102
27104 {
27105 public:
27108
27109 int
27111 {
27113 } // getNumOperands
27114
27115 int numDstRegOperands() override { return 1; }
27116 int numSrcRegOperands() override { return 1; }
27117
27118 int
27119 getOperandSize(int opIdx) override
27120 {
27121 switch (opIdx) {
27122 case 0: //src
27123 return 4;
27124 case 1: //vdst
27125 return 4;
27126 default:
27127 fatal("op idx %i out of bounds\n", opIdx);
27128 return -1;
27129 }
27130 } // getOperandSize
27131
27132 void execute(GPUDynInstPtr) override;
27133 }; // Inst_VOP3__V_RSQ_F32
27134
27136 {
27137 public:
27140
27141 int
27143 {
27145 } // getNumOperands
27146
27147 int numDstRegOperands() override { return 1; }
27148 int numSrcRegOperands() override { return 1; }
27149
27150 int
27151 getOperandSize(int opIdx) override
27152 {
27153 switch (opIdx) {
27154 case 0: //src
27155 return 8;
27156 case 1: //vdst
27157 return 8;
27158 default:
27159 fatal("op idx %i out of bounds\n", opIdx);
27160 return -1;
27161 }
27162 } // getOperandSize
27163
27164 void execute(GPUDynInstPtr) override;
27165 }; // Inst_VOP3__V_RCP_F64
27166
27168 {
27169 public:
27172
27173 int
27175 {
27177 } // getNumOperands
27178
27179 int numDstRegOperands() override { return 1; }
27180 int numSrcRegOperands() override { return 1; }
27181
27182 int
27183 getOperandSize(int opIdx) override
27184 {
27185 switch (opIdx) {
27186 case 0: //src
27187 return 8;
27188 case 1: //vdst
27189 return 8;
27190 default:
27191 fatal("op idx %i out of bounds\n", opIdx);
27192 return -1;
27193 }
27194 } // getOperandSize
27195
27196 void execute(GPUDynInstPtr) override;
27197 }; // Inst_VOP3__V_RSQ_F64
27198
27200 {
27201 public:
27204
27205 int
27207 {
27209 } // getNumOperands
27210
27211 int numDstRegOperands() override { return 1; }
27212 int numSrcRegOperands() override { return 1; }
27213
27214 int
27215 getOperandSize(int opIdx) override
27216 {
27217 switch (opIdx) {
27218 case 0: //src
27219 return 4;
27220 case 1: //vdst
27221 return 4;
27222 default:
27223 fatal("op idx %i out of bounds\n", opIdx);
27224 return -1;
27225 }
27226 } // getOperandSize
27227
27228 void execute(GPUDynInstPtr) override;
27229 }; // Inst_VOP3__V_SQRT_F32
27230
27232 {
27233 public:
27236
27237 int
27239 {
27241 } // getNumOperands
27242
27243 int numDstRegOperands() override { return 1; }
27244 int numSrcRegOperands() override { return 1; }
27245
27246 int
27247 getOperandSize(int opIdx) override
27248 {
27249 switch (opIdx) {
27250 case 0: //src
27251 return 8;
27252 case 1: //vdst
27253 return 8;
27254 default:
27255 fatal("op idx %i out of bounds\n", opIdx);
27256 return -1;
27257 }
27258 } // getOperandSize
27259
27260 void execute(GPUDynInstPtr) override;
27261 }; // Inst_VOP3__V_SQRT_F64
27262
27264 {
27265 public:
27268
27269 int
27271 {
27273 } // getNumOperands
27274
27275 int numDstRegOperands() override { return 1; }
27276 int numSrcRegOperands() override { return 1; }
27277
27278 int
27279 getOperandSize(int opIdx) override
27280 {
27281 switch (opIdx) {
27282 case 0: //src
27283 return 4;
27284 case 1: //vdst
27285 return 4;
27286 default:
27287 fatal("op idx %i out of bounds\n", opIdx);
27288 return -1;
27289 }
27290 } // getOperandSize
27291
27292 void execute(GPUDynInstPtr) override;
27293 }; // Inst_VOP3__V_SIN_F32
27294
27296 {
27297 public:
27300
27301 int
27303 {
27305 } // getNumOperands
27306
27307 int numDstRegOperands() override { return 1; }
27308 int numSrcRegOperands() override { return 1; }
27309
27310 int
27311 getOperandSize(int opIdx) override
27312 {
27313 switch (opIdx) {
27314 case 0: //src
27315 return 4;
27316 case 1: //vdst
27317 return 4;
27318 default:
27319 fatal("op idx %i out of bounds\n", opIdx);
27320 return -1;
27321 }
27322 } // getOperandSize
27323
27324 void execute(GPUDynInstPtr) override;
27325 }; // Inst_VOP3__V_COS_F32
27326
27328 {
27329 public:
27332
27333 int
27335 {
27337 } // getNumOperands
27338
27339 int numDstRegOperands() override { return 1; }
27340 int numSrcRegOperands() override { return 1; }
27341
27342 int
27343 getOperandSize(int opIdx) override
27344 {
27345 switch (opIdx) {
27346 case 0: //src
27347 return 4;
27348 case 1: //vdst
27349 return 4;
27350 default:
27351 fatal("op idx %i out of bounds\n", opIdx);
27352 return -1;
27353 }
27354 } // getOperandSize
27355
27356 void execute(GPUDynInstPtr) override;
27357 }; // Inst_VOP3__V_NOT_B32
27358
27360 {
27361 public:
27364
27365 int
27367 {
27369 } // getNumOperands
27370
27371 int numDstRegOperands() override { return 1; }
27372 int numSrcRegOperands() override { return 1; }
27373
27374 int
27375 getOperandSize(int opIdx) override
27376 {
27377 switch (opIdx) {
27378 case 0: //src
27379 return 4;
27380 case 1: //vdst
27381 return 4;
27382 default:
27383 fatal("op idx %i out of bounds\n", opIdx);
27384 return -1;
27385 }
27386 } // getOperandSize
27387
27388 void execute(GPUDynInstPtr) override;
27389 }; // Inst_VOP3__V_BFREV_B32
27390
27392 {
27393 public:
27396
27397 int
27399 {
27401 } // getNumOperands
27402
27403 int numDstRegOperands() override { return 1; }
27404 int numSrcRegOperands() override { return 1; }
27405
27406 int
27407 getOperandSize(int opIdx) override
27408 {
27409 switch (opIdx) {
27410 case 0: //src
27411 return 4;
27412 case 1: //vdst
27413 return 4;
27414 default:
27415 fatal("op idx %i out of bounds\n", opIdx);
27416 return -1;
27417 }
27418 } // getOperandSize
27419
27420 void execute(GPUDynInstPtr) override;
27421 }; // Inst_VOP3__V_FFBH_U32
27422
27424 {
27425 public:
27428
27429 int
27431 {
27433 } // getNumOperands
27434
27435 int numDstRegOperands() override { return 1; }
27436 int numSrcRegOperands() override { return 1; }
27437
27438 int
27439 getOperandSize(int opIdx) override
27440 {
27441 switch (opIdx) {
27442 case 0: //src
27443 return 4;
27444 case 1: //vdst
27445 return 4;
27446 default:
27447 fatal("op idx %i out of bounds\n", opIdx);
27448 return -1;
27449 }
27450 } // getOperandSize
27451
27452 void execute(GPUDynInstPtr) override;
27453 }; // Inst_VOP3__V_FFBL_B32
27454
27456 {
27457 public:
27460
27461 int
27463 {
27465 } // getNumOperands
27466
27467 int numDstRegOperands() override { return 1; }
27468 int numSrcRegOperands() override { return 1; }
27469
27470 int
27471 getOperandSize(int opIdx) override
27472 {
27473 switch (opIdx) {
27474 case 0: //src
27475 return 4;
27476 case 1: //vdst
27477 return 4;
27478 default:
27479 fatal("op idx %i out of bounds\n", opIdx);
27480 return -1;
27481 }
27482 } // getOperandSize
27483
27484 void execute(GPUDynInstPtr) override;
27485 }; // Inst_VOP3__V_FFBH_I32
27486
27488 {
27489 public:
27492
27493 int
27495 {
27497 } // getNumOperands
27498
27499 int numDstRegOperands() override { return 1; }
27500 int numSrcRegOperands() override { return 1; }
27501
27502 int
27503 getOperandSize(int opIdx) override
27504 {
27505 switch (opIdx) {
27506 case 0: //src
27507 return 8;
27508 case 1: //vdst
27509 return 4;
27510 default:
27511 fatal("op idx %i out of bounds\n", opIdx);
27512 return -1;
27513 }
27514 } // getOperandSize
27515
27516 void execute(GPUDynInstPtr) override;
27517 }; // Inst_VOP3__V_FREXP_EXP_I32_F64
27518
27520 {
27521 public:
27524
27525 int
27527 {
27529 } // getNumOperands
27530
27531 int numDstRegOperands() override { return 1; }
27532 int numSrcRegOperands() override { return 1; }
27533
27534 int
27535 getOperandSize(int opIdx) override
27536 {
27537 switch (opIdx) {
27538 case 0: //src
27539 return 8;
27540 case 1: //vdst
27541 return 8;
27542 default:
27543 fatal("op idx %i out of bounds\n", opIdx);
27544 return -1;
27545 }
27546 } // getOperandSize
27547
27548 void execute(GPUDynInstPtr) override;
27549 }; // Inst_VOP3__V_FREXP_MANT_F64
27550
27552 {
27553 public:
27556
27557 int
27559 {
27561 } // getNumOperands
27562
27563 int numDstRegOperands() override { return 1; }
27564 int numSrcRegOperands() override { return 1; }
27565
27566 int
27567 getOperandSize(int opIdx) override
27568 {
27569 switch (opIdx) {
27570 case 0: //src
27571 return 8;
27572 case 1: //vdst
27573 return 8;
27574 default:
27575 fatal("op idx %i out of bounds\n", opIdx);
27576 return -1;
27577 }
27578 } // getOperandSize
27579
27580 void execute(GPUDynInstPtr) override;
27581 }; // Inst_VOP3__V_FRACT_F64
27582
27584 {
27585 public:
27588
27589 int
27591 {
27593 } // getNumOperands
27594
27595 int numDstRegOperands() override { return 1; }
27596 int numSrcRegOperands() override { return 1; }
27597
27598 int
27599 getOperandSize(int opIdx) override
27600 {
27601 switch (opIdx) {
27602 case 0: //src
27603 return 4;
27604 case 1: //vdst
27605 return 4;
27606 default:
27607 fatal("op idx %i out of bounds\n", opIdx);
27608 return -1;
27609 }
27610 } // getOperandSize
27611
27612 void execute(GPUDynInstPtr) override;
27613 }; // Inst_VOP3__V_FREXP_EXP_I32_F32
27614
27616 {
27617 public:
27620
27621 int
27623 {
27625 } // getNumOperands
27626
27627 int numDstRegOperands() override { return 1; }
27628 int numSrcRegOperands() override { return 1; }
27629
27630 int
27631 getOperandSize(int opIdx) override
27632 {
27633 switch (opIdx) {
27634 case 0: //src
27635 return 4;
27636 case 1: //vdst
27637 return 4;
27638 default:
27639 fatal("op idx %i out of bounds\n", opIdx);
27640 return -1;
27641 }
27642 } // getOperandSize
27643
27644 void execute(GPUDynInstPtr) override;
27645 }; // Inst_VOP3__V_FREXP_MANT_F32
27646
27648 {
27649 public:
27652
27653 int
27655 {
27657 } // getNumOperands
27658
27659 int numDstRegOperands() override { return 0; }
27660 int numSrcRegOperands() override { return 0; }
27661
27662 int
27663 getOperandSize(int opIdx) override
27664 {
27665 switch (opIdx) {
27666 default:
27667 fatal("op idx %i out of bounds\n", opIdx);
27668 return -1;
27669 }
27670 } // getOperandSize
27671
27672 void execute(GPUDynInstPtr) override;
27673 }; // Inst_VOP3__V_CLREXCP
27674
27676 {
27677 public:
27680
27681 int
27683 {
27685 } // getNumOperands
27686
27687 int numDstRegOperands() override { return 1; }
27688 int numSrcRegOperands() override { return 1; }
27689
27690 int
27691 getOperandSize(int opIdx) override
27692 {
27693 switch (opIdx) {
27694 case 0: //src
27695 return 2;
27696 case 1: //vdst
27697 return 2;
27698 default:
27699 fatal("op idx %i out of bounds\n", opIdx);
27700 return -1;
27701 }
27702 } // getOperandSize
27703
27704 void execute(GPUDynInstPtr) override;
27705 }; // Inst_VOP3__V_CVT_F16_U16
27706
27708 {
27709 public:
27712
27713 int
27715 {
27717 } // getNumOperands
27718
27719 int numDstRegOperands() override { return 1; }
27720 int numSrcRegOperands() override { return 1; }
27721
27722 int
27723 getOperandSize(int opIdx) override
27724 {
27725 switch (opIdx) {
27726 case 0: //src
27727 return 2;
27728 case 1: //vdst
27729 return 2;
27730 default:
27731 fatal("op idx %i out of bounds\n", opIdx);
27732 return -1;
27733 }
27734 } // getOperandSize
27735
27736 void execute(GPUDynInstPtr) override;
27737 }; // Inst_VOP3__V_CVT_F16_I16
27738
27740 {
27741 public:
27744
27745 int
27747 {
27749 } // getNumOperands
27750
27751 int numDstRegOperands() override { return 1; }
27752 int numSrcRegOperands() override { return 1; }
27753
27754 int
27755 getOperandSize(int opIdx) override
27756 {
27757 switch (opIdx) {
27758 case 0: //src
27759 return 2;
27760 case 1: //vdst
27761 return 2;
27762 default:
27763 fatal("op idx %i out of bounds\n", opIdx);
27764 return -1;
27765 }
27766 } // getOperandSize
27767
27768 void execute(GPUDynInstPtr) override;
27769 }; // Inst_VOP3__V_CVT_U16_F16
27770
27772 {
27773 public:
27776
27777 int
27779 {
27781 } // getNumOperands
27782
27783 int numDstRegOperands() override { return 1; }
27784 int numSrcRegOperands() override { return 1; }
27785
27786 int
27787 getOperandSize(int opIdx) override
27788 {
27789 switch (opIdx) {
27790 case 0: //src
27791 return 2;
27792 case 1: //vdst
27793 return 2;
27794 default:
27795 fatal("op idx %i out of bounds\n", opIdx);
27796 return -1;
27797 }
27798 } // getOperandSize
27799
27800 void execute(GPUDynInstPtr) override;
27801 }; // Inst_VOP3__V_CVT_I16_F16
27802
27804 {
27805 public:
27808
27809 int
27811 {
27813 } // getNumOperands
27814
27815 int numDstRegOperands() override { return 1; }
27816 int numSrcRegOperands() override { return 1; }
27817
27818 int
27819 getOperandSize(int opIdx) override
27820 {
27821 switch (opIdx) {
27822 case 0: //src
27823 return 2;
27824 case 1: //vdst
27825 return 2;
27826 default:
27827 fatal("op idx %i out of bounds\n", opIdx);
27828 return -1;
27829 }
27830 } // getOperandSize
27831
27832 void execute(GPUDynInstPtr) override;
27833 }; // Inst_VOP3__V_RCP_F16
27834
27836 {
27837 public:
27840
27841 int
27843 {
27845 } // getNumOperands
27846
27847 int numDstRegOperands() override { return 1; }
27848 int numSrcRegOperands() override { return 1; }
27849
27850 int
27851 getOperandSize(int opIdx) override
27852 {
27853 switch (opIdx) {
27854 case 0: //src
27855 return 2;
27856 case 1: //vdst
27857 return 2;
27858 default:
27859 fatal("op idx %i out of bounds\n", opIdx);
27860 return -1;
27861 }
27862 } // getOperandSize
27863
27864 void execute(GPUDynInstPtr) override;
27865 }; // Inst_VOP3__V_SQRT_F16
27866
27868 {
27869 public:
27872
27873 int
27875 {
27877 } // getNumOperands
27878
27879 int numDstRegOperands() override { return 1; }
27880 int numSrcRegOperands() override { return 1; }
27881
27882 int
27883 getOperandSize(int opIdx) override
27884 {
27885 switch (opIdx) {
27886 case 0: //src
27887 return 2;
27888 case 1: //vdst
27889 return 2;
27890 default:
27891 fatal("op idx %i out of bounds\n", opIdx);
27892 return -1;
27893 }
27894 } // getOperandSize
27895
27896 void execute(GPUDynInstPtr) override;
27897 }; // Inst_VOP3__V_RSQ_F16
27898
27900 {
27901 public:
27904
27905 int
27907 {
27909 } // getNumOperands
27910
27911 int numDstRegOperands() override { return 1; }
27912 int numSrcRegOperands() override { return 1; }
27913
27914 int
27915 getOperandSize(int opIdx) override
27916 {
27917 switch (opIdx) {
27918 case 0: //src
27919 return 2;
27920 case 1: //vdst
27921 return 2;
27922 default:
27923 fatal("op idx %i out of bounds\n", opIdx);
27924 return -1;
27925 }
27926 } // getOperandSize
27927
27928 void execute(GPUDynInstPtr) override;
27929 }; // Inst_VOP3__V_LOG_F16
27930
27932 {
27933 public:
27936
27937 int
27939 {
27941 } // getNumOperands
27942
27943 int numDstRegOperands() override { return 1; }
27944 int numSrcRegOperands() override { return 1; }
27945
27946 int
27947 getOperandSize(int opIdx) override
27948 {
27949 switch (opIdx) {
27950 case 0: //src
27951 return 2;
27952 case 1: //vdst
27953 return 2;
27954 default:
27955 fatal("op idx %i out of bounds\n", opIdx);
27956 return -1;
27957 }
27958 } // getOperandSize
27959
27960 void execute(GPUDynInstPtr) override;
27961 }; // Inst_VOP3__V_EXP_F16
27962
27964 {
27965 public:
27968
27969 int
27971 {
27973 } // getNumOperands
27974
27975 int numDstRegOperands() override { return 1; }
27976 int numSrcRegOperands() override { return 1; }
27977
27978 int
27979 getOperandSize(int opIdx) override
27980 {
27981 switch (opIdx) {
27982 case 0: //src
27983 return 2;
27984 case 1: //vdst
27985 return 2;
27986 default:
27987 fatal("op idx %i out of bounds\n", opIdx);
27988 return -1;
27989 }
27990 } // getOperandSize
27991
27992 void execute(GPUDynInstPtr) override;
27993 }; // Inst_VOP3__V_FREXP_MANT_F16
27994
27996 {
27997 public:
28000
28001 int
28003 {
28005 } // getNumOperands
28006
28007 int numDstRegOperands() override { return 1; }
28008 int numSrcRegOperands() override { return 1; }
28009
28010 int
28011 getOperandSize(int opIdx) override
28012 {
28013 switch (opIdx) {
28014 case 0: //src
28015 return 2;
28016 case 1: //vdst
28017 return 2;
28018 default:
28019 fatal("op idx %i out of bounds\n", opIdx);
28020 return -1;
28021 }
28022 } // getOperandSize
28023
28024 void execute(GPUDynInstPtr) override;
28025 }; // Inst_VOP3__V_FREXP_EXP_I16_F16
28026
28028 {
28029 public:
28032
28033 int
28035 {
28037 } // getNumOperands
28038
28039 int numDstRegOperands() override { return 1; }
28040 int numSrcRegOperands() override { return 1; }
28041
28042 int
28043 getOperandSize(int opIdx) override
28044 {
28045 switch (opIdx) {
28046 case 0: //src
28047 return 2;
28048 case 1: //vdst
28049 return 2;
28050 default:
28051 fatal("op idx %i out of bounds\n", opIdx);
28052 return -1;
28053 }
28054 } // getOperandSize
28055
28056 void execute(GPUDynInstPtr) override;
28057 }; // Inst_VOP3__V_FLOOR_F16
28058
28060 {
28061 public:
28064
28065 int
28067 {
28069 } // getNumOperands
28070
28071 int numDstRegOperands() override { return 1; }
28072 int numSrcRegOperands() override { return 1; }
28073
28074 int
28075 getOperandSize(int opIdx) override
28076 {
28077 switch (opIdx) {
28078 case 0: //src
28079 return 2;
28080 case 1: //vdst
28081 return 2;
28082 default:
28083 fatal("op idx %i out of bounds\n", opIdx);
28084 return -1;
28085 }
28086 } // getOperandSize
28087
28088 void execute(GPUDynInstPtr) override;
28089 }; // Inst_VOP3__V_CEIL_F16
28090
28092 {
28093 public:
28096
28097 int
28099 {
28101 } // getNumOperands
28102
28103 int numDstRegOperands() override { return 1; }
28104 int numSrcRegOperands() override { return 1; }
28105
28106 int
28107 getOperandSize(int opIdx) override
28108 {
28109 switch (opIdx) {
28110 case 0: //src
28111 return 2;
28112 case 1: //vdst
28113 return 2;
28114 default:
28115 fatal("op idx %i out of bounds\n", opIdx);
28116 return -1;
28117 }
28118 } // getOperandSize
28119
28120 void execute(GPUDynInstPtr) override;
28121 }; // Inst_VOP3__V_TRUNC_F16
28122
28124 {
28125 public:
28128
28129 int
28131 {
28133 } // getNumOperands
28134
28135 int numDstRegOperands() override { return 1; }
28136 int numSrcRegOperands() override { return 1; }
28137
28138 int
28139 getOperandSize(int opIdx) override
28140 {
28141 switch (opIdx) {
28142 case 0: //src
28143 return 2;
28144 case 1: //vdst
28145 return 2;
28146 default:
28147 fatal("op idx %i out of bounds\n", opIdx);
28148 return -1;
28149 }
28150 } // getOperandSize
28151
28152 void execute(GPUDynInstPtr) override;
28153 }; // Inst_VOP3__V_RNDNE_F16
28154
28156 {
28157 public:
28160
28161 int
28163 {
28165 } // getNumOperands
28166
28167 int numDstRegOperands() override { return 1; }
28168 int numSrcRegOperands() override { return 1; }
28169
28170 int
28171 getOperandSize(int opIdx) override
28172 {
28173 switch (opIdx) {
28174 case 0: //src
28175 return 2;
28176 case 1: //vdst
28177 return 2;
28178 default:
28179 fatal("op idx %i out of bounds\n", opIdx);
28180 return -1;
28181 }
28182 } // getOperandSize
28183
28184 void execute(GPUDynInstPtr) override;
28185 }; // Inst_VOP3__V_FRACT_F16
28186
28188 {
28189 public:
28192
28193 int
28195 {
28197 } // getNumOperands
28198
28199 int numDstRegOperands() override { return 1; }
28200 int numSrcRegOperands() override { return 1; }
28201
28202 int
28203 getOperandSize(int opIdx) override
28204 {
28205 switch (opIdx) {
28206 case 0: //src
28207 return 2;
28208 case 1: //vdst
28209 return 2;
28210 default:
28211 fatal("op idx %i out of bounds\n", opIdx);
28212 return -1;
28213 }
28214 } // getOperandSize
28215
28216 void execute(GPUDynInstPtr) override;
28217 }; // Inst_VOP3__V_SIN_F16
28218
28220 {
28221 public:
28224
28225 int
28227 {
28229 } // getNumOperands
28230
28231 int numDstRegOperands() override { return 1; }
28232 int numSrcRegOperands() override { return 1; }
28233
28234 int
28235 getOperandSize(int opIdx) override
28236 {
28237 switch (opIdx) {
28238 case 0: //src
28239 return 2;
28240 case 1: //vdst
28241 return 2;
28242 default:
28243 fatal("op idx %i out of bounds\n", opIdx);
28244 return -1;
28245 }
28246 } // getOperandSize
28247
28248 void execute(GPUDynInstPtr) override;
28249 }; // Inst_VOP3__V_COS_F16
28250
28252 {
28253 public:
28256
28257 int
28259 {
28261 } // getNumOperands
28262
28263 int numDstRegOperands() override { return 1; }
28264 int numSrcRegOperands() override { return 1; }
28265
28266 int
28267 getOperandSize(int opIdx) override
28268 {
28269 switch (opIdx) {
28270 case 0: //src
28271 return 4;
28272 case 1: //vdst
28273 return 4;
28274 default:
28275 fatal("op idx %i out of bounds\n", opIdx);
28276 return -1;
28277 }
28278 } // getOperandSize
28279
28280 void execute(GPUDynInstPtr) override;
28281 }; // Inst_VOP3__V_EXP_LEGACY_F32
28282
28284 {
28285 public:
28288
28289 int
28291 {
28293 } // getNumOperands
28294
28295 int numDstRegOperands() override { return 1; }
28296 int numSrcRegOperands() override { return 1; }
28297
28298 int
28299 getOperandSize(int opIdx) override
28300 {
28301 switch (opIdx) {
28302 case 0: //src
28303 return 4;
28304 case 1: //vdst
28305 return 4;
28306 default:
28307 fatal("op idx %i out of bounds\n", opIdx);
28308 return -1;
28309 }
28310 } // getOperandSize
28311
28312 void execute(GPUDynInstPtr) override;
28313 }; // Inst_VOP3__V_LOG_LEGACY_F32
28314
28316 {
28317 public:
28320
28321 int
28323 {
28325 } // getNumOperands
28326
28327 int numDstRegOperands() override { return 1; }
28328 int numSrcRegOperands() override { return 3; }
28329
28330 int
28331 getOperandSize(int opIdx) override
28332 {
28333 switch (opIdx) {
28334 case 0: //src_0
28335 return 4;
28336 case 1: //src_1
28337 return 4;
28338 case 2: //src_2
28339 return 4;
28340 case 3: //vdst
28341 return 4;
28342 default:
28343 fatal("op idx %i out of bounds\n", opIdx);
28344 return -1;
28345 }
28346 } // getOperandSize
28347
28348 void execute(GPUDynInstPtr) override;
28349 }; // Inst_VOP3__V_MAD_LEGACY_F32
28350
28352 {
28353 public:
28356
28357 int
28359 {
28361 } // getNumOperands
28362
28363 int numDstRegOperands() override { return 1; }
28364 int numSrcRegOperands() override { return 3; }
28365
28366 int
28367 getOperandSize(int opIdx) override
28368 {
28369 switch (opIdx) {
28370 case 0: //src_0
28371 return 4;
28372 case 1: //src_1
28373 return 4;
28374 case 2: //src_2
28375 return 4;
28376 case 3: //vdst
28377 return 4;
28378 default:
28379 fatal("op idx %i out of bounds\n", opIdx);
28380 return -1;
28381 }
28382 } // getOperandSize
28383
28384 void execute(GPUDynInstPtr) override;
28385 }; // Inst_VOP3__V_MAD_F32
28386
28388 {
28389 public:
28392
28393 int
28395 {
28397 } // getNumOperands
28398
28399 int numDstRegOperands() override { return 1; }
28400 int numSrcRegOperands() override { return 3; }
28401
28402 int
28403 getOperandSize(int opIdx) override
28404 {
28405 switch (opIdx) {
28406 case 0: //src_0
28407 return 4;
28408 case 1: //src_1
28409 return 4;
28410 case 2: //src_2
28411 return 4;
28412 case 3: //vdst
28413 return 4;
28414 default:
28415 fatal("op idx %i out of bounds\n", opIdx);
28416 return -1;
28417 }
28418 } // getOperandSize
28419
28420 void execute(GPUDynInstPtr) override;
28421 }; // Inst_VOP3__V_MAD_I32_I24
28422
28424 {
28425 public:
28428
28429 int
28431 {
28433 } // getNumOperands
28434
28435 int numDstRegOperands() override { return 1; }
28436 int numSrcRegOperands() override { return 3; }
28437
28438 int
28439 getOperandSize(int opIdx) override
28440 {
28441 switch (opIdx) {
28442 case 0: //src_0
28443 return 4;
28444 case 1: //src_1
28445 return 4;
28446 case 2: //src_2
28447 return 4;
28448 case 3: //vdst
28449 return 4;
28450 default:
28451 fatal("op idx %i out of bounds\n", opIdx);
28452 return -1;
28453 }
28454 } // getOperandSize
28455
28456 void execute(GPUDynInstPtr) override;
28457 }; // Inst_VOP3__V_MAD_U32_U24
28458
28460 {
28461 public:
28464
28465 int
28467 {
28469 } // getNumOperands
28470
28471 int numDstRegOperands() override { return 1; }
28472 int numSrcRegOperands() override { return 3; }
28473
28474 int
28475 getOperandSize(int opIdx) override
28476 {
28477 switch (opIdx) {
28478 case 0: //src_0
28479 return 4;
28480 case 1: //src_1
28481 return 4;
28482 case 2: //src_2
28483 return 4;
28484 case 3: //vdst
28485 return 4;
28486 default:
28487 fatal("op idx %i out of bounds\n", opIdx);
28488 return -1;
28489 }
28490 } // getOperandSize
28491
28492 void execute(GPUDynInstPtr) override;
28493 }; // Inst_VOP3__V_CUBEID_F32
28494
28496 {
28497 public:
28500
28501 int
28503 {
28505 } // getNumOperands
28506
28507 int numDstRegOperands() override { return 1; }
28508 int numSrcRegOperands() override { return 3; }
28509
28510 int
28511 getOperandSize(int opIdx) override
28512 {
28513 switch (opIdx) {
28514 case 0: //src_0
28515 return 4;
28516 case 1: //src_1
28517 return 4;
28518 case 2: //src_2
28519 return 4;
28520 case 3: //vdst
28521 return 4;
28522 default:
28523 fatal("op idx %i out of bounds\n", opIdx);
28524 return -1;
28525 }
28526 } // getOperandSize
28527
28528 void execute(GPUDynInstPtr) override;
28529 }; // Inst_VOP3__V_CUBESC_F32
28530
28532 {
28533 public:
28536
28537 int
28539 {
28541 } // getNumOperands
28542
28543 int numDstRegOperands() override { return 1; }
28544 int numSrcRegOperands() override { return 3; }
28545
28546 int
28547 getOperandSize(int opIdx) override
28548 {
28549 switch (opIdx) {
28550 case 0: //src_0
28551 return 4;
28552 case 1: //src_1
28553 return 4;
28554 case 2: //src_2
28555 return 4;
28556 case 3: //vdst
28557 return 4;
28558 default:
28559 fatal("op idx %i out of bounds\n", opIdx);
28560 return -1;
28561 }
28562 } // getOperandSize
28563
28564 void execute(GPUDynInstPtr) override;
28565 }; // Inst_VOP3__V_CUBETC_F32
28566
28568 {
28569 public:
28572
28573 int
28575 {
28577 } // getNumOperands
28578
28579 int numDstRegOperands() override { return 1; }
28580 int numSrcRegOperands() override { return 3; }
28581
28582 int
28583 getOperandSize(int opIdx) override
28584 {
28585 switch (opIdx) {
28586 case 0: //src_0
28587 return 4;
28588 case 1: //src_1
28589 return 4;
28590 case 2: //src_2
28591 return 4;
28592 case 3: //vdst
28593 return 4;
28594 default:
28595 fatal("op idx %i out of bounds\n", opIdx);
28596 return -1;
28597 }
28598 } // getOperandSize
28599
28600 void execute(GPUDynInstPtr) override;
28601 }; // Inst_VOP3__V_CUBEMA_F32
28602
28604 {
28605 public:
28608
28609 int
28611 {
28613 } // getNumOperands
28614
28615 int numDstRegOperands() override { return 1; }
28616 int numSrcRegOperands() override { return 3; }
28617
28618 int
28619 getOperandSize(int opIdx) override
28620 {
28621 switch (opIdx) {
28622 case 0: //src_0
28623 return 4;
28624 case 1: //src_1
28625 return 4;
28626 case 2: //src_2
28627 return 4;
28628 case 3: //vdst
28629 return 4;
28630 default:
28631 fatal("op idx %i out of bounds\n", opIdx);
28632 return -1;
28633 }
28634 } // getOperandSize
28635
28636 void execute(GPUDynInstPtr) override;
28637 }; // Inst_VOP3__V_BFE_U32
28638
28640 {
28641 public:
28644
28645 int
28647 {
28649 } // getNumOperands
28650
28651 int numDstRegOperands() override { return 1; }
28652 int numSrcRegOperands() override { return 3; }
28653
28654 int
28655 getOperandSize(int opIdx) override
28656 {
28657 switch (opIdx) {
28658 case 0: //src_0
28659 return 4;
28660 case 1: //src_1
28661 return 4;
28662 case 2: //src_2
28663 return 4;
28664 case 3: //vdst
28665 return 4;
28666 default:
28667 fatal("op idx %i out of bounds\n", opIdx);
28668 return -1;
28669 }
28670 } // getOperandSize
28671
28672 void execute(GPUDynInstPtr) override;
28673 }; // Inst_VOP3__V_BFE_I32
28674
28676 {
28677 public:
28680
28681 int
28683 {
28685 } // getNumOperands
28686
28687 int numDstRegOperands() override { return 1; }
28688 int numSrcRegOperands() override { return 3; }
28689
28690 int
28691 getOperandSize(int opIdx) override
28692 {
28693 switch (opIdx) {
28694 case 0: //src_0
28695 return 4;
28696 case 1: //src_1
28697 return 4;
28698 case 2: //src_2
28699 return 4;
28700 case 3: //vdst
28701 return 4;
28702 default:
28703 fatal("op idx %i out of bounds\n", opIdx);
28704 return -1;
28705 }
28706 } // getOperandSize
28707
28708 void execute(GPUDynInstPtr) override;
28709 }; // Inst_VOP3__V_BFI_B32
28710
28712 {
28713 public:
28716
28717 int
28719 {
28721 } // getNumOperands
28722
28723 int numDstRegOperands() override { return 1; }
28724 int numSrcRegOperands() override { return 3; }
28725
28726 int
28727 getOperandSize(int opIdx) override
28728 {
28729 switch (opIdx) {
28730 case 0: //src_0
28731 return 4;
28732 case 1: //src_1
28733 return 4;
28734 case 2: //src_2
28735 return 4;
28736 case 3: //vdst
28737 return 4;
28738 default:
28739 fatal("op idx %i out of bounds\n", opIdx);
28740 return -1;
28741 }
28742 } // getOperandSize
28743
28744 void execute(GPUDynInstPtr) override;
28745 }; // Inst_VOP3__V_FMA_F32
28746
28748 {
28749 public:
28752
28753 int
28755 {
28757 } // getNumOperands
28758
28759 int numDstRegOperands() override { return 1; }
28760 int numSrcRegOperands() override { return 3; }
28761
28762 int
28763 getOperandSize(int opIdx) override
28764 {
28765 switch (opIdx) {
28766 case 0: //src_0
28767 return 8;
28768 case 1: //src_1
28769 return 8;
28770 case 2: //src_2
28771 return 8;
28772 case 3: //vdst
28773 return 8;
28774 default:
28775 fatal("op idx %i out of bounds\n", opIdx);
28776 return -1;
28777 }
28778 } // getOperandSize
28779
28780 void execute(GPUDynInstPtr) override;
28781 }; // Inst_VOP3__V_FMA_F64
28782
28784 {
28785 public:
28788
28789 int
28791 {
28793 } // getNumOperands
28794
28795 int numDstRegOperands() override { return 1; }
28796 int numSrcRegOperands() override { return 3; }
28797
28798 int
28799 getOperandSize(int opIdx) override
28800 {
28801 switch (opIdx) {
28802 case 0: //src_0
28803 return 4;
28804 case 1: //src_1
28805 return 4;
28806 case 2: //src_2
28807 return 4;
28808 case 3: //vdst
28809 return 4;
28810 default:
28811 fatal("op idx %i out of bounds\n", opIdx);
28812 return -1;
28813 }
28814 } // getOperandSize
28815
28816 void execute(GPUDynInstPtr) override;
28817 }; // Inst_VOP3__V_LERP_U8
28818
28820 {
28821 public:
28824
28825 int
28827 {
28829 } // getNumOperands
28830
28831 int numDstRegOperands() override { return 1; }
28832 int numSrcRegOperands() override { return 3; }
28833
28834 int
28835 getOperandSize(int opIdx) override
28836 {
28837 switch (opIdx) {
28838 case 0: //src_0
28839 return 4;
28840 case 1: //src_1
28841 return 4;
28842 case 2: //src_2
28843 return 4;
28844 case 3: //vdst
28845 return 4;
28846 default:
28847 fatal("op idx %i out of bounds\n", opIdx);
28848 return -1;
28849 }
28850 } // getOperandSize
28851
28852 void execute(GPUDynInstPtr) override;
28853 }; // Inst_VOP3__V_ALIGNBIT_B32
28854
28856 {
28857 public:
28860
28861 int
28863 {
28865 } // getNumOperands
28866
28867 int numDstRegOperands() override { return 1; }
28868 int numSrcRegOperands() override { return 3; }
28869
28870 int
28871 getOperandSize(int opIdx) override
28872 {
28873 switch (opIdx) {
28874 case 0: //src_0
28875 return 4;
28876 case 1: //src_1
28877 return 4;
28878 case 2: //src_2
28879 return 4;
28880 case 3: //vdst
28881 return 4;
28882 default:
28883 fatal("op idx %i out of bounds\n", opIdx);
28884 return -1;
28885 }
28886 } // getOperandSize
28887
28888 void execute(GPUDynInstPtr) override;
28889 }; // Inst_VOP3__V_ALIGNBYTE_B32
28890
28892 {
28893 public:
28896
28897 int
28899 {
28901 } // getNumOperands
28902
28903 int numDstRegOperands() override { return 1; }
28904 int numSrcRegOperands() override { return 3; }
28905
28906 int
28907 getOperandSize(int opIdx) override
28908 {
28909 switch (opIdx) {
28910 case 0: //src_0
28911 return 4;
28912 case 1: //src_1
28913 return 4;
28914 case 2: //src_2
28915 return 4;
28916 case 3: //vdst
28917 return 4;
28918 default:
28919 fatal("op idx %i out of bounds\n", opIdx);
28920 return -1;
28921 }
28922 } // getOperandSize
28923
28924 void execute(GPUDynInstPtr) override;
28925 }; // Inst_VOP3__V_MIN3_F32
28926
28928 {
28929 public:
28932
28933 int
28935 {
28937 } // getNumOperands
28938
28939 int numDstRegOperands() override { return 1; }
28940 int numSrcRegOperands() override { return 3; }
28941
28942 int
28943 getOperandSize(int opIdx) override
28944 {
28945 switch (opIdx) {
28946 case 0: //src_0
28947 return 4;
28948 case 1: //src_1
28949 return 4;
28950 case 2: //src_2
28951 return 4;
28952 case 3: //vdst
28953 return 4;
28954 default:
28955 fatal("op idx %i out of bounds\n", opIdx);
28956 return -1;
28957 }
28958 } // getOperandSize
28959
28960 void execute(GPUDynInstPtr) override;
28961 }; // Inst_VOP3__V_MIN3_I32
28962
28964 {
28965 public:
28968
28969 int
28971 {
28973 } // getNumOperands
28974
28975 int numDstRegOperands() override { return 1; }
28976 int numSrcRegOperands() override { return 3; }
28977
28978 int
28979 getOperandSize(int opIdx) override
28980 {
28981 switch (opIdx) {
28982 case 0: //src_0
28983 return 4;
28984 case 1: //src_1
28985 return 4;
28986 case 2: //src_2
28987 return 4;
28988 case 3: //vdst
28989 return 4;
28990 default:
28991 fatal("op idx %i out of bounds\n", opIdx);
28992 return -1;
28993 }
28994 } // getOperandSize
28995
28996 void execute(GPUDynInstPtr) override;
28997 }; // Inst_VOP3__V_MIN3_U32
28998
29000 {
29001 public:
29004
29005 int
29007 {
29009 } // getNumOperands
29010
29011 int numDstRegOperands() override { return 1; }
29012 int numSrcRegOperands() override { return 3; }
29013
29014 int
29015 getOperandSize(int opIdx) override
29016 {
29017 switch (opIdx) {
29018 case 0: //src_0
29019 return 4;
29020 case 1: //src_1
29021 return 4;
29022 case 2: //src_2
29023 return 4;
29024 case 3: //vdst
29025 return 4;
29026 default:
29027 fatal("op idx %i out of bounds\n", opIdx);
29028 return -1;
29029 }
29030 } // getOperandSize
29031
29032 void execute(GPUDynInstPtr) override;
29033 }; // Inst_VOP3__V_MAX3_F32
29034
29036 {
29037 public:
29040
29041 int
29043 {
29045 } // getNumOperands
29046
29047 int numDstRegOperands() override { return 1; }
29048 int numSrcRegOperands() override { return 3; }
29049
29050 int
29051 getOperandSize(int opIdx) override
29052 {
29053 switch (opIdx) {
29054 case 0: //src_0
29055 return 4;
29056 case 1: //src_1
29057 return 4;
29058 case 2: //src_2
29059 return 4;
29060 case 3: //vdst
29061 return 4;
29062 default:
29063 fatal("op idx %i out of bounds\n", opIdx);
29064 return -1;
29065 }
29066 } // getOperandSize
29067
29068 void execute(GPUDynInstPtr) override;
29069 }; // Inst_VOP3__V_MAX3_I32
29070
29072 {
29073 public:
29076
29077 int
29079 {
29081 } // getNumOperands
29082
29083 int numDstRegOperands() override { return 1; }
29084 int numSrcRegOperands() override { return 3; }
29085
29086 int
29087 getOperandSize(int opIdx) override
29088 {
29089 switch (opIdx) {
29090 case 0: //src_0
29091 return 4;
29092 case 1: //src_1
29093 return 4;
29094 case 2: //src_2
29095 return 4;
29096 case 3: //vdst
29097 return 4;
29098 default:
29099 fatal("op idx %i out of bounds\n", opIdx);
29100 return -1;
29101 }
29102 } // getOperandSize
29103
29104 void execute(GPUDynInstPtr) override;
29105 }; // Inst_VOP3__V_MAX3_U32
29106
29108 {
29109 public:
29112
29113 int
29115 {
29117 } // getNumOperands
29118
29119 int numDstRegOperands() override { return 1; }
29120 int numSrcRegOperands() override { return 3; }
29121
29122 int
29123 getOperandSize(int opIdx) override
29124 {
29125 switch (opIdx) {
29126 case 0: //src_0
29127 return 4;
29128 case 1: //src_1
29129 return 4;
29130 case 2: //src_2
29131 return 4;
29132 case 3: //vdst
29133 return 4;
29134 default:
29135 fatal("op idx %i out of bounds\n", opIdx);
29136 return -1;
29137 }
29138 } // getOperandSize
29139
29140 void execute(GPUDynInstPtr) override;
29141 }; // Inst_VOP3__V_MED3_F32
29142
29144 {
29145 public:
29148
29149 int
29151 {
29153 } // getNumOperands
29154
29155 int numDstRegOperands() override { return 1; }
29156 int numSrcRegOperands() override { return 3; }
29157
29158 int
29159 getOperandSize(int opIdx) override
29160 {
29161 switch (opIdx) {
29162 case 0: //src_0
29163 return 4;
29164 case 1: //src_1
29165 return 4;
29166 case 2: //src_2
29167 return 4;
29168 case 3: //vdst
29169 return 4;
29170 default:
29171 fatal("op idx %i out of bounds\n", opIdx);
29172 return -1;
29173 }
29174 } // getOperandSize
29175
29176 void execute(GPUDynInstPtr) override;
29177 }; // Inst_VOP3__V_MED3_I32
29178
29180 {
29181 public:
29184
29185 int
29187 {
29189 } // getNumOperands
29190
29191 int numDstRegOperands() override { return 1; }
29192 int numSrcRegOperands() override { return 3; }
29193
29194 int
29195 getOperandSize(int opIdx) override
29196 {
29197 switch (opIdx) {
29198 case 0: //src_0
29199 return 4;
29200 case 1: //src_1
29201 return 4;
29202 case 2: //src_2
29203 return 4;
29204 case 3: //vdst
29205 return 4;
29206 default:
29207 fatal("op idx %i out of bounds\n", opIdx);
29208 return -1;
29209 }
29210 } // getOperandSize
29211
29212 void execute(GPUDynInstPtr) override;
29213 }; // Inst_VOP3__V_MED3_U32
29214
29216 {
29217 public:
29220
29221 int
29223 {
29225 } // getNumOperands
29226
29227 int numDstRegOperands() override { return 1; }
29228 int numSrcRegOperands() override { return 3; }
29229
29230 int
29231 getOperandSize(int opIdx) override
29232 {
29233 switch (opIdx) {
29234 case 0: //src_0
29235 return 4;
29236 case 1: //src_1
29237 return 4;
29238 case 2: //src_2
29239 return 4;
29240 case 3: //vdst
29241 return 4;
29242 default:
29243 fatal("op idx %i out of bounds\n", opIdx);
29244 return -1;
29245 }
29246 } // getOperandSize
29247
29248 void execute(GPUDynInstPtr) override;
29249 }; // Inst_VOP3__V_SAD_U8
29250
29252 {
29253 public:
29256
29257 int
29259 {
29261 } // getNumOperands
29262
29263 int numDstRegOperands() override { return 1; }
29264 int numSrcRegOperands() override { return 3; }
29265
29266 int
29267 getOperandSize(int opIdx) override
29268 {
29269 switch (opIdx) {
29270 case 0: //src_0
29271 return 4;
29272 case 1: //src_1
29273 return 4;
29274 case 2: //src_2
29275 return 4;
29276 case 3: //vdst
29277 return 4;
29278 default:
29279 fatal("op idx %i out of bounds\n", opIdx);
29280 return -1;
29281 }
29282 } // getOperandSize
29283
29284 void execute(GPUDynInstPtr) override;
29285 }; // Inst_VOP3__V_SAD_HI_U8
29286
29288 {
29289 public:
29292
29293 int
29295 {
29297 } // getNumOperands
29298
29299 int numDstRegOperands() override { return 1; }
29300 int numSrcRegOperands() override { return 3; }
29301
29302 int
29303 getOperandSize(int opIdx) override
29304 {
29305 switch (opIdx) {
29306 case 0: //src_0
29307 return 4;
29308 case 1: //src_1
29309 return 4;
29310 case 2: //src_2
29311 return 4;
29312 case 3: //vdst
29313 return 4;
29314 default:
29315 fatal("op idx %i out of bounds\n", opIdx);
29316 return -1;
29317 }
29318 } // getOperandSize
29319
29320 void execute(GPUDynInstPtr) override;
29321 }; // Inst_VOP3__V_SAD_U16
29322
29324 {
29325 public:
29328
29329 int
29331 {
29333 } // getNumOperands
29334
29335 int numDstRegOperands() override { return 1; }
29336 int numSrcRegOperands() override { return 3; }
29337
29338 int
29339 getOperandSize(int opIdx) override
29340 {
29341 switch (opIdx) {
29342 case 0: //src_0
29343 return 4;
29344 case 1: //src_1
29345 return 4;
29346 case 2: //src_2
29347 return 4;
29348 case 3: //vdst
29349 return 4;
29350 default:
29351 fatal("op idx %i out of bounds\n", opIdx);
29352 return -1;
29353 }
29354 } // getOperandSize
29355
29356 void execute(GPUDynInstPtr) override;
29357 }; // Inst_VOP3__V_SAD_U32
29358
29360 {
29361 public:
29364
29365 int
29367 {
29369 } // getNumOperands
29370
29371 int numDstRegOperands() override { return 1; }
29372 int numSrcRegOperands() override { return 3; }
29373
29374 int
29375 getOperandSize(int opIdx) override
29376 {
29377 switch (opIdx) {
29378 case 0: //src_0
29379 return 4;
29380 case 1: //src_1
29381 return 4;
29382 case 2: //src_2
29383 return 4;
29384 case 3: //vdst
29385 return 4;
29386 default:
29387 fatal("op idx %i out of bounds\n", opIdx);
29388 return -1;
29389 }
29390 } // getOperandSize
29391
29392 void execute(GPUDynInstPtr) override;
29393 }; // Inst_VOP3__V_CVT_PK_U8_F32
29394
29396 {
29397 public:
29400
29401 int
29403 {
29405 } // getNumOperands
29406
29407 int numDstRegOperands() override { return 1; }
29408 int numSrcRegOperands() override { return 3; }
29409
29410 int
29411 getOperandSize(int opIdx) override
29412 {
29413 switch (opIdx) {
29414 case 0: //src_0
29415 return 4;
29416 case 1: //src_1
29417 return 4;
29418 case 2: //src_2
29419 return 4;
29420 case 3: //vdst
29421 return 4;
29422 default:
29423 fatal("op idx %i out of bounds\n", opIdx);
29424 return -1;
29425 }
29426 } // getOperandSize
29427
29428 void execute(GPUDynInstPtr) override;
29429 }; // Inst_VOP3__V_DIV_FIXUP_F32
29430
29432 {
29433 public:
29436
29437 int
29439 {
29441 } // getNumOperands
29442
29443 int numDstRegOperands() override { return 1; }
29444 int numSrcRegOperands() override { return 3; }
29445
29446 int
29447 getOperandSize(int opIdx) override
29448 {
29449 switch (opIdx) {
29450 case 0: //src_0
29451 return 8;
29452 case 1: //src_1
29453 return 8;
29454 case 2: //src_2
29455 return 8;
29456 case 3: //vdst
29457 return 8;
29458 default:
29459 fatal("op idx %i out of bounds\n", opIdx);
29460 return -1;
29461 }
29462 } // getOperandSize
29463
29464 void execute(GPUDynInstPtr) override;
29465 }; // Inst_VOP3__V_DIV_FIXUP_F64
29466
29468 {
29469 public:
29472
29473 int
29475 {
29477 } // getNumOperands
29478
29479 int numDstRegOperands() override { return 2; }
29480 int numSrcRegOperands() override { return 3; }
29481
29482 int
29483 getOperandSize(int opIdx) override
29484 {
29485 switch (opIdx) {
29486 case 0: //src_0
29487 return 4;
29488 case 1: //src_1
29489 return 4;
29490 case 2: //src_2
29491 return 4;
29492 case 3: //vdst
29493 return 4;
29494 case 4: //vcc
29495 return 8;
29496 default:
29497 fatal("op idx %i out of bounds\n", opIdx);
29498 return -1;
29499 }
29500 } // getOperandSize
29501
29502 void execute(GPUDynInstPtr) override;
29503 }; // Inst_VOP3__V_DIV_SCALE_F32
29504
29506 {
29507 public:
29510
29511 int
29513 {
29515 } // getNumOperands
29516
29517 int numDstRegOperands() override { return 2; }
29518 int numSrcRegOperands() override { return 3; }
29519
29520 int
29521 getOperandSize(int opIdx) override
29522 {
29523 switch (opIdx) {
29524 case 0: //src_0
29525 return 8;
29526 case 1: //src_1
29527 return 8;
29528 case 2: //src_2
29529 return 8;
29530 case 3: //vdst
29531 return 8;
29532 case 4: //vcc
29533 return 8;
29534 default:
29535 fatal("op idx %i out of bounds\n", opIdx);
29536 return -1;
29537 }
29538 } // getOperandSize
29539
29540 void execute(GPUDynInstPtr) override;
29541 }; // Inst_VOP3__V_DIV_SCALE_F64
29542
29544 {
29545 public:
29548
29549 int
29551 {
29553 } // getNumOperands
29554
29555 int numDstRegOperands() override { return 1; }
29556 int numSrcRegOperands() override { return 4; }
29557
29558 int
29559 getOperandSize(int opIdx) override
29560 {
29561 switch (opIdx) {
29562 case 0: //src_0
29563 return 4;
29564 case 1: //src_1
29565 return 4;
29566 case 2: //src_2
29567 return 4;
29568 case 3:
29569 return 8;
29570 case 4: //vdst
29571 return 4;
29572 default:
29573 fatal("op idx %i out of bounds\n", opIdx);
29574 return -1;
29575 }
29576 } // getOperandSize
29577
29578 void execute(GPUDynInstPtr) override;
29579 }; // Inst_VOP3__V_DIV_FMAS_F32
29580
29582 {
29583 public:
29586
29587 int
29589 {
29591 } // getNumOperands
29592
29593 int numDstRegOperands() override { return 1; }
29594 int numSrcRegOperands() override { return 3; }
29595
29596 int
29597 getOperandSize(int opIdx) override
29598 {
29599 switch (opIdx) {
29600 case 0: //src_0
29601 return 8;
29602 case 1: //src_1
29603 return 8;
29604 case 2: //src_2
29605 return 8;
29606 case 3: //vdst
29607 return 8;
29608 default:
29609 fatal("op idx %i out of bounds\n", opIdx);
29610 return -1;
29611 }
29612 } // getOperandSize
29613
29614 void execute(GPUDynInstPtr) override;
29615 }; // Inst_VOP3__V_DIV_FMAS_F64
29616
29618 {
29619 public:
29622
29623 int
29625 {
29627 } // getNumOperands
29628
29629 int numDstRegOperands() override { return 1; }
29630 int numSrcRegOperands() override { return 3; }
29631
29632 int
29633 getOperandSize(int opIdx) override
29634 {
29635 switch (opIdx) {
29636 case 0: //src_0
29637 return 4;
29638 case 1: //src_1
29639 return 4;
29640 case 2: //src_2
29641 return 4;
29642 case 3: //vdst
29643 return 4;
29644 default:
29645 fatal("op idx %i out of bounds\n", opIdx);
29646 return -1;
29647 }
29648 } // getOperandSize
29649
29650 void execute(GPUDynInstPtr) override;
29651 }; // Inst_VOP3__V_MSAD_U8
29652
29654 {
29655 public:
29658
29659 int
29661 {
29663 } // getNumOperands
29664
29665 int numDstRegOperands() override { return 1; }
29666 int numSrcRegOperands() override { return 3; }
29667
29668 int
29669 getOperandSize(int opIdx) override
29670 {
29671 switch (opIdx) {
29672 case 0: //src_0
29673 return 8;
29674 case 1: //src_1
29675 return 4;
29676 case 2: //src_2
29677 return 8;
29678 case 3: //vdst
29679 return 8;
29680 default:
29681 fatal("op idx %i out of bounds\n", opIdx);
29682 return -1;
29683 }
29684 } // getOperandSize
29685
29686 void execute(GPUDynInstPtr) override;
29687 }; // Inst_VOP3__V_QSAD_PK_U16_U8
29688
29690 {
29691 public:
29694
29695 int
29697 {
29699 } // getNumOperands
29700
29701 int numDstRegOperands() override { return 1; }
29702 int numSrcRegOperands() override { return 3; }
29703
29704 int
29705 getOperandSize(int opIdx) override
29706 {
29707 switch (opIdx) {
29708 case 0: //src_0
29709 return 8;
29710 case 1: //src_1
29711 return 4;
29712 case 2: //src_2
29713 return 8;
29714 case 3: //vdst
29715 return 8;
29716 default:
29717 fatal("op idx %i out of bounds\n", opIdx);
29718 return -1;
29719 }
29720 } // getOperandSize
29721
29722 void execute(GPUDynInstPtr) override;
29723 }; // Inst_VOP3__V_MQSAD_PK_U16_U8
29724
29726 {
29727 public:
29730
29731 int
29733 {
29735 } // getNumOperands
29736
29737 int numDstRegOperands() override { return 1; }
29738 int numSrcRegOperands() override { return 3; }
29739
29740 int
29741 getOperandSize(int opIdx) override
29742 {
29743 switch (opIdx) {
29744 case 0: //src_0
29745 return 8;
29746 case 1: //src_1
29747 return 4;
29748 case 2: //src_2
29749 return 16;
29750 case 3: //vdst
29751 return 16;
29752 default:
29753 fatal("op idx %i out of bounds\n", opIdx);
29754 return -1;
29755 }
29756 } // getOperandSize
29757
29758 void execute(GPUDynInstPtr) override;
29759 }; // Inst_VOP3__V_MQSAD_U32_U8
29760
29762 {
29763 public:
29766
29767 int
29769 {
29771 } // getNumOperands
29772
29773 int numDstRegOperands() override { return 2; }
29774 int numSrcRegOperands() override { return 3; }
29775
29776 int
29777 getOperandSize(int opIdx) override
29778 {
29779 switch (opIdx) {
29780 case 0: //src_0
29781 return 4;
29782 case 1: //src_1
29783 return 4;
29784 case 2: //src_2
29785 return 4;
29786 case 3: //vdst
29787 return 4;
29788 case 4: //carryout
29789 return 8;
29790 default:
29791 fatal("op idx %i out of bounds\n", opIdx);
29792 return -1;
29793 }
29794 } // getOperandSize
29795
29796 void execute(GPUDynInstPtr) override;
29797 }; // Inst_VOP3__V_MAD_U64_U32
29798
29800 {
29801 public:
29804
29805 int
29807 {
29809 } // getNumOperands
29810
29811 int numDstRegOperands() override { return 2; }
29812 int numSrcRegOperands() override { return 3; }
29813
29814 int
29815 getOperandSize(int opIdx) override
29816 {
29817 switch (opIdx) {
29818 case 0: //src_0
29819 return 4;
29820 case 1: //src_1
29821 return 4;
29822 case 2: //src_2
29823 return 4;
29824 case 3: //vdst
29825 return 4;
29826 case 4: //carryout
29827 return 8;
29828 default:
29829 fatal("op idx %i out of bounds\n", opIdx);
29830 return -1;
29831 }
29832 } // getOperandSize
29833
29834 void execute(GPUDynInstPtr) override;
29835 }; // Inst_VOP3__V_MAD_I64_I32
29836
29838 {
29839 public:
29842
29843 int
29845 {
29847 } // getNumOperands
29848
29849 int numDstRegOperands() override { return 1; }
29850 int numSrcRegOperands() override { return 3; }
29851
29852 int
29853 getOperandSize(int opIdx) override
29854 {
29855 switch (opIdx) {
29856 case 0: //src_0
29857 return 4;
29858 case 1: //src_1
29859 return 4;
29860 case 2: //src_2
29861 return 4;
29862 case 3: //vdst
29863 return 4;
29864 default:
29865 fatal("op idx %i out of bounds\n", opIdx);
29866 return -1;
29867 }
29868 } // getOperandSize
29869
29870 void execute(GPUDynInstPtr) override;
29871 }; // Inst_VOP3__V_XAD_U32
29872
29874 {
29875 public:
29878
29879 int
29881 {
29883 } // getNumOperands
29884
29885 int numDstRegOperands() override { return 1; }
29886 int numSrcRegOperands() override { return 3; }
29887
29888 int
29889 getOperandSize(int opIdx) override
29890 {
29891 switch (opIdx) {
29892 case 0: //src_0
29893 return 4;
29894 case 1: //src_1
29895 return 4;
29896 case 2: //src_2
29897 return 4;
29898 case 3: //vdst
29899 return 4;
29900 default:
29901 fatal("op idx %i out of bounds\n", opIdx);
29902 return -1;
29903 }
29904 } // getOperandSize
29905
29906 void execute(GPUDynInstPtr) override;
29907 }; // Inst_VOP3__V_LSHL_ADD_U32
29908
29910 {
29911 public:
29914
29915 int
29917 {
29919 } // getNumOperands
29920
29921 int numDstRegOperands() override { return 1; }
29922 int numSrcRegOperands() override { return 3; }
29923
29924 int
29925 getOperandSize(int opIdx) override
29926 {
29927 switch (opIdx) {
29928 case 0: //src_0
29929 return 4;
29930 case 1: //src_1
29931 return 4;
29932 case 2: //src_2
29933 return 4;
29934 case 3: //vdst
29935 return 4;
29936 default:
29937 fatal("op idx %i out of bounds\n", opIdx);
29938 return -1;
29939 }
29940 } // getOperandSize
29941
29942 void execute(GPUDynInstPtr) override;
29943 }; // Inst_VOP3__V_ADD_LSHL_U32
29944
29946 {
29947 public:
29950
29951 int
29953 {
29955 } // getNumOperands
29956
29957 int numDstRegOperands() override { return 1; }
29958 int numSrcRegOperands() override { return 3; }
29959
29960 int
29961 getOperandSize(int opIdx) override
29962 {
29963 switch (opIdx) {
29964 case 0: //src_0
29965 return 4;
29966 case 1: //src_1
29967 return 4;
29968 case 2: //src_2
29969 return 4;
29970 case 3: //vdst
29971 return 4;
29972 default:
29973 fatal("op idx %i out of bounds\n", opIdx);
29974 return -1;
29975 }
29976 } // getOperandSize
29977
29978 void execute(GPUDynInstPtr) override;
29979 }; // Inst_VOP3__V_ADD3_U32
29980
29982 {
29983 public:
29986
29987 int
29989 {
29991 } // getNumOperands
29992
29993 int numDstRegOperands() override { return 1; }
29994 int numSrcRegOperands() override { return 3; }
29995
29996 int
29997 getOperandSize(int opIdx) override
29998 {
29999 switch (opIdx) {
30000 case 0: //src_0
30001 return 4;
30002 case 1: //src_1
30003 return 4;
30004 case 2: //src_2
30005 return 4;
30006 case 3: //vdst
30007 return 4;
30008 default:
30009 fatal("op idx %i out of bounds\n", opIdx);
30010 return -1;
30011 }
30012 } // getOperandSize
30013
30014 void execute(GPUDynInstPtr) override;
30015 }; // Inst_VOP3__V_LSHL_OR_B32
30016
30018 {
30019 public:
30022
30023 int
30025 {
30027 } // getNumOperands
30028
30029 int numDstRegOperands() override { return 1; }
30030 int numSrcRegOperands() override { return 3; }
30031
30032 int
30033 getOperandSize(int opIdx) override
30034 {
30035 switch (opIdx) {
30036 case 0: //src_0
30037 return 4;
30038 case 1: //src_1
30039 return 4;
30040 case 2: //src_2
30041 return 4;
30042 case 3: //vdst
30043 return 4;
30044 default:
30045 fatal("op idx %i out of bounds\n", opIdx);
30046 return -1;
30047 }
30048 } // getOperandSize
30049
30050 void execute(GPUDynInstPtr) override;
30051 }; // Inst_VOP3__V_AND_OR_B32
30052
30054 {
30055 public:
30058
30059 int
30061 {
30063 } // getNumOperands
30064
30065 int numDstRegOperands() override { return 1; }
30066 int numSrcRegOperands() override { return 3; }
30067
30068 int
30069 getOperandSize(int opIdx) override
30070 {
30071 switch (opIdx) {
30072 case 0: //src_0
30073 return 2;
30074 case 1: //src_1
30075 return 2;
30076 case 2: //src_2
30077 return 2;
30078 case 3: //vdst
30079 return 2;
30080 default:
30081 fatal("op idx %i out of bounds\n", opIdx);
30082 return -1;
30083 }
30084 } // getOperandSize
30085
30086 void execute(GPUDynInstPtr) override;
30087 }; // Inst_VOP3__V_MAD_F16
30088
30090 {
30091 public:
30094
30095 int
30097 {
30099 } // getNumOperands
30100
30101 int numDstRegOperands() override { return 1; }
30102 int numSrcRegOperands() override { return 3; }
30103
30104 int
30105 getOperandSize(int opIdx) override
30106 {
30107 switch (opIdx) {
30108 case 0: //src_0
30109 return 2;
30110 case 1: //src_1
30111 return 2;
30112 case 2: //src_2
30113 return 2;
30114 case 3: //vdst
30115 return 2;
30116 default:
30117 fatal("op idx %i out of bounds\n", opIdx);
30118 return -1;
30119 }
30120 } // getOperandSize
30121
30122 void execute(GPUDynInstPtr) override;
30123 }; // Inst_VOP3__V_MAD_U16
30124
30126 {
30127 public:
30130
30131 int
30133 {
30135 } // getNumOperands
30136
30137 int numDstRegOperands() override { return 1; }
30138 int numSrcRegOperands() override { return 3; }
30139
30140 int
30141 getOperandSize(int opIdx) override
30142 {
30143 switch (opIdx) {
30144 case 0: //src_0
30145 return 2;
30146 case 1: //src_1
30147 return 2;
30148 case 2: //src_2
30149 return 2;
30150 case 3: //vdst
30151 return 2;
30152 default:
30153 fatal("op idx %i out of bounds\n", opIdx);
30154 return -1;
30155 }
30156 } // getOperandSize
30157
30158 void execute(GPUDynInstPtr) override;
30159 }; // Inst_VOP3__V_MAD_I16
30160
30162 {
30163 public:
30166
30167 int
30169 {
30171 } // getNumOperands
30172
30173 int numDstRegOperands() override { return 1; }
30174 int numSrcRegOperands() override { return 3; }
30175
30176 int
30177 getOperandSize(int opIdx) override
30178 {
30179 switch (opIdx) {
30180 case 0: //src_0
30181 return 4;
30182 case 1: //src_1
30183 return 4;
30184 case 2: //src_2
30185 return 4;
30186 case 3: //vdst
30187 return 4;
30188 default:
30189 fatal("op idx %i out of bounds\n", opIdx);
30190 return -1;
30191 }
30192 } // getOperandSize
30193
30194 // From the VEGA ISA SPEC:
30195 // byte permute(byte in[8], byte sel) {
30196 // if (sel>=13) then return 0xff;
30197 // elsif (sel==12) then return 0x00;
30198 // elsif (sel==11) then return in[7][7] * 0xff;
30199 // elsif (sel==10) then return in[5][7] * 0xff;
30200 // elsif (sel==9) then return in[3][7] * 0xff;
30201 // elsif (sel==8) then return in[1][7] * 0xff;
30202 // else return in[sel];
30203 // }
30204 // NOTE: I interpret the in[x][7] notation to mean "the high order
30205 // bit of byte x".
30206 uint8_t
30207 permute(uint64_t in_dword2x, uint32_t sel)
30208 {
30209 assert (sel < 256);
30210 uint8_t *in = reinterpret_cast<uint8_t*>(&in_dword2x);
30211 DPRINTF(VEGA, "in_dword2x = 0x%08x\n", in_dword2x);
30212 DPRINTF(VEGA, "Selecting %x using index %d\n", in[sel], sel);
30213 if (sel >= 13) return 0xFF;
30214 else if (sel == 12) return 0;
30215 else if (sel == 11) return (in[7] & 0x80) ? 0xFF : 0;
30216 else if (sel == 10) return (in[5] & 0x80) ? 0xFF : 0;
30217 else if (sel == 9) return (in[3] & 0x80) ? 0xFF : 0;
30218 else if (sel == 8) return (in[1] & 0x80) ? 0xFF : 0;
30219 else return in[sel];
30220 }
30221
30222 void execute(GPUDynInstPtr) override;
30223 }; // Inst_VOP3__V_PERM_B32
30224
30226 {
30227 public:
30230
30231 int
30233 {
30235 } // getNumOperands
30236
30237 int numDstRegOperands() override { return 1; }
30238 int numSrcRegOperands() override { return 3; }
30239
30240 int
30241 getOperandSize(int opIdx) override
30242 {
30243 switch (opIdx) {
30244 case 0: //src_0
30245 return 2;
30246 case 1: //src_1
30247 return 2;
30248 case 2: //src_2
30249 return 2;
30250 case 3: //vdst
30251 return 2;
30252 default:
30253 fatal("op idx %i out of bounds\n", opIdx);
30254 return -1;
30255 }
30256 } // getOperandSize
30257
30258 void execute(GPUDynInstPtr) override;
30259 }; // Inst_VOP3__V_FMA_F16
30260
30262 {
30263 public:
30266
30267 int
30269 {
30271 } // getNumOperands
30272
30273 int numDstRegOperands() override { return 1; }
30274 int numSrcRegOperands() override { return 3; }
30275
30276 int
30277 getOperandSize(int opIdx) override
30278 {
30279 switch (opIdx) {
30280 case 0: //src_0
30281 return 2;
30282 case 1: //src_1
30283 return 2;
30284 case 2: //src_2
30285 return 2;
30286 case 3: //vdst
30287 return 2;
30288 default:
30289 fatal("op idx %i out of bounds\n", opIdx);
30290 return -1;
30291 }
30292 } // getOperandSize
30293
30294 void execute(GPUDynInstPtr) override;
30295 }; // Inst_VOP3__V_DIV_FIXUP_F16
30296
30298 {
30299 public:
30302
30303 int
30305 {
30307 } // getNumOperands
30308
30309 int numDstRegOperands() override { return 1; }
30310 int numSrcRegOperands() override { return 3; }
30311
30312 int
30313 getOperandSize(int opIdx) override
30314 {
30315 switch (opIdx) {
30316 case 0: //src_0
30317 return 8;
30318 case 1: //src_1
30319 return 4;
30320 case 2: //src_2
30321 return 8;
30322 case 3: //vdst
30323 return 8;
30324 default:
30325 fatal("op idx %i out of bounds\n", opIdx);
30326 return -1;
30327 }
30328 } // getOperandSize
30329
30330 void execute(GPUDynInstPtr) override;
30331 }; // Inst_VOP3__V_LSHL_ADD_U64
30332
30334 {
30335 public:
30338
30339 int
30341 {
30343 } // getNumOperands
30344
30345 int numDstRegOperands() override { return 1; }
30346 int numSrcRegOperands() override { return 2; }
30347
30348 int
30349 getOperandSize(int opIdx) override
30350 {
30351 switch (opIdx) {
30352 case 0: //src_0
30353 return 4;
30354 case 1: //src_1
30355 return 4;
30356 case 2: //vdst
30357 return 4;
30358 default:
30359 fatal("op idx %i out of bounds\n", opIdx);
30360 return -1;
30361 }
30362 } // getOperandSize
30363
30364 void execute(GPUDynInstPtr) override;
30365 }; // Inst_VOP3__V_CVT_PKACCUM_U8_F32
30366
30368 {
30369 public:
30372
30373 int
30375 {
30377 } // getNumOperands
30378
30379 int numDstRegOperands() override { return 1; }
30380 int numSrcRegOperands() override { return 2; }
30381
30382 int
30383 getOperandSize(int opIdx) override
30384 {
30385 switch (opIdx) {
30386 case 0: //vgpr_ij
30387 return 4;
30388 case 1: //attr
30389 return 32;
30390 case 2: //vgpr_dst
30391 return 4;
30392 default:
30393 fatal("op idx %i out of bounds\n", opIdx);
30394 return -1;
30395 }
30396 } // getOperandSize
30397
30398 void execute(GPUDynInstPtr) override;
30399 }; // Inst_VOP3__V_INTERP_P1_F32
30400
30402 {
30403 public:
30406
30407 int
30409 {
30411 } // getNumOperands
30412
30413 int numDstRegOperands() override { return 1; }
30414 int numSrcRegOperands() override { return 2; }
30415
30416 int
30417 getOperandSize(int opIdx) override
30418 {
30419 switch (opIdx) {
30420 case 0: //vgpr_ij
30421 return 4;
30422 case 1: //attr
30423 return 32;
30424 case 2: //vgpr_dst
30425 return 4;
30426 default:
30427 fatal("op idx %i out of bounds\n", opIdx);
30428 return -1;
30429 }
30430 } // getOperandSize
30431
30432 void execute(GPUDynInstPtr) override;
30433 }; // Inst_VOP3__V_INTERP_P2_F32
30434
30436 {
30437 public:
30440
30441 int
30443 {
30445 } // getNumOperands
30446
30447 int numDstRegOperands() override { return 1; }
30448 int numSrcRegOperands() override { return 2; }
30449
30450 int
30451 getOperandSize(int opIdx) override
30452 {
30453 switch (opIdx) {
30454 case 0: //param
30455 return 4;
30456 case 1: //attr
30457 return 32;
30458 case 2: //vgpr_dst
30459 return 4;
30460 default:
30461 fatal("op idx %i out of bounds\n", opIdx);
30462 return -1;
30463 }
30464 } // getOperandSize
30465
30466 void execute(GPUDynInstPtr) override;
30467 }; // Inst_VOP3__V_INTERP_MOV_F32
30468
30470 {
30471 public:
30474
30475 int
30477 {
30479 } // getNumOperands
30480
30481 int numDstRegOperands() override { return 1; }
30482 int numSrcRegOperands() override { return 2; }
30483
30484 int
30485 getOperandSize(int opIdx) override
30486 {
30487 switch (opIdx) {
30488 case 0: //vgpr_ij
30489 return 4;
30490 case 1: //attr
30491 return 2;
30492 case 2: //vgpr_dst
30493 return 4;
30494 default:
30495 fatal("op idx %i out of bounds\n", opIdx);
30496 return -1;
30497 }
30498 } // getOperandSize
30499
30500 void execute(GPUDynInstPtr) override;
30501 }; // Inst_VOP3__V_INTERP_P1LL_F16
30502
30504 {
30505 public:
30508
30509 int
30511 {
30513 } // getNumOperands
30514
30515 int numDstRegOperands() override { return 1; }
30516 int numSrcRegOperands() override { return 3; }
30517
30518 int
30519 getOperandSize(int opIdx) override
30520 {
30521 switch (opIdx) {
30522 case 0: //vgpr_ij
30523 return 4;
30524 case 1: //attr
30525 return 2;
30526 case 2: //vgpr_add
30527 return 2;
30528 case 3: //vgpr_dst
30529 return 4;
30530 default:
30531 fatal("op idx %i out of bounds\n", opIdx);
30532 return -1;
30533 }
30534 } // getOperandSize
30535
30536 void execute(GPUDynInstPtr) override;
30537 }; // Inst_VOP3__V_INTERP_P1LV_F16
30538
30540 {
30541 public:
30544
30545 int
30547 {
30549 } // getNumOperands
30550
30551 int numDstRegOperands() override { return 1; }
30552 int numSrcRegOperands() override { return 3; }
30553
30554 int
30555 getOperandSize(int opIdx) override
30556 {
30557 switch (opIdx) {
30558 case 0: //vgpr_ij
30559 return 4;
30560 case 1: //attr
30561 return 2;
30562 case 2: //vgpr_add
30563 return 4;
30564 case 3: //vgpr_dst
30565 return 2;
30566 default:
30567 fatal("op idx %i out of bounds\n", opIdx);
30568 return -1;
30569 }
30570 } // getOperandSize
30571
30572 void execute(GPUDynInstPtr) override;
30573 }; // Inst_VOP3__V_INTERP_P2_F16
30574
30576 {
30577 public:
30580
30581 int
30583 {
30585 } // getNumOperands
30586
30587 int numDstRegOperands() override { return 1; }
30588 int numSrcRegOperands() override { return 2; }
30589
30590 int
30591 getOperandSize(int opIdx) override
30592 {
30593 switch (opIdx) {
30594 case 0: //src_0
30595 return 8;
30596 case 1: //src_1
30597 return 8;
30598 case 2: //vdst
30599 return 8;
30600 default:
30601 fatal("op idx %i out of bounds\n", opIdx);
30602 return -1;
30603 }
30604 } // getOperandSize
30605
30606 void execute(GPUDynInstPtr) override;
30607 }; // Inst_VOP3__V_ADD_F64
30608
30610 {
30611 public:
30614
30615 int
30617 {
30619 } // getNumOperands
30620
30621 int numDstRegOperands() override { return 1; }
30622 int numSrcRegOperands() override { return 2; }
30623
30624 int
30625 getOperandSize(int opIdx) override
30626 {
30627 switch (opIdx) {
30628 case 0: //src_0
30629 return 8;
30630 case 1: //src_1
30631 return 8;
30632 case 2: //vdst
30633 return 8;
30634 default:
30635 fatal("op idx %i out of bounds\n", opIdx);
30636 return -1;
30637 }
30638 } // getOperandSize
30639
30640 void execute(GPUDynInstPtr) override;
30641 }; // Inst_VOP3__V_MUL_F64
30642
30644 {
30645 public:
30648
30649 int
30651 {
30653 } // getNumOperands
30654
30655 int numDstRegOperands() override { return 1; }
30656 int numSrcRegOperands() override { return 2; }
30657
30658 int
30659 getOperandSize(int opIdx) override
30660 {
30661 switch (opIdx) {
30662 case 0: //src_0
30663 return 8;
30664 case 1: //src_1
30665 return 8;
30666 case 2: //vdst
30667 return 8;
30668 default:
30669 fatal("op idx %i out of bounds\n", opIdx);
30670 return -1;
30671 }
30672 } // getOperandSize
30673
30674 void execute(GPUDynInstPtr) override;
30675 }; // Inst_VOP3__V_MIN_F64
30676
30678 {
30679 public:
30682
30683 int
30685 {
30687 } // getNumOperands
30688
30689 int numDstRegOperands() override { return 1; }
30690 int numSrcRegOperands() override { return 2; }
30691
30692 int
30693 getOperandSize(int opIdx) override
30694 {
30695 switch (opIdx) {
30696 case 0: //src_0
30697 return 8;
30698 case 1: //src_1
30699 return 8;
30700 case 2: //vdst
30701 return 8;
30702 default:
30703 fatal("op idx %i out of bounds\n", opIdx);
30704 return -1;
30705 }
30706 } // getOperandSize
30707
30708 void execute(GPUDynInstPtr) override;
30709 }; // Inst_VOP3__V_MAX_F64
30710
30712 {
30713 public:
30716
30717 int
30719 {
30721 } // getNumOperands
30722
30723 int numDstRegOperands() override { return 1; }
30724 int numSrcRegOperands() override { return 2; }
30725
30726 int
30727 getOperandSize(int opIdx) override
30728 {
30729 switch (opIdx) {
30730 case 0: //src_0
30731 return 8;
30732 case 1: //src_1
30733 return 4;
30734 case 2: //vdst
30735 return 8;
30736 default:
30737 fatal("op idx %i out of bounds\n", opIdx);
30738 return -1;
30739 }
30740 } // getOperandSize
30741
30742 void execute(GPUDynInstPtr) override;
30743 }; // Inst_VOP3__V_LDEXP_F64
30744
30746 {
30747 public:
30750
30751 int
30753 {
30755 } // getNumOperands
30756
30757 int numDstRegOperands() override { return 1; }
30758 int numSrcRegOperands() override { return 2; }
30759
30760 int
30761 getOperandSize(int opIdx) override
30762 {
30763 switch (opIdx) {
30764 case 0: //src_0
30765 return 4;
30766 case 1: //src_1
30767 return 4;
30768 case 2: //vdst
30769 return 4;
30770 default:
30771 fatal("op idx %i out of bounds\n", opIdx);
30772 return -1;
30773 }
30774 } // getOperandSize
30775
30776 void execute(GPUDynInstPtr) override;
30777 }; // Inst_VOP3__V_MUL_LO_U32
30778
30780 {
30781 public:
30784
30785 int
30787 {
30789 } // getNumOperands
30790
30791 int numDstRegOperands() override { return 1; }
30792 int numSrcRegOperands() override { return 2; }
30793
30794 int
30795 getOperandSize(int opIdx) override
30796 {
30797 switch (opIdx) {
30798 case 0: //src_0
30799 return 4;
30800 case 1: //src_1
30801 return 4;
30802 case 2: //vdst
30803 return 4;
30804 default:
30805 fatal("op idx %i out of bounds\n", opIdx);
30806 return -1;
30807 }
30808 } // getOperandSize
30809
30810 void execute(GPUDynInstPtr) override;
30811 }; // Inst_VOP3__V_MUL_HI_U32
30812
30814 {
30815 public:
30818
30819 int
30821 {
30823 } // getNumOperands
30824
30825 int numDstRegOperands() override { return 1; }
30826 int numSrcRegOperands() override { return 2; }
30827
30828 int
30829 getOperandSize(int opIdx) override
30830 {
30831 switch (opIdx) {
30832 case 0: //src_0
30833 return 4;
30834 case 1: //src_1
30835 return 4;
30836 case 2: //vdst
30837 return 4;
30838 default:
30839 fatal("op idx %i out of bounds\n", opIdx);
30840 return -1;
30841 }
30842 } // getOperandSize
30843
30844 void execute(GPUDynInstPtr) override;
30845 }; // Inst_VOP3__V_MUL_HI_I32
30846
30848 {
30849 public:
30852
30853 int
30855 {
30857 } // getNumOperands
30858
30859 int numDstRegOperands() override { return 1; }
30860 int numSrcRegOperands() override { return 2; }
30861
30862 int
30863 getOperandSize(int opIdx) override
30864 {
30865 switch (opIdx) {
30866 case 0: //src_0
30867 return 4;
30868 case 1: //src_1
30869 return 4;
30870 case 2: //vdst
30871 return 4;
30872 default:
30873 fatal("op idx %i out of bounds\n", opIdx);
30874 return -1;
30875 }
30876 } // getOperandSize
30877
30878 void execute(GPUDynInstPtr) override;
30879 }; // Inst_VOP3__V_LDEXP_F32
30880
30882 {
30883 public:
30886
30887 int
30889 {
30891 } // getNumOperands
30892
30893 int numDstRegOperands() override { return 1; }
30894 int numSrcRegOperands() override { return 2; }
30895
30896 int
30897 getOperandSize(int opIdx) override
30898 {
30899 switch (opIdx) {
30900 case 0: //vsrc_0
30901 return 4;
30902 case 1: //ssrc_1
30903 return 4;
30904 case 2: //sdst
30905 return 4;
30906 default:
30907 fatal("op idx %i out of bounds\n", opIdx);
30908 return -1;
30909 }
30910 } // getOperandSize
30911
30912 void execute(GPUDynInstPtr) override;
30913 }; // Inst_VOP3__V_READLANE_B32
30914
30916 {
30917 public:
30920
30921 int
30923 {
30925 } // getNumOperands
30926
30927 int numDstRegOperands() override { return 1; }
30928 int numSrcRegOperands() override { return 2; }
30929
30930 int
30931 getOperandSize(int opIdx) override
30932 {
30933 switch (opIdx) {
30934 case 0: //ssrc_0
30935 return 4;
30936 case 1: //ssrc_1
30937 return 4;
30938 case 2: //vdst
30939 return 4;
30940 default:
30941 fatal("op idx %i out of bounds\n", opIdx);
30942 return -1;
30943 }
30944 } // getOperandSize
30945
30946 void execute(GPUDynInstPtr) override;
30947 }; // Inst_VOP3__V_WRITELANE_B32
30948
30950 {
30951 public:
30954
30955 int
30957 {
30959 } // getNumOperands
30960
30961 int numDstRegOperands() override { return 1; }
30962 int numSrcRegOperands() override { return 2; }
30963
30964 int
30965 getOperandSize(int opIdx) override
30966 {
30967 switch (opIdx) {
30968 case 0: //src_0
30969 return 4;
30970 case 1: //src_1
30971 return 4;
30972 case 2: //vdst
30973 return 4;
30974 default:
30975 fatal("op idx %i out of bounds\n", opIdx);
30976 return -1;
30977 }
30978 } // getOperandSize
30979
30980 void execute(GPUDynInstPtr) override;
30981 }; // Inst_VOP3__V_BCNT_U32_B32
30982
30984 {
30985 public:
30988
30989 int
30991 {
30993 } // getNumOperands
30994
30995 int numDstRegOperands() override { return 1; }
30996 int numSrcRegOperands() override { return 2; }
30997
30998 int
30999 getOperandSize(int opIdx) override
31000 {
31001 switch (opIdx) {
31002 case 0: //src_0
31003 return 4;
31004 case 1: //src_1
31005 return 4;
31006 case 2: //vdst
31007 return 4;
31008 default:
31009 fatal("op idx %i out of bounds\n", opIdx);
31010 return -1;
31011 }
31012 } // getOperandSize
31013
31014 void execute(GPUDynInstPtr) override;
31015 }; // Inst_VOP3__V_MBCNT_LO_U32_B32
31016
31018 {
31019 public:
31022
31023 int
31025 {
31027 } // getNumOperands
31028
31029 int numDstRegOperands() override { return 1; }
31030 int numSrcRegOperands() override { return 2; }
31031
31032 int
31033 getOperandSize(int opIdx) override
31034 {
31035 switch (opIdx) {
31036 case 0: //src_0
31037 return 4;
31038 case 1: //src_1
31039 return 4;
31040 case 2: //vdst
31041 return 4;
31042 default:
31043 fatal("op idx %i out of bounds\n", opIdx);
31044 return -1;
31045 }
31046 } // getOperandSize
31047
31048 void execute(GPUDynInstPtr) override;
31049 }; // Inst_VOP3__V_MBCNT_HI_U32_B32
31050
31052 {
31053 public:
31056
31057 int
31059 {
31061 } // getNumOperands
31062
31063 int numDstRegOperands() override { return 1; }
31064 int numSrcRegOperands() override { return 2; }
31065
31066 int
31067 getOperandSize(int opIdx) override
31068 {
31069 switch (opIdx) {
31070 case 0: //src_0
31071 return 4;
31072 case 1: //src_1
31073 return 8;
31074 case 2: //vdst
31075 return 8;
31076 default:
31077 fatal("op idx %i out of bounds\n", opIdx);
31078 return -1;
31079 }
31080 } // getOperandSize
31081
31082 void execute(GPUDynInstPtr) override;
31083 }; // Inst_VOP3__V_LSHLREV_B64
31084
31086 {
31087 public:
31090
31091 int
31093 {
31095 } // getNumOperands
31096
31097 int numDstRegOperands() override { return 1; }
31098 int numSrcRegOperands() override { return 2; }
31099
31100 int
31101 getOperandSize(int opIdx) override
31102 {
31103 switch (opIdx) {
31104 case 0: //src_0
31105 return 4;
31106 case 1: //src_1
31107 return 8;
31108 case 2: //vdst
31109 return 8;
31110 default:
31111 fatal("op idx %i out of bounds\n", opIdx);
31112 return -1;
31113 }
31114 } // getOperandSize
31115
31116 void execute(GPUDynInstPtr) override;
31117 }; // Inst_VOP3__V_LSHRREV_B64
31118
31120 {
31121 public:
31124
31125 int
31127 {
31129 } // getNumOperands
31130
31131 int numDstRegOperands() override { return 1; }
31132 int numSrcRegOperands() override { return 2; }
31133
31134 int
31135 getOperandSize(int opIdx) override
31136 {
31137 switch (opIdx) {
31138 case 0: //src_0
31139 return 4;
31140 case 1: //src_1
31141 return 8;
31142 case 2: //vdst
31143 return 8;
31144 default:
31145 fatal("op idx %i out of bounds\n", opIdx);
31146 return -1;
31147 }
31148 } // getOperandSize
31149
31150 void execute(GPUDynInstPtr) override;
31151 }; // Inst_VOP3__V_ASHRREV_I64
31152
31154 {
31155 public:
31158
31159 int
31161 {
31163 } // getNumOperands
31164
31165 int numDstRegOperands() override { return 1; }
31166 int numSrcRegOperands() override { return 2; }
31167
31168 int
31169 getOperandSize(int opIdx) override
31170 {
31171 switch (opIdx) {
31172 case 0: //src_0
31173 return 8;
31174 case 1: //src_1
31175 return 4;
31176 case 2: //vdst
31177 return 8;
31178 default:
31179 fatal("op idx %i out of bounds\n", opIdx);
31180 return -1;
31181 }
31182 } // getOperandSize
31183
31184 void execute(GPUDynInstPtr) override;
31185 }; // Inst_VOP3__V_TRIG_PREOP_F64
31186
31188 {
31189 public:
31192
31193 int
31195 {
31197 } // getNumOperands
31198
31199 int numDstRegOperands() override { return 1; }
31200 int numSrcRegOperands() override { return 2; }
31201
31202 int
31203 getOperandSize(int opIdx) override
31204 {
31205 switch (opIdx) {
31206 case 0: //src_0
31207 return 4;
31208 case 1: //src_1
31209 return 4;
31210 case 2: //vdst
31211 return 4;
31212 default:
31213 fatal("op idx %i out of bounds\n", opIdx);
31214 return -1;
31215 }
31216 } // getOperandSize
31217
31218 void execute(GPUDynInstPtr) override;
31219 }; // Inst_VOP3__V_BFM_B32
31220
31222 {
31223 public:
31226
31227 int
31229 {
31231 } // getNumOperands
31232
31233 int numDstRegOperands() override { return 1; }
31234 int numSrcRegOperands() override { return 2; }
31235
31236 int
31237 getOperandSize(int opIdx) override
31238 {
31239 switch (opIdx) {
31240 case 0: //src_0
31241 return 4;
31242 case 1: //src_1
31243 return 4;
31244 case 2: //vdst
31245 return 2;
31246 default:
31247 fatal("op idx %i out of bounds\n", opIdx);
31248 return -1;
31249 }
31250 } // getOperandSize
31251
31252 void execute(GPUDynInstPtr) override;
31253 }; // Inst_VOP3__V_CVT_PKNORM_I16_F32
31254
31256 {
31257 public:
31260
31261 int
31263 {
31265 } // getNumOperands
31266
31267 int numDstRegOperands() override { return 1; }
31268 int numSrcRegOperands() override { return 2; }
31269
31270 int
31271 getOperandSize(int opIdx) override
31272 {
31273 switch (opIdx) {
31274 case 0: //src_0
31275 return 4;
31276 case 1: //src_1
31277 return 4;
31278 case 2: //vdst
31279 return 2;
31280 default:
31281 fatal("op idx %i out of bounds\n", opIdx);
31282 return -1;
31283 }
31284 } // getOperandSize
31285
31286 void execute(GPUDynInstPtr) override;
31287 }; // Inst_VOP3__V_CVT_PKNORM_U16_F32
31288
31290 {
31291 public:
31294
31295 int
31297 {
31299 } // getNumOperands
31300
31301 int numDstRegOperands() override { return 1; }
31302 int numSrcRegOperands() override { return 2; }
31303
31304 int
31305 getOperandSize(int opIdx) override
31306 {
31307 switch (opIdx) {
31308 case 0: //src_0
31309 return 4;
31310 case 1: //src_1
31311 return 4;
31312 case 2: //vdst
31313 return 4;
31314 default:
31315 fatal("op idx %i out of bounds\n", opIdx);
31316 return -1;
31317 }
31318 } // getOperandSize
31319
31320 void execute(GPUDynInstPtr) override;
31321 }; // Inst_VOP3__V_CVT_PKRTZ_F16_F32
31322
31324 {
31325 public:
31328
31329 int
31331 {
31333 } // getNumOperands
31334
31335 int numDstRegOperands() override { return 1; }
31336 int numSrcRegOperands() override { return 2; }
31337
31338 int
31339 getOperandSize(int opIdx) override
31340 {
31341 switch (opIdx) {
31342 case 0: //src_0
31343 return 4;
31344 case 1: //src_1
31345 return 4;
31346 case 2: //vdst
31347 return 4;
31348 default:
31349 fatal("op idx %i out of bounds\n", opIdx);
31350 return -1;
31351 }
31352 } // getOperandSize
31353
31354 void execute(GPUDynInstPtr) override;
31355 }; // Inst_VOP3__V_CVT_PK_U16_U32
31356
31358 {
31359 public:
31362
31363 int
31365 {
31367 } // getNumOperands
31368
31369 int numDstRegOperands() override { return 1; }
31370 int numSrcRegOperands() override { return 2; }
31371
31372 int
31373 getOperandSize(int opIdx) override
31374 {
31375 switch (opIdx) {
31376 case 0: //src_0
31377 return 4;
31378 case 1: //src_1
31379 return 4;
31380 case 2: //vdst
31381 return 4;
31382 default:
31383 fatal("op idx %i out of bounds\n", opIdx);
31384 return -1;
31385 }
31386 } // getOperandSize
31387
31388 void execute(GPUDynInstPtr) override;
31389 }; // Inst_VOP3__V_CVT_PK_I16_I32
31390
31392 {
31393 public:
31396
31397 int
31399 {
31401 } // getNumOperands
31402
31403 int numDstRegOperands() override { return 0; }
31404 int numSrcRegOperands() override { return 2; }
31405
31406 int
31407 getOperandSize(int opIdx) override
31408 {
31409 switch (opIdx) {
31410 case 0: //vgpr_a
31411 return 4;
31412 case 1: //vgpr_d0
31413 return 4;
31414 default:
31415 fatal("op idx %i out of bounds\n", opIdx);
31416 return -1;
31417 }
31418 } // getOperandSize
31419
31420 void initiateAcc(GPUDynInstPtr gpuDynInst) override;
31421 void completeAcc(GPUDynInstPtr gpuDynInst) override;
31422 void execute(GPUDynInstPtr) override;
31423 }; // Inst_DS__DS_ADD_U32
31424
31426 {
31427 public:
31430
31431 int
31433 {
31435 } // getNumOperands
31436
31437 int numDstRegOperands() override { return 0; }
31438 int numSrcRegOperands() override { return 2; }
31439
31440 int
31441 getOperandSize(int opIdx) override
31442 {
31443 switch (opIdx) {
31444 case 0: //vgpr_a
31445 return 4;
31446 case 1: //vgpr_d0
31447 return 4;
31448 default:
31449 fatal("op idx %i out of bounds\n", opIdx);
31450 return -1;
31451 }
31452 } // getOperandSize
31453
31454 void execute(GPUDynInstPtr) override;
31455 }; // Inst_DS__DS_SUB_U32
31456
31458 {
31459 public:
31462
31463 int
31465 {
31467 } // getNumOperands
31468
31469 int numDstRegOperands() override { return 0; }
31470 int numSrcRegOperands() override { return 2; }
31471
31472 int
31473 getOperandSize(int opIdx) override
31474 {
31475 switch (opIdx) {
31476 case 0: //vgpr_a
31477 return 4;
31478 case 1: //vgpr_d0
31479 return 4;
31480 default:
31481 fatal("op idx %i out of bounds\n", opIdx);
31482 return -1;
31483 }
31484 } // getOperandSize
31485
31486 void execute(GPUDynInstPtr) override;
31487 }; // Inst_DS__DS_RSUB_U32
31488
31490 {
31491 public:
31494
31495 int
31497 {
31499 } // getNumOperands
31500
31501 int numDstRegOperands() override { return 0; }
31502 int numSrcRegOperands() override { return 2; }
31503
31504 int
31505 getOperandSize(int opIdx) override
31506 {
31507 switch (opIdx) {
31508 case 0: //vgpr_a
31509 return 4;
31510 case 1: //vgpr_d0
31511 return 4;
31512 default:
31513 fatal("op idx %i out of bounds\n", opIdx);
31514 return -1;
31515 }
31516 } // getOperandSize
31517
31518 void execute(GPUDynInstPtr) override;
31519 }; // Inst_DS__DS_INC_U32
31520
31522 {
31523 public:
31526
31527 int
31529 {
31531 } // getNumOperands
31532
31533 int numDstRegOperands() override { return 0; }
31534 int numSrcRegOperands() override { return 2; }
31535
31536 int
31537 getOperandSize(int opIdx) override
31538 {
31539 switch (opIdx) {
31540 case 0: //vgpr_a
31541 return 4;
31542 case 1: //vgpr_d0
31543 return 4;
31544 default:
31545 fatal("op idx %i out of bounds\n", opIdx);
31546 return -1;
31547 }
31548 } // getOperandSize
31549
31550 void execute(GPUDynInstPtr) override;
31551 }; // Inst_DS__DS_DEC_U32
31552
31554 {
31555 public:
31558
31559 int
31561 {
31563 } // getNumOperands
31564
31565 int numDstRegOperands() override { return 0; }
31566 int numSrcRegOperands() override { return 2; }
31567
31568 int
31569 getOperandSize(int opIdx) override
31570 {
31571 switch (opIdx) {
31572 case 0: //vgpr_a
31573 return 4;
31574 case 1: //vgpr_d0
31575 return 4;
31576 default:
31577 fatal("op idx %i out of bounds\n", opIdx);
31578 return -1;
31579 }
31580 } // getOperandSize
31581
31582 void execute(GPUDynInstPtr) override;
31583 }; // Inst_DS__DS_MIN_I32
31584
31586 {
31587 public:
31590
31591 int
31593 {
31595 } // getNumOperands
31596
31597 int numDstRegOperands() override { return 0; }
31598 int numSrcRegOperands() override { return 2; }
31599
31600 int
31601 getOperandSize(int opIdx) override
31602 {
31603 switch (opIdx) {
31604 case 0: //vgpr_a
31605 return 4;
31606 case 1: //vgpr_d0
31607 return 4;
31608 default:
31609 fatal("op idx %i out of bounds\n", opIdx);
31610 return -1;
31611 }
31612 } // getOperandSize
31613
31614 void execute(GPUDynInstPtr) override;
31615 }; // Inst_DS__DS_MAX_I32
31616
31618 {
31619 public:
31622
31623 int
31625 {
31627 } // getNumOperands
31628
31629 int numDstRegOperands() override { return 0; }
31630 int numSrcRegOperands() override { return 2; }
31631
31632 int
31633 getOperandSize(int opIdx) override
31634 {
31635 switch (opIdx) {
31636 case 0: //vgpr_a
31637 return 4;
31638 case 1: //vgpr_d0
31639 return 4;
31640 default:
31641 fatal("op idx %i out of bounds\n", opIdx);
31642 return -1;
31643 }
31644 } // getOperandSize
31645
31646 void execute(GPUDynInstPtr) override;
31647 }; // Inst_DS__DS_MIN_U32
31648
31650 {
31651 public:
31654
31655 int
31657 {
31659 } // getNumOperands
31660
31661 int numDstRegOperands() override { return 0; }
31662 int numSrcRegOperands() override { return 2; }
31663
31664 int
31665 getOperandSize(int opIdx) override
31666 {
31667 switch (opIdx) {
31668 case 0: //vgpr_a
31669 return 4;
31670 case 1: //vgpr_d0
31671 return 4;
31672 default:
31673 fatal("op idx %i out of bounds\n", opIdx);
31674 return -1;
31675 }
31676 } // getOperandSize
31677
31678 void execute(GPUDynInstPtr) override;
31679 }; // Inst_DS__DS_MAX_U32
31680
31682 {
31683 public:
31686
31687 int
31689 {
31691 } // getNumOperands
31692
31693 int numDstRegOperands() override { return 0; }
31694 int numSrcRegOperands() override { return 2; }
31695
31696 int
31697 getOperandSize(int opIdx) override
31698 {
31699 switch (opIdx) {
31700 case 0: //vgpr_a
31701 return 4;
31702 case 1: //vgpr_d0
31703 return 4;
31704 default:
31705 fatal("op idx %i out of bounds\n", opIdx);
31706 return -1;
31707 }
31708 } // getOperandSize
31709
31710 void execute(GPUDynInstPtr) override;
31711 }; // Inst_DS__DS_AND_B32
31712
31714 {
31715 public:
31718
31719 int
31721 {
31723 } // getNumOperands
31724
31725 int numDstRegOperands() override { return 0; }
31726 int numSrcRegOperands() override { return 2; }
31727
31728 int
31729 getOperandSize(int opIdx) override
31730 {
31731 switch (opIdx) {
31732 case 0: //vgpr_a
31733 return 4;
31734 case 1: //vgpr_d0
31735 return 4;
31736 default:
31737 fatal("op idx %i out of bounds\n", opIdx);
31738 return -1;
31739 }
31740 } // getOperandSize
31741
31742 void execute(GPUDynInstPtr) override;
31743 void initiateAcc(GPUDynInstPtr gpuDynInst) override;
31744 void completeAcc(GPUDynInstPtr gpuDynInst) override;
31745 }; // Inst_DS__DS_OR_B32
31746
31748 {
31749 public:
31752
31753 int
31755 {
31757 } // getNumOperands
31758
31759 int numDstRegOperands() override { return 0; }
31760 int numSrcRegOperands() override { return 2; }
31761
31762 int
31763 getOperandSize(int opIdx) override
31764 {
31765 switch (opIdx) {
31766 case 0: //vgpr_a
31767 return 4;
31768 case 1: //vgpr_d0
31769 return 4;
31770 default:
31771 fatal("op idx %i out of bounds\n", opIdx);
31772 return -1;
31773 }
31774 } // getOperandSize
31775
31776 void execute(GPUDynInstPtr) override;
31777 }; // Inst_DS__DS_XOR_B32
31778
31780 {
31781 public:
31784
31785 int
31787 {
31789 } // getNumOperands
31790
31791 int numDstRegOperands() override { return 0; }
31792 int numSrcRegOperands() override { return 3; }
31793
31794 int
31795 getOperandSize(int opIdx) override
31796 {
31797 switch (opIdx) {
31798 case 0: //vgpr_a
31799 return 4;
31800 case 1: //vgpr_d1
31801 return 4;
31802 default:
31803 fatal("op idx %i out of bounds\n", opIdx);
31804 return -1;
31805 }
31806 } // getOperandSize
31807
31808 void execute(GPUDynInstPtr) override;
31809 }; // Inst_DS__DS_MSKOR_B32
31810
31812 {
31813 public:
31816
31817 int
31819 {
31821 } // getNumOperands
31822
31823 int numDstRegOperands() override { return 0; }
31824 int numSrcRegOperands() override { return 2; }
31825
31826 int
31827 getOperandSize(int opIdx) override
31828 {
31829 switch (opIdx) {
31830 case 0: //vgpr_a
31831 return 4;
31832 case 1: //vgpr_d0
31833 return 4;
31834 default:
31835 fatal("op idx %i out of bounds\n", opIdx);
31836 return -1;
31837 }
31838 } // getOperandSize
31839
31840 void execute(GPUDynInstPtr) override;
31841 void initiateAcc(GPUDynInstPtr) override;
31842 void completeAcc(GPUDynInstPtr) override;
31843 }; // Inst_DS__DS_WRITE_B32
31844
31846 {
31847 public:
31850
31851 int
31853 {
31855 } // getNumOperands
31856
31857 int numDstRegOperands() override { return 0; }
31858 int numSrcRegOperands() override { return 3; }
31859
31860 int
31861 getOperandSize(int opIdx) override
31862 {
31863 switch (opIdx) {
31864 case 0: //vgpr_a
31865 return 4;
31866 case 1: //vgpr_d0
31867 return 4;
31868 case 2: //vgpr_d1
31869 return 4;
31870 default:
31871 fatal("op idx %i out of bounds\n", opIdx);
31872 return -1;
31873 }
31874 } // getOperandSize
31875
31876 void execute(GPUDynInstPtr) override;
31877 void initiateAcc(GPUDynInstPtr) override;
31878 void completeAcc(GPUDynInstPtr) override;
31879 }; // Inst_DS__DS_WRITE2_B32
31880
31882 {
31883 public:
31886
31887 int
31889 {
31891 } // getNumOperands
31892
31893 int numDstRegOperands() override { return 0; }
31894 int numSrcRegOperands() override { return 3; }
31895
31896 int
31897 getOperandSize(int opIdx) override
31898 {
31899 switch (opIdx) {
31900 case 0: //vgpr_a
31901 return 4;
31902 case 1: //vgpr_d0
31903 return 4;
31904 case 2: //vgpr_d1
31905 return 4;
31906 default:
31907 fatal("op idx %i out of bounds\n", opIdx);
31908 return -1;
31909 }
31910 } // getOperandSize
31911
31912 void execute(GPUDynInstPtr) override;
31913 void initiateAcc(GPUDynInstPtr) override;
31914 void completeAcc(GPUDynInstPtr) override;
31915 }; // Inst_DS__DS_WRITE2ST64_B32
31916
31918 {
31919 public:
31922
31923 int
31925 {
31927 } // getNumOperands
31928
31929 int numDstRegOperands() override { return 0; }
31930 int numSrcRegOperands() override { return 3; }
31931
31932 int
31933 getOperandSize(int opIdx) override
31934 {
31935 switch (opIdx) {
31936 case 0: //vgpr_a
31937 return 4;
31938 case 1: //vgpr_d1
31939 return 4;
31940 default:
31941 fatal("op idx %i out of bounds\n", opIdx);
31942 return -1;
31943 }
31944 } // getOperandSize
31945
31946 void execute(GPUDynInstPtr) override;
31947 }; // Inst_DS__DS_CMPST_B32
31948
31950 {
31951 public:
31954
31955 int
31957 {
31959 } // getNumOperands
31960
31961 int numDstRegOperands() override { return 0; }
31962 int numSrcRegOperands() override { return 3; }
31963
31964 int
31965 getOperandSize(int opIdx) override
31966 {
31967 switch (opIdx) {
31968 case 0: //vgpr_a
31969 return 4;
31970 case 1: //vgpr_d1
31971 return 4;
31972 default:
31973 fatal("op idx %i out of bounds\n", opIdx);
31974 return -1;
31975 }
31976 } // getOperandSize
31977
31978 void execute(GPUDynInstPtr) override;
31979 }; // Inst_DS__DS_CMPST_F32
31980
31982 {
31983 public:
31986
31987 int
31989 {
31991 } // getNumOperands
31992
31993 int numDstRegOperands() override { return 0; }
31994 int numSrcRegOperands() override { return 2; }
31995
31996 int
31997 getOperandSize(int opIdx) override
31998 {
31999 switch (opIdx) {
32000 case 0: //vgpr_a
32001 return 4;
32002 case 1: //vgpr_d0
32003 return 4;
32004 default:
32005 fatal("op idx %i out of bounds\n", opIdx);
32006 return -1;
32007 }
32008 } // getOperandSize
32009
32010 void execute(GPUDynInstPtr) override;
32011 }; // Inst_DS__DS_MIN_F32
32012
32014 {
32015 public:
32018
32019 int
32021 {
32023 } // getNumOperands
32024
32025 int numDstRegOperands() override { return 0; }
32026 int numSrcRegOperands() override { return 2; }
32027
32028 int
32029 getOperandSize(int opIdx) override
32030 {
32031 switch (opIdx) {
32032 case 0: //vgpr_a
32033 return 4;
32034 case 1: //vgpr_d0
32035 return 4;
32036 default:
32037 fatal("op idx %i out of bounds\n", opIdx);
32038 return -1;
32039 }
32040 } // getOperandSize
32041
32042 void execute(GPUDynInstPtr) override;
32043 }; // Inst_DS__DS_MAX_F32
32044
32046 {
32047 public:
32050
32051 int
32053 {
32055 } // getNumOperands
32056
32057 int numDstRegOperands() override { return 0; }
32058 int numSrcRegOperands() override { return 0; }
32059
32060 int
32061 getOperandSize(int opIdx) override
32062 {
32063 switch (opIdx) {
32064 case 0: //vgpr_a
32065 return 4;
32066 default:
32067 fatal("op idx %i out of bounds\n", opIdx);
32068 return -1;
32069 }
32070 } // getOperandSize
32071
32072 void execute(GPUDynInstPtr) override;
32073 }; // Inst_DS__DS_NOP
32074
32076 {
32077 public:
32080
32081 int
32083 {
32085 } // getNumOperands
32086
32087 int numDstRegOperands() override { return 0; }
32088 int numSrcRegOperands() override { return 2; }
32089
32090 int
32091 getOperandSize(int opIdx) override
32092 {
32093 switch (opIdx) {
32094 case 0: //vgpr_a
32095 return 4;
32096 case 1: //vgpr_d0
32097 return 4;
32098 default:
32099 fatal("op idx %i out of bounds\n", opIdx);
32100 return -1;
32101 }
32102 } // getOperandSize
32103
32104 void initiateAcc(GPUDynInstPtr gpuDynInst) override;
32105 void completeAcc(GPUDynInstPtr gpuDynInst) override;
32106 void execute(GPUDynInstPtr) override;
32107 }; // Inst_DS__DS_ADD_F32
32108
32110 {
32111 public:
32114
32115 int
32117 {
32119 } // getNumOperands
32120
32121 int numDstRegOperands() override { return 0; }
32122 int numSrcRegOperands() override { return 2; }
32123
32124 int
32125 getOperandSize(int opIdx) override
32126 {
32127 switch (opIdx) {
32128 case 0: //vgpr_a
32129 return 4;
32130 case 1: //vgpr_d0
32131 return 1;
32132 default:
32133 fatal("op idx %i out of bounds\n", opIdx);
32134 return -1;
32135 }
32136 } // getOperandSize
32137
32138 void execute(GPUDynInstPtr) override;
32139 void initiateAcc(GPUDynInstPtr) override;
32140 void completeAcc(GPUDynInstPtr) override;
32141 }; // Inst_DS__DS_WRITE_B8
32142
32144 {
32145 public:
32148
32149 int
32151 {
32153 } // getNumOperands
32154
32155 int numDstRegOperands() override { return 0; }
32156 int numSrcRegOperands() override { return 2; }
32157
32158 int
32159 getOperandSize(int opIdx) override
32160 {
32161 switch (opIdx) {
32162 case 0: //vgpr_a
32163 return 4;
32164 case 1: //vgpr_d0
32165 return 1;
32166 default:
32167 fatal("op idx %i out of bounds\n", opIdx);
32168 return -1;
32169 }
32170 } // getOperandSize
32171
32172 void execute(GPUDynInstPtr) override;
32173 void initiateAcc(GPUDynInstPtr) override;
32174 void completeAcc(GPUDynInstPtr) override;
32175 }; // Inst_DS__DS_WRITE_B8_D16_HI
32176
32178 {
32179 public:
32182
32183 int
32185 {
32187 } // getNumOperands
32188
32189 int numDstRegOperands() override { return 0; }
32190 int numSrcRegOperands() override { return 2; }
32191
32192 int
32193 getOperandSize(int opIdx) override
32194 {
32195 switch (opIdx) {
32196 case 0: //vgpr_a
32197 return 4;
32198 case 1: //vgpr_d0
32199 return 2;
32200 default:
32201 fatal("op idx %i out of bounds\n", opIdx);
32202 return -1;
32203 }
32204 } // getOperandSize
32205
32206 void execute(GPUDynInstPtr) override;
32207 void initiateAcc(GPUDynInstPtr) override;
32208 void completeAcc(GPUDynInstPtr) override;
32209 }; // Inst_DS__DS_WRITE_B16
32210
32212 {
32213 public:
32216
32217 int
32219 {
32221 } // getNumOperands
32222
32223 int numDstRegOperands() override { return 1; }
32224 int numSrcRegOperands() override { return 2; }
32225
32226 int
32227 getOperandSize(int opIdx) override
32228 {
32229 switch (opIdx) {
32230 case 0: //vgpr_a
32231 return 4;
32232 case 1: //vgpr_d0
32233 return 4;
32234 case 2: //vgpr_rtn
32235 return 4;
32236 default:
32237 fatal("op idx %i out of bounds\n", opIdx);
32238 return -1;
32239 }
32240 } // getOperandSize
32241
32242 void execute(GPUDynInstPtr) override;
32243 }; // Inst_DS__DS_ADD_RTN_U32
32244
32246 {
32247 public:
32250
32251 int
32253 {
32255 } // getNumOperands
32256
32257 int numDstRegOperands() override { return 1; }
32258 int numSrcRegOperands() override { return 2; }
32259
32260 int
32261 getOperandSize(int opIdx) override
32262 {
32263 switch (opIdx) {
32264 case 0: //vgpr_a
32265 return 4;
32266 case 1: //vgpr_d0
32267 return 4;
32268 case 2: //vgpr_rtn
32269 return 4;
32270 default:
32271 fatal("op idx %i out of bounds\n", opIdx);
32272 return -1;
32273 }
32274 } // getOperandSize
32275
32276 void execute(GPUDynInstPtr) override;
32277 }; // Inst_DS__DS_SUB_RTN_U32
32278
32280 {
32281 public:
32284
32285 int
32287 {
32289 } // getNumOperands
32290
32291 int numDstRegOperands() override { return 1; }
32292 int numSrcRegOperands() override { return 2; }
32293
32294 int
32295 getOperandSize(int opIdx) override
32296 {
32297 switch (opIdx) {
32298 case 0: //vgpr_a
32299 return 4;
32300 case 1: //vgpr_d0
32301 return 4;
32302 case 2: //vgpr_rtn
32303 return 4;
32304 default:
32305 fatal("op idx %i out of bounds\n", opIdx);
32306 return -1;
32307 }
32308 } // getOperandSize
32309
32310 void execute(GPUDynInstPtr) override;
32311 }; // Inst_DS__DS_RSUB_RTN_U32
32312
32314 {
32315 public:
32318
32319 int
32321 {
32323 } // getNumOperands
32324
32325 int numDstRegOperands() override { return 1; }
32326 int numSrcRegOperands() override { return 2; }
32327
32328 int
32329 getOperandSize(int opIdx) override
32330 {
32331 switch (opIdx) {
32332 case 0: //vgpr_a
32333 return 4;
32334 case 1: //vgpr_d0
32335 return 4;
32336 case 2: //vgpr_rtn
32337 return 4;
32338 default:
32339 fatal("op idx %i out of bounds\n", opIdx);
32340 return -1;
32341 }
32342 } // getOperandSize
32343
32344 void execute(GPUDynInstPtr) override;
32345 }; // Inst_DS__DS_INC_RTN_U32
32346
32348 {
32349 public:
32352
32353 int
32355 {
32357 } // getNumOperands
32358
32359 int numDstRegOperands() override { return 1; }
32360 int numSrcRegOperands() override { return 2; }
32361
32362 int
32363 getOperandSize(int opIdx) override
32364 {
32365 switch (opIdx) {
32366 case 0: //vgpr_a
32367 return 4;
32368 case 1: //vgpr_d0
32369 return 4;
32370 case 2: //vgpr_rtn
32371 return 4;
32372 default:
32373 fatal("op idx %i out of bounds\n", opIdx);
32374 return -1;
32375 }
32376 } // getOperandSize
32377
32378 void execute(GPUDynInstPtr) override;
32379 }; // Inst_DS__DS_DEC_RTN_U32
32380
32382 {
32383 public:
32386
32387 int
32389 {
32391 } // getNumOperands
32392
32393 int numDstRegOperands() override { return 1; }
32394 int numSrcRegOperands() override { return 2; }
32395
32396 int
32397 getOperandSize(int opIdx) override
32398 {
32399 switch (opIdx) {
32400 case 0: //vgpr_a
32401 return 4;
32402 case 1: //vgpr_d0
32403 return 4;
32404 case 2: //vgpr_rtn
32405 return 4;
32406 default:
32407 fatal("op idx %i out of bounds\n", opIdx);
32408 return -1;
32409 }
32410 } // getOperandSize
32411
32412 void execute(GPUDynInstPtr) override;
32413 }; // Inst_DS__DS_MIN_RTN_I32
32414
32416 {
32417 public:
32420
32421 int
32423 {
32425 } // getNumOperands
32426
32427 int numDstRegOperands() override { return 1; }
32428 int numSrcRegOperands() override { return 2; }
32429
32430 int
32431 getOperandSize(int opIdx) override
32432 {
32433 switch (opIdx) {
32434 case 0: //vgpr_a
32435 return 4;
32436 case 1: //vgpr_d0
32437 return 4;
32438 case 2: //vgpr_rtn
32439 return 4;
32440 default:
32441 fatal("op idx %i out of bounds\n", opIdx);
32442 return -1;
32443 }
32444 } // getOperandSize
32445
32446 void execute(GPUDynInstPtr) override;
32447 }; // Inst_DS__DS_MAX_RTN_I32
32448
32450 {
32451 public:
32454
32455 int
32457 {
32459 } // getNumOperands
32460
32461 int numDstRegOperands() override { return 1; }
32462 int numSrcRegOperands() override { return 2; }
32463
32464 int
32465 getOperandSize(int opIdx) override
32466 {
32467 switch (opIdx) {
32468 case 0: //vgpr_a
32469 return 4;
32470 case 1: //vgpr_d0
32471 return 4;
32472 case 2: //vgpr_rtn
32473 return 4;
32474 default:
32475 fatal("op idx %i out of bounds\n", opIdx);
32476 return -1;
32477 }
32478 } // getOperandSize
32479
32480 void execute(GPUDynInstPtr) override;
32481 }; // Inst_DS__DS_MIN_RTN_U32
32482
32484 {
32485 public:
32488
32489 int
32491 {
32493 } // getNumOperands
32494
32495 int numDstRegOperands() override { return 1; }
32496 int numSrcRegOperands() override { return 2; }
32497
32498 int
32499 getOperandSize(int opIdx) override
32500 {
32501 switch (opIdx) {
32502 case 0: //vgpr_a
32503 return 4;
32504 case 1: //vgpr_d0
32505 return 4;
32506 case 2: //vgpr_rtn
32507 return 4;
32508 default:
32509 fatal("op idx %i out of bounds\n", opIdx);
32510 return -1;
32511 }
32512 } // getOperandSize
32513
32514 void execute(GPUDynInstPtr) override;
32515 }; // Inst_DS__DS_MAX_RTN_U32
32516
32518 {
32519 public:
32522
32523 int
32525 {
32527 } // getNumOperands
32528
32529 int numDstRegOperands() override { return 1; }
32530 int numSrcRegOperands() override { return 2; }
32531
32532 int
32533 getOperandSize(int opIdx) override
32534 {
32535 switch (opIdx) {
32536 case 0: //vgpr_a
32537 return 4;
32538 case 1: //vgpr_d0
32539 return 4;
32540 case 2: //vgpr_rtn
32541 return 4;
32542 default:
32543 fatal("op idx %i out of bounds\n", opIdx);
32544 return -1;
32545 }
32546 } // getOperandSize
32547
32548 void execute(GPUDynInstPtr) override;
32549 }; // Inst_DS__DS_AND_RTN_B32
32550
32552 {
32553 public:
32556
32557 int
32559 {
32561 } // getNumOperands
32562
32563 int numDstRegOperands() override { return 1; }
32564 int numSrcRegOperands() override { return 2; }
32565
32566 int
32567 getOperandSize(int opIdx) override
32568 {
32569 switch (opIdx) {
32570 case 0: //vgpr_a
32571 return 4;
32572 case 1: //vgpr_d0
32573 return 4;
32574 case 2: //vgpr_rtn
32575 return 4;
32576 default:
32577 fatal("op idx %i out of bounds\n", opIdx);
32578 return -1;
32579 }
32580 } // getOperandSize
32581
32582 void execute(GPUDynInstPtr) override;
32583 }; // Inst_DS__DS_OR_RTN_B32
32584
32586 {
32587 public:
32590
32591 int
32593 {
32595 } // getNumOperands
32596
32597 int numDstRegOperands() override { return 1; }
32598 int numSrcRegOperands() override { return 2; }
32599
32600 int
32601 getOperandSize(int opIdx) override
32602 {
32603 switch (opIdx) {
32604 case 0: //vgpr_a
32605 return 4;
32606 case 1: //vgpr_d0
32607 return 4;
32608 case 2: //vgpr_rtn
32609 return 4;
32610 default:
32611 fatal("op idx %i out of bounds\n", opIdx);
32612 return -1;
32613 }
32614 } // getOperandSize
32615
32616 void execute(GPUDynInstPtr) override;
32617 }; // Inst_DS__DS_XOR_RTN_B32
32618
32620 {
32621 public:
32624
32625 int
32627 {
32629 } // getNumOperands
32630
32631 int numDstRegOperands() override { return 1; }
32632 int numSrcRegOperands() override { return 3; }
32633
32634 int
32635 getOperandSize(int opIdx) override
32636 {
32637 switch (opIdx) {
32638 case 0: //vgpr_a
32639 return 4;
32640 case 1: //vgpr_d1
32641 return 4;
32642 case 2: //vgpr_rtn
32643 return 4;
32644 default:
32645 fatal("op idx %i out of bounds\n", opIdx);
32646 return -1;
32647 }
32648 } // getOperandSize
32649
32650 void execute(GPUDynInstPtr) override;
32651 }; // Inst_DS__DS_MSKOR_RTN_B32
32652
32654 {
32655 public:
32658
32659 int
32661 {
32663 } // getNumOperands
32664
32665 int numDstRegOperands() override { return 1; }
32666 int numSrcRegOperands() override { return 2; }
32667
32668 int
32669 getOperandSize(int opIdx) override
32670 {
32671 switch (opIdx) {
32672 case 0: //vgpr_a
32673 return 4;
32674 case 1: //vgpr_d0
32675 return 4;
32676 case 2: //vgpr_rtn
32677 return 4;
32678 default:
32679 fatal("op idx %i out of bounds\n", opIdx);
32680 return -1;
32681 }
32682 } // getOperandSize
32683
32684 void execute(GPUDynInstPtr) override;
32685 }; // Inst_DS__DS_WRXCHG_RTN_B32
32686
32688 {
32689 public:
32692
32693 int
32695 {
32697 } // getNumOperands
32698
32699 int numDstRegOperands() override { return 1; }
32700 int numSrcRegOperands() override { return 3; }
32701
32702 int
32703 getOperandSize(int opIdx) override
32704 {
32705 switch (opIdx) {
32706 case 0: //vgpr_a
32707 return 4;
32708 case 1: //vgpr_d1
32709 return 4;
32710 case 2: //vgpr_rtn
32711 return 4;
32712 default:
32713 fatal("op idx %i out of bounds\n", opIdx);
32714 return -1;
32715 }
32716 } // getOperandSize
32717
32718 void execute(GPUDynInstPtr) override;
32719 }; // Inst_DS__DS_WRXCHG2_RTN_B32
32720
32722 {
32723 public:
32726
32727 int
32729 {
32731 } // getNumOperands
32732
32733 int numDstRegOperands() override { return 1; }
32734 int numSrcRegOperands() override { return 3; }
32735
32736 int
32737 getOperandSize(int opIdx) override
32738 {
32739 switch (opIdx) {
32740 case 0: //vgpr_a
32741 return 4;
32742 case 1: //vgpr_d1
32743 return 4;
32744 case 2: //vgpr_rtn
32745 return 4;
32746 default:
32747 fatal("op idx %i out of bounds\n", opIdx);
32748 return -1;
32749 }
32750 } // getOperandSize
32751
32752 void execute(GPUDynInstPtr) override;
32753 }; // Inst_DS__DS_WRXCHG2ST64_RTN_B32
32754
32756 {
32757 public:
32760
32761 int
32763 {
32765 } // getNumOperands
32766
32767 int numDstRegOperands() override { return 1; }
32768 int numSrcRegOperands() override { return 3; }
32769
32770 int
32771 getOperandSize(int opIdx) override
32772 {
32773 switch (opIdx) {
32774 case 0: //vgpr_a
32775 return 4;
32776 case 1: //vgpr_d1
32777 return 4;
32778 case 2: //vgpr_rtn
32779 return 4;
32780 default:
32781 fatal("op idx %i out of bounds\n", opIdx);
32782 return -1;
32783 }
32784 } // getOperandSize
32785
32786 void execute(GPUDynInstPtr) override;
32787 }; // Inst_DS__DS_CMPST_RTN_B32
32788
32790 {
32791 public:
32794
32795 int
32797 {
32799 } // getNumOperands
32800
32801 int numDstRegOperands() override { return 1; }
32802 int numSrcRegOperands() override { return 3; }
32803
32804 int
32805 getOperandSize(int opIdx) override
32806 {
32807 switch (opIdx) {
32808 case 0: //vgpr_a
32809 return 4;
32810 case 1: //vgpr_d1
32811 return 4;
32812 case 2: //vgpr_rtn
32813 return 4;
32814 default:
32815 fatal("op idx %i out of bounds\n", opIdx);
32816 return -1;
32817 }
32818 } // getOperandSize
32819
32820 void execute(GPUDynInstPtr) override;
32821 }; // Inst_DS__DS_CMPST_RTN_F32
32822
32824 {
32825 public:
32828
32829 int
32831 {
32833 } // getNumOperands
32834
32835 int numDstRegOperands() override { return 1; }
32836 int numSrcRegOperands() override { return 2; }
32837
32838 int
32839 getOperandSize(int opIdx) override
32840 {
32841 switch (opIdx) {
32842 case 0: //vgpr_a
32843 return 4;
32844 case 1: //vgpr_d0
32845 return 4;
32846 case 2: //vgpr_rtn
32847 return 4;
32848 default:
32849 fatal("op idx %i out of bounds\n", opIdx);
32850 return -1;
32851 }
32852 } // getOperandSize
32853
32854 void execute(GPUDynInstPtr) override;
32855 }; // Inst_DS__DS_MIN_RTN_F32
32856
32858 {
32859 public:
32862
32863 int
32865 {
32867 } // getNumOperands
32868
32869 int numDstRegOperands() override { return 1; }
32870 int numSrcRegOperands() override { return 2; }
32871
32872 int
32873 getOperandSize(int opIdx) override
32874 {
32875 switch (opIdx) {
32876 case 0: //vgpr_a
32877 return 4;
32878 case 1: //vgpr_d0
32879 return 4;
32880 case 2: //vgpr_rtn
32881 return 4;
32882 default:
32883 fatal("op idx %i out of bounds\n", opIdx);
32884 return -1;
32885 }
32886 } // getOperandSize
32887
32888 void execute(GPUDynInstPtr) override;
32889 }; // Inst_DS__DS_MAX_RTN_F32
32890
32892 {
32893 public:
32896
32897 int
32899 {
32901 } // getNumOperands
32902
32903 int numDstRegOperands() override { return 1; }
32904 int numSrcRegOperands() override { return 3; }
32905
32906 int
32907 getOperandSize(int opIdx) override
32908 {
32909 switch (opIdx) {
32910 case 0: //vgpr_a
32911 return 4;
32912 case 1: //vgpr_d1
32913 return 4;
32914 case 2: //vgpr_rtn
32915 return 4;
32916 default:
32917 fatal("op idx %i out of bounds\n", opIdx);
32918 return -1;
32919 }
32920 } // getOperandSize
32921
32922 void execute(GPUDynInstPtr) override;
32923 }; // Inst_DS__DS_WRAP_RTN_B32
32924
32926 {
32927 public:
32930
32931 int
32933 {
32935 } // getNumOperands
32936
32937 int numDstRegOperands() override { return 1; }
32938 int numSrcRegOperands() override { return 2; }
32939
32940 int
32941 getOperandSize(int opIdx) override
32942 {
32943 switch (opIdx) {
32944 case 0: //vgpr_a
32945 return 4;
32946 case 1: //vgpr_d0
32947 return 4;
32948 case 2: //vgpr_rtn
32949 return 4;
32950 default:
32951 fatal("op idx %i out of bounds\n", opIdx);
32952 return -1;
32953 }
32954 } // getOperandSize
32955
32956 void execute(GPUDynInstPtr) override;
32957 }; // Inst_DS__DS_ADD_RTN_F32
32958
32960 {
32961 public:
32964
32965 int
32967 {
32969 } // getNumOperands
32970
32971 int numDstRegOperands() override { return 1; }
32972 int numSrcRegOperands() override { return 1; }
32973
32974 int
32975 getOperandSize(int opIdx) override
32976 {
32977 switch (opIdx) {
32978 case 0: //vgpr_a
32979 return 4;
32980 case 1: //vgpr_rtn
32981 return 4;
32982 default:
32983 fatal("op idx %i out of bounds\n", opIdx);
32984 return -1;
32985 }
32986 } // getOperandSize
32987
32988 void execute(GPUDynInstPtr) override;
32989 void initiateAcc(GPUDynInstPtr) override;
32990 void completeAcc(GPUDynInstPtr) override;
32991 }; // Inst_DS__DS_READ_B32
32992
32994 {
32995 public:
32998
32999 int
33001 {
33003 } // getNumOperands
33004
33005 int numDstRegOperands() override { return 1; }
33006 int numSrcRegOperands() override { return 1; }
33007
33008 int
33009 getOperandSize(int opIdx) override
33010 {
33011 switch (opIdx) {
33012 case 0: //vgpr_a
33013 return 4;
33014 case 1: //vgpr_rtn
33015 return 8;
33016 default:
33017 fatal("op idx %i out of bounds\n", opIdx);
33018 return -1;
33019 }
33020 } // getOperandSize
33021
33022 void execute(GPUDynInstPtr) override;
33023 void initiateAcc(GPUDynInstPtr) override;
33024 void completeAcc(GPUDynInstPtr) override;
33025 }; // Inst_DS__DS_READ2_B32
33026
33028 {
33029 public:
33032
33033 int
33035 {
33037 } // getNumOperands
33038
33039 int numDstRegOperands() override { return 1; }
33040 int numSrcRegOperands() override { return 1; }
33041
33042 int
33043 getOperandSize(int opIdx) override
33044 {
33045 switch (opIdx) {
33046 case 0: //vgpr_a
33047 return 4;
33048 case 1: //vgpr_rtn
33049 return 4;
33050 default:
33051 fatal("op idx %i out of bounds\n", opIdx);
33052 return -1;
33053 }
33054 } // getOperandSize
33055
33056 void execute(GPUDynInstPtr) override;
33057 void initiateAcc(GPUDynInstPtr) override;
33058 void completeAcc(GPUDynInstPtr) override;
33059 }; // Inst_DS__DS_READ2ST64_B32
33060
33062 {
33063 public:
33066
33067 int
33069 {
33071 } // getNumOperands
33072
33073 int numDstRegOperands() override { return 1; }
33074 int numSrcRegOperands() override { return 1; }
33075
33076 int
33077 getOperandSize(int opIdx) override
33078 {
33079 switch (opIdx) {
33080 case 0: //vgpr_a
33081 return 4;
33082 case 1: //vgpr_rtn
33083 return 1;
33084 default:
33085 fatal("op idx %i out of bounds\n", opIdx);
33086 return -1;
33087 }
33088 } // getOperandSize
33089
33090 void execute(GPUDynInstPtr) override;
33091 void initiateAcc(GPUDynInstPtr) override;
33092 void completeAcc(GPUDynInstPtr) override;
33093 }; // Inst_DS__DS_READ_I8
33094
33096 {
33097 public:
33100
33101 int
33103 {
33105 } // getNumOperands
33106
33107 int numDstRegOperands() override { return 1; }
33108 int numSrcRegOperands() override { return 1; }
33109
33110 int
33111 getOperandSize(int opIdx) override
33112 {
33113 switch (opIdx) {
33114 case 0: //vgpr_a
33115 return 4;
33116 case 1: //vgpr_rtn
33117 return 1;
33118 default:
33119 fatal("op idx %i out of bounds\n", opIdx);
33120 return -1;
33121 }
33122 } // getOperandSize
33123
33124 void execute(GPUDynInstPtr) override;
33125 void initiateAcc(GPUDynInstPtr) override;
33126 void completeAcc(GPUDynInstPtr) override;
33127 }; // Inst_DS__DS_READ_U8
33128
33130 {
33131 public:
33134
33135 int
33137 {
33139 } // getNumOperands
33140
33141 int numDstRegOperands() override { return 1; }
33142 int numSrcRegOperands() override { return 1; }
33143
33144 int
33145 getOperandSize(int opIdx) override
33146 {
33147 switch (opIdx) {
33148 case 0: //vgpr_a
33149 return 4;
33150 case 1: //vgpr_rtn
33151 return 2;
33152 default:
33153 fatal("op idx %i out of bounds\n", opIdx);
33154 return -1;
33155 }
33156 } // getOperandSize
33157
33158 void execute(GPUDynInstPtr) override;
33159 }; // Inst_DS__DS_READ_I16
33160
33162 {
33163 public:
33166
33167 int
33169 {
33171 } // getNumOperands
33172
33173 int numDstRegOperands() override { return 1; }
33174 int numSrcRegOperands() override { return 1; }
33175
33176 int
33177 getOperandSize(int opIdx) override
33178 {
33179 switch (opIdx) {
33180 case 0: //vgpr_a
33181 return 4;
33182 case 1: //vgpr_rtn
33183 return 2;
33184 default:
33185 fatal("op idx %i out of bounds\n", opIdx);
33186 return -1;
33187 }
33188 } // getOperandSize
33189
33190 void execute(GPUDynInstPtr) override;
33191 void initiateAcc(GPUDynInstPtr) override;
33192 void completeAcc(GPUDynInstPtr) override;
33193 }; // Inst_DS__DS_READ_U16
33194
33196 {
33197 public:
33200
33201 int
33203 {
33205 } // getNumOperands
33206
33207 int numDstRegOperands() override { return 1; }
33208 int numSrcRegOperands() override { return 1; }
33209
33210 int
33211 getOperandSize(int opIdx) override
33212 {
33213 switch (opIdx) {
33214 case 0: //vgpr_a
33215 return 4;
33216 case 1: //vgpr_rtn
33217 return 2;
33218 default:
33219 fatal("op idx %i out of bounds\n", opIdx);
33220 return -1;
33221 }
33222 } // getOperandSize
33223
33224 void execute(GPUDynInstPtr) override;
33225 void initiateAcc(GPUDynInstPtr) override;
33226 void completeAcc(GPUDynInstPtr) override;
33227 }; // Inst_DS__DS_READ_U16_D16
33228
33230 {
33231 public:
33234
33235 int
33237 {
33239 } // getNumOperands
33240
33241 int numDstRegOperands() override { return 1; }
33242 int numSrcRegOperands() override { return 1; }
33243
33244 int
33245 getOperandSize(int opIdx) override
33246 {
33247 switch (opIdx) {
33248 case 0: //vgpr_a
33249 return 4;
33250 case 1: //vgpr_rtn
33251 return 2;
33252 default:
33253 fatal("op idx %i out of bounds\n", opIdx);
33254 return -1;
33255 }
33256 } // getOperandSize
33257
33258 void execute(GPUDynInstPtr) override;
33259 void initiateAcc(GPUDynInstPtr) override;
33260 void completeAcc(GPUDynInstPtr) override;
33261 }; // Inst_DS__DS_READ_U16_D16_HI
33262
33264 {
33265 public:
33268
33269 int
33271 {
33273 } // getNumOperands
33274
33275 int numDstRegOperands() override { return 1; }
33276 int numSrcRegOperands() override { return 1; }
33277
33278 int
33279 getOperandSize(int opIdx) override
33280 {
33281 switch (opIdx) {
33282 case 0: //vgpr_a
33283 return 4;
33284 case 1: //vgpr_rtn
33285 return 4;
33286 default:
33287 fatal("op idx %i out of bounds\n", opIdx);
33288 return -1;
33289 }
33290 } // getOperandSize
33291
33292 void execute(GPUDynInstPtr) override;
33293 }; // Inst_DS__DS_SWIZZLE_B32
33294
33296 {
33297 public:
33300
33301 int
33303 {
33305 } // getNumOperands
33306
33307 int numDstRegOperands() override { return 1; }
33308 int numSrcRegOperands() override { return 2; }
33309
33310 int
33311 getOperandSize(int opIdx) override
33312 {
33313 switch (opIdx) {
33314 case 0: //vgpr_a
33315 return 4;
33316 case 1: //vgpr_d0
33317 return 4;
33318 case 2: //vgpr_rtn
33319 return 4;
33320 default:
33321 fatal("op idx %i out of bounds\n", opIdx);
33322 return -1;
33323 }
33324 } // getOperandSize
33325
33326 void execute(GPUDynInstPtr) override;
33327 }; // Inst_DS__DS_PERMUTE_B32
33328
33330 {
33331 public:
33334
33335 int
33337 {
33339 } // getNumOperands
33340
33341 int numDstRegOperands() override { return 1; }
33342 int numSrcRegOperands() override { return 2; }
33343
33344 int
33345 getOperandSize(int opIdx) override
33346 {
33347 switch (opIdx) {
33348 case 0: //vgpr_a
33349 return 4;
33350 case 1: //vgpr_d0
33351 return 4;
33352 case 2: //vgpr_rtn
33353 return 4;
33354 default:
33355 fatal("op idx %i out of bounds\n", opIdx);
33356 return -1;
33357 }
33358 } // getOperandSize
33359
33360 void execute(GPUDynInstPtr) override;
33361 }; // Inst_DS__DS_BPERMUTE_B32
33362
33364 {
33365 public:
33368
33369 int
33371 {
33373 } // getNumOperands
33374
33375 int numDstRegOperands() override { return 0; }
33376 int numSrcRegOperands() override { return 2; }
33377
33378 int
33379 getOperandSize(int opIdx) override
33380 {
33381 switch (opIdx) {
33382 case 0: //vgpr_a
33383 return 4;
33384 case 1: //vgpr_d0
33385 return 8;
33386 default:
33387 fatal("op idx %i out of bounds\n", opIdx);
33388 return -1;
33389 }
33390 } // getOperandSize
33391
33392 void initiateAcc(GPUDynInstPtr gpuDynInst) override;
33393 void completeAcc(GPUDynInstPtr gpuDynInst) override;
33394 void execute(GPUDynInstPtr) override;
33395 }; // Inst_DS__DS_ADD_U64
33396
33398 {
33399 public:
33402
33403 int
33405 {
33407 } // getNumOperands
33408
33409 int numDstRegOperands() override { return 0; }
33410 int numSrcRegOperands() override { return 2; }
33411
33412 int
33413 getOperandSize(int opIdx) override
33414 {
33415 switch (opIdx) {
33416 case 0: //vgpr_a
33417 return 4;
33418 case 1: //vgpr_d0
33419 return 8;
33420 default:
33421 fatal("op idx %i out of bounds\n", opIdx);
33422 return -1;
33423 }
33424 } // getOperandSize
33425
33426 void execute(GPUDynInstPtr) override;
33427 }; // Inst_DS__DS_SUB_U64
33428
33430 {
33431 public:
33434
33435 int
33437 {
33439 } // getNumOperands
33440
33441 int numDstRegOperands() override { return 0; }
33442 int numSrcRegOperands() override { return 2; }
33443
33444 int
33445 getOperandSize(int opIdx) override
33446 {
33447 switch (opIdx) {
33448 case 0: //vgpr_a
33449 return 4;
33450 case 1: //vgpr_d0
33451 return 8;
33452 default:
33453 fatal("op idx %i out of bounds\n", opIdx);
33454 return -1;
33455 }
33456 } // getOperandSize
33457
33458 void execute(GPUDynInstPtr) override;
33459 }; // Inst_DS__DS_RSUB_U64
33460
33462 {
33463 public:
33466
33467 int
33469 {
33471 } // getNumOperands
33472
33473 int numDstRegOperands() override { return 0; }
33474 int numSrcRegOperands() override { return 2; }
33475
33476 int
33477 getOperandSize(int opIdx) override
33478 {
33479 switch (opIdx) {
33480 case 0: //vgpr_a
33481 return 4;
33482 case 1: //vgpr_d0
33483 return 8;
33484 default:
33485 fatal("op idx %i out of bounds\n", opIdx);
33486 return -1;
33487 }
33488 } // getOperandSize
33489
33490 void execute(GPUDynInstPtr) override;
33491 }; // Inst_DS__DS_INC_U64
33492
33494 {
33495 public:
33498
33499 int
33501 {
33503 } // getNumOperands
33504
33505 int numDstRegOperands() override { return 0; }
33506 int numSrcRegOperands() override { return 2; }
33507
33508 int
33509 getOperandSize(int opIdx) override
33510 {
33511 switch (opIdx) {
33512 case 0: //vgpr_a
33513 return 4;
33514 case 1: //vgpr_d0
33515 return 8;
33516 default:
33517 fatal("op idx %i out of bounds\n", opIdx);
33518 return -1;
33519 }
33520 } // getOperandSize
33521
33522 void execute(GPUDynInstPtr) override;
33523 }; // Inst_DS__DS_DEC_U64
33524
33526 {
33527 public:
33530
33531 int
33533 {
33535 } // getNumOperands
33536
33537 int numDstRegOperands() override { return 0; }
33538 int numSrcRegOperands() override { return 2; }
33539
33540 int
33541 getOperandSize(int opIdx) override
33542 {
33543 switch (opIdx) {
33544 case 0: //vgpr_a
33545 return 4;
33546 case 1: //vgpr_d0
33547 return 8;
33548 default:
33549 fatal("op idx %i out of bounds\n", opIdx);
33550 return -1;
33551 }
33552 } // getOperandSize
33553
33554 void execute(GPUDynInstPtr) override;
33555 }; // Inst_DS__DS_MIN_I64
33556
33558 {
33559 public:
33562
33563 int
33565 {
33567 } // getNumOperands
33568
33569 int numDstRegOperands() override { return 0; }
33570 int numSrcRegOperands() override { return 2; }
33571
33572 int
33573 getOperandSize(int opIdx) override
33574 {
33575 switch (opIdx) {
33576 case 0: //vgpr_a
33577 return 4;
33578 case 1: //vgpr_d0
33579 return 8;
33580 default:
33581 fatal("op idx %i out of bounds\n", opIdx);
33582 return -1;
33583 }
33584 } // getOperandSize
33585
33586 void execute(GPUDynInstPtr) override;
33587 }; // Inst_DS__DS_MAX_I64
33588
33590 {
33591 public:
33594
33595 int
33597 {
33599 } // getNumOperands
33600
33601 int numDstRegOperands() override { return 0; }
33602 int numSrcRegOperands() override { return 2; }
33603
33604 int
33605 getOperandSize(int opIdx) override
33606 {
33607 switch (opIdx) {
33608 case 0: //vgpr_a
33609 return 4;
33610 case 1: //vgpr_d0
33611 return 8;
33612 default:
33613 fatal("op idx %i out of bounds\n", opIdx);
33614 return -1;
33615 }
33616 } // getOperandSize
33617
33618 void execute(GPUDynInstPtr) override;
33619 }; // Inst_DS__DS_MIN_U64
33620
33622 {
33623 public:
33626
33627 int
33629 {
33631 } // getNumOperands
33632
33633 int numDstRegOperands() override { return 0; }
33634 int numSrcRegOperands() override { return 2; }
33635
33636 int
33637 getOperandSize(int opIdx) override
33638 {
33639 switch (opIdx) {
33640 case 0: //vgpr_a
33641 return 4;
33642 case 1: //vgpr_d0
33643 return 8;
33644 default:
33645 fatal("op idx %i out of bounds\n", opIdx);
33646 return -1;
33647 }
33648 } // getOperandSize
33649
33650 void execute(GPUDynInstPtr) override;
33651 }; // Inst_DS__DS_MAX_U64
33652
33654 {
33655 public:
33658
33659 int
33661 {
33663 } // getNumOperands
33664
33665 int numDstRegOperands() override { return 0; }
33666 int numSrcRegOperands() override { return 2; }
33667
33668 int
33669 getOperandSize(int opIdx) override
33670 {
33671 switch (opIdx) {
33672 case 0: //vgpr_a
33673 return 4;
33674 case 1: //vgpr_d0
33675 return 8;
33676 default:
33677 fatal("op idx %i out of bounds\n", opIdx);
33678 return -1;
33679 }
33680 } // getOperandSize
33681
33682 void execute(GPUDynInstPtr) override;
33683 }; // Inst_DS__DS_AND_B64
33684
33686 {
33687 public:
33690
33691 int
33693 {
33695 } // getNumOperands
33696
33697 int numDstRegOperands() override { return 0; }
33698 int numSrcRegOperands() override { return 2; }
33699
33700 int
33701 getOperandSize(int opIdx) override
33702 {
33703 switch (opIdx) {
33704 case 0: //vgpr_a
33705 return 4;
33706 case 1: //vgpr_d0
33707 return 8;
33708 default:
33709 fatal("op idx %i out of bounds\n", opIdx);
33710 return -1;
33711 }
33712 } // getOperandSize
33713
33714 void execute(GPUDynInstPtr) override;
33715 }; // Inst_DS__DS_OR_B64
33716
33718 {
33719 public:
33722
33723 int
33725 {
33727 } // getNumOperands
33728
33729 int numDstRegOperands() override { return 0; }
33730 int numSrcRegOperands() override { return 2; }
33731
33732 int
33733 getOperandSize(int opIdx) override
33734 {
33735 switch (opIdx) {
33736 case 0: //vgpr_a
33737 return 4;
33738 case 1: //vgpr_d0
33739 return 8;
33740 default:
33741 fatal("op idx %i out of bounds\n", opIdx);
33742 return -1;
33743 }
33744 } // getOperandSize
33745
33746 void execute(GPUDynInstPtr) override;
33747 }; // Inst_DS__DS_XOR_B64
33748
33750 {
33751 public:
33754
33755 int
33757 {
33759 } // getNumOperands
33760
33761 int numDstRegOperands() override { return 0; }
33762 int numSrcRegOperands() override { return 3; }
33763
33764 int
33765 getOperandSize(int opIdx) override
33766 {
33767 switch (opIdx) {
33768 case 0: //vgpr_a
33769 return 4;
33770 case 1: //vgpr_d1
33771 return 8;
33772 default:
33773 fatal("op idx %i out of bounds\n", opIdx);
33774 return -1;
33775 }
33776 } // getOperandSize
33777
33778 void execute(GPUDynInstPtr) override;
33779 }; // Inst_DS__DS_MSKOR_B64
33780
33782 {
33783 public:
33786
33787 int
33789 {
33791 } // getNumOperands
33792
33793 int numDstRegOperands() override { return 0; }
33794 int numSrcRegOperands() override { return 2; }
33795
33796 int
33797 getOperandSize(int opIdx) override
33798 {
33799 switch (opIdx) {
33800 case 0: //vgpr_a
33801 return 4;
33802 case 1: //vgpr_d0
33803 return 8;
33804 default:
33805 fatal("op idx %i out of bounds\n", opIdx);
33806 return -1;
33807 }
33808 } // getOperandSize
33809
33810 void execute(GPUDynInstPtr) override;
33811 void initiateAcc(GPUDynInstPtr) override;
33812 void completeAcc(GPUDynInstPtr) override;
33813 }; // Inst_DS__DS_WRITE_B64
33814
33816 {
33817 public:
33820
33821 int
33823 {
33825 } // getNumOperands
33826
33827 int numDstRegOperands() override { return 0; }
33828 int numSrcRegOperands() override { return 3; }
33829
33830 int
33831 getOperandSize(int opIdx) override
33832 {
33833 switch (opIdx) {
33834 case 0: //vgpr_a
33835 return 4;
33836 case 1: //vgpr_d0
33837 return 8;
33838 case 2: //vgpr_d1
33839 return 8;
33840 default:
33841 fatal("op idx %i out of bounds\n", opIdx);
33842 return -1;
33843 }
33844 } // getOperandSize
33845
33846 void execute(GPUDynInstPtr) override;
33847 void initiateAcc(GPUDynInstPtr) override;
33848 void completeAcc(GPUDynInstPtr) override;
33849 }; // Inst_DS__DS_WRITE2_B64
33850
33852 {
33853 public:
33856
33857 int
33859 {
33861 } // getNumOperands
33862
33863 int numDstRegOperands() override { return 0; }
33864 int numSrcRegOperands() override { return 3; }
33865
33866 int
33867 getOperandSize(int opIdx) override
33868 {
33869 switch (opIdx) {
33870 case 0: //vgpr_a
33871 return 4;
33872 case 1: //vgpr_d0
33873 return 8;
33874 case 2: //vgpr_d1
33875 return 8;
33876 default:
33877 fatal("op idx %i out of bounds\n", opIdx);
33878 return -1;
33879 }
33880 } // getOperandSize
33881
33882 void execute(GPUDynInstPtr) override;
33883 void initiateAcc(GPUDynInstPtr) override;
33884 void completeAcc(GPUDynInstPtr) override;
33885 }; // Inst_DS__DS_WRITE2ST64_B64
33886
33888 {
33889 public:
33892
33893 int
33895 {
33897 } // getNumOperands
33898
33899 int numDstRegOperands() override { return 0; }
33900 int numSrcRegOperands() override { return 3; }
33901
33902 int
33903 getOperandSize(int opIdx) override
33904 {
33905 switch (opIdx) {
33906 case 0: //vgpr_a
33907 return 4;
33908 case 1: //vgpr_d1
33909 return 8;
33910 default:
33911 fatal("op idx %i out of bounds\n", opIdx);
33912 return -1;
33913 }
33914 } // getOperandSize
33915
33916 void execute(GPUDynInstPtr) override;
33917 }; // Inst_DS__DS_CMPST_B64
33918
33920 {
33921 public:
33924
33925 int
33927 {
33929 } // getNumOperands
33930
33931 int numDstRegOperands() override { return 0; }
33932 int numSrcRegOperands() override { return 3; }
33933
33934 int
33935 getOperandSize(int opIdx) override
33936 {
33937 switch (opIdx) {
33938 case 0: //vgpr_a
33939 return 4;
33940 case 1: //vgpr_d1
33941 return 8;
33942 default:
33943 fatal("op idx %i out of bounds\n", opIdx);
33944 return -1;
33945 }
33946 } // getOperandSize
33947
33948 void execute(GPUDynInstPtr) override;
33949 }; // Inst_DS__DS_CMPST_F64
33950
33952 {
33953 public:
33956
33957 int
33959 {
33961 } // getNumOperands
33962
33963 int numDstRegOperands() override { return 0; }
33964 int numSrcRegOperands() override { return 2; }
33965
33966 int
33967 getOperandSize(int opIdx) override
33968 {
33969 switch (opIdx) {
33970 case 0: //vgpr_a
33971 return 4;
33972 case 1: //vgpr_d0
33973 return 8;
33974 default:
33975 fatal("op idx %i out of bounds\n", opIdx);
33976 return -1;
33977 }
33978 } // getOperandSize
33979
33980 void execute(GPUDynInstPtr) override;
33981 }; // Inst_DS__DS_MIN_F64
33982
33984 {
33985 public:
33988
33989 int
33991 {
33993 } // getNumOperands
33994
33995 int numDstRegOperands() override { return 0; }
33996 int numSrcRegOperands() override { return 2; }
33997
33998 int
33999 getOperandSize(int opIdx) override
34000 {
34001 switch (opIdx) {
34002 case 0: //vgpr_a
34003 return 4;
34004 case 1: //vgpr_d0
34005 return 8;
34006 default:
34007 fatal("op idx %i out of bounds\n", opIdx);
34008 return -1;
34009 }
34010 } // getOperandSize
34011
34012 void execute(GPUDynInstPtr) override;
34013 }; // Inst_DS__DS_MAX_F64
34014
34016 {
34017 public:
34020
34021 int
34023 {
34025 } // getNumOperands
34026
34027 int numDstRegOperands() override { return 1; }
34028 int numSrcRegOperands() override { return 2; }
34029
34030 int
34031 getOperandSize(int opIdx) override
34032 {
34033 switch (opIdx) {
34034 case 0: //vgpr_a
34035 return 4;
34036 case 1: //vgpr_d0
34037 return 8;
34038 case 2: //vgpr_rtn
34039 return 8;
34040 default:
34041 fatal("op idx %i out of bounds\n", opIdx);
34042 return -1;
34043 }
34044 } // getOperandSize
34045
34046 void execute(GPUDynInstPtr) override;
34047 }; // Inst_DS__DS_ADD_RTN_U64
34048
34050 {
34051 public:
34054
34055 int
34057 {
34059 } // getNumOperands
34060
34061 int numDstRegOperands() override { return 1; }
34062 int numSrcRegOperands() override { return 2; }
34063
34064 int
34065 getOperandSize(int opIdx) override
34066 {
34067 switch (opIdx) {
34068 case 0: //vgpr_a
34069 return 4;
34070 case 1: //vgpr_d0
34071 return 8;
34072 case 2: //vgpr_rtn
34073 return 8;
34074 default:
34075 fatal("op idx %i out of bounds\n", opIdx);
34076 return -1;
34077 }
34078 } // getOperandSize
34079
34080 void execute(GPUDynInstPtr) override;
34081 }; // Inst_DS__DS_SUB_RTN_U64
34082
34084 {
34085 public:
34088
34089 int
34091 {
34093 } // getNumOperands
34094
34095 int numDstRegOperands() override { return 1; }
34096 int numSrcRegOperands() override { return 2; }
34097
34098 int
34099 getOperandSize(int opIdx) override
34100 {
34101 switch (opIdx) {
34102 case 0: //vgpr_a
34103 return 4;
34104 case 1: //vgpr_d0
34105 return 8;
34106 case 2: //vgpr_rtn
34107 return 8;
34108 default:
34109 fatal("op idx %i out of bounds\n", opIdx);
34110 return -1;
34111 }
34112 } // getOperandSize
34113
34114 void execute(GPUDynInstPtr) override;
34115 }; // Inst_DS__DS_RSUB_RTN_U64
34116
34118 {
34119 public:
34122
34123 int
34125 {
34127 } // getNumOperands
34128
34129 int numDstRegOperands() override { return 1; }
34130 int numSrcRegOperands() override { return 2; }
34131
34132 int
34133 getOperandSize(int opIdx) override
34134 {
34135 switch (opIdx) {
34136 case 0: //vgpr_a
34137 return 4;
34138 case 1: //vgpr_d0
34139 return 8;
34140 case 2: //vgpr_rtn
34141 return 8;
34142 default:
34143 fatal("op idx %i out of bounds\n", opIdx);
34144 return -1;
34145 }
34146 } // getOperandSize
34147
34148 void execute(GPUDynInstPtr) override;
34149 }; // Inst_DS__DS_INC_RTN_U64
34150
34152 {
34153 public:
34156
34157 int
34159 {
34161 } // getNumOperands
34162
34163 int numDstRegOperands() override { return 1; }
34164 int numSrcRegOperands() override { return 2; }
34165
34166 int
34167 getOperandSize(int opIdx) override
34168 {
34169 switch (opIdx) {
34170 case 0: //vgpr_a
34171 return 4;
34172 case 1: //vgpr_d0
34173 return 8;
34174 case 2: //vgpr_rtn
34175 return 8;
34176 default:
34177 fatal("op idx %i out of bounds\n", opIdx);
34178 return -1;
34179 }
34180 } // getOperandSize
34181
34182 void execute(GPUDynInstPtr) override;
34183 }; // Inst_DS__DS_DEC_RTN_U64
34184
34186 {
34187 public:
34190
34191 int
34193 {
34195 } // getNumOperands
34196
34197 int numDstRegOperands() override { return 1; }
34198 int numSrcRegOperands() override { return 2; }
34199
34200 int
34201 getOperandSize(int opIdx) override
34202 {
34203 switch (opIdx) {
34204 case 0: //vgpr_a
34205 return 4;
34206 case 1: //vgpr_d0
34207 return 8;
34208 case 2: //vgpr_rtn
34209 return 8;
34210 default:
34211 fatal("op idx %i out of bounds\n", opIdx);
34212 return -1;
34213 }
34214 } // getOperandSize
34215
34216 void execute(GPUDynInstPtr) override;
34217 }; // Inst_DS__DS_MIN_RTN_I64
34218
34220 {
34221 public:
34224
34225 int
34227 {
34229 } // getNumOperands
34230
34231 int numDstRegOperands() override { return 1; }
34232 int numSrcRegOperands() override { return 2; }
34233
34234 int
34235 getOperandSize(int opIdx) override
34236 {
34237 switch (opIdx) {
34238 case 0: //vgpr_a
34239 return 4;
34240 case 1: //vgpr_d0
34241 return 8;
34242 case 2: //vgpr_rtn
34243 return 8;
34244 default:
34245 fatal("op idx %i out of bounds\n", opIdx);
34246 return -1;
34247 }
34248 } // getOperandSize
34249
34250 void execute(GPUDynInstPtr) override;
34251 }; // Inst_DS__DS_MAX_RTN_I64
34252
34254 {
34255 public:
34258
34259 int
34261 {
34263 } // getNumOperands
34264
34265 int numDstRegOperands() override { return 1; }
34266 int numSrcRegOperands() override { return 2; }
34267
34268 int
34269 getOperandSize(int opIdx) override
34270 {
34271 switch (opIdx) {
34272 case 0: //vgpr_a
34273 return 4;
34274 case 1: //vgpr_d0
34275 return 8;
34276 case 2: //vgpr_rtn
34277 return 8;
34278 default:
34279 fatal("op idx %i out of bounds\n", opIdx);
34280 return -1;
34281 }
34282 } // getOperandSize
34283
34284 void execute(GPUDynInstPtr) override;
34285 }; // Inst_DS__DS_MIN_RTN_U64
34286
34288 {
34289 public:
34292
34293 int
34295 {
34297 } // getNumOperands
34298
34299 int numDstRegOperands() override { return 1; }
34300 int numSrcRegOperands() override { return 2; }
34301
34302 int
34303 getOperandSize(int opIdx) override
34304 {
34305 switch (opIdx) {
34306 case 0: //vgpr_a
34307 return 4;
34308 case 1: //vgpr_d0
34309 return 8;
34310 case 2: //vgpr_rtn
34311 return 8;
34312 default:
34313 fatal("op idx %i out of bounds\n", opIdx);
34314 return -1;
34315 }
34316 } // getOperandSize
34317
34318 void execute(GPUDynInstPtr) override;
34319 }; // Inst_DS__DS_MAX_RTN_U64
34320
34322 {
34323 public:
34326
34327 int
34329 {
34331 } // getNumOperands
34332
34333 int numDstRegOperands() override { return 1; }
34334 int numSrcRegOperands() override { return 2; }
34335
34336 int
34337 getOperandSize(int opIdx) override
34338 {
34339 switch (opIdx) {
34340 case 0: //vgpr_a
34341 return 4;
34342 case 1: //vgpr_d0
34343 return 8;
34344 case 2: //vgpr_rtn
34345 return 8;
34346 default:
34347 fatal("op idx %i out of bounds\n", opIdx);
34348 return -1;
34349 }
34350 } // getOperandSize
34351
34352 void execute(GPUDynInstPtr) override;
34353 }; // Inst_DS__DS_AND_RTN_B64
34354
34356 {
34357 public:
34360
34361 int
34363 {
34365 } // getNumOperands
34366
34367 int numDstRegOperands() override { return 1; }
34368 int numSrcRegOperands() override { return 2; }
34369
34370 int
34371 getOperandSize(int opIdx) override
34372 {
34373 switch (opIdx) {
34374 case 0: //vgpr_a
34375 return 4;
34376 case 1: //vgpr_d0
34377 return 8;
34378 case 2: //vgpr_rtn
34379 return 8;
34380 default:
34381 fatal("op idx %i out of bounds\n", opIdx);
34382 return -1;
34383 }
34384 } // getOperandSize
34385
34386 void execute(GPUDynInstPtr) override;
34387 }; // Inst_DS__DS_OR_RTN_B64
34388
34390 {
34391 public:
34394
34395 int
34397 {
34399 } // getNumOperands
34400
34401 int numDstRegOperands() override { return 1; }
34402 int numSrcRegOperands() override { return 2; }
34403
34404 int
34405 getOperandSize(int opIdx) override
34406 {
34407 switch (opIdx) {
34408 case 0: //vgpr_a
34409 return 4;
34410 case 1: //vgpr_d0
34411 return 8;
34412 case 2: //vgpr_rtn
34413 return 8;
34414 default:
34415 fatal("op idx %i out of bounds\n", opIdx);
34416 return -1;
34417 }
34418 } // getOperandSize
34419
34420 void execute(GPUDynInstPtr) override;
34421 }; // Inst_DS__DS_XOR_RTN_B64
34422
34424 {
34425 public:
34428
34429 int
34431 {
34433 } // getNumOperands
34434
34435 int numDstRegOperands() override { return 1; }
34436 int numSrcRegOperands() override { return 3; }
34437
34438 int
34439 getOperandSize(int opIdx) override
34440 {
34441 switch (opIdx) {
34442 case 0: //vgpr_a
34443 return 4;
34444 case 1: //vgpr_d1
34445 return 8;
34446 case 2: //vgpr_rtn
34447 return 8;
34448 default:
34449 fatal("op idx %i out of bounds\n", opIdx);
34450 return -1;
34451 }
34452 } // getOperandSize
34453
34454 void execute(GPUDynInstPtr) override;
34455 }; // Inst_DS__DS_MSKOR_RTN_B64
34456
34458 {
34459 public:
34462
34463 int
34465 {
34467 } // getNumOperands
34468
34469 int numDstRegOperands() override { return 1; }
34470 int numSrcRegOperands() override { return 2; }
34471
34472 int
34473 getOperandSize(int opIdx) override
34474 {
34475 switch (opIdx) {
34476 case 0: //vgpr_a
34477 return 4;
34478 case 1: //vgpr_d0
34479 return 8;
34480 case 2: //vgpr_rtn
34481 return 8;
34482 default:
34483 fatal("op idx %i out of bounds\n", opIdx);
34484 return -1;
34485 }
34486 } // getOperandSize
34487
34488 void execute(GPUDynInstPtr) override;
34489 }; // Inst_DS__DS_WRXCHG_RTN_B64
34490
34492 {
34493 public:
34496
34497 int
34499 {
34501 } // getNumOperands
34502
34503 int numDstRegOperands() override { return 1; }
34504 int numSrcRegOperands() override { return 3; }
34505
34506 int
34507 getOperandSize(int opIdx) override
34508 {
34509 switch (opIdx) {
34510 case 0: //vgpr_a
34511 return 4;
34512 case 1: //vgpr_d1
34513 return 8;
34514 case 2: //vgpr_rtn
34515 return 8;
34516 default:
34517 fatal("op idx %i out of bounds\n", opIdx);
34518 return -1;
34519 }
34520 } // getOperandSize
34521
34522 void execute(GPUDynInstPtr) override;
34523 }; // Inst_DS__DS_WRXCHG2_RTN_B64
34524
34526 {
34527 public:
34530
34531 int
34533 {
34535 } // getNumOperands
34536
34537 int numDstRegOperands() override { return 1; }
34538 int numSrcRegOperands() override { return 3; }
34539
34540 int
34541 getOperandSize(int opIdx) override
34542 {
34543 switch (opIdx) {
34544 case 0: //vgpr_a
34545 return 4;
34546 case 1: //vgpr_d1
34547 return 8;
34548 case 2: //vgpr_rtn
34549 return 8;
34550 default:
34551 fatal("op idx %i out of bounds\n", opIdx);
34552 return -1;
34553 }
34554 } // getOperandSize
34555
34556 void execute(GPUDynInstPtr) override;
34557 }; // Inst_DS__DS_WRXCHG2ST64_RTN_B64
34558
34560 {
34561 public:
34564
34565 int
34567 {
34569 } // getNumOperands
34570
34571 int numDstRegOperands() override { return 1; }
34572 int numSrcRegOperands() override { return 3; }
34573
34574 int
34575 getOperandSize(int opIdx) override
34576 {
34577 switch (opIdx) {
34578 case 0: //vgpr_a
34579 return 4;
34580 case 1: //vgpr_d1
34581 return 8;
34582 case 2: //vgpr_rtn
34583 return 8;
34584 default:
34585 fatal("op idx %i out of bounds\n", opIdx);
34586 return -1;
34587 }
34588 } // getOperandSize
34589
34590 void execute(GPUDynInstPtr) override;
34591 }; // Inst_DS__DS_CMPST_RTN_B64
34592
34594 {
34595 public:
34598
34599 int
34601 {
34603 } // getNumOperands
34604
34605 int numDstRegOperands() override { return 1; }
34606 int numSrcRegOperands() override { return 3; }
34607
34608 int
34609 getOperandSize(int opIdx) override
34610 {
34611 switch (opIdx) {
34612 case 0: //vgpr_a
34613 return 4;
34614 case 1: //vgpr_d1
34615 return 8;
34616 case 2: //vgpr_rtn
34617 return 8;
34618 default:
34619 fatal("op idx %i out of bounds\n", opIdx);
34620 return -1;
34621 }
34622 } // getOperandSize
34623
34624 void execute(GPUDynInstPtr) override;
34625 }; // Inst_DS__DS_CMPST_RTN_F64
34626
34628 {
34629 public:
34632
34633 int
34635 {
34637 } // getNumOperands
34638
34639 int numDstRegOperands() override { return 1; }
34640 int numSrcRegOperands() override { return 2; }
34641
34642 int
34643 getOperandSize(int opIdx) override
34644 {
34645 switch (opIdx) {
34646 case 0: //vgpr_a
34647 return 4;
34648 case 1: //vgpr_d0
34649 return 8;
34650 case 2: //vgpr_rtn
34651 return 8;
34652 default:
34653 fatal("op idx %i out of bounds\n", opIdx);
34654 return -1;
34655 }
34656 } // getOperandSize
34657
34658 void execute(GPUDynInstPtr) override;
34659 }; // Inst_DS__DS_MIN_RTN_F64
34660
34662 {
34663 public:
34666
34667 int
34669 {
34671 } // getNumOperands
34672
34673 int numDstRegOperands() override { return 1; }
34674 int numSrcRegOperands() override { return 2; }
34675
34676 int
34677 getOperandSize(int opIdx) override
34678 {
34679 switch (opIdx) {
34680 case 0: //vgpr_a
34681 return 4;
34682 case 1: //vgpr_d0
34683 return 8;
34684 case 2: //vgpr_rtn
34685 return 8;
34686 default:
34687 fatal("op idx %i out of bounds\n", opIdx);
34688 return -1;
34689 }
34690 } // getOperandSize
34691
34692 void execute(GPUDynInstPtr) override;
34693 }; // Inst_DS__DS_MAX_RTN_F64
34694
34696 {
34697 public:
34700
34701 int
34703 {
34705 } // getNumOperands
34706
34707 int numDstRegOperands() override { return 1; }
34708 int numSrcRegOperands() override { return 1; }
34709
34710 int
34711 getOperandSize(int opIdx) override
34712 {
34713 switch (opIdx) {
34714 case 0: //vgpr_a
34715 return 4;
34716 case 1: //vgpr_rtn
34717 return 8;
34718 default:
34719 fatal("op idx %i out of bounds\n", opIdx);
34720 return -1;
34721 }
34722 } // getOperandSize
34723
34724 void execute(GPUDynInstPtr) override;
34725 void initiateAcc(GPUDynInstPtr) override;
34726 void completeAcc(GPUDynInstPtr) override;
34727 }; // Inst_DS__DS_READ_B64
34728
34730 {
34731 public:
34734
34735 int
34737 {
34739 } // getNumOperands
34740
34741 int numDstRegOperands() override { return 1; }
34742 int numSrcRegOperands() override { return 1; }
34743
34744 int
34745 getOperandSize(int opIdx) override
34746 {
34747 switch (opIdx) {
34748 case 0: //vgpr_a
34749 return 4;
34750 case 1: //vgpr_rtn
34751 return 16;
34752 default:
34753 fatal("op idx %i out of bounds\n", opIdx);
34754 return -1;
34755 }
34756 } // getOperandSize
34757
34758 void execute(GPUDynInstPtr) override;
34759 void initiateAcc(GPUDynInstPtr) override;
34760 void completeAcc(GPUDynInstPtr) override;
34761 }; // Inst_DS__DS_READ2_B64
34762
34764 {
34765 public:
34768
34769 int
34771 {
34773 } // getNumOperands
34774
34775 int numDstRegOperands() override { return 1; }
34776 int numSrcRegOperands() override { return 1; }
34777
34778 int
34779 getOperandSize(int opIdx) override
34780 {
34781 switch (opIdx) {
34782 case 0: //vgpr_a
34783 return 4;
34784 case 1: //vgpr_rtn
34785 return 8;
34786 default:
34787 fatal("op idx %i out of bounds\n", opIdx);
34788 return -1;
34789 }
34790 } // getOperandSize
34791
34792 void execute(GPUDynInstPtr) override;
34793 void initiateAcc(GPUDynInstPtr) override;
34794 void completeAcc(GPUDynInstPtr) override;
34795 }; // Inst_DS__DS_READ2ST64_B64
34796
34798 {
34799 public:
34802
34803 int
34805 {
34807 } // getNumOperands
34808
34809 int numDstRegOperands() override { return 1; }
34810 int numSrcRegOperands() override { return 2; }
34811
34812 int
34813 getOperandSize(int opIdx) override
34814 {
34815 switch (opIdx) {
34816 case 0: //vgpr_a
34817 return 4;
34818 case 1: //vgpr_d0
34819 return 8;
34820 case 2: //vgpr_rtn
34821 return 8;
34822 default:
34823 fatal("op idx %i out of bounds\n", opIdx);
34824 return -1;
34825 }
34826 } // getOperandSize
34827
34828 void execute(GPUDynInstPtr) override;
34829 }; // Inst_DS__DS_CONDXCHG32_RTN_B64
34830
34832 {
34833 public:
34836
34837 int
34839 {
34841 } // getNumOperands
34842
34843 int numDstRegOperands() override { return 0; }
34844 int numSrcRegOperands() override { return 1; }
34845
34846 int
34847 getOperandSize(int opIdx) override
34848 {
34849 switch (opIdx) {
34850 case 0: //vgpr_a
34851 return 4;
34852 default:
34853 fatal("op idx %i out of bounds\n", opIdx);
34854 return -1;
34855 }
34856 } // getOperandSize
34857
34858 void execute(GPUDynInstPtr) override;
34859 }; // Inst_DS__DS_ADD_SRC2_U32
34860
34862 {
34863 public:
34866
34867 int
34869 {
34871 } // getNumOperands
34872
34873 int numDstRegOperands() override { return 0; }
34874 int numSrcRegOperands() override { return 1; }
34875
34876 int
34877 getOperandSize(int opIdx) override
34878 {
34879 switch (opIdx) {
34880 case 0: //vgpr_a
34881 return 4;
34882 default:
34883 fatal("op idx %i out of bounds\n", opIdx);
34884 return -1;
34885 }
34886 } // getOperandSize
34887
34888 void execute(GPUDynInstPtr) override;
34889 }; // Inst_DS__DS_SUB_SRC2_U32
34890
34892 {
34893 public:
34896
34897 int
34899 {
34901 } // getNumOperands
34902
34903 int numDstRegOperands() override { return 0; }
34904 int numSrcRegOperands() override { return 1; }
34905
34906 int
34907 getOperandSize(int opIdx) override
34908 {
34909 switch (opIdx) {
34910 case 0: //vgpr_a
34911 return 4;
34912 default:
34913 fatal("op idx %i out of bounds\n", opIdx);
34914 return -1;
34915 }
34916 } // getOperandSize
34917
34918 void execute(GPUDynInstPtr) override;
34919 }; // Inst_DS__DS_RSUB_SRC2_U32
34920
34922 {
34923 public:
34926
34927 int
34929 {
34931 } // getNumOperands
34932
34933 int numDstRegOperands() override { return 0; }
34934 int numSrcRegOperands() override { return 1; }
34935
34936 int
34937 getOperandSize(int opIdx) override
34938 {
34939 switch (opIdx) {
34940 case 0: //vgpr_a
34941 return 4;
34942 default:
34943 fatal("op idx %i out of bounds\n", opIdx);
34944 return -1;
34945 }
34946 } // getOperandSize
34947
34948 void execute(GPUDynInstPtr) override;
34949 }; // Inst_DS__DS_INC_SRC2_U32
34950
34952 {
34953 public:
34956
34957 int
34959 {
34961 } // getNumOperands
34962
34963 int numDstRegOperands() override { return 0; }
34964 int numSrcRegOperands() override { return 1; }
34965
34966 int
34967 getOperandSize(int opIdx) override
34968 {
34969 switch (opIdx) {
34970 case 0: //vgpr_a
34971 return 4;
34972 default:
34973 fatal("op idx %i out of bounds\n", opIdx);
34974 return -1;
34975 }
34976 } // getOperandSize
34977
34978 void execute(GPUDynInstPtr) override;
34979 }; // Inst_DS__DS_DEC_SRC2_U32
34980
34982 {
34983 public:
34986
34987 int
34989 {
34991 } // getNumOperands
34992
34993 int numDstRegOperands() override { return 0; }
34994 int numSrcRegOperands() override { return 1; }
34995
34996 int
34997 getOperandSize(int opIdx) override
34998 {
34999 switch (opIdx) {
35000 case 0: //vgpr_a
35001 return 4;
35002 default:
35003 fatal("op idx %i out of bounds\n", opIdx);
35004 return -1;
35005 }
35006 } // getOperandSize
35007
35008 void execute(GPUDynInstPtr) override;
35009 }; // Inst_DS__DS_MIN_SRC2_I32
35010
35012 {
35013 public:
35016
35017 int
35019 {
35021 } // getNumOperands
35022
35023 int numDstRegOperands() override { return 0; }
35024 int numSrcRegOperands() override { return 1; }
35025
35026 int
35027 getOperandSize(int opIdx) override
35028 {
35029 switch (opIdx) {
35030 case 0: //vgpr_a
35031 return 4;
35032 default:
35033 fatal("op idx %i out of bounds\n", opIdx);
35034 return -1;
35035 }
35036 } // getOperandSize
35037
35038 void execute(GPUDynInstPtr) override;
35039 }; // Inst_DS__DS_MAX_SRC2_I32
35040
35042 {
35043 public:
35046
35047 int
35049 {
35051 } // getNumOperands
35052
35053 int numDstRegOperands() override { return 0; }
35054 int numSrcRegOperands() override { return 1; }
35055
35056 int
35057 getOperandSize(int opIdx) override
35058 {
35059 switch (opIdx) {
35060 case 0: //vgpr_a
35061 return 4;
35062 default:
35063 fatal("op idx %i out of bounds\n", opIdx);
35064 return -1;
35065 }
35066 } // getOperandSize
35067
35068 void execute(GPUDynInstPtr) override;
35069 }; // Inst_DS__DS_MIN_SRC2_U32
35070
35072 {
35073 public:
35076
35077 int
35079 {
35081 } // getNumOperands
35082
35083 int numDstRegOperands() override { return 0; }
35084 int numSrcRegOperands() override { return 1; }
35085
35086 int
35087 getOperandSize(int opIdx) override
35088 {
35089 switch (opIdx) {
35090 case 0: //vgpr_a
35091 return 4;
35092 default:
35093 fatal("op idx %i out of bounds\n", opIdx);
35094 return -1;
35095 }
35096 } // getOperandSize
35097
35098 void execute(GPUDynInstPtr) override;
35099 }; // Inst_DS__DS_MAX_SRC2_U32
35100
35102 {
35103 public:
35106
35107 int
35109 {
35111 } // getNumOperands
35112
35113 int numDstRegOperands() override { return 0; }
35114 int numSrcRegOperands() override { return 1; }
35115
35116 int
35117 getOperandSize(int opIdx) override
35118 {
35119 switch (opIdx) {
35120 case 0: //vgpr_a
35121 return 4;
35122 default:
35123 fatal("op idx %i out of bounds\n", opIdx);
35124 return -1;
35125 }
35126 } // getOperandSize
35127
35128 void execute(GPUDynInstPtr) override;
35129 }; // Inst_DS__DS_AND_SRC2_B32
35130
35132 {
35133 public:
35136
35137 int
35139 {
35141 } // getNumOperands
35142
35143 int numDstRegOperands() override { return 0; }
35144 int numSrcRegOperands() override { return 1; }
35145
35146 int
35147 getOperandSize(int opIdx) override
35148 {
35149 switch (opIdx) {
35150 case 0: //vgpr_a
35151 return 4;
35152 default:
35153 fatal("op idx %i out of bounds\n", opIdx);
35154 return -1;
35155 }
35156 } // getOperandSize
35157
35158 void execute(GPUDynInstPtr) override;
35159 }; // Inst_DS__DS_OR_SRC2_B32
35160
35162 {
35163 public:
35166
35167 int
35169 {
35171 } // getNumOperands
35172
35173 int numDstRegOperands() override { return 0; }
35174 int numSrcRegOperands() override { return 1; }
35175
35176 int
35177 getOperandSize(int opIdx) override
35178 {
35179 switch (opIdx) {
35180 case 0: //vgpr_a
35181 return 4;
35182 default:
35183 fatal("op idx %i out of bounds\n", opIdx);
35184 return -1;
35185 }
35186 } // getOperandSize
35187
35188 void execute(GPUDynInstPtr) override;
35189 }; // Inst_DS__DS_XOR_SRC2_B32
35190
35192 {
35193 public:
35196
35197 int
35199 {
35201 } // getNumOperands
35202
35203 int numDstRegOperands() override { return 0; }
35204 int numSrcRegOperands() override { return 1; }
35205
35206 int
35207 getOperandSize(int opIdx) override
35208 {
35209 switch (opIdx) {
35210 case 0: //vgpr_a
35211 return 4;
35212 default:
35213 fatal("op idx %i out of bounds\n", opIdx);
35214 return -1;
35215 }
35216 } // getOperandSize
35217
35218 void execute(GPUDynInstPtr) override;
35219 }; // Inst_DS__DS_WRITE_SRC2_B32
35220
35222 {
35223 public:
35226
35227 int
35229 {
35231 } // getNumOperands
35232
35233 int numDstRegOperands() override { return 0; }
35234 int numSrcRegOperands() override { return 1; }
35235
35236 int
35237 getOperandSize(int opIdx) override
35238 {
35239 switch (opIdx) {
35240 case 0: //vgpr_a
35241 return 4;
35242 default:
35243 fatal("op idx %i out of bounds\n", opIdx);
35244 return -1;
35245 }
35246 } // getOperandSize
35247
35248 void execute(GPUDynInstPtr) override;
35249 }; // Inst_DS__DS_MIN_SRC2_F32
35250
35252 {
35253 public:
35256
35257 int
35259 {
35261 } // getNumOperands
35262
35263 int numDstRegOperands() override { return 0; }
35264 int numSrcRegOperands() override { return 1; }
35265
35266 int
35267 getOperandSize(int opIdx) override
35268 {
35269 switch (opIdx) {
35270 case 0: //vgpr_a
35271 return 4;
35272 default:
35273 fatal("op idx %i out of bounds\n", opIdx);
35274 return -1;
35275 }
35276 } // getOperandSize
35277
35278 void execute(GPUDynInstPtr) override;
35279 }; // Inst_DS__DS_MAX_SRC2_F32
35280
35282 {
35283 public:
35286
35287 int
35289 {
35291 } // getNumOperands
35292
35293 int numDstRegOperands() override { return 0; }
35294 int numSrcRegOperands() override { return 1; }
35295
35296 int
35297 getOperandSize(int opIdx) override
35298 {
35299 switch (opIdx) {
35300 case 0: //vgpr_a
35301 return 4;
35302 default:
35303 fatal("op idx %i out of bounds\n", opIdx);
35304 return -1;
35305 }
35306 } // getOperandSize
35307
35308 void execute(GPUDynInstPtr) override;
35309 }; // Inst_DS__DS_ADD_SRC2_F32
35310
35312 {
35313 public:
35316
35317 int
35319 {
35321 } // getNumOperands
35322
35323 int numDstRegOperands() override { return 0; }
35324 int numSrcRegOperands() override { return 0; }
35325
35326 int
35327 getOperandSize(int opIdx) override
35328 {
35329 switch (opIdx) {
35330 case 0: //vgpr_a
35331 return 4;
35332 default:
35333 fatal("op idx %i out of bounds\n", opIdx);
35334 return -1;
35335 }
35336 } // getOperandSize
35337
35338 void execute(GPUDynInstPtr) override;
35339 }; // Inst_DS__DS_GWS_SEMA_RELEASE_ALL
35340
35342 {
35343 public:
35346
35347 int
35349 {
35351 } // getNumOperands
35352
35353 int numDstRegOperands() override { return 0; }
35354 int numSrcRegOperands() override { return 1; }
35355
35356 int
35357 getOperandSize(int opIdx) override
35358 {
35359 switch (opIdx) {
35360 case 0: //vgpr_d0
35361 return 4;
35362 case 1: //vgpr_d0
35363 return 4;
35364 default:
35365 fatal("op idx %i out of bounds\n", opIdx);
35366 return -1;
35367 }
35368 } // getOperandSize
35369
35370 void execute(GPUDynInstPtr) override;
35371 }; // Inst_DS__DS_GWS_INIT
35372
35374 {
35375 public:
35378
35379 int
35381 {
35383 } // getNumOperands
35384
35385 int numDstRegOperands() override { return 0; }
35386 int numSrcRegOperands() override { return 0; }
35387
35388 int
35389 getOperandSize(int opIdx) override
35390 {
35391 switch (opIdx) {
35392 case 0: //vgpr_a
35393 return 4;
35394 default:
35395 fatal("op idx %i out of bounds\n", opIdx);
35396 return -1;
35397 }
35398 } // getOperandSize
35399
35400 void execute(GPUDynInstPtr) override;
35401 }; // Inst_DS__DS_GWS_SEMA_V
35402
35404 {
35405 public:
35408
35409 int
35411 {
35413 } // getNumOperands
35414
35415 int numDstRegOperands() override { return 0; }
35416 int numSrcRegOperands() override { return 1; }
35417
35418 int
35419 getOperandSize(int opIdx) override
35420 {
35421 switch (opIdx) {
35422 case 0: //vgpr_d0
35423 return 4;
35424 case 1: //vgpr_d0
35425 return 4;
35426 default:
35427 fatal("op idx %i out of bounds\n", opIdx);
35428 return -1;
35429 }
35430 } // getOperandSize
35431
35432 void execute(GPUDynInstPtr) override;
35433 }; // Inst_DS__DS_GWS_SEMA_BR
35434
35436 {
35437 public:
35440
35441 int
35443 {
35445 } // getNumOperands
35446
35447 int numDstRegOperands() override { return 0; }
35448 int numSrcRegOperands() override { return 0; }
35449
35450 int
35451 getOperandSize(int opIdx) override
35452 {
35453 switch (opIdx) {
35454 case 0: //vgpr_a
35455 return 4;
35456 default:
35457 fatal("op idx %i out of bounds\n", opIdx);
35458 return -1;
35459 }
35460 } // getOperandSize
35461
35462 void execute(GPUDynInstPtr) override;
35463 }; // Inst_DS__DS_GWS_SEMA_P
35464
35466 {
35467 public:
35470
35471 int
35473 {
35475 } // getNumOperands
35476
35477 int numDstRegOperands() override { return 0; }
35478 int numSrcRegOperands() override { return 1; }
35479
35480 int
35481 getOperandSize(int opIdx) override
35482 {
35483 switch (opIdx) {
35484 case 0: //vgpr_d0
35485 return 4;
35486 case 1: //vgpr_d0
35487 return 4;
35488 default:
35489 fatal("op idx %i out of bounds\n", opIdx);
35490 return -1;
35491 }
35492 } // getOperandSize
35493
35494 void execute(GPUDynInstPtr) override;
35495 }; // Inst_DS__DS_GWS_BARRIER
35496
35498 {
35499 public:
35502
35503 int
35505 {
35507 } // getNumOperands
35508
35509 int numDstRegOperands() override { return 1; }
35510 int numSrcRegOperands() override { return 0; }
35511
35512 int
35513 getOperandSize(int opIdx) override
35514 {
35515 switch (opIdx) {
35516 case 0: //vgpr_a
35517 return 4;
35518 case 1: //vgpr_rtn
35519 return 4;
35520 default:
35521 fatal("op idx %i out of bounds\n", opIdx);
35522 return -1;
35523 }
35524 } // getOperandSize
35525
35526 void execute(GPUDynInstPtr) override;
35527 }; // Inst_DS__DS_CONSUME
35528
35530 {
35531 public:
35534
35535 int
35537 {
35539 } // getNumOperands
35540
35541 int numDstRegOperands() override { return 1; }
35542 int numSrcRegOperands() override { return 0; }
35543
35544 int
35545 getOperandSize(int opIdx) override
35546 {
35547 switch (opIdx) {
35548 case 0: //vgpr_a
35549 return 4;
35550 case 1: //vgpr_rtn
35551 return 4;
35552 default:
35553 fatal("op idx %i out of bounds\n", opIdx);
35554 return -1;
35555 }
35556 } // getOperandSize
35557
35558 void execute(GPUDynInstPtr) override;
35559 }; // Inst_DS__DS_APPEND
35560
35562 {
35563 public:
35566
35567 int
35569 {
35571 } // getNumOperands
35572
35573 int numDstRegOperands() override { return 1; }
35574 int numSrcRegOperands() override { return 1; }
35575
35576 int
35577 getOperandSize(int opIdx) override
35578 {
35579 switch (opIdx) {
35580 case 0: //vgpr_a
35581 return 4;
35582 case 1: //vgpr_rtn
35583 return 4;
35584 default:
35585 fatal("op idx %i out of bounds\n", opIdx);
35586 return -1;
35587 }
35588 } // getOperandSize
35589
35590 void execute(GPUDynInstPtr) override;
35591 }; // Inst_DS__DS_ORDERED_COUNT
35592
35594 {
35595 public:
35598
35599 int
35601 {
35603 } // getNumOperands
35604
35605 int numDstRegOperands() override { return 0; }
35606 int numSrcRegOperands() override { return 1; }
35607
35608 int
35609 getOperandSize(int opIdx) override
35610 {
35611 switch (opIdx) {
35612 case 0: //vgpr_a
35613 return 4;
35614 default:
35615 fatal("op idx %i out of bounds\n", opIdx);
35616 return -1;
35617 }
35618 } // getOperandSize
35619
35620 void execute(GPUDynInstPtr) override;
35621 }; // Inst_DS__DS_ADD_SRC2_U64
35622
35624 {
35625 public:
35628
35629 int
35631 {
35633 } // getNumOperands
35634
35635 int numDstRegOperands() override { return 0; }
35636 int numSrcRegOperands() override { return 1; }
35637
35638 int
35639 getOperandSize(int opIdx) override
35640 {
35641 switch (opIdx) {
35642 case 0: //vgpr_a
35643 return 4;
35644 default:
35645 fatal("op idx %i out of bounds\n", opIdx);
35646 return -1;
35647 }
35648 } // getOperandSize
35649
35650 void execute(GPUDynInstPtr) override;
35651 }; // Inst_DS__DS_SUB_SRC2_U64
35652
35654 {
35655 public:
35658
35659 int
35661 {
35663 } // getNumOperands
35664
35665 int numDstRegOperands() override { return 0; }
35666 int numSrcRegOperands() override { return 1; }
35667
35668 int
35669 getOperandSize(int opIdx) override
35670 {
35671 switch (opIdx) {
35672 case 0: //vgpr_a
35673 return 4;
35674 default:
35675 fatal("op idx %i out of bounds\n", opIdx);
35676 return -1;
35677 }
35678 } // getOperandSize
35679
35680 void execute(GPUDynInstPtr) override;
35681 }; // Inst_DS__DS_RSUB_SRC2_U64
35682
35684 {
35685 public:
35688
35689 int
35691 {
35693 } // getNumOperands
35694
35695 int numDstRegOperands() override { return 0; }
35696 int numSrcRegOperands() override { return 1; }
35697
35698 int
35699 getOperandSize(int opIdx) override
35700 {
35701 switch (opIdx) {
35702 case 0: //vgpr_a
35703 return 4;
35704 default:
35705 fatal("op idx %i out of bounds\n", opIdx);
35706 return -1;
35707 }
35708 } // getOperandSize
35709
35710 void execute(GPUDynInstPtr) override;
35711 }; // Inst_DS__DS_INC_SRC2_U64
35712
35714 {
35715 public:
35718
35719 int
35721 {
35723 } // getNumOperands
35724
35725 int numDstRegOperands() override { return 0; }
35726 int numSrcRegOperands() override { return 1; }
35727
35728 int
35729 getOperandSize(int opIdx) override
35730 {
35731 switch (opIdx) {
35732 case 0: //vgpr_a
35733 return 4;
35734 default:
35735 fatal("op idx %i out of bounds\n", opIdx);
35736 return -1;
35737 }
35738 } // getOperandSize
35739
35740 void execute(GPUDynInstPtr) override;
35741 }; // Inst_DS__DS_DEC_SRC2_U64
35742
35744 {
35745 public:
35748
35749 int
35751 {
35753 } // getNumOperands
35754
35755 int numDstRegOperands() override { return 0; }
35756 int numSrcRegOperands() override { return 1; }
35757
35758 int
35759 getOperandSize(int opIdx) override
35760 {
35761 switch (opIdx) {
35762 case 0: //vgpr_a
35763 return 4;
35764 default:
35765 fatal("op idx %i out of bounds\n", opIdx);
35766 return -1;
35767 }
35768 } // getOperandSize
35769
35770 void execute(GPUDynInstPtr) override;
35771 }; // Inst_DS__DS_MIN_SRC2_I64
35772
35774 {
35775 public:
35778
35779 int
35781 {
35783 } // getNumOperands
35784
35785 int numDstRegOperands() override { return 0; }
35786 int numSrcRegOperands() override { return 1; }
35787
35788 int
35789 getOperandSize(int opIdx) override
35790 {
35791 switch (opIdx) {
35792 case 0: //vgpr_a
35793 return 4;
35794 default:
35795 fatal("op idx %i out of bounds\n", opIdx);
35796 return -1;
35797 }
35798 } // getOperandSize
35799
35800 void execute(GPUDynInstPtr) override;
35801 }; // Inst_DS__DS_MAX_SRC2_I64
35802
35804 {
35805 public:
35808
35809 int
35811 {
35813 } // getNumOperands
35814
35815 int numDstRegOperands() override { return 0; }
35816 int numSrcRegOperands() override { return 1; }
35817
35818 int
35819 getOperandSize(int opIdx) override
35820 {
35821 switch (opIdx) {
35822 case 0: //vgpr_a
35823 return 4;
35824 default:
35825 fatal("op idx %i out of bounds\n", opIdx);
35826 return -1;
35827 }
35828 } // getOperandSize
35829
35830 void execute(GPUDynInstPtr) override;
35831 }; // Inst_DS__DS_MIN_SRC2_U64
35832
35834 {
35835 public:
35838
35839 int
35841 {
35843 } // getNumOperands
35844
35845 int numDstRegOperands() override { return 0; }
35846 int numSrcRegOperands() override { return 1; }
35847
35848 int
35849 getOperandSize(int opIdx) override
35850 {
35851 switch (opIdx) {
35852 case 0: //vgpr_a
35853 return 4;
35854 default:
35855 fatal("op idx %i out of bounds\n", opIdx);
35856 return -1;
35857 }
35858 } // getOperandSize
35859
35860 void execute(GPUDynInstPtr) override;
35861 }; // Inst_DS__DS_MAX_SRC2_U64
35862
35864 {
35865 public:
35868
35869 int
35871 {
35873 } // getNumOperands
35874
35875 int numDstRegOperands() override { return 0; }
35876 int numSrcRegOperands() override { return 1; }
35877
35878 int
35879 getOperandSize(int opIdx) override
35880 {
35881 switch (opIdx) {
35882 case 0: //vgpr_a
35883 return 4;
35884 default:
35885 fatal("op idx %i out of bounds\n", opIdx);
35886 return -1;
35887 }
35888 } // getOperandSize
35889
35890 void execute(GPUDynInstPtr) override;
35891 }; // Inst_DS__DS_AND_SRC2_B64
35892
35894 {
35895 public:
35898
35899 int
35901 {
35903 } // getNumOperands
35904
35905 int numDstRegOperands() override { return 0; }
35906 int numSrcRegOperands() override { return 1; }
35907
35908 int
35909 getOperandSize(int opIdx) override
35910 {
35911 switch (opIdx) {
35912 case 0: //vgpr_a
35913 return 4;
35914 default:
35915 fatal("op idx %i out of bounds\n", opIdx);
35916 return -1;
35917 }
35918 } // getOperandSize
35919
35920 void execute(GPUDynInstPtr) override;
35921 }; // Inst_DS__DS_OR_SRC2_B64
35922
35924 {
35925 public:
35928
35929 int
35931 {
35933 } // getNumOperands
35934
35935 int numDstRegOperands() override { return 0; }
35936 int numSrcRegOperands() override { return 1; }
35937
35938 int
35939 getOperandSize(int opIdx) override
35940 {
35941 switch (opIdx) {
35942 case 0: //vgpr_a
35943 return 4;
35944 default:
35945 fatal("op idx %i out of bounds\n", opIdx);
35946 return -1;
35947 }
35948 } // getOperandSize
35949
35950 void execute(GPUDynInstPtr) override;
35951 }; // Inst_DS__DS_XOR_SRC2_B64
35952
35954 {
35955 public:
35958
35959 int
35961 {
35963 } // getNumOperands
35964
35965 int numDstRegOperands() override { return 0; }
35966 int numSrcRegOperands() override { return 1; }
35967
35968 int
35969 getOperandSize(int opIdx) override
35970 {
35971 switch (opIdx) {
35972 case 0: //vgpr_a
35973 return 4;
35974 default:
35975 fatal("op idx %i out of bounds\n", opIdx);
35976 return -1;
35977 }
35978 } // getOperandSize
35979
35980 void execute(GPUDynInstPtr) override;
35981 }; // Inst_DS__DS_WRITE_SRC2_B64
35982
35984 {
35985 public:
35988
35989 int
35991 {
35993 } // getNumOperands
35994
35995 int numDstRegOperands() override { return 0; }
35996 int numSrcRegOperands() override { return 1; }
35997
35998 int
35999 getOperandSize(int opIdx) override
36000 {
36001 switch (opIdx) {
36002 case 0: //vgpr_a
36003 return 4;
36004 default:
36005 fatal("op idx %i out of bounds\n", opIdx);
36006 return -1;
36007 }
36008 } // getOperandSize
36009
36010 void execute(GPUDynInstPtr) override;
36011 }; // Inst_DS__DS_MIN_SRC2_F64
36012
36014 {
36015 public:
36018
36019 int
36021 {
36023 } // getNumOperands
36024
36025 int numDstRegOperands() override { return 0; }
36026 int numSrcRegOperands() override { return 1; }
36027
36028 int
36029 getOperandSize(int opIdx) override
36030 {
36031 switch (opIdx) {
36032 case 0: //vgpr_a
36033 return 4;
36034 default:
36035 fatal("op idx %i out of bounds\n", opIdx);
36036 return -1;
36037 }
36038 } // getOperandSize
36039
36040 void execute(GPUDynInstPtr) override;
36041 }; // Inst_DS__DS_MAX_SRC2_F64
36042
36044 {
36045 public:
36048
36049 int
36051 {
36053 } // getNumOperands
36054
36055 int numDstRegOperands() override { return 0; }
36056 int numSrcRegOperands() override { return 2; }
36057
36058 int
36059 getOperandSize(int opIdx) override
36060 {
36061 switch (opIdx) {
36062 case 0: //vgpr_a
36063 return 4;
36064 case 1: //vgpr_d0
36065 return 12;
36066 default:
36067 fatal("op idx %i out of bounds\n", opIdx);
36068 return -1;
36069 }
36070 } // getOperandSize
36071
36072 void execute(GPUDynInstPtr) override;
36073 void initiateAcc(GPUDynInstPtr) override;
36074 void completeAcc(GPUDynInstPtr) override;
36075 }; // Inst_DS__DS_WRITE_B96
36076
36078 {
36079 public:
36082
36083 int
36085 {
36087 } // getNumOperands
36088
36089 int numDstRegOperands() override { return 0; }
36090 int numSrcRegOperands() override { return 2; }
36091
36092 int
36093 getOperandSize(int opIdx) override
36094 {
36095 switch (opIdx) {
36096 case 0: //vgpr_a
36097 return 4;
36098 case 1: //vgpr_d0
36099 return 16;
36100 default:
36101 fatal("op idx %i out of bounds\n", opIdx);
36102 return -1;
36103 }
36104 } // getOperandSize
36105
36106 void execute(GPUDynInstPtr) override;
36107 void initiateAcc(GPUDynInstPtr) override;
36108 void completeAcc(GPUDynInstPtr) override;
36109 }; // Inst_DS__DS_WRITE_B128
36110
36112 {
36113 public:
36116
36117 int
36119 {
36121 } // getNumOperands
36122
36123 int numDstRegOperands() override { return 1; }
36124 int numSrcRegOperands() override { return 1; }
36125
36126 int
36127 getOperandSize(int opIdx) override
36128 {
36129 switch (opIdx) {
36130 case 0: //vgpr_a
36131 return 4;
36132 case 1: //vgpr_rtn
36133 return 12;
36134 default:
36135 fatal("op idx %i out of bounds\n", opIdx);
36136 return -1;
36137 }
36138 } // getOperandSize
36139
36140 void execute(GPUDynInstPtr) override;
36141 void initiateAcc(GPUDynInstPtr) override;
36142 void completeAcc(GPUDynInstPtr) override;
36143 }; // Inst_DS__DS_READ_B96
36144
36146 {
36147 public:
36150
36151 int
36153 {
36155 } // getNumOperands
36156
36157 int numDstRegOperands() override { return 1; }
36158 int numSrcRegOperands() override { return 1; }
36159
36160 int
36161 getOperandSize(int opIdx) override
36162 {
36163 switch (opIdx) {
36164 case 0: //vgpr_a
36165 return 4;
36166 case 1: //vgpr_rtn
36167 return 16;
36168 default:
36169 fatal("op idx %i out of bounds\n", opIdx);
36170 return -1;
36171 }
36172 } // getOperandSize
36173
36174 void execute(GPUDynInstPtr) override;
36175 void initiateAcc(GPUDynInstPtr) override;
36176 void completeAcc(GPUDynInstPtr) override;
36177 }; // Inst_DS__DS_READ_B128
36178
36180 {
36181 public:
36184
36185 int
36187 {
36189 } // getNumOperands
36190
36191 int numDstRegOperands() override { return 1; }
36192 int numSrcRegOperands() override { return 3; }
36193
36194 int
36195 getOperandSize(int opIdx) override
36196 {
36197 switch (opIdx) {
36198 case 0: //vgpr_a
36199 return 8;
36200 case 1: //sgpr_r
36201 return 4;
36202 case 2: //sgpr_o
36203 return 4;
36204 case 3: //vgpr_d
36205 return 32;
36206 default:
36207 fatal("op idx %i out of bounds\n", opIdx);
36208 return -1;
36209 }
36210 } // getOperandSize
36211
36212 void execute(GPUDynInstPtr) override;
36213 void initiateAcc(GPUDynInstPtr) override;
36214 void completeAcc(GPUDynInstPtr) override;
36215 }; // Inst_MUBUF__BUFFER_LOAD_FORMAT_X
36216
36218 {
36219 public:
36222
36223 int
36225 {
36227 } // getNumOperands
36228
36229 int numDstRegOperands() override { return 1; }
36230 int numSrcRegOperands() override { return 3; }
36231
36232 int
36233 getOperandSize(int opIdx) override
36234 {
36235 switch (opIdx) {
36236 case 0: //vgpr_a
36237 return 8;
36238 case 1: //sgpr_r
36239 return 4;
36240 case 2: //sgpr_o
36241 return 4;
36242 case 3: //vgpr_d
36243 return 8;
36244 default:
36245 fatal("op idx %i out of bounds\n", opIdx);
36246 return -1;
36247 }
36248 } // getOperandSize
36249
36250 void execute(GPUDynInstPtr) override;
36251 void initiateAcc(GPUDynInstPtr) override;
36252 void completeAcc(GPUDynInstPtr) override;
36253 }; // Inst_MUBUF__BUFFER_LOAD_FORMAT_XY
36254
36256 {
36257 public:
36260
36261 int
36263 {
36265 } // getNumOperands
36266
36267 int numDstRegOperands() override { return 1; }
36268 int numSrcRegOperands() override { return 3; }
36269
36270 int
36271 getOperandSize(int opIdx) override
36272 {
36273 switch (opIdx) {
36274 case 0: //vgpr_a
36275 return 8;
36276 case 1: //sgpr_r
36277 return 4;
36278 case 2: //sgpr_o
36279 return 4;
36280 case 3: //vgpr_d
36281 return 12;
36282 default:
36283 fatal("op idx %i out of bounds\n", opIdx);
36284 return -1;
36285 }
36286 } // getOperandSize
36287
36288 void execute(GPUDynInstPtr) override;
36289 void initiateAcc(GPUDynInstPtr) override;
36290 void completeAcc(GPUDynInstPtr) override;
36291 }; // Inst_MUBUF__BUFFER_LOAD_FORMAT_XYZ
36292
36294 {
36295 public:
36298
36299 int
36301 {
36303 } // getNumOperands
36304
36305 int numDstRegOperands() override { return 1; }
36306 int numSrcRegOperands() override { return 3; }
36307
36308 int
36309 getOperandSize(int opIdx) override
36310 {
36311 switch (opIdx) {
36312 case 0: //vgpr_a
36313 return 8;
36314 case 1: //sgpr_r
36315 return 4;
36316 case 2: //sgpr_o
36317 return 4;
36318 case 3: //vgpr_d
36319 return 16;
36320 default:
36321 fatal("op idx %i out of bounds\n", opIdx);
36322 return -1;
36323 }
36324 } // getOperandSize
36325
36326 void execute(GPUDynInstPtr) override;
36327 void initiateAcc(GPUDynInstPtr) override;
36328 void completeAcc(GPUDynInstPtr) override;
36329 }; // Inst_MUBUF__BUFFER_LOAD_FORMAT_XYZW
36330
36332 {
36333 public:
36336
36337 int
36339 {
36341 } // getNumOperands
36342
36343 int numDstRegOperands() override { return 0; }
36344 int numSrcRegOperands() override { return 4; }
36345
36346 int
36347 getOperandSize(int opIdx) override
36348 {
36349 switch (opIdx) {
36350 case 0: //vgpr_s
36351 return 4;
36352 case 1: //vgpr_a
36353 return 8;
36354 case 2: //sgpr_r
36355 return 4;
36356 case 3: //sgpr_o
36357 return 4;
36358 default:
36359 fatal("op idx %i out of bounds\n", opIdx);
36360 return -1;
36361 }
36362 } // getOperandSize
36363
36364 void execute(GPUDynInstPtr) override;
36365 void initiateAcc(GPUDynInstPtr) override;
36366 void completeAcc(GPUDynInstPtr) override;
36367 }; // Inst_MUBUF__BUFFER_STORE_FORMAT_X
36368
36370 {
36371 public:
36374
36375 int
36377 {
36379 } // getNumOperands
36380
36381 int numDstRegOperands() override { return 0; }
36382 int numSrcRegOperands() override { return 4; }
36383
36384 int
36385 getOperandSize(int opIdx) override
36386 {
36387 switch (opIdx) {
36388 case 0: //vgpr_s
36389 return 8;
36390 case 1: //vgpr_a
36391 return 8;
36392 case 2: //sgpr_r
36393 return 4;
36394 case 3: //sgpr_o
36395 return 4;
36396 default:
36397 fatal("op idx %i out of bounds\n", opIdx);
36398 return -1;
36399 }
36400 } // getOperandSize
36401
36402 void execute(GPUDynInstPtr) override;
36403 void initiateAcc(GPUDynInstPtr) override;
36404 void completeAcc(GPUDynInstPtr) override;
36405 }; // Inst_MUBUF__BUFFER_STORE_FORMAT_XY
36406
36408 {
36409 public:
36412
36413 int
36415 {
36417 } // getNumOperands
36418
36419 int numDstRegOperands() override { return 0; }
36420 int numSrcRegOperands() override { return 4; }
36421
36422 int
36423 getOperandSize(int opIdx) override
36424 {
36425 switch (opIdx) {
36426 case 0: //vgpr_s
36427 return 12;
36428 case 1: //vgpr_a
36429 return 8;
36430 case 2: //sgpr_r
36431 return 4;
36432 case 3: //sgpr_o
36433 return 4;
36434 default:
36435 fatal("op idx %i out of bounds\n", opIdx);
36436 return -1;
36437 }
36438 } // getOperandSize
36439
36440 void execute(GPUDynInstPtr) override;
36441 void initiateAcc(GPUDynInstPtr) override;
36442 void completeAcc(GPUDynInstPtr) override;
36443 }; // Inst_MUBUF__BUFFER_STORE_FORMAT_XYZ
36444
36446 {
36447 public:
36450
36451 int
36453 {
36455 } // getNumOperands
36456
36457 int numDstRegOperands() override { return 0; }
36458 int numSrcRegOperands() override { return 4; }
36459
36460 int
36461 getOperandSize(int opIdx) override
36462 {
36463 switch (opIdx) {
36464 case 0: //vgpr_s
36465 return 16;
36466 case 1: //vgpr_a
36467 return 8;
36468 case 2: //sgpr_r
36469 return 4;
36470 case 3: //sgpr_o
36471 return 4;
36472 default:
36473 fatal("op idx %i out of bounds\n", opIdx);
36474 return -1;
36475 }
36476 } // getOperandSize
36477
36478 void execute(GPUDynInstPtr) override;
36479 void initiateAcc(GPUDynInstPtr) override;
36480 void completeAcc(GPUDynInstPtr) override;
36481 }; // Inst_MUBUF__BUFFER_STORE_FORMAT_XYZW
36482
36484 {
36485 public:
36488
36489 int
36491 {
36493 } // getNumOperands
36494
36495 int numDstRegOperands() override { return 1; }
36496 int numSrcRegOperands() override { return 3; }
36497
36498 int
36499 getOperandSize(int opIdx) override
36500 {
36501 switch (opIdx) {
36502 case 0: //vgpr_a
36503 return 8;
36504 case 1: //sgpr_r
36505 return 4;
36506 case 2: //sgpr_o
36507 return 4;
36508 case 3: //vgpr_d
36509 return 4;
36510 default:
36511 fatal("op idx %i out of bounds\n", opIdx);
36512 return -1;
36513 }
36514 } // getOperandSize
36515
36516 void execute(GPUDynInstPtr) override;
36517 void initiateAcc(GPUDynInstPtr) override;
36518 void completeAcc(GPUDynInstPtr) override;
36519 }; // Inst_MUBUF__BUFFER_LOAD_FORMAT_D16_X
36520
36522 {
36523 public:
36526
36527 int
36529 {
36531 } // getNumOperands
36532
36533 int numDstRegOperands() override { return 1; }
36534 int numSrcRegOperands() override { return 3; }
36535
36536 int
36537 getOperandSize(int opIdx) override
36538 {
36539 switch (opIdx) {
36540 case 0: //vgpr_a
36541 return 8;
36542 case 1: //sgpr_r
36543 return 4;
36544 case 2: //sgpr_o
36545 return 4;
36546 case 3: //vgpr_d
36547 return 8;
36548 default:
36549 fatal("op idx %i out of bounds\n", opIdx);
36550 return -1;
36551 }
36552 } // getOperandSize
36553
36554 void execute(GPUDynInstPtr) override;
36555 void initiateAcc(GPUDynInstPtr) override;
36556 void completeAcc(GPUDynInstPtr) override;
36557 }; // Inst_MUBUF__BUFFER_LOAD_FORMAT_D16_XY
36558
36560 {
36561 public:
36564
36565 int
36567 {
36569 } // getNumOperands
36570
36571 int numDstRegOperands() override { return 1; }
36572 int numSrcRegOperands() override { return 3; }
36573
36574 int
36575 getOperandSize(int opIdx) override
36576 {
36577 switch (opIdx) {
36578 case 0: //vgpr_a
36579 return 8;
36580 case 1: //sgpr_r
36581 return 4;
36582 case 2: //sgpr_o
36583 return 4;
36584 case 3: //vgpr_d
36585 return 12;
36586 default:
36587 fatal("op idx %i out of bounds\n", opIdx);
36588 return -1;
36589 }
36590 } // getOperandSize
36591
36592 void execute(GPUDynInstPtr) override;
36593 void initiateAcc(GPUDynInstPtr) override;
36594 void completeAcc(GPUDynInstPtr) override;
36595 }; // Inst_MUBUF__BUFFER_LOAD_FORMAT_D16_XYZ
36596
36598 {
36599 public:
36602
36603 int
36605 {
36607 } // getNumOperands
36608
36609 int numDstRegOperands() override { return 1; }
36610 int numSrcRegOperands() override { return 3; }
36611
36612 int
36613 getOperandSize(int opIdx) override
36614 {
36615 switch (opIdx) {
36616 case 0: //vgpr_a
36617 return 8;
36618 case 1: //sgpr_r
36619 return 4;
36620 case 2: //sgpr_o
36621 return 4;
36622 case 3: //vgpr_d
36623 return 16;
36624 default:
36625 fatal("op idx %i out of bounds\n", opIdx);
36626 return -1;
36627 }
36628 } // getOperandSize
36629
36630 void execute(GPUDynInstPtr) override;
36631 void initiateAcc(GPUDynInstPtr) override;
36632 void completeAcc(GPUDynInstPtr) override;
36633 }; // Inst_MUBUF__BUFFER_LOAD_FORMAT_D16_XYZW
36634
36636 {
36637 public:
36640
36641 int
36643 {
36645 } // getNumOperands
36646
36647 int numDstRegOperands() override { return 0; }
36648 int numSrcRegOperands() override { return 4; }
36649
36650 int
36651 getOperandSize(int opIdx) override
36652 {
36653 switch (opIdx) {
36654 case 0: //vgpr_s
36655 return 4;
36656 case 1: //vgpr_a
36657 return 8;
36658 case 2: //sgpr_r
36659 return 4;
36660 case 3: //sgpr_o
36661 return 4;
36662 default:
36663 fatal("op idx %i out of bounds\n", opIdx);
36664 return -1;
36665 }
36666 } // getOperandSize
36667
36668 void execute(GPUDynInstPtr) override;
36669 void initiateAcc(GPUDynInstPtr) override;
36670 void completeAcc(GPUDynInstPtr) override;
36671 }; // Inst_MUBUF__BUFFER_STORE_FORMAT_D16_X
36672
36674 {
36675 public:
36678
36679 int
36681 {
36683 } // getNumOperands
36684
36685 int numDstRegOperands() override { return 0; }
36686 int numSrcRegOperands() override { return 4; }
36687
36688 int
36689 getOperandSize(int opIdx) override
36690 {
36691 switch (opIdx) {
36692 case 0: //vgpr_s
36693 return 8;
36694 case 1: //vgpr_a
36695 return 8;
36696 case 2: //sgpr_r
36697 return 4;
36698 case 3: //sgpr_o
36699 return 4;
36700 default:
36701 fatal("op idx %i out of bounds\n", opIdx);
36702 return -1;
36703 }
36704 } // getOperandSize
36705
36706 void execute(GPUDynInstPtr) override;
36707 void initiateAcc(GPUDynInstPtr) override;
36708 void completeAcc(GPUDynInstPtr) override;
36709 }; // Inst_MUBUF__BUFFER_STORE_FORMAT_D16_XY
36710
36712 {
36713 public:
36716
36717 int
36719 {
36721 } // getNumOperands
36722
36723 int numDstRegOperands() override { return 0; }
36724 int numSrcRegOperands() override { return 4; }
36725
36726 int
36727 getOperandSize(int opIdx) override
36728 {
36729 switch (opIdx) {
36730 case 0: //vgpr_s
36731 return 12;
36732 case 1: //vgpr_a
36733 return 8;
36734 case 2: //sgpr_r
36735 return 4;
36736 case 3: //sgpr_o
36737 return 4;
36738 default:
36739 fatal("op idx %i out of bounds\n", opIdx);
36740 return -1;
36741 }
36742 } // getOperandSize
36743
36744 void execute(GPUDynInstPtr) override;
36745 void initiateAcc(GPUDynInstPtr) override;
36746 void completeAcc(GPUDynInstPtr) override;
36747 }; // Inst_MUBUF__BUFFER_STORE_FORMAT_D16_XYZ
36748
36750 {
36751 public:
36754
36755 int
36757 {
36759 } // getNumOperands
36760
36761 int numDstRegOperands() override { return 0; }
36762 int numSrcRegOperands() override { return 4; }
36763
36764 int
36765 getOperandSize(int opIdx) override
36766 {
36767 switch (opIdx) {
36768 case 0: //vgpr_s
36769 return 16;
36770 case 1: //vgpr_a
36771 return 8;
36772 case 2: //sgpr_r
36773 return 4;
36774 case 3: //sgpr_o
36775 return 4;
36776 default:
36777 fatal("op idx %i out of bounds\n", opIdx);
36778 return -1;
36779 }
36780 } // getOperandSize
36781
36782 void execute(GPUDynInstPtr) override;
36783 void initiateAcc(GPUDynInstPtr) override;
36784 void completeAcc(GPUDynInstPtr) override;
36785 }; // Inst_MUBUF__BUFFER_STORE_FORMAT_D16_XYZW
36786
36788 {
36789 public:
36792
36793 int
36795 {
36797 } // getNumOperands
36798
36799 int numDstRegOperands() override { return 1; }
36800 int numSrcRegOperands() override { return 3; }
36801
36802 int
36803 getOperandSize(int opIdx) override
36804 {
36805 switch (opIdx) {
36806 case 0: //vgpr_d
36807 return 4;
36808 case 1: //vgpr_a
36809 if (instData.OFFEN && instData.IDXEN) {
36810 // if we need an idx and offset from a
36811 // VGPR, we'll read VGPR[VADDR] and
36812 // VGPR[VADDR + 1], otherwise we just
36813 // read VGPR[VADDR]
36814 return 8;
36815 } else {
36816 return 4;
36817 }
36818 case 2: //sgpr_r
36819 return 16;
36820 case 3: //sgpr_o
36821 return 4;
36822 default:
36823 fatal("op idx %i out of bounds\n", opIdx);
36824 return -1;
36825 }
36826 } // getOperandSize
36827
36828 void execute(GPUDynInstPtr) override;
36829 void initiateAcc(GPUDynInstPtr) override;
36830 void completeAcc(GPUDynInstPtr) override;
36831 }; // Inst_MUBUF__BUFFER_LOAD_UBYTE
36832
36834 {
36835 public:
36838
36839 int
36841 {
36843 } // getNumOperands
36844
36845 int numDstRegOperands() override { return 1; }
36846 int numSrcRegOperands() override { return 3; }
36847
36848 int
36849 getOperandSize(int opIdx) override
36850 {
36851 switch (opIdx) {
36852 case 0: //vgpr_a
36853 return 8;
36854 case 1: //sgpr_r
36855 return 16;
36856 case 2: //sgpr_o
36857 return 4;
36858 case 3: //vgpr_d
36859 return 4;
36860 default:
36861 fatal("op idx %i out of bounds\n", opIdx);
36862 return -1;
36863 }
36864 } // getOperandSize
36865
36866 void execute(GPUDynInstPtr) override;
36867 void initiateAcc(GPUDynInstPtr) override;
36868 void completeAcc(GPUDynInstPtr) override;
36869 }; // Inst_MUBUF__BUFFER_LOAD_SBYTE
36870
36872 {
36873 public:
36876
36877 int
36879 {
36881 } // getNumOperands
36882
36883 int numDstRegOperands() override { return 1; }
36884 int numSrcRegOperands() override { return 3; }
36885
36886 int
36887 getOperandSize(int opIdx) override
36888 {
36889 switch (opIdx) {
36890 case 0: //vgpr_a
36891 return 8;
36892 case 1: //sgpr_r
36893 return 16;
36894 case 2: //sgpr_o
36895 return 4;
36896 case 3: //vgpr_d
36897 return 4;
36898 default:
36899 fatal("op idx %i out of bounds\n", opIdx);
36900 return -1;
36901 }
36902 } // getOperandSize
36903
36904 void execute(GPUDynInstPtr) override;
36905 void initiateAcc(GPUDynInstPtr) override;
36906 void completeAcc(GPUDynInstPtr) override;
36907 }; // Inst_MUBUF__BUFFER_LOAD_USHORT
36908
36910 {
36911 public:
36914
36915 int
36917 {
36919 } // getNumOperands
36920
36921 int numDstRegOperands() override { return 1; }
36922 int numSrcRegOperands() override { return 3; }
36923
36924 int
36925 getOperandSize(int opIdx) override
36926 {
36927 switch (opIdx) {
36928 case 0: //vgpr_a
36929 return 8;
36930 case 1: //sgpr_r
36931 return 16;
36932 case 2: //sgpr_o
36933 return 4;
36934 case 3: //vgpr_d
36935 return 32;
36936 default:
36937 fatal("op idx %i out of bounds\n", opIdx);
36938 return -1;
36939 }
36940 } // getOperandSize
36941
36942 void execute(GPUDynInstPtr) override;
36943 void initiateAcc(GPUDynInstPtr) override;
36944 void completeAcc(GPUDynInstPtr) override;
36945 }; // Inst_MUBUF__BUFFER_LOAD_SSHORT
36946
36948 {
36949 public:
36952
36953 int
36955 {
36957 } // getNumOperands
36958
36959 int numDstRegOperands() override { return 1; }
36960 int numSrcRegOperands() override { return 3; }
36961
36962 int
36963 getOperandSize(int opIdx) override
36964 {
36965 switch (opIdx) {
36966 case 0: //vgpr_a
36967 return 8;
36968 case 1: //sgpr_r
36969 return 16;
36970 case 2: //sgpr_o
36971 return 4;
36972 case 3: //vgpr_d
36973 return 4;
36974 default:
36975 fatal("op idx %i out of bounds\n", opIdx);
36976 return -1;
36977 }
36978 } // getOperandSize
36979
36980 void execute(GPUDynInstPtr) override;
36981 void initiateAcc(GPUDynInstPtr) override;
36982 void completeAcc(GPUDynInstPtr) override;
36983 }; // Inst_MUBUF__BUFFER_LOAD_SHORT_D16
36984
36986 {
36987 public:
36990
36991 int
36993 {
36995 } // getNumOperands
36996
36997 int numDstRegOperands() override { return 1; }
36998 int numSrcRegOperands() override { return 3; }
36999
37000 int
37001 getOperandSize(int opIdx) override
37002 {
37003 switch (opIdx) {
37004 case 0: //vgpr_a
37005 return 8;
37006 case 1: //sgpr_r
37007 return 16;
37008 case 2: //sgpr_o
37009 return 4;
37010 case 3: //vgpr_d
37011 return 4;
37012 default:
37013 fatal("op idx %i out of bounds\n", opIdx);
37014 return -1;
37015 }
37016 } // getOperandSize
37017
37018 void execute(GPUDynInstPtr) override;
37019 void initiateAcc(GPUDynInstPtr) override;
37020 void completeAcc(GPUDynInstPtr) override;
37021 }; // Inst_MUBUF__BUFFER_LOAD_SHORT_D16_HI
37022
37024 {
37025 public:
37028
37029 int
37031 {
37033 } // getNumOperands
37034
37035 int numDstRegOperands() override { return 1; }
37036 int numSrcRegOperands() override { return 3; }
37037
37038 int
37039 getOperandSize(int opIdx) override
37040 {
37041 switch (opIdx) {
37042 case 0: //vgpr_a
37043 return 8;
37044 case 1: //sgpr_r
37045 return 16;
37046 case 2: //sgpr_o
37047 return 4;
37048 case 3: //vgpr_d
37049 return 4;
37050 default:
37051 fatal("op idx %i out of bounds\n", opIdx);
37052 return -1;
37053 }
37054 } // getOperandSize
37055
37056 void execute(GPUDynInstPtr) override;
37057 void initiateAcc(GPUDynInstPtr) override;
37058 void completeAcc(GPUDynInstPtr) override;
37059 }; // Inst_MUBUF__BUFFER_LOAD_DWORD
37060
37062 {
37063 public:
37066
37067 int
37069 {
37071 } // getNumOperands
37072
37073 int numDstRegOperands() override { return 1; }
37074 int numSrcRegOperands() override { return 3; }
37075
37076 int
37077 getOperandSize(int opIdx) override
37078 {
37079 switch (opIdx) {
37080 case 0: //vgpr_a
37081 return 8;
37082 case 1: //sgpr_r
37083 return 16;
37084 case 2: //sgpr_o
37085 return 4;
37086 case 3: //vgpr_d
37087 return 8;
37088 default:
37089 fatal("op idx %i out of bounds\n", opIdx);
37090 return -1;
37091 }
37092 } // getOperandSize
37093
37094 void execute(GPUDynInstPtr) override;
37095 void initiateAcc(GPUDynInstPtr) override;
37096 void completeAcc(GPUDynInstPtr) override;
37097 }; // Inst_MUBUF__BUFFER_LOAD_DWORDX2
37098
37100 {
37101 public:
37104
37105 int
37107 {
37109 } // getNumOperands
37110
37111 int numDstRegOperands() override { return 1; }
37112 int numSrcRegOperands() override { return 3; }
37113
37114 int
37115 getOperandSize(int opIdx) override
37116 {
37117 switch (opIdx) {
37118 case 0: //vgpr_a
37119 return 8;
37120 case 1: //sgpr_r
37121 return 16;
37122 case 2: //sgpr_o
37123 return 4;
37124 case 3: //vgpr_d
37125 return 12;
37126 default:
37127 fatal("op idx %i out of bounds\n", opIdx);
37128 return -1;
37129 }
37130 } // getOperandSize
37131
37132 void execute(GPUDynInstPtr) override;
37133 void initiateAcc(GPUDynInstPtr) override;
37134 void completeAcc(GPUDynInstPtr) override;
37135 }; // Inst_MUBUF__BUFFER_LOAD_DWORDX3
37136
37138 {
37139 public:
37142
37143 int
37145 {
37147 } // getNumOperands
37148
37149 int numDstRegOperands() override { return 1; }
37150 int numSrcRegOperands() override { return 3; }
37151
37152 int
37153 getOperandSize(int opIdx) override
37154 {
37155 switch (opIdx) {
37156 case 0: //vgpr_a
37157 return 8;
37158 case 1: //sgpr_r
37159 return 16;
37160 case 2: //sgpr_o
37161 return 4;
37162 case 3: //vgpr_d
37163 return 16;
37164 default:
37165 fatal("op idx %i out of bounds\n", opIdx);
37166 return -1;
37167 }
37168 } // getOperandSize
37169
37170 void execute(GPUDynInstPtr) override;
37171 void initiateAcc(GPUDynInstPtr) override;
37172 void completeAcc(GPUDynInstPtr) override;
37173 }; // Inst_MUBUF__BUFFER_LOAD_DWORDX4
37174
37176 {
37177 public:
37180
37181 int
37183 {
37185 } // getNumOperands
37186
37187 int numDstRegOperands() override { return 0; }
37188 int numSrcRegOperands() override { return 4; }
37189
37190 int
37191 getOperandSize(int opIdx) override
37192 {
37193 switch (opIdx) {
37194 case 0: //vgpr_s
37195 return 4;
37196 case 1: //vgpr_a
37197 if (instData.OFFEN && instData.IDXEN) {
37198 // if we need an idx and offset from a
37199 // VGPR, we'll read VGPR[VADDR] and
37200 // VGPR[VADDR + 1], otherwise we just
37201 // read VGPR[VADDR]
37202 return 8;
37203 } else {
37204 return 4;
37205 }
37206 case 2: //sgpr_r
37207 return 16;
37208 case 3: //sgpr_o
37209 return 4;
37210 default:
37211 fatal("op idx %i out of bounds\n", opIdx);
37212 return -1;
37213 }
37214 } // getOperandSize
37215
37216 void execute(GPUDynInstPtr) override;
37217 void initiateAcc(GPUDynInstPtr) override;
37218 void completeAcc(GPUDynInstPtr) override;
37219 }; // Inst_MUBUF__BUFFER_STORE_BYTE
37220
37222 {
37223 public:
37226
37227 int
37229 {
37231 } // getNumOperands
37232
37233 int numDstRegOperands() override { return 0; }
37234 int numSrcRegOperands() override { return 4; }
37235
37236 int
37237 getOperandSize(int opIdx) override
37238 {
37239 switch (opIdx) {
37240 case 0: //vgpr_s
37241 return 4;
37242 case 1: //vgpr_a
37243 return 8;
37244 case 2: //sgpr_r
37245 return 16;
37246 case 3: //sgpr_o
37247 return 4;
37248 default:
37249 fatal("op idx %i out of bounds\n", opIdx);
37250 return -1;
37251 }
37252 } // getOperandSize
37253
37254 void execute(GPUDynInstPtr) override;
37255 void initiateAcc(GPUDynInstPtr) override;
37256 void completeAcc(GPUDynInstPtr) override;
37257 }; // Inst_MUBUF__BUFFER_STORE_SHORT
37258
37260 {
37261 public:
37264
37265 int
37267 {
37269 } // getNumOperands
37270
37271 int numDstRegOperands() override { return 0; }
37272 int numSrcRegOperands() override { return 4; }
37273
37274 int
37275 getOperandSize(int opIdx) override
37276 {
37277 switch (opIdx) {
37278 case 0: //vgpr_s
37279 return 4;
37280 case 1: //vgpr_a
37281 return 8;
37282 case 2: //sgpr_r
37283 return 16;
37284 case 3: //sgpr_o
37285 return 4;
37286 default:
37287 fatal("op idx %i out of bounds\n", opIdx);
37288 return -1;
37289 }
37290 } // getOperandSize
37291
37292 void execute(GPUDynInstPtr) override;
37293 void initiateAcc(GPUDynInstPtr) override;
37294 void completeAcc(GPUDynInstPtr) override;
37295 }; // Inst_MUBUF__BUFFER_STORE_DWORD
37296
37298 {
37299 public:
37302
37303 int
37305 {
37307 } // getNumOperands
37308
37309 int numDstRegOperands() override { return 0; }
37310 int numSrcRegOperands() override { return 4; }
37311
37312 int
37313 getOperandSize(int opIdx) override
37314 {
37315 switch (opIdx) {
37316 case 0: //vgpr_s
37317 return 8;
37318 case 1: //vgpr_a
37319 return 8;
37320 case 2: //sgpr_r
37321 return 16;
37322 case 3: //sgpr_o
37323 return 4;
37324 default:
37325 fatal("op idx %i out of bounds\n", opIdx);
37326 return -1;
37327 }
37328 } // getOperandSize
37329
37330 void execute(GPUDynInstPtr) override;
37331 void initiateAcc(GPUDynInstPtr) override;
37332 void completeAcc(GPUDynInstPtr) override;
37333 }; // Inst_MUBUF__BUFFER_STORE_DWORDX2
37334
37336 {
37337 public:
37340
37341 int
37343 {
37345 } // getNumOperands
37346
37347 int numDstRegOperands() override { return 0; }
37348 int numSrcRegOperands() override { return 4; }
37349
37350 int
37351 getOperandSize(int opIdx) override
37352 {
37353 switch (opIdx) {
37354 case 0: //vgpr_s
37355 return 12;
37356 case 1: //vgpr_a
37357 return 8;
37358 case 2: //sgpr_r
37359 return 16;
37360 case 3: //sgpr_o
37361 return 4;
37362 default:
37363 fatal("op idx %i out of bounds\n", opIdx);
37364 return -1;
37365 }
37366 } // getOperandSize
37367
37368 void execute(GPUDynInstPtr) override;
37369 void initiateAcc(GPUDynInstPtr) override;
37370 void completeAcc(GPUDynInstPtr) override;
37371 }; // Inst_MUBUF__BUFFER_STORE_DWORDX3
37372
37374 {
37375 public:
37378
37379 int
37381 {
37383 } // getNumOperands
37384
37385 int numDstRegOperands() override { return 0; }
37386 int numSrcRegOperands() override { return 4; }
37387
37388 int
37389 getOperandSize(int opIdx) override
37390 {
37391 switch (opIdx) {
37392 case 0: //vgpr_s
37393 return 16;
37394 case 1: //vgpr_a
37395 return 8;
37396 case 2: //sgpr_r
37397 return 16;
37398 case 3: //sgpr_o
37399 return 4;
37400 default:
37401 fatal("op idx %i out of bounds\n", opIdx);
37402 return -1;
37403 }
37404 } // getOperandSize
37405
37406 void execute(GPUDynInstPtr) override;
37407 void initiateAcc(GPUDynInstPtr) override;
37408 void completeAcc(GPUDynInstPtr) override;
37409 }; // Inst_MUBUF__BUFFER_STORE_DWORDX4
37410
37412 {
37413 public:
37416
37417 int
37419 {
37421 } // getNumOperands
37422
37423 int numDstRegOperands() override { return 0; }
37424 int numSrcRegOperands() override { return 2; }
37425
37426 int
37427 getOperandSize(int opIdx) override
37428 {
37429 switch (opIdx) {
37430 case 0: //sgpr_r
37431 return 16;
37432 case 1: //sgpr_o
37433 return 4;
37434 default:
37435 fatal("op idx %i out of bounds\n", opIdx);
37436 return -1;
37437 }
37438 } // getOperandSize
37439
37440 void execute(GPUDynInstPtr) override;
37441 }; // Inst_MUBUF__BUFFER_STORE_LDS_DWORD
37442
37444 {
37445 public:
37448
37449 int
37451 {
37453 } // getNumOperands
37454
37455 int numDstRegOperands() override { return 0; }
37456 int numSrcRegOperands() override { return 0; }
37457
37458 int
37459 getOperandSize(int opIdx) override
37460 {
37461 switch (opIdx) {
37462 default:
37463 fatal("op idx %i out of bounds\n", opIdx);
37464 return -1;
37465 }
37466 } // getOperandSize
37467
37468 void execute(GPUDynInstPtr) override;
37469 void initiateAcc(GPUDynInstPtr) override;
37470 void completeAcc(GPUDynInstPtr) override;
37471 }; // Inst_MUBUF__BUFFER_WBINVL1
37472
37474 {
37475 public:
37478
37479 int
37481 {
37483 } // getNumOperands
37484
37485 int numDstRegOperands() override { return 0; }
37486 int numSrcRegOperands() override { return 0; }
37487
37488 int
37489 getOperandSize(int opIdx) override
37490 {
37491 switch (opIdx) {
37492 default:
37493 fatal("op idx %i out of bounds\n", opIdx);
37494 return -1;
37495 }
37496 } // getOperandSize
37497
37498 void execute(GPUDynInstPtr) override;
37499 void initiateAcc(GPUDynInstPtr) override;
37500 void completeAcc(GPUDynInstPtr) override;
37501 }; // Inst_MUBUF__BUFFER_WBINVL1_VOL
37502
37504 {
37505 public:
37508
37509 int
37511 {
37513 } // getNumOperands
37514
37515 int numDstRegOperands() override { return 1; }
37516 int numSrcRegOperands() override { return 3; }
37517
37518 int
37519 getOperandSize(int opIdx) override
37520 {
37521 switch (opIdx) {
37522 case 0: //vgpr_a
37523 return 8;
37524 case 1: //sgpr_r
37525 return 16;
37526 case 2: //sgpr_o
37527 return 4;
37528 case 3: //vgpr_d
37529 return 4;
37530 default:
37531 fatal("op idx %i out of bounds\n", opIdx);
37532 return -1;
37533 }
37534 } // getOperandSize
37535
37536 void execute(GPUDynInstPtr) override;
37537 }; // Inst_MUBUF__BUFFER_ATOMIC_SWAP
37538
37540 {
37541 public:
37544
37545 int
37547 {
37549 } // getNumOperands
37550
37551 int numDstRegOperands() override { return 1; }
37552 int numSrcRegOperands() override { return 3; }
37553
37554 int
37555 getOperandSize(int opIdx) override
37556 {
37557 switch (opIdx) {
37558 case 0: //vgpr_a
37559 return 8;
37560 case 1: //sgpr_r
37561 return 16;
37562 case 2: //sgpr_o
37563 return 4;
37564 case 3: //vgpr_d
37565 return 8;
37566 default:
37567 fatal("op idx %i out of bounds\n", opIdx);
37568 return -1;
37569 }
37570 } // getOperandSize
37571
37572 void execute(GPUDynInstPtr) override;
37573 void initiateAcc(GPUDynInstPtr) override;
37574 void completeAcc(GPUDynInstPtr) override;
37575 }; // Inst_MUBUF__BUFFER_ATOMIC_CMPSWAP
37576
37578 {
37579 public:
37582
37583 int
37585 {
37587 } // getNumOperands
37588
37589 int numDstRegOperands() override { return 1; }
37590 int numSrcRegOperands() override { return 3; }
37591
37592 int
37593 getOperandSize(int opIdx) override
37594 {
37595 switch (opIdx) {
37596 case 0: //vgpr_a
37597 return 8;
37598 case 1: //sgpr_r
37599 return 16;
37600 case 2: //sgpr_o
37601 return 4;
37602 case 3: //vgpr_d
37603 return 4;
37604 default:
37605 fatal("op idx %i out of bounds\n", opIdx);
37606 return -1;
37607 }
37608 } // getOperandSize
37609
37610 void execute(GPUDynInstPtr) override;
37611 }; // Inst_MUBUF__BUFFER_ATOMIC_ADD
37612
37614 {
37615 public:
37618
37619 int
37621 {
37623 } // getNumOperands
37624
37625 int numDstRegOperands() override { return 1; }
37626 int numSrcRegOperands() override { return 3; }
37627
37628 int
37629 getOperandSize(int opIdx) override
37630 {
37631 switch (opIdx) {
37632 case 0: //vgpr_a
37633 return 8;
37634 case 1: //sgpr_r
37635 return 16;
37636 case 2: //sgpr_o
37637 return 4;
37638 case 3: //vgpr_d
37639 return 4;
37640 default:
37641 fatal("op idx %i out of bounds\n", opIdx);
37642 return -1;
37643 }
37644 } // getOperandSize
37645
37646 void execute(GPUDynInstPtr) override;
37647 }; // Inst_MUBUF__BUFFER_ATOMIC_SUB
37648
37650 {
37651 public:
37654
37655 int
37657 {
37659 } // getNumOperands
37660
37661 int numDstRegOperands() override { return 1; }
37662 int numSrcRegOperands() override { return 3; }
37663
37664 int
37665 getOperandSize(int opIdx) override
37666 {
37667 switch (opIdx) {
37668 case 0: //vgpr_a
37669 return 8;
37670 case 1: //sgpr_r
37671 return 16;
37672 case 2: //sgpr_o
37673 return 4;
37674 case 3: //vgpr_d
37675 return 4;
37676 default:
37677 fatal("op idx %i out of bounds\n", opIdx);
37678 return -1;
37679 }
37680 } // getOperandSize
37681
37682 void execute(GPUDynInstPtr) override;
37683 }; // Inst_MUBUF__BUFFER_ATOMIC_SMIN
37684
37686 {
37687 public:
37690
37691 int
37693 {
37695 } // getNumOperands
37696
37697 int numDstRegOperands() override { return 1; }
37698 int numSrcRegOperands() override { return 3; }
37699
37700 int
37701 getOperandSize(int opIdx) override
37702 {
37703 switch (opIdx) {
37704 case 0: //vgpr_a
37705 return 8;
37706 case 1: //sgpr_r
37707 return 16;
37708 case 2: //sgpr_o
37709 return 4;
37710 case 3: //vgpr_d
37711 return 32;
37712 default:
37713 fatal("op idx %i out of bounds\n", opIdx);
37714 return -1;
37715 }
37716 } // getOperandSize
37717
37718 void execute(GPUDynInstPtr) override;
37719 }; // Inst_MUBUF__BUFFER_ATOMIC_UMIN
37720
37722 {
37723 public:
37726
37727 int
37729 {
37731 } // getNumOperands
37732
37733 int numDstRegOperands() override { return 1; }
37734 int numSrcRegOperands() override { return 3; }
37735
37736 int
37737 getOperandSize(int opIdx) override
37738 {
37739 switch (opIdx) {
37740 case 0: //vgpr_a
37741 return 8;
37742 case 1: //sgpr_r
37743 return 16;
37744 case 2: //sgpr_o
37745 return 4;
37746 case 3: //vgpr_d
37747 return 32;
37748 default:
37749 fatal("op idx %i out of bounds\n", opIdx);
37750 return -1;
37751 }
37752 } // getOperandSize
37753
37754 void execute(GPUDynInstPtr) override;
37755 }; // Inst_MUBUF__BUFFER_ATOMIC_SMAX
37756
37758 {
37759 public:
37762
37763 int
37765 {
37767 } // getNumOperands
37768
37769 int numDstRegOperands() override { return 1; }
37770 int numSrcRegOperands() override { return 3; }
37771
37772 int
37773 getOperandSize(int opIdx) override
37774 {
37775 switch (opIdx) {
37776 case 0: //vgpr_a
37777 return 8;
37778 case 1: //sgpr_r
37779 return 16;
37780 case 2: //sgpr_o
37781 return 4;
37782 case 3: //vgpr_d
37783 return 32;
37784 default:
37785 fatal("op idx %i out of bounds\n", opIdx);
37786 return -1;
37787 }
37788 } // getOperandSize
37789
37790 void execute(GPUDynInstPtr) override;
37791 }; // Inst_MUBUF__BUFFER_ATOMIC_UMAX
37792
37794 {
37795 public:
37798
37799 int
37801 {
37803 } // getNumOperands
37804
37805 int numDstRegOperands() override { return 1; }
37806 int numSrcRegOperands() override { return 3; }
37807
37808 int
37809 getOperandSize(int opIdx) override
37810 {
37811 switch (opIdx) {
37812 case 0: //vgpr_a
37813 return 8;
37814 case 1: //sgpr_r
37815 return 16;
37816 case 2: //sgpr_o
37817 return 4;
37818 case 3: //vgpr_d
37819 return 32;
37820 default:
37821 fatal("op idx %i out of bounds\n", opIdx);
37822 return -1;
37823 }
37824 } // getOperandSize
37825
37826 void execute(GPUDynInstPtr) override;
37827 }; // Inst_MUBUF__BUFFER_ATOMIC_AND
37828
37830 {
37831 public:
37834
37835 int
37837 {
37839 } // getNumOperands
37840
37841 int numDstRegOperands() override { return 1; }
37842 int numSrcRegOperands() override { return 3; }
37843
37844 int
37845 getOperandSize(int opIdx) override
37846 {
37847 switch (opIdx) {
37848 case 0: //vgpr_a
37849 return 8;
37850 case 1: //sgpr_r
37851 return 16;
37852 case 2: //sgpr_o
37853 return 4;
37854 case 3: //vgpr_d
37855 return 32;
37856 default:
37857 fatal("op idx %i out of bounds\n", opIdx);
37858 return -1;
37859 }
37860 } // getOperandSize
37861
37862 void execute(GPUDynInstPtr) override;
37863 }; // Inst_MUBUF__BUFFER_ATOMIC_OR
37864
37866 {
37867 public:
37870
37871 int
37873 {
37875 } // getNumOperands
37876
37877 int numDstRegOperands() override { return 1; }
37878 int numSrcRegOperands() override { return 3; }
37879
37880 int
37881 getOperandSize(int opIdx) override
37882 {
37883 switch (opIdx) {
37884 case 0: //vgpr_a
37885 return 8;
37886 case 1: //sgpr_r
37887 return 16;
37888 case 2: //sgpr_o
37889 return 4;
37890 case 3: //vgpr_d
37891 return 32;
37892 default:
37893 fatal("op idx %i out of bounds\n", opIdx);
37894 return -1;
37895 }
37896 } // getOperandSize
37897
37898 void execute(GPUDynInstPtr) override;
37899 }; // Inst_MUBUF__BUFFER_ATOMIC_XOR
37900
37902 {
37903 public:
37906
37907 int
37909 {
37911 } // getNumOperands
37912
37913 int numDstRegOperands() override { return 1; }
37914 int numSrcRegOperands() override { return 3; }
37915
37916 int
37917 getOperandSize(int opIdx) override
37918 {
37919 switch (opIdx) {
37920 case 0: //vgpr_a
37921 return 8;
37922 case 1: //sgpr_r
37923 return 16;
37924 case 2: //sgpr_o
37925 return 4;
37926 case 3: //vgpr_d
37927 return 32;
37928 default:
37929 fatal("op idx %i out of bounds\n", opIdx);
37930 return -1;
37931 }
37932 } // getOperandSize
37933
37934 void execute(GPUDynInstPtr) override;
37935 }; // Inst_MUBUF__BUFFER_ATOMIC_INC
37936
37938 {
37939 public:
37942
37943 int
37945 {
37947 } // getNumOperands
37948
37949 int numDstRegOperands() override { return 1; }
37950 int numSrcRegOperands() override { return 3; }
37951
37952 int
37953 getOperandSize(int opIdx) override
37954 {
37955 switch (opIdx) {
37956 case 0: //vgpr_a
37957 return 8;
37958 case 1: //sgpr_r
37959 return 16;
37960 case 2: //sgpr_o
37961 return 4;
37962 case 3: //vgpr_d
37963 return 32;
37964 default:
37965 fatal("op idx %i out of bounds\n", opIdx);
37966 return -1;
37967 }
37968 } // getOperandSize
37969
37970 void execute(GPUDynInstPtr) override;
37971 }; // Inst_MUBUF__BUFFER_ATOMIC_DEC
37972
37974 {
37975 public:
37978
37979 int
37981 {
37983 } // getNumOperands
37984
37985 int numDstRegOperands() override { return 1; }
37986 int numSrcRegOperands() override { return 3; }
37987
37988 int
37989 getOperandSize(int opIdx) override
37990 {
37991 switch (opIdx) {
37992 case 0: //vgpr_a
37993 return 8;
37994 case 1: //sgpr_r
37995 return 16;
37996 case 2: //sgpr_o
37997 return 4;
37998 case 3: //vgpr_d
37999 return 8;
38000 default:
38001 fatal("op idx %i out of bounds\n", opIdx);
38002 return -1;
38003 }
38004 } // getOperandSize
38005
38006 void execute(GPUDynInstPtr) override;
38007 }; // Inst_MUBUF__BUFFER_ATOMIC_SWAP_X2
38008
38010 {
38011 public:
38014
38015 int
38017 {
38019 } // getNumOperands
38020
38021 int numDstRegOperands() override { return 1; }
38022 int numSrcRegOperands() override { return 3; }
38023
38024 int
38025 getOperandSize(int opIdx) override
38026 {
38027 switch (opIdx) {
38028 case 0: //vgpr_a
38029 return 8;
38030 case 1: //sgpr_r
38031 return 16;
38032 case 2: //sgpr_o
38033 return 4;
38034 case 3: //vgpr_d
38035 return 16;
38036 default:
38037 fatal("op idx %i out of bounds\n", opIdx);
38038 return -1;
38039 }
38040 } // getOperandSize
38041
38042 void execute(GPUDynInstPtr) override;
38043 }; // Inst_MUBUF__BUFFER_ATOMIC_CMPSWAP_X2
38044
38046 {
38047 public:
38050
38051 int
38053 {
38055 } // getNumOperands
38056
38057 int numDstRegOperands() override { return 1; }
38058 int numSrcRegOperands() override { return 3; }
38059
38060 int
38061 getOperandSize(int opIdx) override
38062 {
38063 switch (opIdx) {
38064 case 0: //vgpr_a
38065 return 8;
38066 case 1: //sgpr_r
38067 return 16;
38068 case 2: //sgpr_o
38069 return 4;
38070 case 3: //vgpr_d
38071 return 8;
38072 default:
38073 fatal("op idx %i out of bounds\n", opIdx);
38074 return -1;
38075 }
38076 } // getOperandSize
38077
38078 void execute(GPUDynInstPtr) override;
38079 }; // Inst_MUBUF__BUFFER_ATOMIC_ADD_X2
38080
38082 {
38083 public:
38086
38087 int
38089 {
38091 } // getNumOperands
38092
38093 int numDstRegOperands() override { return 1; }
38094 int numSrcRegOperands() override { return 3; }
38095
38096 int
38097 getOperandSize(int opIdx) override
38098 {
38099 switch (opIdx) {
38100 case 0: //vgpr_a
38101 return 8;
38102 case 1: //sgpr_r
38103 return 16;
38104 case 2: //sgpr_o
38105 return 4;
38106 case 3: //vgpr_d
38107 return 8;
38108 default:
38109 fatal("op idx %i out of bounds\n", opIdx);
38110 return -1;
38111 }
38112 } // getOperandSize
38113
38114 void execute(GPUDynInstPtr) override;
38115 }; // Inst_MUBUF__BUFFER_ATOMIC_SUB_X2
38116
38118 {
38119 public:
38122
38123 int
38125 {
38127 } // getNumOperands
38128
38129 int numDstRegOperands() override { return 1; }
38130 int numSrcRegOperands() override { return 3; }
38131
38132 int
38133 getOperandSize(int opIdx) override
38134 {
38135 switch (opIdx) {
38136 case 0: //vgpr_a
38137 return 8;
38138 case 1: //sgpr_r
38139 return 16;
38140 case 2: //sgpr_o
38141 return 4;
38142 case 3: //vgpr_d
38143 return 8;
38144 default:
38145 fatal("op idx %i out of bounds\n", opIdx);
38146 return -1;
38147 }
38148 } // getOperandSize
38149
38150 void execute(GPUDynInstPtr) override;
38151 }; // Inst_MUBUF__BUFFER_ATOMIC_SMIN_X2
38152
38154 {
38155 public:
38158
38159 int
38161 {
38163 } // getNumOperands
38164
38165 int numDstRegOperands() override { return 1; }
38166 int numSrcRegOperands() override { return 3; }
38167
38168 int
38169 getOperandSize(int opIdx) override
38170 {
38171 switch (opIdx) {
38172 case 0: //vgpr_a
38173 return 8;
38174 case 1: //sgpr_r
38175 return 16;
38176 case 2: //sgpr_o
38177 return 4;
38178 case 3: //vgpr_d
38179 return 8;
38180 default:
38181 fatal("op idx %i out of bounds\n", opIdx);
38182 return -1;
38183 }
38184 } // getOperandSize
38185
38186 void execute(GPUDynInstPtr) override;
38187 }; // Inst_MUBUF__BUFFER_ATOMIC_UMIN_X2
38188
38190 {
38191 public:
38194
38195 int
38197 {
38199 } // getNumOperands
38200
38201 int numDstRegOperands() override { return 1; }
38202 int numSrcRegOperands() override { return 3; }
38203
38204 int
38205 getOperandSize(int opIdx) override
38206 {
38207 switch (opIdx) {
38208 case 0: //vgpr_a
38209 return 8;
38210 case 1: //sgpr_r
38211 return 16;
38212 case 2: //sgpr_o
38213 return 4;
38214 case 3: //vgpr_d
38215 return 8;
38216 default:
38217 fatal("op idx %i out of bounds\n", opIdx);
38218 return -1;
38219 }
38220 } // getOperandSize
38221
38222 void execute(GPUDynInstPtr) override;
38223 }; // Inst_MUBUF__BUFFER_ATOMIC_SMAX_X2
38224
38226 {
38227 public:
38230
38231 int
38233 {
38235 } // getNumOperands
38236
38237 int numDstRegOperands() override { return 1; }
38238 int numSrcRegOperands() override { return 3; }
38239
38240 int
38241 getOperandSize(int opIdx) override
38242 {
38243 switch (opIdx) {
38244 case 0: //vgpr_a
38245 return 8;
38246 case 1: //sgpr_r
38247 return 16;
38248 case 2: //sgpr_o
38249 return 4;
38250 case 3: //vgpr_d
38251 return 8;
38252 default:
38253 fatal("op idx %i out of bounds\n", opIdx);
38254 return -1;
38255 }
38256 } // getOperandSize
38257
38258 void execute(GPUDynInstPtr) override;
38259 }; // Inst_MUBUF__BUFFER_ATOMIC_UMAX_X2
38260
38262 {
38263 public:
38266
38267 int
38269 {
38271 } // getNumOperands
38272
38273 int numDstRegOperands() override { return 1; }
38274 int numSrcRegOperands() override { return 3; }
38275
38276 int
38277 getOperandSize(int opIdx) override
38278 {
38279 switch (opIdx) {
38280 case 0: //vgpr_a
38281 return 8;
38282 case 1: //sgpr_r
38283 return 16;
38284 case 2: //sgpr_o
38285 return 4;
38286 case 3: //vgpr_d
38287 return 8;
38288 default:
38289 fatal("op idx %i out of bounds\n", opIdx);
38290 return -1;
38291 }
38292 } // getOperandSize
38293
38294 void execute(GPUDynInstPtr) override;
38295 }; // Inst_MUBUF__BUFFER_ATOMIC_AND_X2
38296
38298 {
38299 public:
38302
38303 int
38305 {
38307 } // getNumOperands
38308
38309 int numDstRegOperands() override { return 1; }
38310 int numSrcRegOperands() override { return 3; }
38311
38312 int
38313 getOperandSize(int opIdx) override
38314 {
38315 switch (opIdx) {
38316 case 0: //vgpr_a
38317 return 8;
38318 case 1: //sgpr_r
38319 return 16;
38320 case 2: //sgpr_o
38321 return 4;
38322 case 3: //vgpr_d
38323 return 8;
38324 default:
38325 fatal("op idx %i out of bounds\n", opIdx);
38326 return -1;
38327 }
38328 } // getOperandSize
38329
38330 void execute(GPUDynInstPtr) override;
38331 }; // Inst_MUBUF__BUFFER_ATOMIC_OR_X2
38332
38334 {
38335 public:
38338
38339 int
38341 {
38343 } // getNumOperands
38344
38345 int numDstRegOperands() override { return 1; }
38346 int numSrcRegOperands() override { return 3; }
38347
38348 int
38349 getOperandSize(int opIdx) override
38350 {
38351 switch (opIdx) {
38352 case 0: //vgpr_a
38353 return 8;
38354 case 1: //sgpr_r
38355 return 16;
38356 case 2: //sgpr_o
38357 return 4;
38358 case 3: //vgpr_d
38359 return 8;
38360 default:
38361 fatal("op idx %i out of bounds\n", opIdx);
38362 return -1;
38363 }
38364 } // getOperandSize
38365
38366 void execute(GPUDynInstPtr) override;
38367 }; // Inst_MUBUF__BUFFER_ATOMIC_XOR_X2
38368
38370 {
38371 public:
38374
38375 int
38377 {
38379 } // getNumOperands
38380
38381 int numDstRegOperands() override { return 1; }
38382 int numSrcRegOperands() override { return 3; }
38383
38384 int
38385 getOperandSize(int opIdx) override
38386 {
38387 switch (opIdx) {
38388 case 0: //vgpr_a
38389 return 8;
38390 case 1: //sgpr_r
38391 return 16;
38392 case 2: //sgpr_o
38393 return 4;
38394 case 3: //vgpr_d
38395 return 8;
38396 default:
38397 fatal("op idx %i out of bounds\n", opIdx);
38398 return -1;
38399 }
38400 } // getOperandSize
38401
38402 void execute(GPUDynInstPtr) override;
38403 }; // Inst_MUBUF__BUFFER_ATOMIC_INC_X2
38404
38406 {
38407 public:
38410
38411 int
38413 {
38415 } // getNumOperands
38416
38417 int numDstRegOperands() override { return 1; }
38418 int numSrcRegOperands() override { return 3; }
38419
38420 int
38421 getOperandSize(int opIdx) override
38422 {
38423 switch (opIdx) {
38424 case 0: //vgpr_a
38425 return 8;
38426 case 1: //sgpr_r
38427 return 16;
38428 case 2: //sgpr_o
38429 return 4;
38430 case 3: //vgpr_d
38431 return 8;
38432 default:
38433 fatal("op idx %i out of bounds\n", opIdx);
38434 return -1;
38435 }
38436 } // getOperandSize
38437
38438 void execute(GPUDynInstPtr) override;
38439 }; // Inst_MUBUF__BUFFER_ATOMIC_DEC_X2
38440
38442 {
38443 public:
38446
38447 int
38449 {
38451 } // getNumOperands
38452
38453 int numDstRegOperands() override { return 1; }
38454 int numSrcRegOperands() override { return 3; }
38455
38456 int
38457 getOperandSize(int opIdx) override
38458 {
38459 switch (opIdx) {
38460 case 0: //vgpr_a
38461 return 8;
38462 case 1: //sgpr_r
38463 return 4;
38464 case 2: //sgpr_o
38465 return 4;
38466 case 3: //vgpr_d
38467 return 32;
38468 default:
38469 fatal("op idx %i out of bounds\n", opIdx);
38470 return -1;
38471 }
38472 } // getOperandSize
38473
38474 void execute(GPUDynInstPtr) override;
38475 void initiateAcc(GPUDynInstPtr) override;
38476 void completeAcc(GPUDynInstPtr) override;
38477 }; // Inst_MTBUF__TBUFFER_LOAD_FORMAT_X
38478
38480 {
38481 public:
38484
38485 int
38487 {
38489 } // getNumOperands
38490
38491 int numDstRegOperands() override { return 1; }
38492 int numSrcRegOperands() override { return 3; }
38493
38494 int
38495 getOperandSize(int opIdx) override
38496 {
38497 switch (opIdx) {
38498 case 0: //vgpr_a
38499 return 8;
38500 case 1: //sgpr_r
38501 return 4;
38502 case 2: //sgpr_o
38503 return 4;
38504 case 3: //vgpr_d
38505 return 8;
38506 default:
38507 fatal("op idx %i out of bounds\n", opIdx);
38508 return -1;
38509 }
38510 } // getOperandSize
38511
38512 void execute(GPUDynInstPtr) override;
38513 void initiateAcc(GPUDynInstPtr) override;
38514 void completeAcc(GPUDynInstPtr) override;
38515 }; // Inst_MTBUF__TBUFFER_LOAD_FORMAT_XY
38516
38518 {
38519 public:
38522
38523 int
38525 {
38527 } // getNumOperands
38528
38529 int numDstRegOperands() override { return 1; }
38530 int numSrcRegOperands() override { return 3; }
38531
38532 int
38533 getOperandSize(int opIdx) override
38534 {
38535 switch (opIdx) {
38536 case 0: //vgpr_a
38537 return 8;
38538 case 1: //sgpr_r
38539 return 4;
38540 case 2: //sgpr_o
38541 return 4;
38542 case 3: //vgpr_d
38543 return 12;
38544 default:
38545 fatal("op idx %i out of bounds\n", opIdx);
38546 return -1;
38547 }
38548 } // getOperandSize
38549
38550 void execute(GPUDynInstPtr) override;
38551 void initiateAcc(GPUDynInstPtr) override;
38552 void completeAcc(GPUDynInstPtr) override;
38553 }; // Inst_MTBUF__TBUFFER_LOAD_FORMAT_XYZ
38554
38556 {
38557 public:
38560
38561 int
38563 {
38565 } // getNumOperands
38566
38567 int numDstRegOperands() override { return 1; }
38568 int numSrcRegOperands() override { return 3; }
38569
38570 int
38571 getOperandSize(int opIdx) override
38572 {
38573 switch (opIdx) {
38574 case 0: //vgpr_a
38575 return 8;
38576 case 1: //sgpr_r
38577 return 4;
38578 case 2: //sgpr_o
38579 return 4;
38580 case 3: //vgpr_d
38581 return 16;
38582 default:
38583 fatal("op idx %i out of bounds\n", opIdx);
38584 return -1;
38585 }
38586 } // getOperandSize
38587
38588 void execute(GPUDynInstPtr) override;
38589 void initiateAcc(GPUDynInstPtr) override;
38590 void completeAcc(GPUDynInstPtr) override;
38591 }; // Inst_MTBUF__TBUFFER_LOAD_FORMAT_XYZW
38592
38594 {
38595 public:
38598
38599 int
38601 {
38603 } // getNumOperands
38604
38605 int numDstRegOperands() override { return 0; }
38606 int numSrcRegOperands() override { return 4; }
38607
38608 int
38609 getOperandSize(int opIdx) override
38610 {
38611 switch (opIdx) {
38612 case 0: //vgpr_d
38613 return 32;
38614 case 1: //vgpr_a
38615 return 8;
38616 case 2: //sgpr_r
38617 return 4;
38618 case 3: //sgpr_o
38619 return 4;
38620 default:
38621 fatal("op idx %i out of bounds\n", opIdx);
38622 return -1;
38623 }
38624 } // getOperandSize
38625
38626 void execute(GPUDynInstPtr) override;
38627 void initiateAcc(GPUDynInstPtr) override;
38628 void completeAcc(GPUDynInstPtr) override;
38629 }; // Inst_MTBUF__TBUFFER_STORE_FORMAT_X
38630
38632 {
38633 public:
38636
38637 int
38639 {
38641 } // getNumOperands
38642
38643 int numDstRegOperands() override { return 0; }
38644 int numSrcRegOperands() override { return 4; }
38645
38646 int
38647 getOperandSize(int opIdx) override
38648 {
38649 switch (opIdx) {
38650 case 0: //vgpr_d
38651 return 8;
38652 case 1: //vgpr_a
38653 return 8;
38654 case 2: //sgpr_r
38655 return 4;
38656 case 3: //sgpr_o
38657 return 4;
38658 default:
38659 fatal("op idx %i out of bounds\n", opIdx);
38660 return -1;
38661 }
38662 } // getOperandSize
38663
38664 void execute(GPUDynInstPtr) override;
38665 void initiateAcc(GPUDynInstPtr) override;
38666 void completeAcc(GPUDynInstPtr) override;
38667 }; // Inst_MTBUF__TBUFFER_STORE_FORMAT_XY
38668
38670 {
38671 public:
38674
38675 int
38677 {
38679 } // getNumOperands
38680
38681 int numDstRegOperands() override { return 0; }
38682 int numSrcRegOperands() override { return 4; }
38683
38684 int
38685 getOperandSize(int opIdx) override
38686 {
38687 switch (opIdx) {
38688 case 0: //vgpr_d
38689 return 12;
38690 case 1: //vgpr_a
38691 return 8;
38692 case 2: //sgpr_r
38693 return 4;
38694 case 3: //sgpr_o
38695 return 4;
38696 default:
38697 fatal("op idx %i out of bounds\n", opIdx);
38698 return -1;
38699 }
38700 } // getOperandSize
38701
38702 void execute(GPUDynInstPtr) override;
38703 void initiateAcc(GPUDynInstPtr) override;
38704 void completeAcc(GPUDynInstPtr) override;
38705 }; // Inst_MTBUF__TBUFFER_STORE_FORMAT_XYZ
38706
38708 {
38709 public:
38712
38713 int
38715 {
38717 } // getNumOperands
38718
38719 int numDstRegOperands() override { return 0; }
38720 int numSrcRegOperands() override { return 4; }
38721
38722 int
38723 getOperandSize(int opIdx) override
38724 {
38725 switch (opIdx) {
38726 case 0: //vgpr_d
38727 return 16;
38728 case 1: //vgpr_a
38729 return 8;
38730 case 2: //sgpr_r
38731 return 4;
38732 case 3: //sgpr_o
38733 return 4;
38734 default:
38735 fatal("op idx %i out of bounds\n", opIdx);
38736 return -1;
38737 }
38738 } // getOperandSize
38739
38740 void execute(GPUDynInstPtr) override;
38741 void initiateAcc(GPUDynInstPtr) override;
38742 void completeAcc(GPUDynInstPtr) override;
38743 }; // Inst_MTBUF__TBUFFER_STORE_FORMAT_XYZW
38744
38746 {
38747 public:
38750
38751 int
38753 {
38755 } // getNumOperands
38756
38757 int numDstRegOperands() override { return 1; }
38758 int numSrcRegOperands() override { return 3; }
38759
38760 int
38761 getOperandSize(int opIdx) override
38762 {
38763 switch (opIdx) {
38764 case 0: //vgpr_a
38765 return 8;
38766 case 1: //sgpr_r
38767 return 4;
38768 case 2: //sgpr_o
38769 return 4;
38770 case 3: //vgpr_d
38771 return 32;
38772 default:
38773 fatal("op idx %i out of bounds\n", opIdx);
38774 return -1;
38775 }
38776 } // getOperandSize
38777
38778 void execute(GPUDynInstPtr) override;
38779 void initiateAcc(GPUDynInstPtr) override;
38780 void completeAcc(GPUDynInstPtr) override;
38781 }; // Inst_MTBUF__TBUFFER_LOAD_FORMAT_D16_X
38782
38784 {
38785 public:
38788
38789 int
38791 {
38793 } // getNumOperands
38794
38795 int numDstRegOperands() override { return 1; }
38796 int numSrcRegOperands() override { return 3; }
38797
38798 int
38799 getOperandSize(int opIdx) override
38800 {
38801 switch (opIdx) {
38802 case 0: //vgpr_a
38803 return 8;
38804 case 1: //sgpr_r
38805 return 4;
38806 case 2: //sgpr_o
38807 return 4;
38808 case 3: //vgpr_d
38809 return 8;
38810 default:
38811 fatal("op idx %i out of bounds\n", opIdx);
38812 return -1;
38813 }
38814 } // getOperandSize
38815
38816 void execute(GPUDynInstPtr) override;
38817 void initiateAcc(GPUDynInstPtr) override;
38818 void completeAcc(GPUDynInstPtr) override;
38819 }; // Inst_MTBUF__TBUFFER_LOAD_FORMAT_D16_XY
38820
38822 {
38823 public:
38826
38827 int
38829 {
38831 } // getNumOperands
38832
38833 int numDstRegOperands() override { return 1; }
38834 int numSrcRegOperands() override { return 3; }
38835
38836 int
38837 getOperandSize(int opIdx) override
38838 {
38839 switch (opIdx) {
38840 case 0: //vgpr_a
38841 return 8;
38842 case 1: //sgpr_r
38843 return 4;
38844 case 2: //sgpr_o
38845 return 4;
38846 case 3: //vgpr_d
38847 return 12;
38848 default:
38849 fatal("op idx %i out of bounds\n", opIdx);
38850 return -1;
38851 }
38852 } // getOperandSize
38853
38854 void execute(GPUDynInstPtr) override;
38855 void initiateAcc(GPUDynInstPtr) override;
38856 void completeAcc(GPUDynInstPtr) override;
38857 }; // Inst_MTBUF__TBUFFER_LOAD_FORMAT_D16_XYZ
38858
38860 {
38861 public:
38864
38865 int
38867 {
38869 } // getNumOperands
38870
38871 int numDstRegOperands() override { return 1; }
38872 int numSrcRegOperands() override { return 3; }
38873
38874 int
38875 getOperandSize(int opIdx) override
38876 {
38877 switch (opIdx) {
38878 case 0: //vgpr_a
38879 return 8;
38880 case 1: //sgpr_r
38881 return 4;
38882 case 2: //sgpr_o
38883 return 4;
38884 case 3: //vgpr_d
38885 return 16;
38886 default:
38887 fatal("op idx %i out of bounds\n", opIdx);
38888 return -1;
38889 }
38890 } // getOperandSize
38891
38892 void execute(GPUDynInstPtr) override;
38893 void initiateAcc(GPUDynInstPtr) override;
38894 void completeAcc(GPUDynInstPtr) override;
38895 }; // Inst_MTBUF__TBUFFER_LOAD_FORMAT_D16_XYZW
38896
38898 {
38899 public:
38902
38903 int
38905 {
38907 } // getNumOperands
38908
38909 int numDstRegOperands() override { return 0; }
38910 int numSrcRegOperands() override { return 4; }
38911
38912 int
38913 getOperandSize(int opIdx) override
38914 {
38915 switch (opIdx) {
38916 case 0: //vgpr_d
38917 return 32;
38918 case 1: //vgpr_a
38919 return 8;
38920 case 2: //sgpr_r
38921 return 4;
38922 case 3: //sgpr_o
38923 return 4;
38924 default:
38925 fatal("op idx %i out of bounds\n", opIdx);
38926 return -1;
38927 }
38928 } // getOperandSize
38929
38930 void execute(GPUDynInstPtr) override;
38931 void initiateAcc(GPUDynInstPtr) override;
38932 void completeAcc(GPUDynInstPtr) override;
38933 }; // Inst_MTBUF__TBUFFER_STORE_FORMAT_D16_X
38934
38936 {
38937 public:
38940
38941 int
38943 {
38945 } // getNumOperands
38946
38947 int numDstRegOperands() override { return 0; }
38948 int numSrcRegOperands() override { return 4; }
38949
38950 int
38951 getOperandSize(int opIdx) override
38952 {
38953 switch (opIdx) {
38954 case 0: //vgpr_d
38955 return 8;
38956 case 1: //vgpr_a
38957 return 8;
38958 case 2: //sgpr_r
38959 return 4;
38960 case 3: //sgpr_o
38961 return 4;
38962 default:
38963 fatal("op idx %i out of bounds\n", opIdx);
38964 return -1;
38965 }
38966 } // getOperandSize
38967
38968 void execute(GPUDynInstPtr) override;
38969 void initiateAcc(GPUDynInstPtr) override;
38970 void completeAcc(GPUDynInstPtr) override;
38971 }; // Inst_MTBUF__TBUFFER_STORE_FORMAT_D16_XY
38972
38974 {
38975 public:
38978
38979 int
38981 {
38983 } // getNumOperands
38984
38985 int numDstRegOperands() override { return 0; }
38986 int numSrcRegOperands() override { return 4; }
38987
38988 int
38989 getOperandSize(int opIdx) override
38990 {
38991 switch (opIdx) {
38992 case 0: //vgpr_d
38993 return 12;
38994 case 1: //vgpr_a
38995 return 8;
38996 case 2: //sgpr_r
38997 return 4;
38998 case 3: //sgpr_o
38999 return 4;
39000 default:
39001 fatal("op idx %i out of bounds\n", opIdx);
39002 return -1;
39003 }
39004 } // getOperandSize
39005
39006 void execute(GPUDynInstPtr) override;
39007 void initiateAcc(GPUDynInstPtr) override;
39008 void completeAcc(GPUDynInstPtr) override;
39009 }; // Inst_MTBUF__TBUFFER_STORE_FORMAT_D16_XYZ
39010
39012 {
39013 public:
39016
39017 int
39019 {
39021 } // getNumOperands
39022
39023 int numDstRegOperands() override { return 0; }
39024 int numSrcRegOperands() override { return 4; }
39025
39026 int
39027 getOperandSize(int opIdx) override
39028 {
39029 switch (opIdx) {
39030 case 0: //vgpr_d
39031 return 16;
39032 case 1: //vgpr_a
39033 return 8;
39034 case 2: //sgpr_r
39035 return 4;
39036 case 3: //sgpr_o
39037 return 4;
39038 default:
39039 fatal("op idx %i out of bounds\n", opIdx);
39040 return -1;
39041 }
39042 } // getOperandSize
39043
39044 void execute(GPUDynInstPtr) override;
39045 void initiateAcc(GPUDynInstPtr) override;
39046 void completeAcc(GPUDynInstPtr) override;
39047 }; // Inst_MTBUF__TBUFFER_STORE_FORMAT_D16_XYZW
39048
39050 {
39051 public:
39054
39055 int
39057 {
39059 } // getNumOperands
39060
39061 int numDstRegOperands() override { return 1; }
39062 int numSrcRegOperands() override { return 2; }
39063
39064 int
39065 getOperandSize(int opIdx) override
39066 {
39067 switch (opIdx) {
39068 case 0: //vgpr_a
39069 return 16;
39070 case 1: //sgpr_r
39071 return 32;
39072 case 2: //vgpr_d
39073 return 16;
39074 default:
39075 fatal("op idx %i out of bounds\n", opIdx);
39076 return -1;
39077 }
39078 } // getOperandSize
39079
39080 void execute(GPUDynInstPtr) override;
39081 void initiateAcc(GPUDynInstPtr) override;
39082 void completeAcc(GPUDynInstPtr) override;
39083 }; // Inst_MIMG__IMAGE_LOAD
39084
39086 {
39087 public:
39090
39091 int
39093 {
39095 } // getNumOperands
39096
39097 int numDstRegOperands() override { return 1; }
39098 int numSrcRegOperands() override { return 2; }
39099
39100 int
39101 getOperandSize(int opIdx) override
39102 {
39103 switch (opIdx) {
39104 case 0: //vgpr_a
39105 return 16;
39106 case 1: //sgpr_r
39107 return 32;
39108 case 2: //vgpr_d
39109 return 16;
39110 default:
39111 fatal("op idx %i out of bounds\n", opIdx);
39112 return -1;
39113 }
39114 } // getOperandSize
39115
39116 void execute(GPUDynInstPtr) override;
39117 void initiateAcc(GPUDynInstPtr) override;
39118 void completeAcc(GPUDynInstPtr) override;
39119 }; // Inst_MIMG__IMAGE_LOAD_MIP
39120
39122 {
39123 public:
39126
39127 int
39129 {
39131 } // getNumOperands
39132
39133 int numDstRegOperands() override { return 1; }
39134 int numSrcRegOperands() override { return 2; }
39135
39136 int
39137 getOperandSize(int opIdx) override
39138 {
39139 switch (opIdx) {
39140 case 0: //vgpr_a
39141 return 16;
39142 case 1: //sgpr_r
39143 return 32;
39144 case 2: //vgpr_d
39145 return 16;
39146 default:
39147 fatal("op idx %i out of bounds\n", opIdx);
39148 return -1;
39149 }
39150 } // getOperandSize
39151
39152 void execute(GPUDynInstPtr) override;
39153 void initiateAcc(GPUDynInstPtr) override;
39154 void completeAcc(GPUDynInstPtr) override;
39155 }; // Inst_MIMG__IMAGE_LOAD_PCK
39156
39158 {
39159 public:
39162
39163 int
39165 {
39167 } // getNumOperands
39168
39169 int numDstRegOperands() override { return 1; }
39170 int numSrcRegOperands() override { return 2; }
39171
39172 int
39173 getOperandSize(int opIdx) override
39174 {
39175 switch (opIdx) {
39176 case 0: //vgpr_a
39177 return 16;
39178 case 1: //sgpr_r
39179 return 32;
39180 case 2: //vgpr_d
39181 return 16;
39182 default:
39183 fatal("op idx %i out of bounds\n", opIdx);
39184 return -1;
39185 }
39186 } // getOperandSize
39187
39188 void execute(GPUDynInstPtr) override;
39189 void initiateAcc(GPUDynInstPtr) override;
39190 void completeAcc(GPUDynInstPtr) override;
39191 }; // Inst_MIMG__IMAGE_LOAD_PCK_SGN
39192
39194 {
39195 public:
39198
39199 int
39201 {
39203 } // getNumOperands
39204
39205 int numDstRegOperands() override { return 1; }
39206 int numSrcRegOperands() override { return 2; }
39207
39208 int
39209 getOperandSize(int opIdx) override
39210 {
39211 switch (opIdx) {
39212 case 0: //vgpr_a
39213 return 16;
39214 case 1: //sgpr_r
39215 return 32;
39216 case 2: //vgpr_d
39217 return 16;
39218 default:
39219 fatal("op idx %i out of bounds\n", opIdx);
39220 return -1;
39221 }
39222 } // getOperandSize
39223
39224 void execute(GPUDynInstPtr) override;
39225 void initiateAcc(GPUDynInstPtr) override;
39226 void completeAcc(GPUDynInstPtr) override;
39227 }; // Inst_MIMG__IMAGE_LOAD_MIP_PCK
39228
39230 {
39231 public:
39234
39235 int
39237 {
39239 } // getNumOperands
39240
39241 int numDstRegOperands() override { return 1; }
39242 int numSrcRegOperands() override { return 2; }
39243
39244 int
39245 getOperandSize(int opIdx) override
39246 {
39247 switch (opIdx) {
39248 case 0: //vgpr_a
39249 return 16;
39250 case 1: //sgpr_r
39251 return 32;
39252 case 2: //vgpr_d
39253 return 16;
39254 default:
39255 fatal("op idx %i out of bounds\n", opIdx);
39256 return -1;
39257 }
39258 } // getOperandSize
39259
39260 void execute(GPUDynInstPtr) override;
39261 void initiateAcc(GPUDynInstPtr) override;
39262 void completeAcc(GPUDynInstPtr) override;
39263 }; // Inst_MIMG__IMAGE_LOAD_MIP_PCK_SGN
39264
39266 {
39267 public:
39270
39271 int
39273 {
39275 } // getNumOperands
39276
39277 int numDstRegOperands() override { return 0; }
39278 int numSrcRegOperands() override { return 3; }
39279
39280 int
39281 getOperandSize(int opIdx) override
39282 {
39283 switch (opIdx) {
39284 case 0: //vgpr_d
39285 return 16;
39286 case 1: //vgpr_a
39287 return 16;
39288 case 2: //sgpr_r
39289 return 32;
39290 default:
39291 fatal("op idx %i out of bounds\n", opIdx);
39292 return -1;
39293 }
39294 } // getOperandSize
39295
39296 void execute(GPUDynInstPtr) override;
39297 void initiateAcc(GPUDynInstPtr) override;
39298 void completeAcc(GPUDynInstPtr) override;
39299 }; // Inst_MIMG__IMAGE_STORE
39300
39302 {
39303 public:
39306
39307 int
39309 {
39311 } // getNumOperands
39312
39313 int numDstRegOperands() override { return 0; }
39314 int numSrcRegOperands() override { return 3; }
39315
39316 int
39317 getOperandSize(int opIdx) override
39318 {
39319 switch (opIdx) {
39320 case 0: //vgpr_d
39321 return 16;
39322 case 1: //vgpr_a
39323 return 16;
39324 case 2: //sgpr_r
39325 return 32;
39326 default:
39327 fatal("op idx %i out of bounds\n", opIdx);
39328 return -1;
39329 }
39330 } // getOperandSize
39331
39332 void execute(GPUDynInstPtr) override;
39333 void initiateAcc(GPUDynInstPtr) override;
39334 void completeAcc(GPUDynInstPtr) override;
39335 }; // Inst_MIMG__IMAGE_STORE_MIP
39336
39338 {
39339 public:
39342
39343 int
39345 {
39347 } // getNumOperands
39348
39349 int numDstRegOperands() override { return 0; }
39350 int numSrcRegOperands() override { return 3; }
39351
39352 int
39353 getOperandSize(int opIdx) override
39354 {
39355 switch (opIdx) {
39356 case 0: //vgpr_d
39357 return 16;
39358 case 1: //vgpr_a
39359 return 16;
39360 case 2: //sgpr_r
39361 return 32;
39362 default:
39363 fatal("op idx %i out of bounds\n", opIdx);
39364 return -1;
39365 }
39366 } // getOperandSize
39367
39368 void execute(GPUDynInstPtr) override;
39369 void initiateAcc(GPUDynInstPtr) override;
39370 void completeAcc(GPUDynInstPtr) override;
39371 }; // Inst_MIMG__IMAGE_STORE_PCK
39372
39374 {
39375 public:
39378
39379 int
39381 {
39383 } // getNumOperands
39384
39385 int numDstRegOperands() override { return 0; }
39386 int numSrcRegOperands() override { return 3; }
39387
39388 int
39389 getOperandSize(int opIdx) override
39390 {
39391 switch (opIdx) {
39392 case 0: //vgpr_d
39393 return 16;
39394 case 1: //vgpr_a
39395 return 16;
39396 case 2: //sgpr_r
39397 return 32;
39398 default:
39399 fatal("op idx %i out of bounds\n", opIdx);
39400 return -1;
39401 }
39402 } // getOperandSize
39403
39404 void execute(GPUDynInstPtr) override;
39405 void initiateAcc(GPUDynInstPtr) override;
39406 void completeAcc(GPUDynInstPtr) override;
39407 }; // Inst_MIMG__IMAGE_STORE_MIP_PCK
39408
39410 {
39411 public:
39414
39415 int
39417 {
39419 } // getNumOperands
39420
39421 int numDstRegOperands() override { return 1; }
39422 int numSrcRegOperands() override { return 2; }
39423
39424 int
39425 getOperandSize(int opIdx) override
39426 {
39427 switch (opIdx) {
39428 case 0: //vgpr_a
39429 return 16;
39430 case 1: //sgpr_r
39431 return 32;
39432 case 2: //vgpr_d
39433 return 16;
39434 default:
39435 fatal("op idx %i out of bounds\n", opIdx);
39436 return -1;
39437 }
39438 } // getOperandSize
39439
39440 void execute(GPUDynInstPtr) override;
39441 }; // Inst_MIMG__IMAGE_GET_RESINFO
39442
39444 {
39445 public:
39448
39449 int
39451 {
39453 } // getNumOperands
39454
39455 int numDstRegOperands() override { return 1; }
39456 int numSrcRegOperands() override { return 2; }
39457
39458 int
39459 getOperandSize(int opIdx) override
39460 {
39461 switch (opIdx) {
39462 case 0: //vgpr_a
39463 return 32;
39464 case 1: //sgpr_r
39465 return 32;
39466 case 2: //vgpr_d
39467 return 16;
39468 default:
39469 fatal("op idx %i out of bounds\n", opIdx);
39470 return -1;
39471 }
39472 } // getOperandSize
39473
39474 void execute(GPUDynInstPtr) override;
39475 }; // Inst_MIMG__IMAGE_ATOMIC_SWAP
39476
39478 {
39479 public:
39482
39483 int
39485 {
39487 } // getNumOperands
39488
39489 int numDstRegOperands() override { return 1; }
39490 int numSrcRegOperands() override { return 2; }
39491
39492 int
39493 getOperandSize(int opIdx) override
39494 {
39495 switch (opIdx) {
39496 case 0: //vgpr_a
39497 return 32;
39498 case 1: //sgpr_r
39499 return 32;
39500 case 2: //vgpr_d
39501 return 16;
39502 default:
39503 fatal("op idx %i out of bounds\n", opIdx);
39504 return -1;
39505 }
39506 } // getOperandSize
39507
39508 void execute(GPUDynInstPtr) override;
39509 }; // Inst_MIMG__IMAGE_ATOMIC_CMPSWAP
39510
39512 {
39513 public:
39516
39517 int
39519 {
39521 } // getNumOperands
39522
39523 int numDstRegOperands() override { return 1; }
39524 int numSrcRegOperands() override { return 2; }
39525
39526 int
39527 getOperandSize(int opIdx) override
39528 {
39529 switch (opIdx) {
39530 case 0: //vgpr_a
39531 return 32;
39532 case 1: //sgpr_r
39533 return 32;
39534 case 2: //vgpr_d
39535 return 16;
39536 default:
39537 fatal("op idx %i out of bounds\n", opIdx);
39538 return -1;
39539 }
39540 } // getOperandSize
39541
39542 void execute(GPUDynInstPtr) override;
39543 }; // Inst_MIMG__IMAGE_ATOMIC_ADD
39544
39546 {
39547 public:
39550
39551 int
39553 {
39555 } // getNumOperands
39556
39557 int numDstRegOperands() override { return 1; }
39558 int numSrcRegOperands() override { return 2; }
39559
39560 int
39561 getOperandSize(int opIdx) override
39562 {
39563 switch (opIdx) {
39564 case 0: //vgpr_a
39565 return 32;
39566 case 1: //sgpr_r
39567 return 32;
39568 case 2: //vgpr_d
39569 return 16;
39570 default:
39571 fatal("op idx %i out of bounds\n", opIdx);
39572 return -1;
39573 }
39574 } // getOperandSize
39575
39576 void execute(GPUDynInstPtr) override;
39577 }; // Inst_MIMG__IMAGE_ATOMIC_SUB
39578
39580 {
39581 public:
39584
39585 int
39587 {
39589 } // getNumOperands
39590
39591 int numDstRegOperands() override { return 1; }
39592 int numSrcRegOperands() override { return 2; }
39593
39594 int
39595 getOperandSize(int opIdx) override
39596 {
39597 switch (opIdx) {
39598 case 0: //vgpr_a
39599 return 32;
39600 case 1: //sgpr_r
39601 return 32;
39602 case 2: //vgpr_d
39603 return 16;
39604 default:
39605 fatal("op idx %i out of bounds\n", opIdx);
39606 return -1;
39607 }
39608 } // getOperandSize
39609
39610 void execute(GPUDynInstPtr) override;
39611 }; // Inst_MIMG__IMAGE_ATOMIC_SMIN
39612
39614 {
39615 public:
39618
39619 int
39621 {
39623 } // getNumOperands
39624
39625 int numDstRegOperands() override { return 1; }
39626 int numSrcRegOperands() override { return 2; }
39627
39628 int
39629 getOperandSize(int opIdx) override
39630 {
39631 switch (opIdx) {
39632 case 0: //vgpr_a
39633 return 32;
39634 case 1: //sgpr_r
39635 return 32;
39636 case 2: //vgpr_d
39637 return 16;
39638 default:
39639 fatal("op idx %i out of bounds\n", opIdx);
39640 return -1;
39641 }
39642 } // getOperandSize
39643
39644 void execute(GPUDynInstPtr) override;
39645 }; // Inst_MIMG__IMAGE_ATOMIC_UMIN
39646
39648 {
39649 public:
39652
39653 int
39655 {
39657 } // getNumOperands
39658
39659 int numDstRegOperands() override { return 1; }
39660 int numSrcRegOperands() override { return 2; }
39661
39662 int
39663 getOperandSize(int opIdx) override
39664 {
39665 switch (opIdx) {
39666 case 0: //vgpr_a
39667 return 32;
39668 case 1: //sgpr_r
39669 return 32;
39670 case 2: //vgpr_d
39671 return 16;
39672 default:
39673 fatal("op idx %i out of bounds\n", opIdx);
39674 return -1;
39675 }
39676 } // getOperandSize
39677
39678 void execute(GPUDynInstPtr) override;
39679 }; // Inst_MIMG__IMAGE_ATOMIC_SMAX
39680
39682 {
39683 public:
39686
39687 int
39689 {
39691 } // getNumOperands
39692
39693 int numDstRegOperands() override { return 1; }
39694 int numSrcRegOperands() override { return 2; }
39695
39696 int
39697 getOperandSize(int opIdx) override
39698 {
39699 switch (opIdx) {
39700 case 0: //vgpr_a
39701 return 32;
39702 case 1: //sgpr_r
39703 return 32;
39704 case 2: //vgpr_d
39705 return 16;
39706 default:
39707 fatal("op idx %i out of bounds\n", opIdx);
39708 return -1;
39709 }
39710 } // getOperandSize
39711
39712 void execute(GPUDynInstPtr) override;
39713 }; // Inst_MIMG__IMAGE_ATOMIC_UMAX
39714
39716 {
39717 public:
39720
39721 int
39723 {
39725 } // getNumOperands
39726
39727 int numDstRegOperands() override { return 1; }
39728 int numSrcRegOperands() override { return 2; }
39729
39730 int
39731 getOperandSize(int opIdx) override
39732 {
39733 switch (opIdx) {
39734 case 0: //vgpr_a
39735 return 32;
39736 case 1: //sgpr_r
39737 return 32;
39738 case 2: //vgpr_d
39739 return 16;
39740 default:
39741 fatal("op idx %i out of bounds\n", opIdx);
39742 return -1;
39743 }
39744 } // getOperandSize
39745
39746 void execute(GPUDynInstPtr) override;
39747 }; // Inst_MIMG__IMAGE_ATOMIC_AND
39748
39750 {
39751 public:
39754
39755 int
39757 {
39759 } // getNumOperands
39760
39761 int numDstRegOperands() override { return 1; }
39762 int numSrcRegOperands() override { return 2; }
39763
39764 int
39765 getOperandSize(int opIdx) override
39766 {
39767 switch (opIdx) {
39768 case 0: //vgpr_a
39769 return 32;
39770 case 1: //sgpr_r
39771 return 32;
39772 case 2: //vgpr_d
39773 return 16;
39774 default:
39775 fatal("op idx %i out of bounds\n", opIdx);
39776 return -1;
39777 }
39778 } // getOperandSize
39779
39780 void execute(GPUDynInstPtr) override;
39781 }; // Inst_MIMG__IMAGE_ATOMIC_OR
39782
39784 {
39785 public:
39788
39789 int
39791 {
39793 } // getNumOperands
39794
39795 int numDstRegOperands() override { return 1; }
39796 int numSrcRegOperands() override { return 2; }
39797
39798 int
39799 getOperandSize(int opIdx) override
39800 {
39801 switch (opIdx) {
39802 case 0: //vgpr_a
39803 return 32;
39804 case 1: //sgpr_r
39805 return 32;
39806 case 2: //vgpr_d
39807 return 16;
39808 default:
39809 fatal("op idx %i out of bounds\n", opIdx);
39810 return -1;
39811 }
39812 } // getOperandSize
39813
39814 void execute(GPUDynInstPtr) override;
39815 }; // Inst_MIMG__IMAGE_ATOMIC_XOR
39816
39818 {
39819 public:
39822
39823 int
39825 {
39827 } // getNumOperands
39828
39829 int numDstRegOperands() override { return 1; }
39830 int numSrcRegOperands() override { return 2; }
39831
39832 int
39833 getOperandSize(int opIdx) override
39834 {
39835 switch (opIdx) {
39836 case 0: //vgpr_a
39837 return 32;
39838 case 1: //sgpr_r
39839 return 32;
39840 case 2: //vgpr_d
39841 return 16;
39842 default:
39843 fatal("op idx %i out of bounds\n", opIdx);
39844 return -1;
39845 }
39846 } // getOperandSize
39847
39848 void execute(GPUDynInstPtr) override;
39849 }; // Inst_MIMG__IMAGE_ATOMIC_INC
39850
39852 {
39853 public:
39856
39857 int
39859 {
39861 } // getNumOperands
39862
39863 int numDstRegOperands() override { return 1; }
39864 int numSrcRegOperands() override { return 2; }
39865
39866 int
39867 getOperandSize(int opIdx) override
39868 {
39869 switch (opIdx) {
39870 case 0: //vgpr_a
39871 return 32;
39872 case 1: //sgpr_r
39873 return 32;
39874 case 2: //vgpr_d
39875 return 16;
39876 default:
39877 fatal("op idx %i out of bounds\n", opIdx);
39878 return -1;
39879 }
39880 } // getOperandSize
39881
39882 void execute(GPUDynInstPtr) override;
39883 }; // Inst_MIMG__IMAGE_ATOMIC_DEC
39884
39886 {
39887 public:
39890
39891 int
39893 {
39895 } // getNumOperands
39896
39897 int numDstRegOperands() override { return 1; }
39898 int numSrcRegOperands() override { return 3; }
39899
39900 int
39901 getOperandSize(int opIdx) override
39902 {
39903 switch (opIdx) {
39904 case 0: //vgpr_a
39905 return 4;
39906 case 1: //sgpr_r
39907 return 32;
39908 case 2: //sgpr_s
39909 return 4;
39910 case 3: //vgpr_d
39911 return 16;
39912 default:
39913 fatal("op idx %i out of bounds\n", opIdx);
39914 return -1;
39915 }
39916 } // getOperandSize
39917
39918 void execute(GPUDynInstPtr) override;
39919 }; // Inst_MIMG__IMAGE_SAMPLE
39920
39922 {
39923 public:
39926
39927 int
39929 {
39931 } // getNumOperands
39932
39933 int numDstRegOperands() override { return 1; }
39934 int numSrcRegOperands() override { return 3; }
39935
39936 int
39937 getOperandSize(int opIdx) override
39938 {
39939 switch (opIdx) {
39940 case 0: //vgpr_a
39941 return 4;
39942 case 1: //sgpr_r
39943 return 32;
39944 case 2: //sgpr_s
39945 return 4;
39946 case 3: //vgpr_d
39947 return 16;
39948 default:
39949 fatal("op idx %i out of bounds\n", opIdx);
39950 return -1;
39951 }
39952 } // getOperandSize
39953
39954 void execute(GPUDynInstPtr) override;
39955 }; // Inst_MIMG__IMAGE_SAMPLE_CL
39956
39958 {
39959 public:
39962
39963 int
39965 {
39967 } // getNumOperands
39968
39969 int numDstRegOperands() override { return 1; }
39970 int numSrcRegOperands() override { return 3; }
39971
39972 int
39973 getOperandSize(int opIdx) override
39974 {
39975 switch (opIdx) {
39976 case 0: //vgpr_a
39977 return 4;
39978 case 1: //sgpr_r
39979 return 32;
39980 case 2: //sgpr_s
39981 return 4;
39982 case 3: //vgpr_d
39983 return 16;
39984 default:
39985 fatal("op idx %i out of bounds\n", opIdx);
39986 return -1;
39987 }
39988 } // getOperandSize
39989
39990 void execute(GPUDynInstPtr) override;
39991 }; // Inst_MIMG__IMAGE_SAMPLE_D
39992
39994 {
39995 public:
39998
39999 int
40001 {
40003 } // getNumOperands
40004
40005 int numDstRegOperands() override { return 1; }
40006 int numSrcRegOperands() override { return 3; }
40007
40008 int
40009 getOperandSize(int opIdx) override
40010 {
40011 switch (opIdx) {
40012 case 0: //vgpr_a
40013 return 4;
40014 case 1: //sgpr_r
40015 return 32;
40016 case 2: //sgpr_s
40017 return 4;
40018 case 3: //vgpr_d
40019 return 16;
40020 default:
40021 fatal("op idx %i out of bounds\n", opIdx);
40022 return -1;
40023 }
40024 } // getOperandSize
40025
40026 void execute(GPUDynInstPtr) override;
40027 }; // Inst_MIMG__IMAGE_SAMPLE_D_CL
40028
40030 {
40031 public:
40034
40035 int
40037 {
40039 } // getNumOperands
40040
40041 int numDstRegOperands() override { return 1; }
40042 int numSrcRegOperands() override { return 3; }
40043
40044 int
40045 getOperandSize(int opIdx) override
40046 {
40047 switch (opIdx) {
40048 case 0: //vgpr_a
40049 return 4;
40050 case 1: //sgpr_r
40051 return 32;
40052 case 2: //sgpr_s
40053 return 4;
40054 case 3: //vgpr_d
40055 return 16;
40056 default:
40057 fatal("op idx %i out of bounds\n", opIdx);
40058 return -1;
40059 }
40060 } // getOperandSize
40061
40062 void execute(GPUDynInstPtr) override;
40063 }; // Inst_MIMG__IMAGE_SAMPLE_L
40064
40066 {
40067 public:
40070
40071 int
40073 {
40075 } // getNumOperands
40076
40077 int numDstRegOperands() override { return 1; }
40078 int numSrcRegOperands() override { return 3; }
40079
40080 int
40081 getOperandSize(int opIdx) override
40082 {
40083 switch (opIdx) {
40084 case 0: //vgpr_a
40085 return 4;
40086 case 1: //sgpr_r
40087 return 32;
40088 case 2: //sgpr_s
40089 return 4;
40090 case 3: //vgpr_d
40091 return 16;
40092 default:
40093 fatal("op idx %i out of bounds\n", opIdx);
40094 return -1;
40095 }
40096 } // getOperandSize
40097
40098 void execute(GPUDynInstPtr) override;
40099 }; // Inst_MIMG__IMAGE_SAMPLE_B
40100
40102 {
40103 public:
40106
40107 int
40109 {
40111 } // getNumOperands
40112
40113 int numDstRegOperands() override { return 1; }
40114 int numSrcRegOperands() override { return 3; }
40115
40116 int
40117 getOperandSize(int opIdx) override
40118 {
40119 switch (opIdx) {
40120 case 0: //vgpr_a
40121 return 4;
40122 case 1: //sgpr_r
40123 return 32;
40124 case 2: //sgpr_s
40125 return 4;
40126 case 3: //vgpr_d
40127 return 16;
40128 default:
40129 fatal("op idx %i out of bounds\n", opIdx);
40130 return -1;
40131 }
40132 } // getOperandSize
40133
40134 void execute(GPUDynInstPtr) override;
40135 }; // Inst_MIMG__IMAGE_SAMPLE_B_CL
40136
40138 {
40139 public:
40142
40143 int
40145 {
40147 } // getNumOperands
40148
40149 int numDstRegOperands() override { return 1; }
40150 int numSrcRegOperands() override { return 3; }
40151
40152 int
40153 getOperandSize(int opIdx) override
40154 {
40155 switch (opIdx) {
40156 case 0: //vgpr_a
40157 return 4;
40158 case 1: //sgpr_r
40159 return 32;
40160 case 2: //sgpr_s
40161 return 4;
40162 case 3: //vgpr_d
40163 return 16;
40164 default:
40165 fatal("op idx %i out of bounds\n", opIdx);
40166 return -1;
40167 }
40168 } // getOperandSize
40169
40170 void execute(GPUDynInstPtr) override;
40171 }; // Inst_MIMG__IMAGE_SAMPLE_LZ
40172
40174 {
40175 public:
40178
40179 int
40181 {
40183 } // getNumOperands
40184
40185 int numDstRegOperands() override { return 1; }
40186 int numSrcRegOperands() override { return 3; }
40187
40188 int
40189 getOperandSize(int opIdx) override
40190 {
40191 switch (opIdx) {
40192 case 0: //vgpr_a
40193 return 4;
40194 case 1: //sgpr_r
40195 return 32;
40196 case 2: //sgpr_s
40197 return 4;
40198 case 3: //vgpr_d
40199 return 16;
40200 default:
40201 fatal("op idx %i out of bounds\n", opIdx);
40202 return -1;
40203 }
40204 } // getOperandSize
40205
40206 void execute(GPUDynInstPtr) override;
40207 }; // Inst_MIMG__IMAGE_SAMPLE_C
40208
40210 {
40211 public:
40214
40215 int
40217 {
40219 } // getNumOperands
40220
40221 int numDstRegOperands() override { return 1; }
40222 int numSrcRegOperands() override { return 3; }
40223
40224 int
40225 getOperandSize(int opIdx) override
40226 {
40227 switch (opIdx) {
40228 case 0: //vgpr_a
40229 return 4;
40230 case 1: //sgpr_r
40231 return 32;
40232 case 2: //sgpr_s
40233 return 4;
40234 case 3: //vgpr_d
40235 return 16;
40236 default:
40237 fatal("op idx %i out of bounds\n", opIdx);
40238 return -1;
40239 }
40240 } // getOperandSize
40241
40242 void execute(GPUDynInstPtr) override;
40243 }; // Inst_MIMG__IMAGE_SAMPLE_C_CL
40244
40246 {
40247 public:
40250
40251 int
40253 {
40255 } // getNumOperands
40256
40257 int numDstRegOperands() override { return 1; }
40258 int numSrcRegOperands() override { return 3; }
40259
40260 int
40261 getOperandSize(int opIdx) override
40262 {
40263 switch (opIdx) {
40264 case 0: //vgpr_a
40265 return 4;
40266 case 1: //sgpr_r
40267 return 32;
40268 case 2: //sgpr_s
40269 return 4;
40270 case 3: //vgpr_d
40271 return 16;
40272 default:
40273 fatal("op idx %i out of bounds\n", opIdx);
40274 return -1;
40275 }
40276 } // getOperandSize
40277
40278 void execute(GPUDynInstPtr) override;
40279 }; // Inst_MIMG__IMAGE_SAMPLE_C_D
40280
40282 {
40283 public:
40286
40287 int
40289 {
40291 } // getNumOperands
40292
40293 int numDstRegOperands() override { return 1; }
40294 int numSrcRegOperands() override { return 3; }
40295
40296 int
40297 getOperandSize(int opIdx) override
40298 {
40299 switch (opIdx) {
40300 case 0: //vgpr_a
40301 return 4;
40302 case 1: //sgpr_r
40303 return 32;
40304 case 2: //sgpr_s
40305 return 4;
40306 case 3: //vgpr_d
40307 return 16;
40308 default:
40309 fatal("op idx %i out of bounds\n", opIdx);
40310 return -1;
40311 }
40312 } // getOperandSize
40313
40314 void execute(GPUDynInstPtr) override;
40315 }; // Inst_MIMG__IMAGE_SAMPLE_C_D_CL
40316
40318 {
40319 public:
40322
40323 int
40325 {
40327 } // getNumOperands
40328
40329 int numDstRegOperands() override { return 1; }
40330 int numSrcRegOperands() override { return 3; }
40331
40332 int
40333 getOperandSize(int opIdx) override
40334 {
40335 switch (opIdx) {
40336 case 0: //vgpr_a
40337 return 4;
40338 case 1: //sgpr_r
40339 return 32;
40340 case 2: //sgpr_s
40341 return 4;
40342 case 3: //vgpr_d
40343 return 16;
40344 default:
40345 fatal("op idx %i out of bounds\n", opIdx);
40346 return -1;
40347 }
40348 } // getOperandSize
40349
40350 void execute(GPUDynInstPtr) override;
40351 }; // Inst_MIMG__IMAGE_SAMPLE_C_L
40352
40354 {
40355 public:
40358
40359 int
40361 {
40363 } // getNumOperands
40364
40365 int numDstRegOperands() override { return 1; }
40366 int numSrcRegOperands() override { return 3; }
40367
40368 int
40369 getOperandSize(int opIdx) override
40370 {
40371 switch (opIdx) {
40372 case 0: //vgpr_a
40373 return 4;
40374 case 1: //sgpr_r
40375 return 32;
40376 case 2: //sgpr_s
40377 return 4;
40378 case 3: //vgpr_d
40379 return 16;
40380 default:
40381 fatal("op idx %i out of bounds\n", opIdx);
40382 return -1;
40383 }
40384 } // getOperandSize
40385
40386 void execute(GPUDynInstPtr) override;
40387 }; // Inst_MIMG__IMAGE_SAMPLE_C_B
40388
40390 {
40391 public:
40394
40395 int
40397 {
40399 } // getNumOperands
40400
40401 int numDstRegOperands() override { return 1; }
40402 int numSrcRegOperands() override { return 3; }
40403
40404 int
40405 getOperandSize(int opIdx) override
40406 {
40407 switch (opIdx) {
40408 case 0: //vgpr_a
40409 return 4;
40410 case 1: //sgpr_r
40411 return 32;
40412 case 2: //sgpr_s
40413 return 4;
40414 case 3: //vgpr_d
40415 return 16;
40416 default:
40417 fatal("op idx %i out of bounds\n", opIdx);
40418 return -1;
40419 }
40420 } // getOperandSize
40421
40422 void execute(GPUDynInstPtr) override;
40423 }; // Inst_MIMG__IMAGE_SAMPLE_C_B_CL
40424
40426 {
40427 public:
40430
40431 int
40433 {
40435 } // getNumOperands
40436
40437 int numDstRegOperands() override { return 1; }
40438 int numSrcRegOperands() override { return 3; }
40439
40440 int
40441 getOperandSize(int opIdx) override
40442 {
40443 switch (opIdx) {
40444 case 0: //vgpr_a
40445 return 4;
40446 case 1: //sgpr_r
40447 return 32;
40448 case 2: //sgpr_s
40449 return 4;
40450 case 3: //vgpr_d
40451 return 16;
40452 default:
40453 fatal("op idx %i out of bounds\n", opIdx);
40454 return -1;
40455 }
40456 } // getOperandSize
40457
40458 void execute(GPUDynInstPtr) override;
40459 }; // Inst_MIMG__IMAGE_SAMPLE_C_LZ
40460
40462 {
40463 public:
40466
40467 int
40469 {
40471 } // getNumOperands
40472
40473 int numDstRegOperands() override { return 1; }
40474 int numSrcRegOperands() override { return 3; }
40475
40476 int
40477 getOperandSize(int opIdx) override
40478 {
40479 switch (opIdx) {
40480 case 0: //vgpr_a
40481 return 4;
40482 case 1: //sgpr_r
40483 return 32;
40484 case 2: //sgpr_s
40485 return 4;
40486 case 3: //vgpr_d
40487 return 16;
40488 default:
40489 fatal("op idx %i out of bounds\n", opIdx);
40490 return -1;
40491 }
40492 } // getOperandSize
40493
40494 void execute(GPUDynInstPtr) override;
40495 }; // Inst_MIMG__IMAGE_SAMPLE_O
40496
40498 {
40499 public:
40502
40503 int
40505 {
40507 } // getNumOperands
40508
40509 int numDstRegOperands() override { return 1; }
40510 int numSrcRegOperands() override { return 3; }
40511
40512 int
40513 getOperandSize(int opIdx) override
40514 {
40515 switch (opIdx) {
40516 case 0: //vgpr_a
40517 return 4;
40518 case 1: //sgpr_r
40519 return 32;
40520 case 2: //sgpr_s
40521 return 4;
40522 case 3: //vgpr_d
40523 return 16;
40524 default:
40525 fatal("op idx %i out of bounds\n", opIdx);
40526 return -1;
40527 }
40528 } // getOperandSize
40529
40530 void execute(GPUDynInstPtr) override;
40531 }; // Inst_MIMG__IMAGE_SAMPLE_CL_O
40532
40534 {
40535 public:
40538
40539 int
40541 {
40543 } // getNumOperands
40544
40545 int numDstRegOperands() override { return 1; }
40546 int numSrcRegOperands() override { return 3; }
40547
40548 int
40549 getOperandSize(int opIdx) override
40550 {
40551 switch (opIdx) {
40552 case 0: //vgpr_a
40553 return 4;
40554 case 1: //sgpr_r
40555 return 32;
40556 case 2: //sgpr_s
40557 return 4;
40558 case 3: //vgpr_d
40559 return 16;
40560 default:
40561 fatal("op idx %i out of bounds\n", opIdx);
40562 return -1;
40563 }
40564 } // getOperandSize
40565
40566 void execute(GPUDynInstPtr) override;
40567 }; // Inst_MIMG__IMAGE_SAMPLE_D_O
40568
40570 {
40571 public:
40574
40575 int
40577 {
40579 } // getNumOperands
40580
40581 int numDstRegOperands() override { return 1; }
40582 int numSrcRegOperands() override { return 3; }
40583
40584 int
40585 getOperandSize(int opIdx) override
40586 {
40587 switch (opIdx) {
40588 case 0: //vgpr_a
40589 return 4;
40590 case 1: //sgpr_r
40591 return 32;
40592 case 2: //sgpr_s
40593 return 4;
40594 case 3: //vgpr_d
40595 return 16;
40596 default:
40597 fatal("op idx %i out of bounds\n", opIdx);
40598 return -1;
40599 }
40600 } // getOperandSize
40601
40602 void execute(GPUDynInstPtr) override;
40603 }; // Inst_MIMG__IMAGE_SAMPLE_D_CL_O
40604
40606 {
40607 public:
40610
40611 int
40613 {
40615 } // getNumOperands
40616
40617 int numDstRegOperands() override { return 1; }
40618 int numSrcRegOperands() override { return 3; }
40619
40620 int
40621 getOperandSize(int opIdx) override
40622 {
40623 switch (opIdx) {
40624 case 0: //vgpr_a
40625 return 4;
40626 case 1: //sgpr_r
40627 return 32;
40628 case 2: //sgpr_s
40629 return 4;
40630 case 3: //vgpr_d
40631 return 16;
40632 default:
40633 fatal("op idx %i out of bounds\n", opIdx);
40634 return -1;
40635 }
40636 } // getOperandSize
40637
40638 void execute(GPUDynInstPtr) override;
40639 }; // Inst_MIMG__IMAGE_SAMPLE_L_O
40640
40642 {
40643 public:
40646
40647 int
40649 {
40651 } // getNumOperands
40652
40653 int numDstRegOperands() override { return 1; }
40654 int numSrcRegOperands() override { return 3; }
40655
40656 int
40657 getOperandSize(int opIdx) override
40658 {
40659 switch (opIdx) {
40660 case 0: //vgpr_a
40661 return 4;
40662 case 1: //sgpr_r
40663 return 32;
40664 case 2: //sgpr_s
40665 return 4;
40666 case 3: //vgpr_d
40667 return 16;
40668 default:
40669 fatal("op idx %i out of bounds\n", opIdx);
40670 return -1;
40671 }
40672 } // getOperandSize
40673
40674 void execute(GPUDynInstPtr) override;
40675 }; // Inst_MIMG__IMAGE_SAMPLE_B_O
40676
40678 {
40679 public:
40682
40683 int
40685 {
40687 } // getNumOperands
40688
40689 int numDstRegOperands() override { return 1; }
40690 int numSrcRegOperands() override { return 3; }
40691
40692 int
40693 getOperandSize(int opIdx) override
40694 {
40695 switch (opIdx) {
40696 case 0: //vgpr_a
40697 return 4;
40698 case 1: //sgpr_r
40699 return 32;
40700 case 2: //sgpr_s
40701 return 4;
40702 case 3: //vgpr_d
40703 return 16;
40704 default:
40705 fatal("op idx %i out of bounds\n", opIdx);
40706 return -1;
40707 }
40708 } // getOperandSize
40709
40710 void execute(GPUDynInstPtr) override;
40711 }; // Inst_MIMG__IMAGE_SAMPLE_B_CL_O
40712
40714 {
40715 public:
40718
40719 int
40721 {
40723 } // getNumOperands
40724
40725 int numDstRegOperands() override { return 1; }
40726 int numSrcRegOperands() override { return 3; }
40727
40728 int
40729 getOperandSize(int opIdx) override
40730 {
40731 switch (opIdx) {
40732 case 0: //vgpr_a
40733 return 4;
40734 case 1: //sgpr_r
40735 return 32;
40736 case 2: //sgpr_s
40737 return 4;
40738 case 3: //vgpr_d
40739 return 16;
40740 default:
40741 fatal("op idx %i out of bounds\n", opIdx);
40742 return -1;
40743 }
40744 } // getOperandSize
40745
40746 void execute(GPUDynInstPtr) override;
40747 }; // Inst_MIMG__IMAGE_SAMPLE_LZ_O
40748
40750 {
40751 public:
40754
40755 int
40757 {
40759 } // getNumOperands
40760
40761 int numDstRegOperands() override { return 1; }
40762 int numSrcRegOperands() override { return 3; }
40763
40764 int
40765 getOperandSize(int opIdx) override
40766 {
40767 switch (opIdx) {
40768 case 0: //vgpr_a
40769 return 4;
40770 case 1: //sgpr_r
40771 return 32;
40772 case 2: //sgpr_s
40773 return 4;
40774 case 3: //vgpr_d
40775 return 16;
40776 default:
40777 fatal("op idx %i out of bounds\n", opIdx);
40778 return -1;
40779 }
40780 } // getOperandSize
40781
40782 void execute(GPUDynInstPtr) override;
40783 }; // Inst_MIMG__IMAGE_SAMPLE_C_O
40784
40786 {
40787 public:
40790
40791 int
40793 {
40795 } // getNumOperands
40796
40797 int numDstRegOperands() override { return 1; }
40798 int numSrcRegOperands() override { return 3; }
40799
40800 int
40801 getOperandSize(int opIdx) override
40802 {
40803 switch (opIdx) {
40804 case 0: //vgpr_a
40805 return 4;
40806 case 1: //sgpr_r
40807 return 32;
40808 case 2: //sgpr_s
40809 return 4;
40810 case 3: //vgpr_d
40811 return 16;
40812 default:
40813 fatal("op idx %i out of bounds\n", opIdx);
40814 return -1;
40815 }
40816 } // getOperandSize
40817
40818 void execute(GPUDynInstPtr) override;
40819 }; // Inst_MIMG__IMAGE_SAMPLE_C_CL_O
40820
40822 {
40823 public:
40826
40827 int
40829 {
40831 } // getNumOperands
40832
40833 int numDstRegOperands() override { return 1; }
40834 int numSrcRegOperands() override { return 3; }
40835
40836 int
40837 getOperandSize(int opIdx) override
40838 {
40839 switch (opIdx) {
40840 case 0: //vgpr_a
40841 return 4;
40842 case 1: //sgpr_r
40843 return 32;
40844 case 2: //sgpr_s
40845 return 4;
40846 case 3: //vgpr_d
40847 return 16;
40848 default:
40849 fatal("op idx %i out of bounds\n", opIdx);
40850 return -1;
40851 }
40852 } // getOperandSize
40853
40854 void execute(GPUDynInstPtr) override;
40855 }; // Inst_MIMG__IMAGE_SAMPLE_C_D_O
40856
40858 {
40859 public:
40862
40863 int
40865 {
40867 } // getNumOperands
40868
40869 int numDstRegOperands() override { return 1; }
40870 int numSrcRegOperands() override { return 3; }
40871
40872 int
40873 getOperandSize(int opIdx) override
40874 {
40875 switch (opIdx) {
40876 case 0: //vgpr_a
40877 return 4;
40878 case 1: //sgpr_r
40879 return 32;
40880 case 2: //sgpr_s
40881 return 4;
40882 case 3: //vgpr_d
40883 return 16;
40884 default:
40885 fatal("op idx %i out of bounds\n", opIdx);
40886 return -1;
40887 }
40888 } // getOperandSize
40889
40890 void execute(GPUDynInstPtr) override;
40891 }; // Inst_MIMG__IMAGE_SAMPLE_C_D_CL_O
40892
40894 {
40895 public:
40898
40899 int
40901 {
40903 } // getNumOperands
40904
40905 int numDstRegOperands() override { return 1; }
40906 int numSrcRegOperands() override { return 3; }
40907
40908 int
40909 getOperandSize(int opIdx) override
40910 {
40911 switch (opIdx) {
40912 case 0: //vgpr_a
40913 return 4;
40914 case 1: //sgpr_r
40915 return 32;
40916 case 2: //sgpr_s
40917 return 4;
40918 case 3: //vgpr_d
40919 return 16;
40920 default:
40921 fatal("op idx %i out of bounds\n", opIdx);
40922 return -1;
40923 }
40924 } // getOperandSize
40925
40926 void execute(GPUDynInstPtr) override;
40927 }; // Inst_MIMG__IMAGE_SAMPLE_C_L_O
40928
40930 {
40931 public:
40934
40935 int
40937 {
40939 } // getNumOperands
40940
40941 int numDstRegOperands() override { return 1; }
40942 int numSrcRegOperands() override { return 3; }
40943
40944 int
40945 getOperandSize(int opIdx) override
40946 {
40947 switch (opIdx) {
40948 case 0: //vgpr_a
40949 return 4;
40950 case 1: //sgpr_r
40951 return 32;
40952 case 2: //sgpr_s
40953 return 4;
40954 case 3: //vgpr_d
40955 return 16;
40956 default:
40957 fatal("op idx %i out of bounds\n", opIdx);
40958 return -1;
40959 }
40960 } // getOperandSize
40961
40962 void execute(GPUDynInstPtr) override;
40963 }; // Inst_MIMG__IMAGE_SAMPLE_C_B_O
40964
40966 {
40967 public:
40970
40971 int
40973 {
40975 } // getNumOperands
40976
40977 int numDstRegOperands() override { return 1; }
40978 int numSrcRegOperands() override { return 3; }
40979
40980 int
40981 getOperandSize(int opIdx) override
40982 {
40983 switch (opIdx) {
40984 case 0: //vgpr_a
40985 return 4;
40986 case 1: //sgpr_r
40987 return 32;
40988 case 2: //sgpr_s
40989 return 4;
40990 case 3: //vgpr_d
40991 return 16;
40992 default:
40993 fatal("op idx %i out of bounds\n", opIdx);
40994 return -1;
40995 }
40996 } // getOperandSize
40997
40998 void execute(GPUDynInstPtr) override;
40999 }; // Inst_MIMG__IMAGE_SAMPLE_C_B_CL_O
41000
41002 {
41003 public:
41006
41007 int
41009 {
41011 } // getNumOperands
41012
41013 int numDstRegOperands() override { return 1; }
41014 int numSrcRegOperands() override { return 3; }
41015
41016 int
41017 getOperandSize(int opIdx) override
41018 {
41019 switch (opIdx) {
41020 case 0: //vgpr_a
41021 return 4;
41022 case 1: //sgpr_r
41023 return 32;
41024 case 2: //sgpr_s
41025 return 4;
41026 case 3: //vgpr_d
41027 return 16;
41028 default:
41029 fatal("op idx %i out of bounds\n", opIdx);
41030 return -1;
41031 }
41032 } // getOperandSize
41033
41034 void execute(GPUDynInstPtr) override;
41035 }; // Inst_MIMG__IMAGE_SAMPLE_C_LZ_O
41036
41038 {
41039 public:
41042
41043 int
41045 {
41047 } // getNumOperands
41048
41049 int numDstRegOperands() override { return 1; }
41050 int numSrcRegOperands() override { return 3; }
41051
41052 int
41053 getOperandSize(int opIdx) override
41054 {
41055 switch (opIdx) {
41056 case 0: //vgpr_a
41057 return 4;
41058 case 1: //sgpr_r
41059 return 32;
41060 case 2: //sgpr_s
41061 return 4;
41062 case 3: //vgpr_d
41063 return 16;
41064 default:
41065 fatal("op idx %i out of bounds\n", opIdx);
41066 return -1;
41067 }
41068 } // getOperandSize
41069
41070 void execute(GPUDynInstPtr) override;
41071 }; // Inst_MIMG__IMAGE_GATHER4
41072
41074 {
41075 public:
41078
41079 int
41081 {
41083 } // getNumOperands
41084
41085 int numDstRegOperands() override { return 1; }
41086 int numSrcRegOperands() override { return 3; }
41087
41088 int
41089 getOperandSize(int opIdx) override
41090 {
41091 switch (opIdx) {
41092 case 0: //vgpr_a
41093 return 4;
41094 case 1: //sgpr_r
41095 return 32;
41096 case 2: //sgpr_s
41097 return 4;
41098 case 3: //vgpr_d
41099 return 16;
41100 default:
41101 fatal("op idx %i out of bounds\n", opIdx);
41102 return -1;
41103 }
41104 } // getOperandSize
41105
41106 void execute(GPUDynInstPtr) override;
41107 }; // Inst_MIMG__IMAGE_GATHER4_CL
41108
41110 {
41111 public:
41114
41115 int
41117 {
41119 } // getNumOperands
41120
41121 int numDstRegOperands() override { return 1; }
41122 int numSrcRegOperands() override { return 3; }
41123
41124 int
41125 getOperandSize(int opIdx) override
41126 {
41127 switch (opIdx) {
41128 case 0: //vgpr_a
41129 return 4;
41130 case 1: //sgpr_r
41131 return 32;
41132 case 2: //sgpr_s
41133 return 4;
41134 case 3: //vgpr_d
41135 return 16;
41136 default:
41137 fatal("op idx %i out of bounds\n", opIdx);
41138 return -1;
41139 }
41140 } // getOperandSize
41141
41142 void execute(GPUDynInstPtr) override;
41143 }; // Inst_MIMG__IMAGE_GATHER4_L
41144
41146 {
41147 public:
41150
41151 int
41153 {
41155 } // getNumOperands
41156
41157 int numDstRegOperands() override { return 1; }
41158 int numSrcRegOperands() override { return 3; }
41159
41160 int
41161 getOperandSize(int opIdx) override
41162 {
41163 switch (opIdx) {
41164 case 0: //vgpr_a
41165 return 4;
41166 case 1: //sgpr_r
41167 return 32;
41168 case 2: //sgpr_s
41169 return 4;
41170 case 3: //vgpr_d
41171 return 16;
41172 default:
41173 fatal("op idx %i out of bounds\n", opIdx);
41174 return -1;
41175 }
41176 } // getOperandSize
41177
41178 void execute(GPUDynInstPtr) override;
41179 }; // Inst_MIMG__IMAGE_GATHER4_B
41180
41182 {
41183 public:
41186
41187 int
41189 {
41191 } // getNumOperands
41192
41193 int numDstRegOperands() override { return 1; }
41194 int numSrcRegOperands() override { return 3; }
41195
41196 int
41197 getOperandSize(int opIdx) override
41198 {
41199 switch (opIdx) {
41200 case 0: //vgpr_a
41201 return 4;
41202 case 1: //sgpr_r
41203 return 32;
41204 case 2: //sgpr_s
41205 return 4;
41206 case 3: //vgpr_d
41207 return 16;
41208 default:
41209 fatal("op idx %i out of bounds\n", opIdx);
41210 return -1;
41211 }
41212 } // getOperandSize
41213
41214 void execute(GPUDynInstPtr) override;
41215 }; // Inst_MIMG__IMAGE_GATHER4_B_CL
41216
41218 {
41219 public:
41222
41223 int
41225 {
41227 } // getNumOperands
41228
41229 int numDstRegOperands() override { return 1; }
41230 int numSrcRegOperands() override { return 3; }
41231
41232 int
41233 getOperandSize(int opIdx) override
41234 {
41235 switch (opIdx) {
41236 case 0: //vgpr_a
41237 return 4;
41238 case 1: //sgpr_r
41239 return 32;
41240 case 2: //sgpr_s
41241 return 4;
41242 case 3: //vgpr_d
41243 return 16;
41244 default:
41245 fatal("op idx %i out of bounds\n", opIdx);
41246 return -1;
41247 }
41248 } // getOperandSize
41249
41250 void execute(GPUDynInstPtr) override;
41251 }; // Inst_MIMG__IMAGE_GATHER4_LZ
41252
41254 {
41255 public:
41258
41259 int
41261 {
41263 } // getNumOperands
41264
41265 int numDstRegOperands() override { return 1; }
41266 int numSrcRegOperands() override { return 3; }
41267
41268 int
41269 getOperandSize(int opIdx) override
41270 {
41271 switch (opIdx) {
41272 case 0: //vgpr_a
41273 return 4;
41274 case 1: //sgpr_r
41275 return 32;
41276 case 2: //sgpr_s
41277 return 4;
41278 case 3: //vgpr_d
41279 return 16;
41280 default:
41281 fatal("op idx %i out of bounds\n", opIdx);
41282 return -1;
41283 }
41284 } // getOperandSize
41285
41286 void execute(GPUDynInstPtr) override;
41287 }; // Inst_MIMG__IMAGE_GATHER4_C
41288
41290 {
41291 public:
41294
41295 int
41297 {
41299 } // getNumOperands
41300
41301 int numDstRegOperands() override { return 1; }
41302 int numSrcRegOperands() override { return 3; }
41303
41304 int
41305 getOperandSize(int opIdx) override
41306 {
41307 switch (opIdx) {
41308 case 0: //vgpr_a
41309 return 4;
41310 case 1: //sgpr_r
41311 return 32;
41312 case 2: //sgpr_s
41313 return 4;
41314 case 3: //vgpr_d
41315 return 16;
41316 default:
41317 fatal("op idx %i out of bounds\n", opIdx);
41318 return -1;
41319 }
41320 } // getOperandSize
41321
41322 void execute(GPUDynInstPtr) override;
41323 }; // Inst_MIMG__IMAGE_GATHER4_C_CL
41324
41326 {
41327 public:
41330
41331 int
41333 {
41335 } // getNumOperands
41336
41337 int numDstRegOperands() override { return 1; }
41338 int numSrcRegOperands() override { return 3; }
41339
41340 int
41341 getOperandSize(int opIdx) override
41342 {
41343 switch (opIdx) {
41344 case 0: //vgpr_a
41345 return 4;
41346 case 1: //sgpr_r
41347 return 32;
41348 case 2: //sgpr_s
41349 return 4;
41350 case 3: //vgpr_d
41351 return 16;
41352 default:
41353 fatal("op idx %i out of bounds\n", opIdx);
41354 return -1;
41355 }
41356 } // getOperandSize
41357
41358 void execute(GPUDynInstPtr) override;
41359 }; // Inst_MIMG__IMAGE_GATHER4_C_L
41360
41362 {
41363 public:
41366
41367 int
41369 {
41371 } // getNumOperands
41372
41373 int numDstRegOperands() override { return 1; }
41374 int numSrcRegOperands() override { return 3; }
41375
41376 int
41377 getOperandSize(int opIdx) override
41378 {
41379 switch (opIdx) {
41380 case 0: //vgpr_a
41381 return 4;
41382 case 1: //sgpr_r
41383 return 32;
41384 case 2: //sgpr_s
41385 return 4;
41386 case 3: //vgpr_d
41387 return 16;
41388 default:
41389 fatal("op idx %i out of bounds\n", opIdx);
41390 return -1;
41391 }
41392 } // getOperandSize
41393
41394 void execute(GPUDynInstPtr) override;
41395 }; // Inst_MIMG__IMAGE_GATHER4_C_B
41396
41398 {
41399 public:
41402
41403 int
41405 {
41407 } // getNumOperands
41408
41409 int numDstRegOperands() override { return 1; }
41410 int numSrcRegOperands() override { return 3; }
41411
41412 int
41413 getOperandSize(int opIdx) override
41414 {
41415 switch (opIdx) {
41416 case 0: //vgpr_a
41417 return 4;
41418 case 1: //sgpr_r
41419 return 32;
41420 case 2: //sgpr_s
41421 return 4;
41422 case 3: //vgpr_d
41423 return 16;
41424 default:
41425 fatal("op idx %i out of bounds\n", opIdx);
41426 return -1;
41427 }
41428 } // getOperandSize
41429
41430 void execute(GPUDynInstPtr) override;
41431 }; // Inst_MIMG__IMAGE_GATHER4_C_B_CL
41432
41434 {
41435 public:
41438
41439 int
41441 {
41443 } // getNumOperands
41444
41445 int numDstRegOperands() override { return 1; }
41446 int numSrcRegOperands() override { return 3; }
41447
41448 int
41449 getOperandSize(int opIdx) override
41450 {
41451 switch (opIdx) {
41452 case 0: //vgpr_a
41453 return 4;
41454 case 1: //sgpr_r
41455 return 32;
41456 case 2: //sgpr_s
41457 return 4;
41458 case 3: //vgpr_d
41459 return 16;
41460 default:
41461 fatal("op idx %i out of bounds\n", opIdx);
41462 return -1;
41463 }
41464 } // getOperandSize
41465
41466 void execute(GPUDynInstPtr) override;
41467 }; // Inst_MIMG__IMAGE_GATHER4_C_LZ
41468
41470 {
41471 public:
41474
41475 int
41477 {
41479 } // getNumOperands
41480
41481 int numDstRegOperands() override { return 1; }
41482 int numSrcRegOperands() override { return 3; }
41483
41484 int
41485 getOperandSize(int opIdx) override
41486 {
41487 switch (opIdx) {
41488 case 0: //vgpr_a
41489 return 4;
41490 case 1: //sgpr_r
41491 return 32;
41492 case 2: //sgpr_s
41493 return 4;
41494 case 3: //vgpr_d
41495 return 16;
41496 default:
41497 fatal("op idx %i out of bounds\n", opIdx);
41498 return -1;
41499 }
41500 } // getOperandSize
41501
41502 void execute(GPUDynInstPtr) override;
41503 }; // Inst_MIMG__IMAGE_GATHER4_O
41504
41506 {
41507 public:
41510
41511 int
41513 {
41515 } // getNumOperands
41516
41517 int numDstRegOperands() override { return 1; }
41518 int numSrcRegOperands() override { return 3; }
41519
41520 int
41521 getOperandSize(int opIdx) override
41522 {
41523 switch (opIdx) {
41524 case 0: //vgpr_a
41525 return 4;
41526 case 1: //sgpr_r
41527 return 32;
41528 case 2: //sgpr_s
41529 return 4;
41530 case 3: //vgpr_d
41531 return 16;
41532 default:
41533 fatal("op idx %i out of bounds\n", opIdx);
41534 return -1;
41535 }
41536 } // getOperandSize
41537
41538 void execute(GPUDynInstPtr) override;
41539 }; // Inst_MIMG__IMAGE_GATHER4_CL_O
41540
41542 {
41543 public:
41546
41547 int
41549 {
41551 } // getNumOperands
41552
41553 int numDstRegOperands() override { return 1; }
41554 int numSrcRegOperands() override { return 3; }
41555
41556 int
41557 getOperandSize(int opIdx) override
41558 {
41559 switch (opIdx) {
41560 case 0: //vgpr_a
41561 return 4;
41562 case 1: //sgpr_r
41563 return 32;
41564 case 2: //sgpr_s
41565 return 4;
41566 case 3: //vgpr_d
41567 return 16;
41568 default:
41569 fatal("op idx %i out of bounds\n", opIdx);
41570 return -1;
41571 }
41572 } // getOperandSize
41573
41574 void execute(GPUDynInstPtr) override;
41575 }; // Inst_MIMG__IMAGE_GATHER4_L_O
41576
41578 {
41579 public:
41582
41583 int
41585 {
41587 } // getNumOperands
41588
41589 int numDstRegOperands() override { return 1; }
41590 int numSrcRegOperands() override { return 3; }
41591
41592 int
41593 getOperandSize(int opIdx) override
41594 {
41595 switch (opIdx) {
41596 case 0: //vgpr_a
41597 return 4;
41598 case 1: //sgpr_r
41599 return 32;
41600 case 2: //sgpr_s
41601 return 4;
41602 case 3: //vgpr_d
41603 return 16;
41604 default:
41605 fatal("op idx %i out of bounds\n", opIdx);
41606 return -1;
41607 }
41608 } // getOperandSize
41609
41610 void execute(GPUDynInstPtr) override;
41611 }; // Inst_MIMG__IMAGE_GATHER4_B_O
41612
41614 {
41615 public:
41618
41619 int
41621 {
41623 } // getNumOperands
41624
41625 int numDstRegOperands() override { return 1; }
41626 int numSrcRegOperands() override { return 3; }
41627
41628 int
41629 getOperandSize(int opIdx) override
41630 {
41631 switch (opIdx) {
41632 case 0: //vgpr_a
41633 return 4;
41634 case 1: //sgpr_r
41635 return 32;
41636 case 2: //sgpr_s
41637 return 4;
41638 case 3: //vgpr_d
41639 return 16;
41640 default:
41641 fatal("op idx %i out of bounds\n", opIdx);
41642 return -1;
41643 }
41644 } // getOperandSize
41645
41646 void execute(GPUDynInstPtr) override;
41647 }; // Inst_MIMG__IMAGE_GATHER4_B_CL_O
41648
41650 {
41651 public:
41654
41655 int
41657 {
41659 } // getNumOperands
41660
41661 int numDstRegOperands() override { return 1; }
41662 int numSrcRegOperands() override { return 3; }
41663
41664 int
41665 getOperandSize(int opIdx) override
41666 {
41667 switch (opIdx) {
41668 case 0: //vgpr_a
41669 return 4;
41670 case 1: //sgpr_r
41671 return 32;
41672 case 2: //sgpr_s
41673 return 4;
41674 case 3: //vgpr_d
41675 return 16;
41676 default:
41677 fatal("op idx %i out of bounds\n", opIdx);
41678 return -1;
41679 }
41680 } // getOperandSize
41681
41682 void execute(GPUDynInstPtr) override;
41683 }; // Inst_MIMG__IMAGE_GATHER4_LZ_O
41684
41686 {
41687 public:
41690
41691 int
41693 {
41695 } // getNumOperands
41696
41697 int numDstRegOperands() override { return 1; }
41698 int numSrcRegOperands() override { return 3; }
41699
41700 int
41701 getOperandSize(int opIdx) override
41702 {
41703 switch (opIdx) {
41704 case 0: //vgpr_a
41705 return 4;
41706 case 1: //sgpr_r
41707 return 32;
41708 case 2: //sgpr_s
41709 return 4;
41710 case 3: //vgpr_d
41711 return 16;
41712 default:
41713 fatal("op idx %i out of bounds\n", opIdx);
41714 return -1;
41715 }
41716 } // getOperandSize
41717
41718 void execute(GPUDynInstPtr) override;
41719 }; // Inst_MIMG__IMAGE_GATHER4_C_O
41720
41722 {
41723 public:
41726
41727 int
41729 {
41731 } // getNumOperands
41732
41733 int numDstRegOperands() override { return 1; }
41734 int numSrcRegOperands() override { return 3; }
41735
41736 int
41737 getOperandSize(int opIdx) override
41738 {
41739 switch (opIdx) {
41740 case 0: //vgpr_a
41741 return 4;
41742 case 1: //sgpr_r
41743 return 32;
41744 case 2: //sgpr_s
41745 return 4;
41746 case 3: //vgpr_d
41747 return 16;
41748 default:
41749 fatal("op idx %i out of bounds\n", opIdx);
41750 return -1;
41751 }
41752 } // getOperandSize
41753
41754 void execute(GPUDynInstPtr) override;
41755 }; // Inst_MIMG__IMAGE_GATHER4_C_CL_O
41756
41758 {
41759 public:
41762
41763 int
41765 {
41767 } // getNumOperands
41768
41769 int numDstRegOperands() override { return 1; }
41770 int numSrcRegOperands() override { return 3; }
41771
41772 int
41773 getOperandSize(int opIdx) override
41774 {
41775 switch (opIdx) {
41776 case 0: //vgpr_a
41777 return 4;
41778 case 1: //sgpr_r
41779 return 32;
41780 case 2: //sgpr_s
41781 return 4;
41782 case 3: //vgpr_d
41783 return 16;
41784 default:
41785 fatal("op idx %i out of bounds\n", opIdx);
41786 return -1;
41787 }
41788 } // getOperandSize
41789
41790 void execute(GPUDynInstPtr) override;
41791 }; // Inst_MIMG__IMAGE_GATHER4_C_L_O
41792
41794 {
41795 public:
41798
41799 int
41801 {
41803 } // getNumOperands
41804
41805 int numDstRegOperands() override { return 1; }
41806 int numSrcRegOperands() override { return 3; }
41807
41808 int
41809 getOperandSize(int opIdx) override
41810 {
41811 switch (opIdx) {
41812 case 0: //vgpr_a
41813 return 4;
41814 case 1: //sgpr_r
41815 return 32;
41816 case 2: //sgpr_s
41817 return 4;
41818 case 3: //vgpr_d
41819 return 16;
41820 default:
41821 fatal("op idx %i out of bounds\n", opIdx);
41822 return -1;
41823 }
41824 } // getOperandSize
41825
41826 void execute(GPUDynInstPtr) override;
41827 }; // Inst_MIMG__IMAGE_GATHER4_C_B_O
41828
41830 {
41831 public:
41834
41835 int
41837 {
41839 } // getNumOperands
41840
41841 int numDstRegOperands() override { return 1; }
41842 int numSrcRegOperands() override { return 3; }
41843
41844 int
41845 getOperandSize(int opIdx) override
41846 {
41847 switch (opIdx) {
41848 case 0: //vgpr_a
41849 return 4;
41850 case 1: //sgpr_r
41851 return 32;
41852 case 2: //sgpr_s
41853 return 4;
41854 case 3: //vgpr_d
41855 return 16;
41856 default:
41857 fatal("op idx %i out of bounds\n", opIdx);
41858 return -1;
41859 }
41860 } // getOperandSize
41861
41862 void execute(GPUDynInstPtr) override;
41863 }; // Inst_MIMG__IMAGE_GATHER4_C_B_CL_O
41864
41866 {
41867 public:
41870
41871 int
41873 {
41875 } // getNumOperands
41876
41877 int numDstRegOperands() override { return 1; }
41878 int numSrcRegOperands() override { return 3; }
41879
41880 int
41881 getOperandSize(int opIdx) override
41882 {
41883 switch (opIdx) {
41884 case 0: //vgpr_a
41885 return 4;
41886 case 1: //sgpr_r
41887 return 32;
41888 case 2: //sgpr_s
41889 return 4;
41890 case 3: //vgpr_d
41891 return 16;
41892 default:
41893 fatal("op idx %i out of bounds\n", opIdx);
41894 return -1;
41895 }
41896 } // getOperandSize
41897
41898 void execute(GPUDynInstPtr) override;
41899 }; // Inst_MIMG__IMAGE_GATHER4_C_LZ_O
41900
41902 {
41903 public:
41906
41907 int
41909 {
41911 } // getNumOperands
41912
41913 int numDstRegOperands() override { return 1; }
41914 int numSrcRegOperands() override { return 3; }
41915
41916 int
41917 getOperandSize(int opIdx) override
41918 {
41919 switch (opIdx) {
41920 case 0: //vgpr_a
41921 return 4;
41922 case 1: //sgpr_r
41923 return 32;
41924 case 2: //sgpr_s
41925 return 4;
41926 case 3: //vgpr_d
41927 return 16;
41928 default:
41929 fatal("op idx %i out of bounds\n", opIdx);
41930 return -1;
41931 }
41932 } // getOperandSize
41933
41934 void execute(GPUDynInstPtr) override;
41935 }; // Inst_MIMG__IMAGE_GET_LOD
41936
41938 {
41939 public:
41942
41943 int
41945 {
41947 } // getNumOperands
41948
41949 int numDstRegOperands() override { return 1; }
41950 int numSrcRegOperands() override { return 3; }
41951
41952 int
41953 getOperandSize(int opIdx) override
41954 {
41955 switch (opIdx) {
41956 case 0: //vgpr_a
41957 return 4;
41958 case 1: //sgpr_r
41959 return 32;
41960 case 2: //sgpr_s
41961 return 4;
41962 case 3: //vgpr_d
41963 return 16;
41964 default:
41965 fatal("op idx %i out of bounds\n", opIdx);
41966 return -1;
41967 }
41968 } // getOperandSize
41969
41970 void execute(GPUDynInstPtr) override;
41971 }; // Inst_MIMG__IMAGE_SAMPLE_CD
41972
41974 {
41975 public:
41978
41979 int
41981 {
41983 } // getNumOperands
41984
41985 int numDstRegOperands() override { return 1; }
41986 int numSrcRegOperands() override { return 3; }
41987
41988 int
41989 getOperandSize(int opIdx) override
41990 {
41991 switch (opIdx) {
41992 case 0: //vgpr_a
41993 return 4;
41994 case 1: //sgpr_r
41995 return 32;
41996 case 2: //sgpr_s
41997 return 4;
41998 case 3: //vgpr_d
41999 return 16;
42000 default:
42001 fatal("op idx %i out of bounds\n", opIdx);
42002 return -1;
42003 }
42004 } // getOperandSize
42005
42006 void execute(GPUDynInstPtr) override;
42007 }; // Inst_MIMG__IMAGE_SAMPLE_CD_CL
42008
42010 {
42011 public:
42014
42015 int
42017 {
42019 } // getNumOperands
42020
42021 int numDstRegOperands() override { return 1; }
42022 int numSrcRegOperands() override { return 3; }
42023
42024 int
42025 getOperandSize(int opIdx) override
42026 {
42027 switch (opIdx) {
42028 case 0: //vgpr_a
42029 return 4;
42030 case 1: //sgpr_r
42031 return 32;
42032 case 2: //sgpr_s
42033 return 4;
42034 case 3: //vgpr_d
42035 return 16;
42036 default:
42037 fatal("op idx %i out of bounds\n", opIdx);
42038 return -1;
42039 }
42040 } // getOperandSize
42041
42042 void execute(GPUDynInstPtr) override;
42043 }; // Inst_MIMG__IMAGE_SAMPLE_C_CD
42044
42046 {
42047 public:
42050
42051 int
42053 {
42055 } // getNumOperands
42056
42057 int numDstRegOperands() override { return 1; }
42058 int numSrcRegOperands() override { return 3; }
42059
42060 int
42061 getOperandSize(int opIdx) override
42062 {
42063 switch (opIdx) {
42064 case 0: //vgpr_a
42065 return 4;
42066 case 1: //sgpr_r
42067 return 32;
42068 case 2: //sgpr_s
42069 return 4;
42070 case 3: //vgpr_d
42071 return 16;
42072 default:
42073 fatal("op idx %i out of bounds\n", opIdx);
42074 return -1;
42075 }
42076 } // getOperandSize
42077
42078 void execute(GPUDynInstPtr) override;
42079 }; // Inst_MIMG__IMAGE_SAMPLE_C_CD_CL
42080
42082 {
42083 public:
42086
42087 int
42089 {
42091 } // getNumOperands
42092
42093 int numDstRegOperands() override { return 1; }
42094 int numSrcRegOperands() override { return 3; }
42095
42096 int
42097 getOperandSize(int opIdx) override
42098 {
42099 switch (opIdx) {
42100 case 0: //vgpr_a
42101 return 4;
42102 case 1: //sgpr_r
42103 return 32;
42104 case 2: //sgpr_s
42105 return 4;
42106 case 3: //vgpr_d
42107 return 16;
42108 default:
42109 fatal("op idx %i out of bounds\n", opIdx);
42110 return -1;
42111 }
42112 } // getOperandSize
42113
42114 void execute(GPUDynInstPtr) override;
42115 }; // Inst_MIMG__IMAGE_SAMPLE_CD_O
42116
42118 {
42119 public:
42122
42123 int
42125 {
42127 } // getNumOperands
42128
42129 int numDstRegOperands() override { return 1; }
42130 int numSrcRegOperands() override { return 3; }
42131
42132 int
42133 getOperandSize(int opIdx) override
42134 {
42135 switch (opIdx) {
42136 case 0: //vgpr_a
42137 return 4;
42138 case 1: //sgpr_r
42139 return 32;
42140 case 2: //sgpr_s
42141 return 4;
42142 case 3: //vgpr_d
42143 return 16;
42144 default:
42145 fatal("op idx %i out of bounds\n", opIdx);
42146 return -1;
42147 }
42148 } // getOperandSize
42149
42150 void execute(GPUDynInstPtr) override;
42151 }; // Inst_MIMG__IMAGE_SAMPLE_CD_CL_O
42152
42154 {
42155 public:
42158
42159 int
42161 {
42163 } // getNumOperands
42164
42165 int numDstRegOperands() override { return 1; }
42166 int numSrcRegOperands() override { return 3; }
42167
42168 int
42169 getOperandSize(int opIdx) override
42170 {
42171 switch (opIdx) {
42172 case 0: //vgpr_a
42173 return 4;
42174 case 1: //sgpr_r
42175 return 32;
42176 case 2: //sgpr_s
42177 return 4;
42178 case 3: //vgpr_d
42179 return 16;
42180 default:
42181 fatal("op idx %i out of bounds\n", opIdx);
42182 return -1;
42183 }
42184 } // getOperandSize
42185
42186 void execute(GPUDynInstPtr) override;
42187 }; // Inst_MIMG__IMAGE_SAMPLE_C_CD_O
42188
42190 {
42191 public:
42194
42195 int
42197 {
42199 } // getNumOperands
42200
42201 int numDstRegOperands() override { return 1; }
42202 int numSrcRegOperands() override { return 3; }
42203
42204 int
42205 getOperandSize(int opIdx) override
42206 {
42207 switch (opIdx) {
42208 case 0: //vgpr_a
42209 return 4;
42210 case 1: //sgpr_r
42211 return 32;
42212 case 2: //sgpr_s
42213 return 4;
42214 case 3: //vgpr_d
42215 return 16;
42216 default:
42217 fatal("op idx %i out of bounds\n", opIdx);
42218 return -1;
42219 }
42220 } // getOperandSize
42221
42222 void execute(GPUDynInstPtr) override;
42223 }; // Inst_MIMG__IMAGE_SAMPLE_C_CD_CL_O
42224
42226 {
42227 public:
42230
42231 int
42233 {
42235 } // getNumOperands
42236
42237 int numDstRegOperands() override { return 1; }
42238 int numSrcRegOperands() override { return 4; }
42239
42240 int
42241 getOperandSize(int opIdx) override
42242 {
42243 switch (opIdx) {
42244 case 0: //
42245 return 32;
42246 case 1: //
42247 return 32;
42248 case 2: //
42249 return 32;
42250 case 3: //
42251 return 32;
42252 case 4: //
42253 return 32;
42254 default:
42255 fatal("op idx %i out of bounds\n", opIdx);
42256 return -1;
42257 }
42258 } // getOperandSize
42259
42260 void execute(GPUDynInstPtr) override;
42261 }; // Inst_EXP__EXP
42262
42264 {
42265 public:
42268
42269 int
42271 {
42273 } // getNumOperands
42274
42275 int numDstRegOperands() override { return 1; }
42276 int numSrcRegOperands() override { return isFlat() ? 1 : 2; }
42277
42278 int
42279 getOperandSize(int opIdx) override
42280 {
42281 switch (opIdx) {
42282 case 0: //vgpr_addr
42283 return vgprIsOffset() ? 4 : 8;
42284 case 1: //vgpr_dst or saddr
42285 return isFlat() ? 1 : 8;
42286 case 2: //vgpr_dst
42287 assert(!isFlat());
42288 return 1;
42289 default:
42290 fatal("op idx %i out of bounds\n", opIdx);
42291 return -1;
42292 }
42293 } // getOperandSize
42294
42295 void execute(GPUDynInstPtr) override;
42296 void initiateAcc(GPUDynInstPtr) override;
42297 void completeAcc(GPUDynInstPtr) override;
42298 }; // Inst_FLAT__FLAT_LOAD_UBYTE
42299
42301 {
42302 public:
42305
42306 int
42308 {
42310 } // getNumOperands
42311
42312 int numDstRegOperands() override { return 1; }
42313 int numSrcRegOperands() override { return isFlat() ? 1 : 2; }
42314
42315 int
42316 getOperandSize(int opIdx) override
42317 {
42318 switch (opIdx) {
42319 case 0: //vgpr_addr
42320 return vgprIsOffset() ? 4 : 8;
42321 case 1: //vgpr_dst or saddr
42322 return isFlat() ? 1 : 8;
42323 case 2: //vgpr_dst
42324 assert(!isFlat());
42325 return 1;
42326 default:
42327 fatal("op idx %i out of bounds\n", opIdx);
42328 return -1;
42329 }
42330 } // getOperandSize
42331
42332 void execute(GPUDynInstPtr) override;
42333 void initiateAcc(GPUDynInstPtr) override;
42334 void completeAcc(GPUDynInstPtr) override;
42335 }; // Inst_FLAT__FLAT_LOAD_SBYTE
42336
42338 {
42339 public:
42342
42343 int
42345 {
42347 } // getNumOperands
42348
42349 int numDstRegOperands() override { return 1; }
42350 int numSrcRegOperands() override { return isFlat() ? 1 : 2; }
42351
42352 int
42353 getOperandSize(int opIdx) override
42354 {
42355 switch (opIdx) {
42356 case 0: //vgpr_addr
42357 return vgprIsOffset() ? 4 : 8;
42358 case 1: //vgpr_dst or saddr
42359 return isFlat() ? 2 : 8;
42360 case 2: //vgpr_dst
42361 assert(!isFlat());
42362 return 2;
42363 default:
42364 fatal("op idx %i out of bounds\n", opIdx);
42365 return -1;
42366 }
42367 } // getOperandSize
42368
42369 void execute(GPUDynInstPtr) override;
42370 void initiateAcc(GPUDynInstPtr) override;
42371 void completeAcc(GPUDynInstPtr) override;
42372 }; // Inst_FLAT__FLAT_LOAD_USHORT
42373
42375 {
42376 public:
42379
42380 int
42382 {
42384 } // getNumOperands
42385
42386 int numDstRegOperands() override { return 1; }
42387 int numSrcRegOperands() override { return isFlat() ? 1 : 2; }
42388
42389 int
42390 getOperandSize(int opIdx) override
42391 {
42392 switch (opIdx) {
42393 case 0: //vgpr_addr
42394 return vgprIsOffset() ? 4 : 8;
42395 case 1: //vgpr_dst or saddr
42396 return isFlat() ? 2 : 8;
42397 case 2: //vgpr_dst
42398 assert(!isFlat());
42399 return 2;
42400 default:
42401 fatal("op idx %i out of bounds\n", opIdx);
42402 return -1;
42403 }
42404 } // getOperandSize
42405
42406 void execute(GPUDynInstPtr) override;
42407 void initiateAcc(GPUDynInstPtr) override;
42408 void completeAcc(GPUDynInstPtr) override;
42409 }; // Inst_FLAT__FLAT_LOAD_SSHORT
42410
42412 {
42413 public:
42416
42417 int
42419 {
42421 } // getNumOperands
42422
42423 int numDstRegOperands() override { return 1; }
42424 int numSrcRegOperands() override { return isFlat() ? 1 : 2; }
42425
42426 int
42427 getOperandSize(int opIdx) override
42428 {
42429 switch (opIdx) {
42430 case 0: //vgpr_addr
42431 return vgprIsOffset() ? 4 : 8;
42432 case 1: //vgpr_dst or saddr
42433 return isFlat() ? 4 : 8;
42434 case 2: //vgpr_dst
42435 assert(!isFlat());
42436 return 4;
42437 default:
42438 fatal("op idx %i out of bounds\n", opIdx);
42439 return -1;
42440 }
42441 } // getOperandSize
42442
42443 void execute(GPUDynInstPtr) override;
42444 void initiateAcc(GPUDynInstPtr) override;
42445 void completeAcc(GPUDynInstPtr) override;
42446 }; // Inst_FLAT__FLAT_LOAD_DWORD
42447
42449 {
42450 public:
42453
42454 int
42456 {
42458 } // getNumOperands
42459
42460 int numDstRegOperands() override { return 1; }
42461 int numSrcRegOperands() override { return isFlat() ? 1 : 2; }
42462
42463 int
42464 getOperandSize(int opIdx) override
42465 {
42466 switch (opIdx) {
42467 case 0: //vgpr_addr
42468 return vgprIsOffset() ? 4 : 8;
42469 case 1: //vgpr_dst or saddr
42470 return isFlat() ? 8 : 8;
42471 case 2: //vgpr_dst
42472 assert(!isFlat());
42473 return 8;
42474 default:
42475 fatal("op idx %i out of bounds\n", opIdx);
42476 return -1;
42477 }
42478 } // getOperandSize
42479
42480 void execute(GPUDynInstPtr) override;
42481 void initiateAcc(GPUDynInstPtr) override;
42482 void completeAcc(GPUDynInstPtr) override;
42483 }; // Inst_FLAT__FLAT_LOAD_DWORDX2
42484
42486 {
42487 public:
42490
42491 int
42493 {
42495 } // getNumOperands
42496
42497 int numDstRegOperands() override { return 1; }
42498 int numSrcRegOperands() override { return isFlat() ? 1 : 2; }
42499
42500 int
42501 getOperandSize(int opIdx) override
42502 {
42503 switch (opIdx) {
42504 case 0: //vgpr_addr
42505 return vgprIsOffset() ? 4 : 8;
42506 case 1: //vgpr_dst or saddr
42507 return isFlat() ? 12 : 8;
42508 case 2: //vgpr_dst
42509 assert(!isFlat());
42510 return 12;
42511 default:
42512 fatal("op idx %i out of bounds\n", opIdx);
42513 return -1;
42514 }
42515 } // getOperandSize
42516
42517 void execute(GPUDynInstPtr) override;
42518 void initiateAcc(GPUDynInstPtr) override;
42519 void completeAcc(GPUDynInstPtr) override;
42520 }; // Inst_FLAT__FLAT_LOAD_DWORDX3
42521
42523 {
42524 public:
42527
42528 int
42530 {
42532 } // getNumOperands
42533
42534 int numDstRegOperands() override { return 1; }
42535 int numSrcRegOperands() override { return isFlat() ? 1 : 2; }
42536
42537 int
42538 getOperandSize(int opIdx) override
42539 {
42540 switch (opIdx) {
42541 case 0: //vgpr_addr
42542 return vgprIsOffset() ? 4 : 8;
42543 case 1: //vgpr_dst or saddr
42544 return isFlat() ? 16 : 8;
42545 case 2: //vgpr_dst
42546 assert(!isFlat());
42547 return 16;
42548 default:
42549 fatal("op idx %i out of bounds\n", opIdx);
42550 return -1;
42551 }
42552 } // getOperandSize
42553
42554 void execute(GPUDynInstPtr) override;
42555 void initiateAcc(GPUDynInstPtr) override;
42556 void completeAcc(GPUDynInstPtr) override;
42557 }; // Inst_FLAT__FLAT_LOAD_DWORDX4
42558
42560 {
42561 public:
42564
42565 int
42567 {
42569 } // getNumOperands
42570
42571 int numDstRegOperands() override { return 0; }
42572 int numSrcRegOperands() override { return isFlat() ? 2 : 3; }
42573
42574 int
42575 getOperandSize(int opIdx) override
42576 {
42577 switch (opIdx) {
42578 case 0: //vgpr_addr
42579 return vgprIsOffset() ? 4 : 8;
42580 case 1: //vgpr_src
42581 return 1;
42582 case 2: //saddr
42583 assert(!isFlat());
42584 return 8;
42585 default:
42586 fatal("op idx %i out of bounds\n", opIdx);
42587 return -1;
42588 }
42589 } // getOperandSize
42590
42591 void execute(GPUDynInstPtr) override;
42592 void initiateAcc(GPUDynInstPtr) override;
42593 void completeAcc(GPUDynInstPtr) override;
42594 }; // Inst_FLAT__FLAT_STORE_BYTE
42595
42597 {
42598 public:
42601
42602 int
42604 {
42606 } // getNumOperands
42607
42608 int numDstRegOperands() override { return 0; }
42609 int numSrcRegOperands() override { return isFlat() ? 2 : 3; }
42610
42611 int
42612 getOperandSize(int opIdx) override
42613 {
42614 switch (opIdx) {
42615 case 0: //vgpr_addr
42616 return vgprIsOffset() ? 4 : 8;
42617 case 1: //vgpr_src
42618 return 2;
42619 case 2: //saddr
42620 assert(!isFlat());
42621 return 8;
42622 default:
42623 fatal("op idx %i out of bounds\n", opIdx);
42624 return -1;
42625 }
42626 } // getOperandSize
42627
42628 void execute(GPUDynInstPtr) override;
42629 void initiateAcc(GPUDynInstPtr) override;
42630 void completeAcc(GPUDynInstPtr) override;
42631 }; // Inst_FLAT__FLAT_STORE_SHORT
42632
42634 {
42635 public:
42638
42639 int
42641 {
42643 } // getNumOperands
42644
42645 int numDstRegOperands() override { return 0; }
42646 int numSrcRegOperands() override { return isFlat() ? 2 : 3; }
42647
42648 int
42649 getOperandSize(int opIdx) override
42650 {
42651 switch (opIdx) {
42652 case 0: //vgpr_addr
42653 return vgprIsOffset() ? 4 : 8;
42654 case 1: //vgpr_src
42655 return 2;
42656 case 2: //saddr
42657 assert(!isFlat());
42658 return 8;
42659 default:
42660 fatal("op idx %i out of bounds\n", opIdx);
42661 return -1;
42662 }
42663 } // getOperandSize
42664
42665 void execute(GPUDynInstPtr) override;
42666 void initiateAcc(GPUDynInstPtr) override;
42667 void completeAcc(GPUDynInstPtr) override;
42668 }; // Inst_FLAT__FLAT_STORE_SHORT_D16_HI
42669
42671 {
42672 public:
42675
42676 int
42678 {
42680 } // getNumOperands
42681
42682 int numDstRegOperands() override { return 0; }
42683 int numSrcRegOperands() override { return isFlat() ? 2 : 3; }
42684
42685 int
42686 getOperandSize(int opIdx) override
42687 {
42688 switch (opIdx) {
42689 case 0: //vgpr_addr
42690 return vgprIsOffset() ? 4 : 8;
42691 case 1: //vgpr_src
42692 return 4;
42693 case 2: //saddr
42694 assert(!isFlat());
42695 return 8;
42696 default:
42697 fatal("op idx %i out of bounds\n", opIdx);
42698 return -1;
42699 }
42700 } // getOperandSize
42701
42702 void execute(GPUDynInstPtr) override;
42703 void initiateAcc(GPUDynInstPtr) override;
42704 void completeAcc(GPUDynInstPtr) override;
42705 }; // Inst_FLAT__FLAT_STORE_DWORD
42706
42708 {
42709 public:
42712
42713 int
42715 {
42717 } // getNumOperands
42718
42719 int numDstRegOperands() override { return 0; }
42720 int numSrcRegOperands() override { return isFlat() ? 2 : 3; }
42721
42722 int
42723 getOperandSize(int opIdx) override
42724 {
42725 switch (opIdx) {
42726 case 0: //vgpr_addr
42727 return vgprIsOffset() ? 4 : 8;
42728 case 1: //vgpr_src
42729 return 8;
42730 case 2: //saddr
42731 assert(!isFlat());
42732 return 8;
42733 default:
42734 fatal("op idx %i out of bounds\n", opIdx);
42735 return -1;
42736 }
42737 } // getOperandSize
42738
42739 void execute(GPUDynInstPtr) override;
42740 void initiateAcc(GPUDynInstPtr) override;
42741 void completeAcc(GPUDynInstPtr) override;
42742 }; // Inst_FLAT__FLAT_STORE_DWORDX2
42743
42745 {
42746 public:
42749
42750 int
42752 {
42754 } // getNumOperands
42755
42756 int numDstRegOperands() override { return 0; }
42757 int numSrcRegOperands() override { return isFlat() ? 2 : 3; }
42758
42759 int
42760 getOperandSize(int opIdx) override
42761 {
42762 switch (opIdx) {
42763 case 0: //vgpr_addr
42764 return vgprIsOffset() ? 4 : 8;
42765 case 1: //vgpr_src
42766 return 12;
42767 case 2: //saddr
42768 assert(!isFlat());
42769 return 8;
42770 default:
42771 fatal("op idx %i out of bounds\n", opIdx);
42772 return -1;
42773 }
42774 } // getOperandSize
42775
42776 void execute(GPUDynInstPtr) override;
42777 void initiateAcc(GPUDynInstPtr) override;
42778 void completeAcc(GPUDynInstPtr) override;
42779 }; // Inst_FLAT__FLAT_STORE_DWORDX3
42780
42782 {
42783 public:
42786
42787 int
42789 {
42791 } // getNumOperands
42792
42793 int numDstRegOperands() override { return 0; }
42794 int numSrcRegOperands() override { return isFlat() ? 2 : 3; }
42795
42796 int
42797 getOperandSize(int opIdx) override
42798 {
42799 switch (opIdx) {
42800 case 0: //vgpr_addr
42801 return vgprIsOffset() ? 4 : 8;
42802 case 1: //vgpr_src
42803 return 16;
42804 case 2: //saddr
42805 assert(!isFlat());
42806 return 8;
42807 default:
42808 fatal("op idx %i out of bounds\n", opIdx);
42809 return -1;
42810 }
42811 } // getOperandSize
42812
42813 void execute(GPUDynInstPtr) override;
42814 void initiateAcc(GPUDynInstPtr) override;
42815 void completeAcc(GPUDynInstPtr) override;
42816 }; // Inst_FLAT__FLAT_STORE_DWORDX4
42817
42819 {
42820 public:
42823
42824 int
42826 {
42828 } // getNumOperands
42829
42830 int numDstRegOperands() override { return 1; }
42831 int numSrcRegOperands() override { return isFlat() ? 2 : 3; }
42832
42833 int
42834 getOperandSize(int opIdx) override
42835 {
42836 switch (opIdx) {
42837 case 0: //vgpr_addr
42838 return vgprIsOffset() ? 4 : 8;
42839 case 1: //vgpr_src
42840 return 4;
42841 case 2: //vgpr_dst or saddr
42842 return isFlat() ? 4 : 8;
42843 case 3: //vgpr_dst
42844 assert(!isFlat());
42845 return 4;
42846 default:
42847 fatal("op idx %i out of bounds\n", opIdx);
42848 return -1;
42849 }
42850 } // getOperandSize
42851
42852 void execute(GPUDynInstPtr) override;
42853 void initiateAcc(GPUDynInstPtr) override;
42854 void completeAcc(GPUDynInstPtr) override;
42855 }; // Inst_FLAT__FLAT_ATOMIC_SWAP
42856
42858 {
42859 public:
42862
42863 int
42865 {
42867 } // getNumOperands
42868
42869 int numDstRegOperands() override { return 1; }
42870 int numSrcRegOperands() override { return isFlat() ? 2 : 3; }
42871
42872 int
42873 getOperandSize(int opIdx) override
42874 {
42875 switch (opIdx) {
42876 case 0: //vgpr_addr
42877 return vgprIsOffset() ? 4 : 8;
42878 case 1: //vgpr_src
42879 return 8;
42880 case 2: //vgpr_dst or saddr
42881 return isFlat() ? 4 : 8;
42882 case 3: //vgpr_dst
42883 assert(!isFlat());
42884 return 4;
42885 default:
42886 fatal("op idx %i out of bounds\n", opIdx);
42887 return -1;
42888 }
42889 } // getOperandSize
42890
42891 void execute(GPUDynInstPtr) override;
42892 void initiateAcc(GPUDynInstPtr) override;
42893 void completeAcc(GPUDynInstPtr) override;
42894 }; // Inst_FLAT__FLAT_ATOMIC_CMPSWAP
42895
42897 {
42898 public:
42901
42902 int
42904 {
42906 } // getNumOperands
42907
42908 int numDstRegOperands() override { return 1; }
42909 int numSrcRegOperands() override { return isFlat() ? 2 : 3; }
42910
42911 int
42912 getOperandSize(int opIdx) override
42913 {
42914 switch (opIdx) {
42915 case 0: //vgpr_addr
42916 return vgprIsOffset() ? 4 : 8;
42917 case 1: //vgpr_src
42918 return 4;
42919 case 2: //vgpr_dst or saddr
42920 return isFlat() ? 4 : 8;
42921 case 3: //vgpr_dst
42922 assert(!isFlat());
42923 return 4;
42924 default:
42925 fatal("op idx %i out of bounds\n", opIdx);
42926 return -1;
42927 }
42928 } // getOperandSize
42929
42930 void execute(GPUDynInstPtr) override;
42931 void initiateAcc(GPUDynInstPtr) override;
42932 void completeAcc(GPUDynInstPtr) override;
42933 }; // Inst_FLAT__FLAT_ATOMIC_ADD
42934
42936 {
42937 public:
42940
42941 int
42943 {
42945 } // getNumOperands
42946
42947 int numDstRegOperands() override { return 1; }
42948 int numSrcRegOperands() override { return isFlat() ? 2 : 3; }
42949
42950 int
42951 getOperandSize(int opIdx) override
42952 {
42953 switch (opIdx) {
42954 case 0: //vgpr_addr
42955 return vgprIsOffset() ? 4 : 8;
42956 case 1: //vgpr_src
42957 return 4;
42958 case 2: //vgpr_dst or saddr
42959 return isFlat() ? 4 : 8;
42960 case 3: //vgpr_dst
42961 assert(!isFlat());
42962 return 4;
42963 default:
42964 fatal("op idx %i out of bounds\n", opIdx);
42965 return -1;
42966 }
42967 } // getOperandSize
42968
42969 void execute(GPUDynInstPtr) override;
42970 void initiateAcc(GPUDynInstPtr) override;
42971 void completeAcc(GPUDynInstPtr) override;
42972 }; // Inst_FLAT__FLAT_ATOMIC_SUB
42973
42975 {
42976 public:
42979
42980 int
42982 {
42984 } // getNumOperands
42985
42986 int numDstRegOperands() override { return 1; }
42987 int numSrcRegOperands() override { return isFlat() ? 2 : 3; }
42988
42989 int
42990 getOperandSize(int opIdx) override
42991 {
42992 switch (opIdx) {
42993 case 0: //vgpr_addr
42994 return vgprIsOffset() ? 4 : 8;
42995 case 1: //vgpr_src
42996 return 4;
42997 case 2: //vgpr_dst or saddr
42998 return isFlat() ? 4 : 8;
42999 case 3: //vgpr_dst
43000 assert(!isFlat());
43001 return 4;
43002 default:
43003 fatal("op idx %i out of bounds\n", opIdx);
43004 return -1;
43005 }
43006 } // getOperandSize
43007
43008 void execute(GPUDynInstPtr) override;
43009 void initiateAcc(GPUDynInstPtr) override;
43010 void completeAcc(GPUDynInstPtr) override;
43011 }; // Inst_FLAT__FLAT_ATOMIC_SMIN
43012
43014 {
43015 public:
43018
43019 int
43021 {
43023 } // getNumOperands
43024
43025 int numDstRegOperands() override { return 1; }
43026 int numSrcRegOperands() override { return isFlat() ? 2 : 3; }
43027
43028 int
43029 getOperandSize(int opIdx) override
43030 {
43031 switch (opIdx) {
43032 case 0: //vgpr_addr
43033 return vgprIsOffset() ? 4 : 8;
43034 case 1: //vgpr_src
43035 return 4;
43036 case 2: //vgpr_dst or saddr
43037 return isFlat() ? 4 : 8;
43038 case 3: //vgpr_dst
43039 assert(!isFlat());
43040 return 4;
43041 default:
43042 fatal("op idx %i out of bounds\n", opIdx);
43043 return -1;
43044 }
43045 } // getOperandSize
43046
43047 void execute(GPUDynInstPtr) override;
43048 void initiateAcc(GPUDynInstPtr) override;
43049 void completeAcc(GPUDynInstPtr) override;
43050 }; // Inst_FLAT__FLAT_ATOMIC_UMIN
43051
43053 {
43054 public:
43057
43058 int
43060 {
43062 } // getNumOperands
43063
43064 int numDstRegOperands() override { return 1; }
43065 int numSrcRegOperands() override { return isFlat() ? 2 : 3; }
43066
43067 int
43068 getOperandSize(int opIdx) override
43069 {
43070 switch (opIdx) {
43071 case 0: //vgpr_addr
43072 return vgprIsOffset() ? 4 : 8;
43073 case 1: //vgpr_src
43074 return 4;
43075 case 2: //vgpr_dst or saddr
43076 return isFlat() ? 4 : 8;
43077 case 3: //vgpr_dst
43078 assert(!isFlat());
43079 return 4;
43080 default:
43081 fatal("op idx %i out of bounds\n", opIdx);
43082 return -1;
43083 }
43084 } // getOperandSize
43085
43086 void execute(GPUDynInstPtr) override;
43087 void initiateAcc(GPUDynInstPtr) override;
43088 void completeAcc(GPUDynInstPtr) override;
43089 }; // Inst_FLAT__FLAT_ATOMIC_SMAX
43090
43092 {
43093 public:
43096
43097 int
43099 {
43101 } // getNumOperands
43102
43103 int numDstRegOperands() override { return 1; }
43104 int numSrcRegOperands() override { return isFlat() ? 2 : 3; }
43105
43106 int
43107 getOperandSize(int opIdx) override
43108 {
43109 switch (opIdx) {
43110 case 0: //vgpr_addr
43111 return vgprIsOffset() ? 4 : 8;
43112 case 1: //vgpr_src
43113 return 4;
43114 case 2: //vgpr_dst or saddr
43115 return isFlat() ? 4 : 8;
43116 case 3: //vgpr_dst
43117 assert(!isFlat());
43118 return 4;
43119 default:
43120 fatal("op idx %i out of bounds\n", opIdx);
43121 return -1;
43122 }
43123 } // getOperandSize
43124
43125 void execute(GPUDynInstPtr) override;
43126 void initiateAcc(GPUDynInstPtr) override;
43127 void completeAcc(GPUDynInstPtr) override;
43128 }; // Inst_FLAT__FLAT_ATOMIC_UMAX
43129
43131 {
43132 public:
43135
43136 int
43138 {
43140 } // getNumOperands
43141
43142 int numDstRegOperands() override { return 1; }
43143 int numSrcRegOperands() override { return isFlat() ? 2 : 3; }
43144
43145 int
43146 getOperandSize(int opIdx) override
43147 {
43148 switch (opIdx) {
43149 case 0: //vgpr_addr
43150 return vgprIsOffset() ? 4 : 8;
43151 case 1: //vgpr_src
43152 return 4;
43153 case 2: //vgpr_dst or saddr
43154 return isFlat() ? 4 : 8;
43155 case 3: //vgpr_dst
43156 assert(!isFlat());
43157 return 4;
43158 default:
43159 fatal("op idx %i out of bounds\n", opIdx);
43160 return -1;
43161 }
43162 } // getOperandSize
43163
43164 void execute(GPUDynInstPtr) override;
43165 void initiateAcc(GPUDynInstPtr) override;
43166 void completeAcc(GPUDynInstPtr) override;
43167 }; // Inst_FLAT__FLAT_ATOMIC_AND
43168
43170 {
43171 public:
43174
43175 int
43177 {
43179 } // getNumOperands
43180
43181 int numDstRegOperands() override { return 1; }
43182 int numSrcRegOperands() override { return isFlat() ? 2 : 3; }
43183
43184 int
43185 getOperandSize(int opIdx) override
43186 {
43187 switch (opIdx) {
43188 case 0: //vgpr_addr
43189 return vgprIsOffset() ? 4 : 8;
43190 case 1: //vgpr_src
43191 return 4;
43192 case 2: //vgpr_dst or saddr
43193 return isFlat() ? 4 : 8;
43194 case 3: //vgpr_dst
43195 assert(!isFlat());
43196 return 4;
43197 default:
43198 fatal("op idx %i out of bounds\n", opIdx);
43199 return -1;
43200 }
43201 } // getOperandSize
43202
43203 void execute(GPUDynInstPtr) override;
43204 void initiateAcc(GPUDynInstPtr) override;
43205 void completeAcc(GPUDynInstPtr) override;
43206 }; // Inst_FLAT__FLAT_ATOMIC_OR
43207
43209 {
43210 public:
43213
43214 int
43216 {
43218 } // getNumOperands
43219
43220 int numDstRegOperands() override { return 1; }
43221 int numSrcRegOperands() override { return isFlat() ? 2 : 3; }
43222
43223 int
43224 getOperandSize(int opIdx) override
43225 {
43226 switch (opIdx) {
43227 case 0: //vgpr_addr
43228 return vgprIsOffset() ? 4 : 8;
43229 case 1: //vgpr_src
43230 return 4;
43231 case 2: //vgpr_dst or saddr
43232 return isFlat() ? 4 : 8;
43233 case 3: //vgpr_dst
43234 assert(!isFlat());
43235 return 4;
43236 default:
43237 fatal("op idx %i out of bounds\n", opIdx);
43238 return -1;
43239 }
43240 } // getOperandSize
43241
43242 void execute(GPUDynInstPtr) override;
43243 void initiateAcc(GPUDynInstPtr) override;
43244 void completeAcc(GPUDynInstPtr) override;
43245 }; // Inst_FLAT__FLAT_ATOMIC_XOR
43246
43248 {
43249 public:
43252
43253 int
43255 {
43257 } // getNumOperands
43258
43259 int numDstRegOperands() override { return 1; }
43260 int numSrcRegOperands() override { return isFlat() ? 2 : 3; }
43261
43262 int
43263 getOperandSize(int opIdx) override
43264 {
43265 switch (opIdx) {
43266 case 0: //vgpr_addr
43267 return vgprIsOffset() ? 4 : 8;
43268 case 1: //vgpr_src
43269 return 4;
43270 case 2: //vgpr_dst or saddr
43271 return isFlat() ? 4 : 8;
43272 case 3: //vgpr_dst
43273 assert(!isFlat());
43274 return 4;
43275 default:
43276 fatal("op idx %i out of bounds\n", opIdx);
43277 return -1;
43278 }
43279 } // getOperandSize
43280
43281 void execute(GPUDynInstPtr) override;
43282 void initiateAcc(GPUDynInstPtr) override;
43283 void completeAcc(GPUDynInstPtr) override;
43284 }; // Inst_FLAT__FLAT_ATOMIC_INC
43285
43287 {
43288 public:
43291
43292 int
43294 {
43296 } // getNumOperands
43297
43298 int numDstRegOperands() override { return 1; }
43299 int numSrcRegOperands() override { return isFlat() ? 2 : 3; }
43300
43301 int
43302 getOperandSize(int opIdx) override
43303 {
43304 switch (opIdx) {
43305 case 0: //vgpr_addr
43306 return vgprIsOffset() ? 4 : 8;
43307 case 1: //vgpr_src
43308 return 4;
43309 case 2: //vgpr_dst or saddr
43310 return isFlat() ? 4 : 8;
43311 case 3: //vgpr_dst
43312 assert(!isFlat());
43313 return 4;
43314 default:
43315 fatal("op idx %i out of bounds\n", opIdx);
43316 return -1;
43317 }
43318 } // getOperandSize
43319
43320 void execute(GPUDynInstPtr) override;
43321 void initiateAcc(GPUDynInstPtr) override;
43322 void completeAcc(GPUDynInstPtr) override;
43323 }; // Inst_FLAT__FLAT_ATOMIC_DEC
43324
43326 {
43327 public:
43330
43331 int
43333 {
43335 } // getNumOperands
43336
43337 int numDstRegOperands() override { return 1; }
43338 int numSrcRegOperands() override { return isFlat() ? 2 : 3; }
43339
43340 int
43341 getOperandSize(int opIdx) override
43342 {
43343 switch (opIdx) {
43344 case 0: //vgpr_addr
43345 return vgprIsOffset() ? 4 : 8;
43346 case 1: //vgpr_src
43347 return 8;
43348 case 2: //vgpr_dst or saddr
43349 return isFlat() ? 8 : 8;
43350 case 3: //vgpr_dst
43351 assert(!isFlat());
43352 return 8;
43353 default:
43354 fatal("op idx %i out of bounds\n", opIdx);
43355 return -1;
43356 }
43357 } // getOperandSize
43358
43359 void execute(GPUDynInstPtr) override;
43360 void initiateAcc(GPUDynInstPtr) override;
43361 void completeAcc(GPUDynInstPtr) override;
43362 }; // Inst_FLAT__FLAT_ATOMIC_SWAP_X2
43363
43365 {
43366 public:
43369
43370 int
43372 {
43374 } // getNumOperands
43375
43376 int numDstRegOperands() override { return 1; }
43377 int numSrcRegOperands() override { return isFlat() ? 2 : 3; }
43378
43379 int
43380 getOperandSize(int opIdx) override
43381 {
43382 switch (opIdx) {
43383 case 0: //vgpr_addr
43384 return vgprIsOffset() ? 4 : 8;
43385 case 1: //vgpr_src
43386 return 16;
43387 case 2: //vgpr_dst or saddr
43388 return isFlat() ? 8 : 8;
43389 case 3: //vgpr_dst
43390 assert(!isFlat());
43391 return 8;
43392 default:
43393 fatal("op idx %i out of bounds\n", opIdx);
43394 return -1;
43395 }
43396 } // getOperandSize
43397
43398 void execute(GPUDynInstPtr) override;
43399 void initiateAcc(GPUDynInstPtr) override;
43400 void completeAcc(GPUDynInstPtr) override;
43401 }; // Inst_FLAT__FLAT_ATOMIC_CMPSWAP_X2
43402
43404 {
43405 public:
43408
43409 int
43411 {
43413 } // getNumOperands
43414
43415 int numDstRegOperands() override { return 1; }
43416 int numSrcRegOperands() override { return isFlat() ? 2 : 3; }
43417
43418 int
43419 getOperandSize(int opIdx) override
43420 {
43421 switch (opIdx) {
43422 case 0: //vgpr_addr
43423 return vgprIsOffset() ? 4 : 8;
43424 case 1: //vgpr_src
43425 return 8;
43426 case 2: //vgpr_dst or saddr
43427 return isFlat() ? 8 : 8;
43428 case 3: //vgpr_dst
43429 assert(!isFlat());
43430 return 8;
43431 default:
43432 fatal("op idx %i out of bounds\n", opIdx);
43433 return -1;
43434 }
43435 } // getOperandSize
43436
43437 void execute(GPUDynInstPtr) override;
43438 void initiateAcc(GPUDynInstPtr) override;
43439 void completeAcc(GPUDynInstPtr) override;
43440 }; // Inst_FLAT__FLAT_ATOMIC_ADD_X2
43441
43443 {
43444 public:
43447
43448 int
43450 {
43452 } // getNumOperands
43453
43454 int numDstRegOperands() override { return 1; }
43455 int numSrcRegOperands() override { return isFlat() ? 2 : 3; }
43456
43457 int
43458 getOperandSize(int opIdx) override
43459 {
43460 switch (opIdx) {
43461 case 0: //vgpr_addr
43462 return vgprIsOffset() ? 4 : 8;
43463 case 1: //vgpr_src
43464 return 8;
43465 case 2: //vgpr_dst or saddr
43466 return isFlat() ? 8 : 8;
43467 case 3: //vgpr_dst
43468 assert(!isFlat());
43469 return 8;
43470 default:
43471 fatal("op idx %i out of bounds\n", opIdx);
43472 return -1;
43473 }
43474 } // getOperandSize
43475
43476 void execute(GPUDynInstPtr) override;
43477 void initiateAcc(GPUDynInstPtr) override;
43478 void completeAcc(GPUDynInstPtr) override;
43479 }; // Inst_FLAT__FLAT_ATOMIC_SUB_X2
43480
43482 {
43483 public:
43486
43487 int
43489 {
43491 } // getNumOperands
43492
43493 int numDstRegOperands() override { return 1; }
43494 int numSrcRegOperands() override { return isFlat() ? 2 : 3; }
43495
43496 int
43497 getOperandSize(int opIdx) override
43498 {
43499 switch (opIdx) {
43500 case 0: //vgpr_addr
43501 return vgprIsOffset() ? 4 : 8;
43502 case 1: //vgpr_src
43503 return 8;
43504 case 2: //vgpr_dst or saddr
43505 return isFlat() ? 8 : 8;
43506 case 3: //vgpr_dst
43507 assert(!isFlat());
43508 return 8;
43509 default:
43510 fatal("op idx %i out of bounds\n", opIdx);
43511 return -1;
43512 }
43513 } // getOperandSize
43514
43515 void execute(GPUDynInstPtr) override;
43516 void initiateAcc(GPUDynInstPtr) override;
43517 void completeAcc(GPUDynInstPtr) override;
43518 }; // Inst_FLAT__FLAT_ATOMIC_SMIN_X2
43519
43521 {
43522 public:
43525
43526 int
43528 {
43530 } // getNumOperands
43531
43532 int numDstRegOperands() override { return 1; }
43533 int numSrcRegOperands() override { return isFlat() ? 2 : 3; }
43534
43535 int
43536 getOperandSize(int opIdx) override
43537 {
43538 switch (opIdx) {
43539 case 0: //vgpr_addr
43540 return vgprIsOffset() ? 4 : 8;
43541 case 1: //vgpr_src
43542 return 8;
43543 case 2: //vgpr_dst or saddr
43544 return isFlat() ? 8 : 8;
43545 case 3: //vgpr_dst
43546 assert(!isFlat());
43547 return 8;
43548 default:
43549 fatal("op idx %i out of bounds\n", opIdx);
43550 return -1;
43551 }
43552 } // getOperandSize
43553
43554 void execute(GPUDynInstPtr) override;
43555 void initiateAcc(GPUDynInstPtr) override;
43556 void completeAcc(GPUDynInstPtr) override;
43557 }; // Inst_FLAT__FLAT_ATOMIC_UMIN_X2
43558
43560 {
43561 public:
43564
43565 int
43567 {
43569 } // getNumOperands
43570
43571 int numDstRegOperands() override { return 1; }
43572 int numSrcRegOperands() override { return isFlat() ? 2 : 3; }
43573
43574 int
43575 getOperandSize(int opIdx) override
43576 {
43577 switch (opIdx) {
43578 case 0: //vgpr_addr
43579 return vgprIsOffset() ? 4 : 8;
43580 case 1: //vgpr_src
43581 return 8;
43582 case 2: //vgpr_dst or saddr
43583 return isFlat() ? 8 : 8;
43584 case 3: //vgpr_dst
43585 assert(!isFlat());
43586 return 8;
43587 default:
43588 fatal("op idx %i out of bounds\n", opIdx);
43589 return -1;
43590 }
43591 } // getOperandSize
43592
43593 void execute(GPUDynInstPtr) override;
43594 void initiateAcc(GPUDynInstPtr) override;
43595 void completeAcc(GPUDynInstPtr) override;
43596 }; // Inst_FLAT__FLAT_ATOMIC_SMAX_X2
43597
43599 {
43600 public:
43603
43604 int
43606 {
43608 } // getNumOperands
43609
43610 int numDstRegOperands() override { return 1; }
43611 int numSrcRegOperands() override { return isFlat() ? 2 : 3; }
43612
43613 int
43614 getOperandSize(int opIdx) override
43615 {
43616 switch (opIdx) {
43617 case 0: //vgpr_addr
43618 return vgprIsOffset() ? 4 : 8;
43619 case 1: //vgpr_src
43620 return 8;
43621 case 2: //vgpr_dst or saddr
43622 return isFlat() ? 8 : 8;
43623 case 3: //vgpr_dst
43624 assert(!isFlat());
43625 return 8;
43626 default:
43627 fatal("op idx %i out of bounds\n", opIdx);
43628 return -1;
43629 }
43630 } // getOperandSize
43631
43632 void execute(GPUDynInstPtr) override;
43633 void initiateAcc(GPUDynInstPtr) override;
43634 void completeAcc(GPUDynInstPtr) override;
43635 }; // Inst_FLAT__FLAT_ATOMIC_UMAX_X2
43636
43638 {
43639 public:
43642
43643 int
43645 {
43647 } // getNumOperands
43648
43649 int numDstRegOperands() override { return 1; }
43650 int numSrcRegOperands() override { return isFlat() ? 2 : 3; }
43651
43652 int
43653 getOperandSize(int opIdx) override
43654 {
43655 switch (opIdx) {
43656 case 0: //vgpr_addr
43657 return vgprIsOffset() ? 4 : 8;
43658 case 1: //vgpr_src
43659 return 8;
43660 case 2: //vgpr_dst or saddr
43661 return isFlat() ? 8 : 8;
43662 case 3: //vgpr_dst
43663 assert(!isFlat());
43664 return 8;
43665 default:
43666 fatal("op idx %i out of bounds\n", opIdx);
43667 return -1;
43668 }
43669 } // getOperandSize
43670
43671 void execute(GPUDynInstPtr) override;
43672 void initiateAcc(GPUDynInstPtr) override;
43673 void completeAcc(GPUDynInstPtr) override;
43674 }; // Inst_FLAT__FLAT_ATOMIC_AND_X2
43675
43677 {
43678 public:
43681
43682 int
43684 {
43686 } // getNumOperands
43687
43688 int numDstRegOperands() override { return 1; }
43689 int numSrcRegOperands() override { return isFlat() ? 2 : 3; }
43690
43691 int
43692 getOperandSize(int opIdx) override
43693 {
43694 switch (opIdx) {
43695 case 0: //vgpr_addr
43696 return vgprIsOffset() ? 4 : 8;
43697 case 1: //vgpr_src
43698 return 8;
43699 case 2: //vgpr_dst or saddr
43700 return isFlat() ? 8 : 8;
43701 case 3: //vgpr_dst
43702 assert(!isFlat());
43703 return 8;
43704 default:
43705 fatal("op idx %i out of bounds\n", opIdx);
43706 return -1;
43707 }
43708 } // getOperandSize
43709
43710 void execute(GPUDynInstPtr) override;
43711 void initiateAcc(GPUDynInstPtr) override;
43712 void completeAcc(GPUDynInstPtr) override;
43713 }; // Inst_FLAT__FLAT_ATOMIC_OR_X2
43714
43716 {
43717 public:
43720
43721 int
43723 {
43725 } // getNumOperands
43726
43727 int numDstRegOperands() override { return 1; }
43728 int numSrcRegOperands() override { return isFlat() ? 2 : 3; }
43729
43730 int
43731 getOperandSize(int opIdx) override
43732 {
43733 switch (opIdx) {
43734 case 0: //vgpr_addr
43735 return vgprIsOffset() ? 4 : 8;
43736 case 1: //vgpr_src
43737 return 8;
43738 case 2: //vgpr_dst or saddr
43739 return isFlat() ? 8 : 8;
43740 case 3: //vgpr_dst
43741 assert(!isFlat());
43742 return 8;
43743 default:
43744 fatal("op idx %i out of bounds\n", opIdx);
43745 return -1;
43746 }
43747 } // getOperandSize
43748
43749 void execute(GPUDynInstPtr) override;
43750 void initiateAcc(GPUDynInstPtr) override;
43751 void completeAcc(GPUDynInstPtr) override;
43752 }; // Inst_FLAT__FLAT_ATOMIC_XOR_X2
43753
43755 {
43756 public:
43759
43760 int
43762 {
43764 } // getNumOperands
43765
43766 int numDstRegOperands() override { return 1; }
43767 int numSrcRegOperands() override { return isFlat() ? 2 : 3; }
43768
43769 int
43770 getOperandSize(int opIdx) override
43771 {
43772 switch (opIdx) {
43773 case 0: //vgpr_addr
43774 return vgprIsOffset() ? 4 : 8;
43775 case 1: //vgpr_src
43776 return 8;
43777 case 2: //vgpr_dst or saddr
43778 return isFlat() ? 8 : 8;
43779 case 3: //vgpr_dst
43780 assert(!isFlat());
43781 return 8;
43782 default:
43783 fatal("op idx %i out of bounds\n", opIdx);
43784 return -1;
43785 }
43786 } // getOperandSize
43787
43788 void execute(GPUDynInstPtr) override;
43789 void initiateAcc(GPUDynInstPtr) override;
43790 void completeAcc(GPUDynInstPtr) override;
43791 }; // Inst_FLAT__FLAT_ATOMIC_INC_X2
43792
43794 {
43795 public:
43798
43799 int
43801 {
43803 } // getNumOperands
43804
43805 int numDstRegOperands() override { return 1; }
43806 int numSrcRegOperands() override { return isFlat() ? 2 : 3; }
43807
43808 int
43809 getOperandSize(int opIdx) override
43810 {
43811 switch (opIdx) {
43812 case 0: //vgpr_addr
43813 return vgprIsOffset() ? 4 : 8;
43814 case 1: //vgpr_src
43815 return 8;
43816 case 2: //vgpr_dst or saddr
43817 return isFlat() ? 8 : 8;
43818 case 3: //vgpr_dst
43819 assert(!isFlat());
43820 return 8;
43821 default:
43822 fatal("op idx %i out of bounds\n", opIdx);
43823 return -1;
43824 }
43825 } // getOperandSize
43826
43827 void execute(GPUDynInstPtr) override;
43828 void initiateAcc(GPUDynInstPtr) override;
43829 void completeAcc(GPUDynInstPtr) override;
43830 }; // Inst_FLAT__FLAT_ATOMIC_DEC_X2
43831
43833 {
43834 public:
43837
43838 int
43840 {
43842 } // getNumOperands
43843
43844 int numDstRegOperands() override { return 1; }
43845 int numSrcRegOperands() override { return isFlat() ? 2 : 3; }
43846
43847 int
43848 getOperandSize(int opIdx) override
43849 {
43850 switch (opIdx) {
43851 case 0: //vgpr_addr
43852 return vgprIsOffset() ? 4 : 8;
43853 case 1: //vgpr_src
43854 return 4;
43855 case 2: //vgpr_dst or saddr
43856 return isFlat() ? 4 : 8;
43857 case 3: //vgpr_dst
43858 assert(!isFlat());
43859 return 4;
43860 default:
43861 fatal("op idx %i out of bounds\n", opIdx);
43862 return -1;
43863 }
43864 } // getOperandSize
43865
43866 void execute(GPUDynInstPtr) override;
43867 void initiateAcc(GPUDynInstPtr) override;
43868 void completeAcc(GPUDynInstPtr) override;
43869 }; // Inst_FLAT__FLAT_ATOMIC_ADD_F32
43870
43872 {
43873 public:
43876
43877 int
43879 {
43881 } // getNumOperands
43882
43883 int numDstRegOperands() override { return 1; }
43884 int numSrcRegOperands() override { return isFlat() ? 2 : 3; }
43885
43886 int
43887 getOperandSize(int opIdx) override
43888 {
43889 switch (opIdx) {
43890 case 0: //vgpr_addr
43891 return vgprIsOffset() ? 4 : 8;
43892 case 1: //vgpr_src
43893 return 4;
43894 case 2: //vgpr_dst or saddr
43895 return isFlat() ? 4 : 8;
43896 case 3: //vgpr_dst
43897 assert(!isFlat());
43898 return 4;
43899 default:
43900 fatal("op idx %i out of bounds\n", opIdx);
43901 return -1;
43902 }
43903 } // getOperandSize
43904
43905 void execute(GPUDynInstPtr) override;
43906 void initiateAcc(GPUDynInstPtr) override;
43907 void completeAcc(GPUDynInstPtr) override;
43908 }; // Inst_FLAT__FLAT_ATOMIC_PK_ADD_F16
43909
43911 {
43912 public:
43915
43916 int
43918 {
43920 } // getNumOperands
43921
43922 int numDstRegOperands() override { return 1; }
43923 int numSrcRegOperands() override { return isFlat() ? 2 : 3; }
43924
43925 int
43926 getOperandSize(int opIdx) override
43927 {
43928 switch (opIdx) {
43929 case 0: //vgpr_addr
43930 return vgprIsOffset() ? 4 : 8;
43931 case 1: //vgpr_src
43932 return 8;
43933 case 2: //vgpr_dst or saddr
43934 return isFlat() ? 8 : 8;
43935 case 3: //vgpr_dst
43936 assert(!isFlat());
43937 return 8;
43938 default:
43939 fatal("op idx %i out of bounds\n", opIdx);
43940 return -1;
43941 }
43942 } // getOperandSize
43943
43944 void execute(GPUDynInstPtr) override;
43945 void initiateAcc(GPUDynInstPtr) override;
43946 void completeAcc(GPUDynInstPtr) override;
43947 }; // Inst_FLAT__FLAT_ATOMIC_ADD_F64
43948
43950 {
43951 public:
43954
43955 int
43957 {
43959 } // getNumOperands
43960
43961 int numDstRegOperands() override { return 1; }
43962 int numSrcRegOperands() override { return isFlat() ? 2 : 3; }
43963
43964 int
43965 getOperandSize(int opIdx) override
43966 {
43967 switch (opIdx) {
43968 case 0: //vgpr_addr
43969 return vgprIsOffset() ? 4 : 8;
43970 case 1: //vgpr_src
43971 return 8;
43972 case 2: //vgpr_dst or saddr
43973 return isFlat() ? 8 : 8;
43974 case 3: //vgpr_dst
43975 assert(!isFlat());
43976 return 8;
43977 default:
43978 fatal("op idx %i out of bounds\n", opIdx);
43979 return -1;
43980 }
43981 } // getOperandSize
43982
43983 void execute(GPUDynInstPtr) override;
43984 void initiateAcc(GPUDynInstPtr) override;
43985 void completeAcc(GPUDynInstPtr) override;
43986 }; // Inst_FLAT__FLAT_ATOMIC_MIN_F64
43987
43989 {
43990 public:
43993
43994 int
43996 {
43998 } // getNumOperands
43999
44000 int numDstRegOperands() override { return 1; }
44001 int numSrcRegOperands() override { return isFlat() ? 2 : 3; }
44002
44003 int
44004 getOperandSize(int opIdx) override
44005 {
44006 switch (opIdx) {
44007 case 0: //vgpr_addr
44008 return vgprIsOffset() ? 4 : 8;
44009 case 1: //vgpr_src
44010 return 8;
44011 case 2: //vgpr_dst or saddr
44012 return isFlat() ? 8 : 8;
44013 case 3: //vgpr_dst
44014 assert(!isFlat());
44015 return 8;
44016 default:
44017 fatal("op idx %i out of bounds\n", opIdx);
44018 return -1;
44019 }
44020 } // getOperandSize
44021
44022 void execute(GPUDynInstPtr) override;
44023 void initiateAcc(GPUDynInstPtr) override;
44024 void completeAcc(GPUDynInstPtr) override;
44025 }; // Inst_FLAT__FLAT_ATOMIC_MAX_F64
44026
44028 {
44029 public:
44032
44033 int
44035 {
44037 } // getNumOperands
44038
44039 int numDstRegOperands() override { return 1; }
44040 int numSrcRegOperands() override { return 3; }
44041
44042 int
44043 getOperandSize(int opIdx) override
44044 {
44045 switch (opIdx) {
44046 case 0: // src0
44047 return 8;
44048 case 1: // src1
44049 return 8;
44050 case 2: // src2
44051 return 8;
44052 case 3: // dst
44053 return 8;
44054 default:
44055 fatal("op idx %i out of bounds\n", opIdx);
44056 return -1;
44057 }
44058 } // getOperandSize
44059
44060 void execute(GPUDynInstPtr) override;
44061 }; // Inst_VOP3P__V_PK_FMA_F32
44062
44064 {
44065 public:
44068
44069 int
44071 {
44073 } // getNumOperands
44074
44075 int numDstRegOperands() override { return 1; }
44076 int numSrcRegOperands() override { return 2; }
44077
44078 int
44079 getOperandSize(int opIdx) override
44080 {
44081 switch (opIdx) {
44082 case 0: // src0
44083 return 8;
44084 case 1: // src1
44085 return 8;
44086 case 2: // dst
44087 return 8;
44088 default:
44089 fatal("op idx %i out of bounds\n", opIdx);
44090 return -1;
44091 }
44092 } // getOperandSize
44093
44094 void execute(GPUDynInstPtr) override;
44095 }; // Inst_VOP3P__V_PK_MUL_F32
44096
44098 {
44099 public:
44102
44103 int
44105 {
44107 } // getNumOperands
44108
44109 int numDstRegOperands() override { return 1; }
44110 int numSrcRegOperands() override { return 2; }
44111
44112 int
44113 getOperandSize(int opIdx) override
44114 {
44115 switch (opIdx) {
44116 case 0: // src0
44117 return 8;
44118 case 1: // src1
44119 return 8;
44120 case 2: // dst
44121 return 8;
44122 default:
44123 fatal("op idx %i out of bounds\n", opIdx);
44124 return -1;
44125 }
44126 } // getOperandSize
44127
44128 void execute(GPUDynInstPtr) override;
44129 }; // Inst_VOP3P__V_PK_ADD_F32
44130
44132 {
44133 public:
44136
44137 int
44139 {
44141 } // getNumOperands
44142
44143 int numDstRegOperands() override { return 1; }
44144 int numSrcRegOperands() override { return 2; }
44145
44146 int
44147 getOperandSize(int opIdx) override
44148 {
44149 switch (opIdx) {
44150 case 0: // src0
44151 return 8;
44152 case 1: // src1
44153 return 8;
44154 case 2: // dst
44155 return 8;
44156 default:
44157 fatal("op idx %i out of bounds\n", opIdx);
44158 return -1;
44159 }
44160 } // getOperandSize
44161
44162 void execute(GPUDynInstPtr) override;
44163 }; // Inst_VOP3P__V_PK_MOV_B32
44164
44165 template <const int _delta, const int M, const int N, const int K,
44166 const int B, typename T1, typename T2, const char **MNEMONIC>
44168 {
44169
44170 private:
44171 static constexpr int gprs_a = M * K * B / 64, gprs_b = K * N * B / 64,
44172 gprs_c_d = M * N * B / 64;
44173
44174 public:
44176 : Inst_VOP3P_MAI(iFmt, *MNEMONIC)
44177 {
44178 setFlag(ALU);
44179 setFlag(MFMA);
44180 if (_delta == 2) {
44181 setFlag(F64);
44182 } else if (_delta == 1) {
44183 setFlag(F32);
44184 }
44185 }
44187
44188 int getNumOperands() override {
44190 } // getNumOperands
44191
44192 int numDstRegOperands() override { return 1; }
44193 int numSrcRegOperands() override { return 3; }
44194
44195 int getOperandSize(int opIdx) override {
44196 switch (opIdx) {
44197 case 0: // src0 "A"
44198 return 4*gprs_a;
44199 case 1: // src1 "B"
44200 return 4*gprs_b;
44201 case 2: // src2 "C"
44202 return 4*gprs_c_d;
44203 case 3: // dst
44204 return 4*gprs_c_d;
44205 default:
44206 fatal("op idx %i out of bounds\n", opIdx);
44207 return -1;
44208 }
44209 } // getOperandSize
44210
44211 void
44212 execute(GPUDynInstPtr gpuDynInst) override
44213 {
44214 int acc_cd_off = 0;
44215 int acc_a_off = 0;
44216 int acc_b_off = 0;
44217 if (instData.ACC_CD) {
44218 acc_cd_off = gpuDynInst->wavefront()->accumOffset;
44219 }
44220 if (extData.ACC) {
44221 int tmp_acc = extData.ACC;
44222 if (tmp_acc & 0x1) {
44223 acc_a_off = gpuDynInst->wavefront()->accumOffset;
44224 }
44225 if (tmp_acc & 0x2) {
44226 acc_b_off = gpuDynInst->wavefront()->accumOffset;
44227 }
44228 }
44229
44230 alignas(T1) std::byte _src0[sizeof(T1) * gprs_a];
44231 alignas(T1) std::byte _src1[sizeof(T1) * gprs_b];
44232 alignas(T1) std::byte _src2[sizeof(T1) * gprs_c_d];
44233 alignas(T2) std::byte _vdst[sizeof(T2) * gprs_c_d];
44234 T1 *src0 = std::launder(reinterpret_cast<T1*>(&_src0));
44235 T1 *src1 = std::launder(reinterpret_cast<T1*>(&_src1));
44236 T1 *src2 = std::launder(reinterpret_cast<T1*>(&_src2));
44237 T2 *vdst = std::launder(reinterpret_cast<T2*>(&_vdst));
44238
44239 // Handling of src2 is a bit tricky. The operator[] overload cannot
44240 // be used for dword count > 2, and the dword count here is 4. Usually
44241 // src2 is a VGPR/AccGPR, but it might also be constant. In order to
44242 // use operator[] and handle constants, check for VGPR here and set
44243 // a delta for each of the src2 GPRs.
44244 int delta = isVectorReg(extData.SRC0) ? _delta : 0;
44245 for (int i = 0; i < gprs_a; i++) {
44246 new (&src0[i]) T1(gpuDynInst, extData.SRC0+acc_a_off+i*delta);
44247 src0[i].readSrc();
44248 }
44249
44250 delta = isVectorReg(extData.SRC1) ? _delta : 0;
44251 for (int i = 0; i < gprs_b; i++) {
44252 new (&src1[i]) T1(gpuDynInst, extData.SRC1+acc_b_off+i*delta);
44253 src1[i].readSrc();
44254 }
44255
44256 delta = isVectorReg(extData.SRC2) ? _delta : 0;
44257 for (int i = 0; i < gprs_c_d; i++) {
44258 new (&src2[i]) T1(gpuDynInst, extData.SRC2+acc_cd_off+i*delta);
44259 src2[i].readSrc();
44260 }
44261
44262 for (int i = 0; i < gprs_c_d; i++) {
44263 new (&vdst[i]) T2(gpuDynInst, instData.VDST+acc_cd_off+i*_delta);
44264 }
44265
44266 // These values and meanings are described in the MI300 ISA manual:
44267 //
44268 // https://www.amd.com/content/dam/amd/en/documents/instinct-tech-docs/
44269 // instruction-set-architectures/
44270 // amd-instinct-mi300-cdna3-instruction-set-architecture.pdf
44271 //
44272 // in section 7.1.4.2. In theory, only the M, N, K, and H values change
44273 // for each MFMA instruction.
44274
44275 // Output layout
44276 constexpr int H = _delta == 2 ? 1 : 4;
44277
44278 // This replaces `constexpr int B_I = std::ceil(64.0f / (N * M / H));`
44279 // which failed clang compiler tests as it's not a constant expression.
44280 constexpr float B_I_f = 64.0f / (N * M / H);
44281 constexpr int B_I =
44282 (static_cast<float>(static_cast<int>(B_I_f)) == B_I_f)
44283 ? static_cast<int32_t>(B_I_f)
44284 : static_cast<int32_t>(B_I_f) + ((B_I_f > 0) ? 1 : 0);
44285
44286 constexpr int M_I = (64 / B_I) / N;
44287 constexpr int G = M / (H * M_I);
44288
44289 float result[M][N];
44290
44291 // Input layout
44292 constexpr int K_L = K / (64 / (M * B));
44293
44294 for (int block = 0; block < B; block++) {
44295 // Load src2 into result. src2 is row major
44296 for (int i = 0; i < M; ++i) {
44297 for (int j = 0; j < N; ++j) {
44298 int item = (i % H) + H * (i/(H*M_I) + G * (block / B_I));
44299 int lane = j + N * ((i / H) % M_I + M_I * (block % B_I));
44300
44301 result[i][j] = src2[item][lane];
44302 }
44303 }
44304
44305 // Compute new result
44306 for (int i = 0; i < M; ++i) {
44307 for (int j = 0; j < N; ++j) {
44308 for (int k = 0; k < K; ++k) {
44309 // src0 is column major, src1 is row major
44310 int lane_A = i + M * (block + B * (k / K_L));
44311 int lane_B = j + N * (block + B * (k / K_L));
44312 int item = k % K_L;
44313 result[i][j] +=
44314 src0[item][lane_A] * src1[item][lane_B];
44315 }
44316 }
44317 }
44318
44319 for (int i = 0; i < M; ++i) {
44320 for (int j = 0; j < N; ++j) {
44321 int item = (i % H) + H * (i/(H*M_I) + G * (block / B_I));
44322 int lane = j + N * ((i / H) % M_I + M_I * (block % B_I));
44323
44324 vdst[item][lane] = result[i][j];
44325 }
44326 }
44327 }
44328
44329 for (int i = 0; i < gprs_c_d; ++i) {
44330 vdst[i].write();
44331 }
44332
44333 for (int i = 0; i < gprs_a; i++) {
44334 std::destroy_at(&src0[i]);
44335 }
44336 for (int i = 0; i < gprs_b; i++) {
44337 std::destroy_at(&src1[i]);
44338 }
44339 for (int i = 0; i < gprs_c_d; i++) {
44340 std::destroy_at(&src2[i]);
44341 }
44342 for (int i = 0; i < gprs_c_d; i++) {
44343 std::destroy_at(&vdst[i]);
44344 }
44345 } // execute
44346 };
44347
44349 "v_mfma_f32_4x4x1_16b_f32";
44353
44355 "v_mfma_f32_32x32x1_2b_f32";
44360
44361 static const char *MNEM__V_MFMA_F32_32X32X2_F32 =
44362 "v_mfma_f32_32x32x2_f32";
44366
44367 static const char *MNEM__V_MFMA_F32_16X16X4_F32 =
44368 "v_mfma_f32_16x16x4_f32";
44372
44374 "v_mfma_f32_16x16x1_4b_f32";
44379
44381 "v_mfma_f64_4x4x4_4b_f64";
44385
44386 static const char *MNEM__V_MFMA_F64_16X16X4_F64 =
44387 "v_mfma_f64_16x16x4_f64";
44391
44392
44393 template <const int M, const int N, const int K,
44394 const int B, typename MXFPT, const char **MNEMONIC>
44396 {
44397
44398 private:
44399 // Scale GPRs needed by elements / GPR (gpr_ratio)
44400 static constexpr int gpr_ratio = 32 / MXFPT::size();
44401 static constexpr int gprs_a = M * K * B / (64 * gpr_ratio);
44402 static constexpr int gprs_b = K * N * B / (64 * gpr_ratio);
44403
44404 // Always F32 which has an effective gpr_ratio of 1
44405 static constexpr int gprs_c_d = M * N * B / 64;
44406
44407 public:
44409 : Inst_VOP3P_MAI(iFmt, *MNEMONIC)
44410 {
44411 setFlag(ALU);
44412 setFlag(MFMA);
44413 if (MXFPT::size() == 16) {
44414 setFlag(F16);
44415 }
44416 }
44418
44419 int getNumOperands() override {
44421 } // getNumOperands
44422
44423 int numDstRegOperands() override { return 1; }
44424 int numSrcRegOperands() override { return 3; }
44425
44426 int getOperandSize(int opIdx) override {
44427 switch (opIdx) {
44428 case 0: // src0 "A"
44429 return 4*gprs_a;
44430 case 1: // src1 "B"
44431 return 4*gprs_b;
44432 case 2: // src2 "C"
44433 return 4*gprs_c_d;
44434 case 3: // dst
44435 return 4*gprs_c_d;
44436 default:
44437 fatal("op idx %i out of bounds\n", opIdx);
44438 return -1;
44439 }
44440 } // getOperandSize
44441
44442 void
44443 execute(GPUDynInstPtr gpuDynInst) override
44444 {
44445 int acc_cd_off = 0;
44446 int acc_a_off = 0;
44447 int acc_b_off = 0;
44448 if (instData.ACC_CD) {
44449 acc_cd_off = gpuDynInst->wavefront()->accumOffset;
44450 }
44451 if (extData.ACC) {
44452 int tmp_acc = extData.ACC;
44453 if (tmp_acc & 0x1) {
44454 acc_a_off = gpuDynInst->wavefront()->accumOffset;
44455 }
44456 if (tmp_acc & 0x2) {
44457 acc_b_off = gpuDynInst->wavefront()->accumOffset;
44458 }
44459 }
44460
44461 // Read the MXFP types as U32 - Consider this "untyped."
44462 // A ConstVecOperand needs to be used for src2 as it could be an
44463 // inline constant. The Const version provides an operator[] overload
44464 // to read inline constants to each lane. The non-const type of src2
44465 // should be used for vdst to make it writeable.
44466 using T1 = ConstVecOperandU32;
44467 using T2 = ConstVecOperandF32;
44468 using T3 = VecOperandF32;
44469
44470 alignas(T1) std::byte _src0[sizeof(T1) * gprs_a];
44471 alignas(T1) std::byte _src1[sizeof(T1) * gprs_b];
44472 alignas(T2) std::byte _src2[sizeof(T2) * gprs_c_d];
44473 alignas(T3) std::byte _vdst[sizeof(T3) * gprs_c_d];
44474 T1 *src0 = std::launder(reinterpret_cast<T1*>(&_src0));
44475 T1 *src1 = std::launder(reinterpret_cast<T1*>(&_src1));
44476 T2 *src2 = std::launder(reinterpret_cast<T2*>(&_src2));
44477 T3 *vdst = std::launder(reinterpret_cast<T3*>(&_vdst));
44478
44479 // Handling of src2 is a bit tricky. The operator[] overload cannot
44480 // be used for dword count > 2, and the dword count here is 4. Usually
44481 // src2 is a VGPR/AccGPR, but it might also be constant. In order to
44482 // use operator[] and handle constants, check for VGPR here and set
44483 // a delta for each of the src2 GPRs.
44484
44485 int delta = isVectorReg(extData.SRC0) ? 1 : 0;
44486 for (int i = 0; i < gprs_a; i++) {
44487 new (&src0[i]) T1(gpuDynInst, extData.SRC0+acc_a_off+i*delta);
44488 src0[i].readSrc();
44489 }
44490
44491 delta = isVectorReg(extData.SRC1) ? 1 : 0;
44492 for (int i = 0; i < gprs_b; i++) {
44493 new (&src1[i]) T1(gpuDynInst, extData.SRC1+acc_b_off+i*delta);
44494 src1[i].readSrc();
44495 }
44496
44497 delta = isVectorReg(extData.SRC2) ? 1 : 0;
44498 for (int i = 0; i < gprs_c_d; i++) {
44499 new (&src2[i]) T2(gpuDynInst, extData.SRC2+acc_cd_off+i*delta);
44500 src2[i].readSrc();
44501 }
44502
44503 for (int i = 0; i < gprs_c_d; i++) {
44504 new (&vdst[i]) T3(gpuDynInst, instData.VDST+acc_cd_off+i);
44505 }
44506
44507 // These values and meanings are described in the MI300 ISA manual:
44508 //
44509 // https://www.amd.com/content/dam/amd/en/documents/instinct-tech-docs/
44510 // instruction-set-architectures/
44511 // amd-instinct-mi300-cdna3-instruction-set-architecture.pdf
44512 //
44513 // in section 7.1.4.2. In theory, only the M, N, K, and H values change
44514 // for each MFMA instruction.
44515
44516 // Output layout
44517 constexpr int H = 4;
44518
44519 // This replaces `constexpr int B_I = std::ceil(64.0f / (N * M / H));`
44520 // which failed clang compiler tests as it's not a constant expression.
44521 constexpr float B_I_f = 64.0f / (N * M / H);
44522 constexpr int B_I =
44523 (static_cast<float>(static_cast<int>(B_I_f)) == B_I_f)
44524 ? static_cast<int32_t>(B_I_f)
44525 : static_cast<int32_t>(B_I_f) + ((B_I_f > 0) ? 1 : 0);
44526 constexpr int M_I = (64 / B_I) / N;
44527 constexpr int G = M / (H * M_I);
44528
44529 float result[M][N];
44530
44531 // Input layout
44532 constexpr int K_L = K / (64 / (M * B));
44533
44534 for (int block = 0; block < B; block++) {
44535 // Load src2 into result. src2 is row major
44536 for (int i = 0; i < M; ++i) {
44537 for (int j = 0; j < N; ++j) {
44538 int item = (i % H) + H * (i/(H*M_I) + G * (block / B_I));
44539 int lane = j + N * ((i / H) % M_I + M_I * (block % B_I));
44540
44541 result[i][j] = src2[item][lane];
44542 }
44543 }
44544
44545 // Compute new result
44546 for (int i = 0; i < M; ++i) {
44547 for (int j = 0; j < N; ++j) {
44548 for (int k = 0; k < K; ++k) {
44549 // src0 is column major, src1 is row major
44550 int lane_A = i + M * (block + B * (k / K_L));
44551 int lane_B = j + N * (block + B * (k / K_L));
44552 int item = k % K_L;
44553
44554 PackedReg<K_L * MXFPT::size(), MXFPT::size()> A_elems;
44555 PackedReg<K_L * MXFPT::size(), MXFPT::size()> B_elems;
44556
44557 for (int i = 0; i < gprs_a; ++i) {
44558 A_elems.setDword(i, src0[i][lane_A]);
44559 }
44560 for (int i = 0; i < gprs_b; ++i) {
44561 B_elems.setDword(i, src1[i][lane_B]);
44562 }
44563
44564 MXFPT item_A(A_elems.getElem(item));
44565 MXFPT item_B(B_elems.getElem(item));
44566
44567 result[i][j] += item_A * item_B;
44568 }
44569 }
44570 }
44571
44572 for (int i = 0; i < M; ++i) {
44573 for (int j = 0; j < N; ++j) {
44574 int item = (i % H) + H * (i/(H*M_I) + G * (block / B_I));
44575 int lane = j + N * ((i / H) % M_I + M_I * (block % B_I));
44576
44577 vdst[item][lane] = result[i][j];
44578 }
44579 }
44580 }
44581
44582 for (int i = 0; i < gprs_c_d; ++i) {
44583 vdst[i].write();
44584 }
44585
44586 for (int i = 0; i < gprs_a; i++) {
44587 std::destroy_at(&src0[i]);
44588 }
44589 for (int i = 0; i < gprs_b; i++) {
44590 std::destroy_at(&src1[i]);
44591 }
44592 for (int i = 0; i < gprs_c_d; i++) {
44593 std::destroy_at(&src2[i]);
44594 }
44595 for (int i = 0; i < gprs_c_d; i++) {
44596 std::destroy_at(&vdst[i]);
44597 }
44598 } // execute
44599 };
44600
44601
44603 "v_mfma_f32_16x16x16_f16";
44607
44609 "v_mfma_f32_16x16x4_4b_f16";
44613
44615 "v_mfma_f32_32x32x4_2b_f16";
44619
44620 static const char *NMEM__V_MFMA_F32_32X32X8_F16 =
44621 "v_mfma_f32_32x32x8_f16";
44625
44627 "v_mfma_f32_4x4x4_16b_f16";
44631
44633 "v_mfma_f32_32x32x8_bf16";
44637
44638
44639 template <const int M, const int N, const int K,
44640 const int B, const char **MNEMONIC>
44642 {
44643
44644 private:
44645 // Only int8 exists at the moment, but make the type a parameter.
44646 using DT = int8_t;
44647 static constexpr int DT_bits = sizeof(DT) * 8;
44648
44649 // Scale GPRs needed by elements / GPR (gpr_ratio)
44650 static constexpr int gpr_ratio = 32 / DT_bits;
44651 static constexpr int gprs_a = M * K * B / (64 * gpr_ratio);
44652 static constexpr int gprs_b = K * N * B / (64 * gpr_ratio);
44653
44654 // Always F32 which has an effective gpr_ratio of 1
44655 static constexpr int gprs_c_d = M * N * B / 64;
44656
44657 public:
44659 : Inst_VOP3P_MAI(iFmt, *MNEMONIC)
44660 {
44661 setFlag(ALU);
44662 setFlag(MFMA);
44663 setFlag(I8);
44664 }
44666
44667 int getNumOperands() override {
44669 } // getNumOperands
44670
44671 int numDstRegOperands() override { return 1; }
44672 int numSrcRegOperands() override { return 3; }
44673
44674 int getOperandSize(int opIdx) override {
44675 switch (opIdx) {
44676 case 0: // src0 "A"
44677 return 4*gprs_a;
44678 case 1: // src1 "B"
44679 return 4*gprs_b;
44680 case 2: // src2 "C"
44681 return 4*gprs_c_d;
44682 case 3: // dst
44683 return 4*gprs_c_d;
44684 default:
44685 fatal("op idx %i out of bounds\n", opIdx);
44686 return -1;
44687 }
44688 } // getOperandSize
44689
44690 void
44691 execute(GPUDynInstPtr gpuDynInst) override
44692 {
44693 int acc_cd_off = 0;
44694 int acc_a_off = 0;
44695 int acc_b_off = 0;
44696 if (instData.ACC_CD) {
44697 acc_cd_off = gpuDynInst->wavefront()->accumOffset;
44698 }
44699 if (extData.ACC) {
44700 int tmp_acc = extData.ACC;
44701 if (tmp_acc & 0x1) {
44702 acc_a_off = gpuDynInst->wavefront()->accumOffset;
44703 }
44704 if (tmp_acc & 0x2) {
44705 acc_b_off = gpuDynInst->wavefront()->accumOffset;
44706 }
44707 }
44708
44709 // Read the packed types as U32 - Consider this "untyped."
44710 // A ConstVecOperand needs to be used for src2 as it could be an
44711 // inline constant. The Const version provides an operator[] overload
44712 // to read inline constants to each lane. The non-const type of src2
44713 // should be used for vdst to make it writeable.
44714 using T1 = ConstVecOperandU32;
44715 using T2 = ConstVecOperandI32;
44716 using T3 = VecOperandI32;
44717
44718 alignas(T1) std::byte _src0[sizeof(T1) * gprs_a];
44719 alignas(T1) std::byte _src1[sizeof(T1) * gprs_b];
44720 alignas(T2) std::byte _src2[sizeof(T2) * gprs_c_d];
44721 alignas(T3) std::byte _vdst[sizeof(T3) * gprs_c_d];
44722 T1 *src0 = std::launder(reinterpret_cast<T1*>(&_src0));
44723 T1 *src1 = std::launder(reinterpret_cast<T1*>(&_src1));
44724 T2 *src2 = std::launder(reinterpret_cast<T2*>(&_src2));
44725 T3 *vdst = std::launder(reinterpret_cast<T3*>(&_vdst));
44726
44727 // Handling of src2 is a bit tricky. The operator[] overload cannot
44728 // be used for dword count > 2, and the dword count here is 4. Usually
44729 // src2 is a VGPR/AccGPR, but it might also be constant. In order to
44730 // use operator[] and handle constants, check for VGPR here and set
44731 // a delta for each of the src2 GPRs.
44732
44733 int delta = isVectorReg(extData.SRC0) ? 1 : 0;
44734 for (int i = 0; i < gprs_a; i++) {
44735 new (&src0[i]) T1(gpuDynInst, extData.SRC0+acc_a_off+i*delta);
44736 src0[i].readSrc();
44737 }
44738
44739 delta = isVectorReg(extData.SRC1) ? 1 : 0;
44740 for (int i = 0; i < gprs_b; i++) {
44741 new (&src1[i]) T1(gpuDynInst, extData.SRC1+acc_b_off+i*delta);
44742 src1[i].readSrc();
44743 }
44744
44745 delta = isVectorReg(extData.SRC2) ? 1 : 0;
44746 for (int i = 0; i < gprs_c_d; i++) {
44747 new (&src2[i]) T2(gpuDynInst, extData.SRC2+acc_cd_off+i*delta);
44748 src2[i].readSrc();
44749 }
44750
44751 for (int i = 0; i < gprs_c_d; i++) {
44752 new (&vdst[i]) T3(gpuDynInst, instData.VDST+acc_cd_off+i);
44753 }
44754
44755 // These values and meanings are described in the MI300 ISA manual:
44756 //
44757 // https://www.amd.com/content/dam/amd/en/documents/instinct-tech-docs/
44758 // instruction-set-architectures/
44759 // amd-instinct-mi300-cdna3-instruction-set-architecture.pdf
44760 //
44761 // in section 7.1.4.2. In theory, only the M, N, K, and H values change
44762 // for each MFMA instruction.
44763
44764 // Output layout
44765 constexpr int H = 4;
44766
44767 // This replaces `constexpr int B_I = std::ceil(64.0f / (N * M / H));`
44768 // which failed clang compiler tests as it's not a constant expression.
44769 constexpr float B_I_f = 64.0f / (N * M / H);
44770 constexpr int B_I =
44771 (static_cast<float>(static_cast<int>(B_I_f)) == B_I_f)
44772 ? static_cast<int32_t>(B_I_f)
44773 : static_cast<int32_t>(B_I_f) + ((B_I_f > 0) ? 1 : 0);
44774
44775 constexpr int M_I = (64 / B_I) / N;
44776 constexpr int G = M / (H * M_I);
44777
44778 int32_t result[M][N];
44779
44780 // Input layout
44781 constexpr int K_L = K / (64 / (M * B));
44782
44783 for (int block = 0; block < B; block++) {
44784 // Load src2 into result. src2 is row major
44785 for (int i = 0; i < M; ++i) {
44786 for (int j = 0; j < N; ++j) {
44787 int item = (i % H) + H * (i/(H*M_I) + G * (block / B_I));
44788 int lane = j + N * ((i / H) % M_I + M_I * (block % B_I));
44789
44790 result[i][j] = src2[item][lane];
44791 }
44792 }
44793
44794 // Compute new result
44795 for (int i = 0; i < M; ++i) {
44796 for (int j = 0; j < N; ++j) {
44797 for (int k = 0; k < K; ++k) {
44798 // src0 is column major, src1 is row major
44799 int lane_A = i + M * (block + B * (k / K_L));
44800 int lane_B = j + N * (block + B * (k / K_L));
44801 int item = k % K_L;
44802
44805
44806 for (int i = 0; i < gprs_a; ++i) {
44807 A_elems.setDword(i, src0[i][lane_A]);
44808 }
44809 for (int i = 0; i < gprs_b; ++i) {
44810 B_elems.setDword(i, src1[i][lane_B]);
44811 }
44812
44813 DT item_A(A_elems.getElem(item));
44814 DT item_B(B_elems.getElem(item));
44815
44816 result[i][j] += int32_t(item_A) * int32_t(item_B);
44817 }
44818 }
44819 }
44820
44821 for (int i = 0; i < M; ++i) {
44822 for (int j = 0; j < N; ++j) {
44823 int item = (i % H) + H * (i/(H*M_I) + G * (block / B_I));
44824 int lane = j + N * ((i / H) % M_I + M_I * (block % B_I));
44825
44826 vdst[item][lane] = result[i][j];
44827 }
44828 }
44829 }
44830
44831 for (int i = 0; i < gprs_c_d; ++i) {
44832 vdst[i].write();
44833 }
44834
44835 for (int i = 0; i < gprs_a; i++) {
44836 std::destroy_at(&src0[i]);
44837 }
44838 for (int i = 0; i < gprs_b; i++) {
44839 std::destroy_at(&src1[i]);
44840 }
44841 for (int i = 0; i < gprs_c_d; i++) {
44842 std::destroy_at(&src2[i]);
44843 }
44844 for (int i = 0; i < gprs_c_d; i++) {
44845 std::destroy_at(&vdst[i]);
44846 }
44847 } // execute
44848 };
44849
44850 static const char *MNEM__V_MFMA_I32_16X16X16_I8 =
44851 "v_mfma_i32_16x16x16_i8";
44853 Inst_VOP3P_MAI__V_MFMA_I8<16, 16, 16, 1,
44855
44856
44858 {
44859 public:
44862
44863 int
44865 {
44867 } // getNumOperands
44868
44869 int numDstRegOperands() override { return 1; }
44870 int numSrcRegOperands() override { return 2; }
44871
44872 int
44873 getOperandSize(int opIdx) override
44874 {
44875 switch (opIdx) {
44876 case 0: //src_0
44877 return 4;
44878 case 1: //src_1
44879 return 4;
44880 case 2: //vdst
44881 return 4;
44882 default:
44883 fatal("op idx %i out of bounds\n", opIdx);
44884 return -1;
44885 }
44886 } // getOperandSize
44887
44888 void execute(GPUDynInstPtr) override;
44889 }; // Inst_VOP3__V_CVT_PK_FP8_F32
44890} // namespace VegaISA
44891} // namespace gem5
44892
44893#endif // __ARCH_VEGA_INSTS_INSTRUCTIONS_HH__
#define DPRINTF(x,...)
Definition trace.hh:210
void setFlag(Flags flag)
void execute(GPUDynInstPtr) override
Definition ds.cc:743
void initiateAcc(GPUDynInstPtr gpuDynInst) override
Definition ds.cc:775
void completeAcc(GPUDynInstPtr gpuDynInst) override
Definition ds.cc:785
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition ds.cc:1451
void execute(GPUDynInstPtr) override
Definition ds.cc:991
void execute(GPUDynInstPtr) override
Definition ds.cc:2942
void execute(GPUDynInstPtr) override
Definition ds.cc:3938
void execute(GPUDynInstPtr) override
Definition ds.cc:3598
void execute(GPUDynInstPtr) override
Definition ds.cc:4201
Inst_DS__DS_ADD_U32(InFmt_DS *)
Definition ds.cc:41
void execute(GPUDynInstPtr) override
Definition ds.cc:58
void completeAcc(GPUDynInstPtr gpuDynInst) override
Definition ds.cc:100
void initiateAcc(GPUDynInstPtr gpuDynInst) override
Definition ds.cc:90
int getOperandSize(int opIdx) override
void completeAcc(GPUDynInstPtr gpuDynInst) override
Definition ds.cc:2365
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition ds.cc:2323
void initiateAcc(GPUDynInstPtr gpuDynInst) override
Definition ds.cc:2355
void execute(GPUDynInstPtr) override
Definition ds.cc:289
int getOperandSize(int opIdx) override
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition ds.cc:2555
void execute(GPUDynInstPtr) override
Definition ds.cc:1181
void execute(GPUDynInstPtr) override
Definition ds.cc:3133
void execute(GPUDynInstPtr) override
Definition ds.cc:3797
void execute(GPUDynInstPtr) override
Definition ds.cc:4400
void execute(GPUDynInstPtr) override
Definition ds.cc:4159
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition ds.cc:2236
void execute(GPUDynInstPtr) override
Definition ds.cc:620
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition ds.cc:2842
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition ds.cc:647
int getOperandSize(int opIdx) override
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition ds.cc:2869
void execute(GPUDynInstPtr) override
Definition ds.cc:1329
void execute(GPUDynInstPtr) override
Definition ds.cc:3281
void execute(GPUDynInstPtr) override
Definition ds.cc:1356
void execute(GPUDynInstPtr) override
Definition ds.cc:3308
void execute(GPUDynInstPtr) override
Definition ds.cc:3576
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition ds.cc:4140
void execute(GPUDynInstPtr) override
Definition ds.cc:1076
void execute(GPUDynInstPtr) override
Definition ds.cc:3028
void execute(GPUDynInstPtr) override
Definition ds.cc:3687
void execute(GPUDynInstPtr) override
Definition ds.cc:4290
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition ds.cc:184
void execute(GPUDynInstPtr) override
Definition ds.cc:2450
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition ds.cc:4120
void execute(GPUDynInstPtr) override
Definition ds.cc:3993
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition ds.cc:4049
void execute(GPUDynInstPtr) override
Definition ds.cc:4075
void execute(GPUDynInstPtr) override
Definition ds.cc:3966
void execute(GPUDynInstPtr) override
Definition ds.cc:4019
void execute(GPUDynInstPtr) override
Definition ds.cc:1055
void execute(GPUDynInstPtr) override
Definition ds.cc:3006
void execute(GPUDynInstPtr) override
Definition ds.cc:3664
void execute(GPUDynInstPtr) override
Definition ds.cc:4267
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition ds.cc:163
void execute(GPUDynInstPtr) override
Definition ds.cc:2428
int getOperandSize(int opIdx) override
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition ds.cc:699
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition ds.cc:2921
void execute(GPUDynInstPtr) override
Definition ds.cc:226
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition ds.cc:2492
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition ds.cc:1408
void execute(GPUDynInstPtr) override
Definition ds.cc:3360
void execute(GPUDynInstPtr) override
Definition ds.cc:1118
void execute(GPUDynInstPtr) override
Definition ds.cc:3070
void execute(GPUDynInstPtr) override
Definition ds.cc:1160
void execute(GPUDynInstPtr) override
Definition ds.cc:3112
void execute(GPUDynInstPtr) override
Definition ds.cc:3914
void execute(GPUDynInstPtr) override
Definition ds.cc:4517
void execute(GPUDynInstPtr) override
Definition ds.cc:3731
void execute(GPUDynInstPtr) override
Definition ds.cc:4334
void execute(GPUDynInstPtr) override
Definition ds.cc:3775
void execute(GPUDynInstPtr) override
Definition ds.cc:4378
void execute(GPUDynInstPtr) override
Definition ds.cc:268
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition ds.cc:2534
int getOperandSize(int opIdx) override
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition ds.cc:673
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition ds.cc:2895
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition ds.cc:205
void execute(GPUDynInstPtr) override
Definition ds.cc:2471
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition ds.cc:1382
void execute(GPUDynInstPtr) override
Definition ds.cc:3334
void execute(GPUDynInstPtr) override
Definition ds.cc:1097
void execute(GPUDynInstPtr) override
Definition ds.cc:3049
void execute(GPUDynInstPtr) override
Definition ds.cc:1139
void execute(GPUDynInstPtr) override
Definition ds.cc:3091
void execute(GPUDynInstPtr) override
Definition ds.cc:3890
void execute(GPUDynInstPtr) override
Definition ds.cc:4493
void execute(GPUDynInstPtr) override
Definition ds.cc:3709
void execute(GPUDynInstPtr) override
Definition ds.cc:4312
void execute(GPUDynInstPtr) override
Definition ds.cc:3753
void execute(GPUDynInstPtr) override
Definition ds.cc:4356
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition ds.cc:247
void execute(GPUDynInstPtr) override
Definition ds.cc:2513
int getOperandSize(int opIdx) override
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition ds.cc:397
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition ds.cc:2619
void execute(GPUDynInstPtr) override
Definition ds.cc:1245
void execute(GPUDynInstPtr) override
Definition ds.cc:3197
Inst_DS__DS_NOP(InFmt_DS *)
Definition ds.cc:705
void execute(GPUDynInstPtr) override
Definition ds.cc:718
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition ds.cc:4179
int getOperandSize(int opIdx) override
void completeAcc(GPUDynInstPtr gpuDynInst) override
Definition ds.cc:354
void execute(GPUDynInstPtr) override
Definition ds.cc:312
void initiateAcc(GPUDynInstPtr gpuDynInst) override
Definition ds.cc:344
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition ds.cc:2576
void execute(GPUDynInstPtr) override
Definition ds.cc:1202
void execute(GPUDynInstPtr) override
Definition ds.cc:3154
void execute(GPUDynInstPtr) override
Definition ds.cc:3819
void execute(GPUDynInstPtr) override
Definition ds.cc:4422
void execute(GPUDynInstPtr) override
Definition ds.cc:2148
void execute(GPUDynInstPtr) override
Definition ds.cc:1603
void completeAcc(GPUDynInstPtr) override
Definition ds.cc:1635
void initiateAcc(GPUDynInstPtr) override
Definition ds.cc:1626
void execute(GPUDynInstPtr) override
Definition ds.cc:3512
void initiateAcc(GPUDynInstPtr) override
Definition ds.cc:3535
void completeAcc(GPUDynInstPtr) override
Definition ds.cc:3544
int getOperandSize(int opIdx) override
void completeAcc(GPUDynInstPtr) override
Definition ds.cc:1568
void initiateAcc(GPUDynInstPtr) override
Definition ds.cc:1559
void execute(GPUDynInstPtr) override
Definition ds.cc:1536
void execute(GPUDynInstPtr) override
Definition ds.cc:3445
void initiateAcc(GPUDynInstPtr) override
Definition ds.cc:3468
int getOperandSize(int opIdx) override
void completeAcc(GPUDynInstPtr) override
Definition ds.cc:3477
void completeAcc(GPUDynInstPtr) override
Definition ds.cc:4760
int getOperandSize(int opIdx) override
void initiateAcc(GPUDynInstPtr) override
Definition ds.cc:4750
void execute(GPUDynInstPtr) override
Definition ds.cc:4733
void completeAcc(GPUDynInstPtr) override
Definition ds.cc:1505
void execute(GPUDynInstPtr) override
Definition ds.cc:1472
int getOperandSize(int opIdx) override
void initiateAcc(GPUDynInstPtr) override
Definition ds.cc:1495
void completeAcc(GPUDynInstPtr) override
Definition ds.cc:3414
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition ds.cc:3381
void initiateAcc(GPUDynInstPtr) override
Definition ds.cc:3404
void initiateAcc(GPUDynInstPtr) override
Definition ds.cc:4686
void completeAcc(GPUDynInstPtr) override
Definition ds.cc:4696
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition ds.cc:4669
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition ds.cc:1795
void execute(GPUDynInstPtr) override
Definition ds.cc:1669
void completeAcc(GPUDynInstPtr) override
Definition ds.cc:1702
void initiateAcc(GPUDynInstPtr) override
Definition ds.cc:1692
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition ds.cc:1943
void initiateAcc(GPUDynInstPtr) override
Definition ds.cc:1965
void completeAcc(GPUDynInstPtr) override
Definition ds.cc:1975
void completeAcc(GPUDynInstPtr) override
Definition ds.cc:1911
void execute(GPUDynInstPtr) override
Definition ds.cc:1879
void initiateAcc(GPUDynInstPtr) override
Definition ds.cc:1901
void completeAcc(GPUDynInstPtr) override
Definition ds.cc:1848
int getOperandSize(int opIdx) override
void initiateAcc(GPUDynInstPtr) override
Definition ds.cc:1838
void execute(GPUDynInstPtr) override
Definition ds.cc:1816
void execute(GPUDynInstPtr) override
Definition ds.cc:1732
void completeAcc(GPUDynInstPtr) override
Definition ds.cc:1765
int getOperandSize(int opIdx) override
void initiateAcc(GPUDynInstPtr) override
Definition ds.cc:1755
void execute(GPUDynInstPtr) override
Definition ds.cc:1034
void execute(GPUDynInstPtr) override
Definition ds.cc:2985
void execute(GPUDynInstPtr) override
Definition ds.cc:3642
void execute(GPUDynInstPtr) override
Definition ds.cc:4245
void execute(GPUDynInstPtr) override
Definition ds.cc:142
int getOperandSize(int opIdx) override
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition ds.cc:2407
void execute(GPUDynInstPtr) override
Definition ds.cc:1012
void execute(GPUDynInstPtr) override
Definition ds.cc:2963
void execute(GPUDynInstPtr) override
Definition ds.cc:3620
void execute(GPUDynInstPtr) override
Definition ds.cc:4223
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition ds.cc:120
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition ds.cc:2385
void execute(GPUDynInstPtr) override
Definition ds.cc:2012
void execute(GPUDynInstPtr) override
Definition ds.cc:1428
void initiateAcc(GPUDynInstPtr) override
Definition ds.cc:586
void execute(GPUDynInstPtr) override
Definition ds.cc:550
void completeAcc(GPUDynInstPtr) override
Definition ds.cc:595
void execute(GPUDynInstPtr) override
Definition ds.cc:2772
void completeAcc(GPUDynInstPtr) override
Definition ds.cc:2817
void initiateAcc(GPUDynInstPtr) override
Definition ds.cc:2808
void initiateAcc(GPUDynInstPtr) override
Definition ds.cc:519
void execute(GPUDynInstPtr) override
Definition ds.cc:483
void completeAcc(GPUDynInstPtr) override
Definition ds.cc:528
void initiateAcc(GPUDynInstPtr) override
Definition ds.cc:2741
void completeAcc(GPUDynInstPtr) override
Definition ds.cc:2750
void execute(GPUDynInstPtr) override
Definition ds.cc:2705
void execute(GPUDynInstPtr) override
Definition ds.cc:4602
void initiateAcc(GPUDynInstPtr) override
Definition ds.cc:4640
void completeAcc(GPUDynInstPtr) override
Definition ds.cc:4650
void execute(GPUDynInstPtr) override
Definition ds.cc:929
int getOperandSize(int opIdx) override
void completeAcc(GPUDynInstPtr) override
Definition ds.cc:971
void initiateAcc(GPUDynInstPtr) override
Definition ds.cc:961
void initiateAcc(GPUDynInstPtr) override
Definition ds.cc:451
int getOperandSize(int opIdx) override
void completeAcc(GPUDynInstPtr) override
Definition ds.cc:461
void execute(GPUDynInstPtr) override
Definition ds.cc:419
void initiateAcc(GPUDynInstPtr) override
Definition ds.cc:2673
void completeAcc(GPUDynInstPtr) override
Definition ds.cc:2683
void execute(GPUDynInstPtr) override
Definition ds.cc:2641
int getOperandSize(int opIdx) override
void completeAcc(GPUDynInstPtr) override
Definition ds.cc:909
void initiateAcc(GPUDynInstPtr) override
Definition ds.cc:899
void execute(GPUDynInstPtr) override
Definition ds.cc:867
void initiateAcc(GPUDynInstPtr) override
Definition ds.cc:837
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition ds.cc:805
void completeAcc(GPUDynInstPtr) override
Definition ds.cc:847
int getOperandSize(int opIdx) override
void initiateAcc(GPUDynInstPtr) override
Definition ds.cc:4572
void completeAcc(GPUDynInstPtr) override
Definition ds.cc:4582
void execute(GPUDynInstPtr) override
Definition ds.cc:4538
void execute(GPUDynInstPtr) override
Definition ds.cc:3866
void execute(GPUDynInstPtr) override
Definition ds.cc:4469
void execute(GPUDynInstPtr) override
Definition ds.cc:1303
void execute(GPUDynInstPtr) override
Definition ds.cc:3255
void execute(GPUDynInstPtr) override
Definition ds.cc:1284
void execute(GPUDynInstPtr) override
Definition ds.cc:3236
void execute(GPUDynInstPtr) override
Definition ds.cc:1266
void execute(GPUDynInstPtr) override
Definition ds.cc:3218
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition ds.cc:375
void execute(GPUDynInstPtr) override
Definition ds.cc:2597
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition ds.cc:1223
void execute(GPUDynInstPtr) override
Definition ds.cc:3175
void execute(GPUDynInstPtr) override
Definition ds.cc:3841
void execute(GPUDynInstPtr) override
Definition ds.cc:4444
void execute(GPUDynInstPtr) override
Definition exp.cc:53
Inst_EXP__EXP(InFmt_EXP *)
Definition exp.cc:41
int getOperandSize(int opIdx) override
void completeAcc(GPUDynInstPtr) override
Definition flat.cc:2017
void initiateAcc(GPUDynInstPtr) override
Definition flat.cc:2011
void execute(GPUDynInstPtr) override
Definition flat.cc:2005
void completeAcc(GPUDynInstPtr) override
Definition flat.cc:2087
void initiateAcc(GPUDynInstPtr) override
Definition flat.cc:2081
void execute(GPUDynInstPtr) override
Definition flat.cc:2075
void completeAcc(GPUDynInstPtr) override
Definition flat.cc:1570
void execute(GPUDynInstPtr) override
Definition flat.cc:1558
void initiateAcc(GPUDynInstPtr) override
Definition flat.cc:1564
void execute(GPUDynInstPtr) override
Definition flat.cc:1032
void completeAcc(GPUDynInstPtr) override
Definition flat.cc:1044
void initiateAcc(GPUDynInstPtr) override
Definition flat.cc:1038
void initiateAcc(GPUDynInstPtr) override
Definition flat.cc:1810
void completeAcc(GPUDynInstPtr) override
Definition flat.cc:1816
void execute(GPUDynInstPtr) override
Definition flat.cc:1804
void execute(GPUDynInstPtr) override
Definition flat.cc:1272
void initiateAcc(GPUDynInstPtr) override
Definition flat.cc:1278
void completeAcc(GPUDynInstPtr) override
Definition flat.cc:1284
void execute(GPUDynInstPtr) override
Definition flat.cc:1517
void initiateAcc(GPUDynInstPtr) override
Definition flat.cc:1523
void completeAcc(GPUDynInstPtr) override
Definition flat.cc:1529
void completeAcc(GPUDynInstPtr) override
Definition flat.cc:1004
void execute(GPUDynInstPtr) override
Definition flat.cc:992
void initiateAcc(GPUDynInstPtr) override
Definition flat.cc:998
void completeAcc(GPUDynInstPtr) override
Definition flat.cc:1981
void execute(GPUDynInstPtr) override
Definition flat.cc:1969
void initiateAcc(GPUDynInstPtr) override
Definition flat.cc:1975
void initiateAcc(GPUDynInstPtr) override
Definition flat.cc:1439
void execute(GPUDynInstPtr) override
Definition flat.cc:1433
void completeAcc(GPUDynInstPtr) override
Definition flat.cc:1445
void completeAcc(GPUDynInstPtr) override
Definition flat.cc:1939
void initiateAcc(GPUDynInstPtr) override
Definition flat.cc:1933
void execute(GPUDynInstPtr) override
Definition flat.cc:1927
void execute(GPUDynInstPtr) override
Definition flat.cc:1393
void initiateAcc(GPUDynInstPtr) override
Definition flat.cc:1399
void completeAcc(GPUDynInstPtr) override
Definition flat.cc:1405
void initiateAcc(GPUDynInstPtr) override
Definition flat.cc:2153
void execute(GPUDynInstPtr) override
Definition flat.cc:2147
void completeAcc(GPUDynInstPtr) override
Definition flat.cc:2159
void execute(GPUDynInstPtr) override
Definition flat.cc:2111
void initiateAcc(GPUDynInstPtr) override
Definition flat.cc:2117
void completeAcc(GPUDynInstPtr) override
Definition flat.cc:2123
void execute(GPUDynInstPtr) override
Definition flat.cc:1845
void completeAcc(GPUDynInstPtr) override
Definition flat.cc:1857
void initiateAcc(GPUDynInstPtr) override
Definition flat.cc:1851
void completeAcc(GPUDynInstPtr) override
Definition flat.cc:1324
void execute(GPUDynInstPtr) override
Definition flat.cc:1312
void initiateAcc(GPUDynInstPtr) override
Definition flat.cc:1318
void initiateAcc(GPUDynInstPtr) override
Definition flat.cc:2047
void completeAcc(GPUDynInstPtr) override
Definition flat.cc:2052
void execute(GPUDynInstPtr) override
Definition flat.cc:2041
void initiateAcc(GPUDynInstPtr) override
Definition flat.cc:1728
void completeAcc(GPUDynInstPtr) override
Definition flat.cc:1734
void execute(GPUDynInstPtr) override
Definition flat.cc:1722
void execute(GPUDynInstPtr) override
Definition flat.cc:1192
void completeAcc(GPUDynInstPtr) override
Definition flat.cc:1204
void initiateAcc(GPUDynInstPtr) override
Definition flat.cc:1198
void execute(GPUDynInstPtr) override
Definition flat.cc:1640
void completeAcc(GPUDynInstPtr) override
Definition flat.cc:1652
void initiateAcc(GPUDynInstPtr) override
Definition flat.cc:1646
void completeAcc(GPUDynInstPtr) override
Definition flat.cc:1124
void initiateAcc(GPUDynInstPtr) override
Definition flat.cc:1118
void execute(GPUDynInstPtr) override
Definition flat.cc:1112
void initiateAcc(GPUDynInstPtr) override
Definition flat.cc:1605
void completeAcc(GPUDynInstPtr) override
Definition flat.cc:1611
void execute(GPUDynInstPtr) override
Definition flat.cc:1599
void completeAcc(GPUDynInstPtr) override
Definition flat.cc:1084
void initiateAcc(GPUDynInstPtr) override
Definition flat.cc:1078
void execute(GPUDynInstPtr) override
Definition flat.cc:1072
void execute(GPUDynInstPtr) override
Definition flat.cc:1474
void completeAcc(GPUDynInstPtr) override
Definition flat.cc:1486
void initiateAcc(GPUDynInstPtr) override
Definition flat.cc:1480
void execute(GPUDynInstPtr) override
Definition flat.cc:948
void initiateAcc(GPUDynInstPtr) override
Definition flat.cc:954
void completeAcc(GPUDynInstPtr) override
Definition flat.cc:960
void execute(GPUDynInstPtr) override
Definition flat.cc:1763
void initiateAcc(GPUDynInstPtr) override
Definition flat.cc:1769
void completeAcc(GPUDynInstPtr) override
Definition flat.cc:1775
void initiateAcc(GPUDynInstPtr) override
Definition flat.cc:1238
void execute(GPUDynInstPtr) override
Definition flat.cc:1232
void completeAcc(GPUDynInstPtr) override
Definition flat.cc:1244
void execute(GPUDynInstPtr) override
Definition flat.cc:1681
void initiateAcc(GPUDynInstPtr) override
Definition flat.cc:1687
void completeAcc(GPUDynInstPtr) override
Definition flat.cc:1693
void initiateAcc(GPUDynInstPtr) override
Definition flat.cc:1158
void execute(GPUDynInstPtr) override
Definition flat.cc:1152
void completeAcc(GPUDynInstPtr) override
Definition flat.cc:1164
void completeAcc(GPUDynInstPtr) override
Definition flat.cc:1898
void initiateAcc(GPUDynInstPtr) override
Definition flat.cc:1892
void execute(GPUDynInstPtr) override
Definition flat.cc:1886
void completeAcc(GPUDynInstPtr) override
Definition flat.cc:1365
void execute(GPUDynInstPtr) override
Definition flat.cc:1353
void initiateAcc(GPUDynInstPtr) override
Definition flat.cc:1359
void completeAcc(GPUDynInstPtr) override
Definition flat.cc:339
void execute(GPUDynInstPtr) override
Definition flat.cc:311
void initiateAcc(GPUDynInstPtr) override
Definition flat.cc:333
void initiateAcc(GPUDynInstPtr) override
Definition flat.cc:390
void execute(GPUDynInstPtr) override
Definition flat.cc:368
void completeAcc(GPUDynInstPtr) override
Definition flat.cc:396
void execute(GPUDynInstPtr) override
Definition flat.cc:434
void initiateAcc(GPUDynInstPtr) override
Definition flat.cc:456
void completeAcc(GPUDynInstPtr) override
Definition flat.cc:462
void initiateAcc(GPUDynInstPtr) override
Definition flat.cc:276
void completeAcc(GPUDynInstPtr) override
Definition flat.cc:282
void execute(GPUDynInstPtr) override
Definition flat.cc:254
void execute(GPUDynInstPtr) override
Definition flat.cc:111
void initiateAcc(GPUDynInstPtr) override
Definition flat.cc:133
void completeAcc(GPUDynInstPtr) override
Definition flat.cc:139
void completeAcc(GPUDynInstPtr) override
Definition flat.cc:235
void initiateAcc(GPUDynInstPtr) override
Definition flat.cc:230
void execute(GPUDynInstPtr) override
Definition flat.cc:224
void initiateAcc(GPUDynInstPtr) override
Definition flat.cc:77
void completeAcc(GPUDynInstPtr) override
Definition flat.cc:83
void execute(GPUDynInstPtr) override
Definition flat.cc:55
void initiateAcc(GPUDynInstPtr) override
Definition flat.cc:189
void execute(GPUDynInstPtr) override
Definition flat.cc:167
void completeAcc(GPUDynInstPtr) override
Definition flat.cc:195
void completeAcc(GPUDynInstPtr) override
Definition flat.cc:543
void execute(GPUDynInstPtr) override
Definition flat.cc:503
void initiateAcc(GPUDynInstPtr) override
Definition flat.cc:537
void completeAcc(GPUDynInstPtr) override
Definition flat.cc:781
void initiateAcc(GPUDynInstPtr) override
Definition flat.cc:775
void execute(GPUDynInstPtr) override
Definition flat.cc:741
void completeAcc(GPUDynInstPtr) override
Definition flat.cc:849
void initiateAcc(GPUDynInstPtr) override
Definition flat.cc:843
void execute(GPUDynInstPtr) override
Definition flat.cc:801
void completeAcc(GPUDynInstPtr) override
Definition flat.cc:921
void initiateAcc(GPUDynInstPtr) override
Definition flat.cc:915
void execute(GPUDynInstPtr) override
Definition flat.cc:869
void initiateAcc(GPUDynInstPtr) override
Definition flat.cc:715
void execute(GPUDynInstPtr) override
Definition flat.cc:681
void completeAcc(GPUDynInstPtr) override
Definition flat.cc:721
void completeAcc(GPUDynInstPtr) override
Definition flat.cc:662
void execute(GPUDynInstPtr) override
Definition flat.cc:622
void initiateAcc(GPUDynInstPtr) override
Definition flat.cc:656
void execute(GPUDynInstPtr) override
Definition flat.cc:562
void completeAcc(GPUDynInstPtr) override
Definition flat.cc:602
void initiateAcc(GPUDynInstPtr) override
Definition flat.cc:596
void execute(GPUDynInstPtr) override
Definition mimg.cc:467
void execute(GPUDynInstPtr) override
Definition mimg.cc:645
void execute(GPUDynInstPtr) override
Definition mimg.cc:438
void execute(GPUDynInstPtr) override
Definition mimg.cc:761
void execute(GPUDynInstPtr) override
Definition mimg.cc:732
void execute(GPUDynInstPtr) override
Definition mimg.cc:674
void execute(GPUDynInstPtr) override
Definition mimg.cc:586
void execute(GPUDynInstPtr) override
Definition mimg.cc:526
void execute(GPUDynInstPtr) override
Definition mimg.cc:496
void execute(GPUDynInstPtr) override
Definition mimg.cc:406
void execute(GPUDynInstPtr) override
Definition mimg.cc:616
void execute(GPUDynInstPtr) override
Definition mimg.cc:556
void execute(GPUDynInstPtr) override
Definition mimg.cc:703
void execute(GPUDynInstPtr) override
Definition mimg.cc:1719
void execute(GPUDynInstPtr) override
Definition mimg.cc:1482
void execute(GPUDynInstPtr) override
Definition mimg.cc:1699
void execute(GPUDynInstPtr) override
Definition mimg.cc:1462
void execute(GPUDynInstPtr) override
Definition mimg.cc:1659
void execute(GPUDynInstPtr) override
Definition mimg.cc:1424
void execute(GPUDynInstPtr) override
Definition mimg.cc:1839
void execute(GPUDynInstPtr) override
Definition mimg.cc:1600
void execute(GPUDynInstPtr) override
Definition mimg.cc:1819
void execute(GPUDynInstPtr) override
Definition mimg.cc:1580
void execute(GPUDynInstPtr) override
Definition mimg.cc:1779
void execute(GPUDynInstPtr) override
Definition mimg.cc:1540
void execute(GPUDynInstPtr) override
Definition mimg.cc:1859
void execute(GPUDynInstPtr) override
Definition mimg.cc:1620
void execute(GPUDynInstPtr) override
Definition mimg.cc:1799
void execute(GPUDynInstPtr) override
Definition mimg.cc:1560
void execute(GPUDynInstPtr) override
Definition mimg.cc:1759
void execute(GPUDynInstPtr) override
Definition mimg.cc:1520
void execute(GPUDynInstPtr) override
Definition mimg.cc:1739
void execute(GPUDynInstPtr) override
Definition mimg.cc:1501
void execute(GPUDynInstPtr) override
Definition mimg.cc:1679
void execute(GPUDynInstPtr) override
Definition mimg.cc:1443
void execute(GPUDynInstPtr) override
Definition mimg.cc:1639
void execute(GPUDynInstPtr) override
Definition mimg.cc:1405
void execute(GPUDynInstPtr) override
Definition mimg.cc:1879
void execute(GPUDynInstPtr) override
Definition mimg.cc:376
void completeAcc(GPUDynInstPtr) override
Definition mimg.cc:228
void initiateAcc(GPUDynInstPtr) override
Definition mimg.cc:223
void execute(GPUDynInstPtr) override
Definition mimg.cc:217
void completeAcc(GPUDynInstPtr) override
Definition mimg.cc:195
void initiateAcc(GPUDynInstPtr) override
Definition mimg.cc:190
void execute(GPUDynInstPtr) override
Definition mimg.cc:184
void completeAcc(GPUDynInstPtr) override
Definition mimg.cc:98
void initiateAcc(GPUDynInstPtr) override
Definition mimg.cc:93
void execute(GPUDynInstPtr) override
Definition mimg.cc:87
void completeAcc(GPUDynInstPtr) override
Definition mimg.cc:162
void execute(GPUDynInstPtr) override
Definition mimg.cc:151
void initiateAcc(GPUDynInstPtr) override
Definition mimg.cc:157
void completeAcc(GPUDynInstPtr) override
Definition mimg.cc:129
void initiateAcc(GPUDynInstPtr) override
Definition mimg.cc:124
void execute(GPUDynInstPtr) override
Definition mimg.cc:118
void execute(GPUDynInstPtr) override
Definition mimg.cc:56
Inst_MIMG__IMAGE_LOAD(InFmt_MIMG *)
Definition mimg.cc:41
void completeAcc(GPUDynInstPtr) override
Definition mimg.cc:67
int getOperandSize(int opIdx) override
void initiateAcc(GPUDynInstPtr) override
Definition mimg.cc:62
void execute(GPUDynInstPtr) override
Definition mimg.cc:1207
void execute(GPUDynInstPtr) override
Definition mimg.cc:896
void execute(GPUDynInstPtr) override
Definition mimg.cc:1187
void execute(GPUDynInstPtr) override
Definition mimg.cc:876
void execute(GPUDynInstPtr) override
Definition mimg.cc:2001
void execute(GPUDynInstPtr) override
Definition mimg.cc:1919
void execute(GPUDynInstPtr) override
Definition mimg.cc:1980
void execute(GPUDynInstPtr) override
Definition mimg.cc:1898
void execute(GPUDynInstPtr) override
Definition mimg.cc:1110
void execute(GPUDynInstPtr) override
Definition mimg.cc:798
void execute(GPUDynInstPtr) override
Definition mimg.cc:1366
void execute(GPUDynInstPtr) override
Definition mimg.cc:1051
void execute(GPUDynInstPtr) override
Definition mimg.cc:1346
void execute(GPUDynInstPtr) override
Definition mimg.cc:1031
void execute(GPUDynInstPtr) override
Definition mimg.cc:2042
void execute(GPUDynInstPtr) override
Definition mimg.cc:1960
void execute(GPUDynInstPtr) override
Definition mimg.cc:2021
void execute(GPUDynInstPtr) override
Definition mimg.cc:1939
void execute(GPUDynInstPtr) override
Definition mimg.cc:1266
void execute(GPUDynInstPtr) override
Definition mimg.cc:954
void execute(GPUDynInstPtr) override
Definition mimg.cc:1306
void execute(GPUDynInstPtr) override
Definition mimg.cc:993
void execute(GPUDynInstPtr) override
Definition mimg.cc:1286
void execute(GPUDynInstPtr) override
Definition mimg.cc:973
void execute(GPUDynInstPtr) override
Definition mimg.cc:1386
void execute(GPUDynInstPtr) override
Definition mimg.cc:1071
void execute(GPUDynInstPtr) override
Definition mimg.cc:1326
void execute(GPUDynInstPtr) override
Definition mimg.cc:1012
void execute(GPUDynInstPtr) override
Definition mimg.cc:1246
void execute(GPUDynInstPtr) override
Definition mimg.cc:934
void execute(GPUDynInstPtr) override
Definition mimg.cc:1149
void execute(GPUDynInstPtr) override
Definition mimg.cc:838
void execute(GPUDynInstPtr) override
Definition mimg.cc:1129
void execute(GPUDynInstPtr) override
Definition mimg.cc:817
void execute(GPUDynInstPtr) override
Definition mimg.cc:1227
void execute(GPUDynInstPtr) override
Definition mimg.cc:915
void execute(GPUDynInstPtr) override
Definition mimg.cc:1168
void execute(GPUDynInstPtr) override
Definition mimg.cc:857
void execute(GPUDynInstPtr) override
Definition mimg.cc:1090
void execute(GPUDynInstPtr) override
Definition mimg.cc:779
void execute(GPUDynInstPtr) override
Definition mimg.cc:344
void initiateAcc(GPUDynInstPtr) override
Definition mimg.cc:350
void completeAcc(GPUDynInstPtr) override
Definition mimg.cc:355
void initiateAcc(GPUDynInstPtr) override
Definition mimg.cc:286
void execute(GPUDynInstPtr) override
Definition mimg.cc:280
void completeAcc(GPUDynInstPtr) override
Definition mimg.cc:291
void completeAcc(GPUDynInstPtr) override
Definition mimg.cc:322
void initiateAcc(GPUDynInstPtr) override
Definition mimg.cc:317
void execute(GPUDynInstPtr) override
Definition mimg.cc:311
void completeAcc(GPUDynInstPtr) override
Definition mimg.cc:259
void execute(GPUDynInstPtr) override
Definition mimg.cc:248
void initiateAcc(GPUDynInstPtr) override
Definition mimg.cc:254
void completeAcc(GPUDynInstPtr) override
Definition mtbuf.cc:165
void initiateAcc(GPUDynInstPtr) override
Definition mtbuf.cc:160
void completeAcc(GPUDynInstPtr) override
Definition mtbuf.cc:132
void initiateAcc(GPUDynInstPtr) override
Definition mtbuf.cc:127
void completeAcc(GPUDynInstPtr) override
Definition mtbuf.cc:100
void initiateAcc(GPUDynInstPtr) override
Definition mtbuf.cc:95
void execute(GPUDynInstPtr) override
Definition mtbuf.cc:89
void initiateAcc(GPUDynInstPtr) override
Definition mtbuf.cc:63
void execute(GPUDynInstPtr) override
Definition mtbuf.cc:57
void completeAcc(GPUDynInstPtr) override
Definition mtbuf.cc:68
void completeAcc(GPUDynInstPtr) override
Definition mtbuf.cc:262
void initiateAcc(GPUDynInstPtr) override
Definition mtbuf.cc:257
void initiateAcc(GPUDynInstPtr) override
Definition mtbuf.cc:224
void completeAcc(GPUDynInstPtr) override
Definition mtbuf.cc:229
void initiateAcc(GPUDynInstPtr) override
Definition mtbuf.cc:192
void execute(GPUDynInstPtr) override
Definition mtbuf.cc:186
void completeAcc(GPUDynInstPtr) override
Definition mtbuf.cc:197
void execute(GPUDynInstPtr) override
Definition mubuf.cc:2692
void execute(GPUDynInstPtr) override
Definition mubuf.cc:2299
void execute(GPUDynInstPtr) override
Definition mubuf.cc:2872
void execute(GPUDynInstPtr) override
Definition mubuf.cc:2479
void completeAcc(GPUDynInstPtr) override
Definition mubuf.cc:2258
void execute(GPUDynInstPtr) override
Definition mubuf.cc:2190
void initiateAcc(GPUDynInstPtr) override
Definition mubuf.cc:2252
void execute(GPUDynInstPtr) override
Definition mubuf.cc:2991
void execute(GPUDynInstPtr) override
Definition mubuf.cc:2599
void execute(GPUDynInstPtr) override
Definition mubuf.cc:2960
void execute(GPUDynInstPtr) override
Definition mubuf.cc:2569
void execute(GPUDynInstPtr) override
Definition mubuf.cc:2900
void execute(GPUDynInstPtr) override
Definition mubuf.cc:2509
void execute(GPUDynInstPtr) override
Definition mubuf.cc:2812
void execute(GPUDynInstPtr) override
Definition mubuf.cc:2419
void execute(GPUDynInstPtr) override
Definition mubuf.cc:2752
void execute(GPUDynInstPtr) override
Definition mubuf.cc:2359
void execute(GPUDynInstPtr) override
Definition mubuf.cc:2722
void execute(GPUDynInstPtr) override
Definition mubuf.cc:2329
void execute(GPUDynInstPtr) override
Definition mubuf.cc:2629
void execute(GPUDynInstPtr) override
Definition mubuf.cc:2158
void execute(GPUDynInstPtr) override
Definition mubuf.cc:2842
void execute(GPUDynInstPtr) override
Definition mubuf.cc:2449
void execute(GPUDynInstPtr) override
Definition mubuf.cc:2782
void execute(GPUDynInstPtr) override
Definition mubuf.cc:2389
void execute(GPUDynInstPtr) override
Definition mubuf.cc:2930
void execute(GPUDynInstPtr) override
Definition mubuf.cc:2539
void completeAcc(GPUDynInstPtr) override
Definition mubuf.cc:1204
void initiateAcc(GPUDynInstPtr) override
Definition mubuf.cc:1198
void execute(GPUDynInstPtr) override
Definition mubuf.cc:1149
void completeAcc(GPUDynInstPtr) override
Definition mubuf.cc:1303
void execute(GPUDynInstPtr) override
Definition mubuf.cc:1248
void initiateAcc(GPUDynInstPtr) override
Definition mubuf.cc:1297
void initiateAcc(GPUDynInstPtr) override
Definition mubuf.cc:1401
void completeAcc(GPUDynInstPtr) override
Definition mubuf.cc:1407
void execute(GPUDynInstPtr) override
Definition mubuf.cc:1352
void execute(GPUDynInstPtr) override
Definition mubuf.cc:1051
void initiateAcc(GPUDynInstPtr) override
Definition mubuf.cc:1104
void completeAcc(GPUDynInstPtr) override
Definition mubuf.cc:1110
void initiateAcc(GPUDynInstPtr) override
Definition mubuf.cc:321
void completeAcc(GPUDynInstPtr) override
Definition mubuf.cc:326
void initiateAcc(GPUDynInstPtr) override
Definition mubuf.cc:159
void completeAcc(GPUDynInstPtr) override
Definition mubuf.cc:164
void execute(GPUDynInstPtr) override
Definition mubuf.cc:121
void completeAcc(GPUDynInstPtr) override
Definition mubuf.cc:132
void initiateAcc(GPUDynInstPtr) override
Definition mubuf.cc:127
void initiateAcc(GPUDynInstPtr) override
Definition mubuf.cc:95
void execute(GPUDynInstPtr) override
Definition mubuf.cc:89
void completeAcc(GPUDynInstPtr) override
Definition mubuf.cc:100
void initiateAcc(GPUDynInstPtr) override
Definition mubuf.cc:63
void completeAcc(GPUDynInstPtr) override
Definition mubuf.cc:68
void execute(GPUDynInstPtr) override
Definition mubuf.cc:57
void initiateAcc(GPUDynInstPtr) override
Definition mubuf.cc:691
void completeAcc(GPUDynInstPtr) override
Definition mubuf.cc:696
void execute(GPUDynInstPtr) override
Definition mubuf.cc:685
void execute(GPUDynInstPtr) override
Definition mubuf.cc:850
void initiateAcc(GPUDynInstPtr) override
Definition mubuf.cc:903
void completeAcc(GPUDynInstPtr) override
Definition mubuf.cc:909
void execute(GPUDynInstPtr) override
Definition mubuf.cc:812
void initiateAcc(GPUDynInstPtr) override
Definition mubuf.cc:818
void completeAcc(GPUDynInstPtr) override
Definition mubuf.cc:823
void completeAcc(GPUDynInstPtr) override
Definition mubuf.cc:649
void execute(GPUDynInstPtr) override
Definition mubuf.cc:594
void initiateAcc(GPUDynInstPtr) override
Definition mubuf.cc:643
void execute(GPUDynInstPtr) override
Definition mubuf.cc:721
void completeAcc(GPUDynInstPtr) override
Definition mubuf.cc:776
void initiateAcc(GPUDynInstPtr) override
Definition mubuf.cc:770
void execute(GPUDynInstPtr) override
Definition mubuf.cc:1461
void completeAcc(GPUDynInstPtr) override
Definition mubuf.cc:1526
void initiateAcc(GPUDynInstPtr) override
Definition mubuf.cc:1520
void initiateAcc(GPUDynInstPtr) override
Definition mubuf.cc:1794
void execute(GPUDynInstPtr) override
Definition mubuf.cc:1731
void completeAcc(GPUDynInstPtr) override
Definition mubuf.cc:1800
void completeAcc(GPUDynInstPtr) override
Definition mubuf.cc:1898
void initiateAcc(GPUDynInstPtr) override
Definition mubuf.cc:1892
void execute(GPUDynInstPtr) override
Definition mubuf.cc:1825
void execute(GPUDynInstPtr) override
Definition mubuf.cc:1923
void completeAcc(GPUDynInstPtr) override
Definition mubuf.cc:2000
void initiateAcc(GPUDynInstPtr) override
Definition mubuf.cc:1994
void execute(GPUDynInstPtr) override
Definition mubuf.cc:1641
void completeAcc(GPUDynInstPtr) override
Definition mubuf.cc:1706
void initiateAcc(GPUDynInstPtr) override
Definition mubuf.cc:1700
void completeAcc(GPUDynInstPtr) override
Definition mubuf.cc:293
void initiateAcc(GPUDynInstPtr) override
Definition mubuf.cc:288
void completeAcc(GPUDynInstPtr) override
Definition mubuf.cc:260
void initiateAcc(GPUDynInstPtr) override
Definition mubuf.cc:255
void completeAcc(GPUDynInstPtr) override
Definition mubuf.cc:228
void initiateAcc(GPUDynInstPtr) override
Definition mubuf.cc:223
void execute(GPUDynInstPtr) override
Definition mubuf.cc:217
void execute(GPUDynInstPtr) override
Definition mubuf.cc:185
void completeAcc(GPUDynInstPtr) override
Definition mubuf.cc:196
void initiateAcc(GPUDynInstPtr) override
Definition mubuf.cc:191
void completeAcc(GPUDynInstPtr) override
Definition mubuf.cc:1616
void initiateAcc(GPUDynInstPtr) override
Definition mubuf.cc:1610
void execute(GPUDynInstPtr) override
Definition mubuf.cc:1551
void execute(GPUDynInstPtr) override
Definition mubuf.cc:2103
void completeAcc(GPUDynInstPtr) override
Definition mubuf.cc:2129
void initiateAcc(GPUDynInstPtr) override
Definition mubuf.cc:2124
void initiateAcc(GPUDynInstPtr) override
Definition mubuf.cc:2066
void execute(GPUDynInstPtr) override
Definition mubuf.cc:2044
void completeAcc(GPUDynInstPtr) override
Definition mubuf.cc:2075
void execute(GPUDynInstPtr) override
Definition smem.cc:1008
void execute(GPUDynInstPtr) override
Definition smem.cc:989
int getOperandSize(int opIdx) override
void initiateAcc(GPUDynInstPtr) override
Definition smem.cc:581
void completeAcc(GPUDynInstPtr) override
Definition smem.cc:587
void execute(GPUDynInstPtr) override
Definition smem.cc:555
void initiateAcc(GPUDynInstPtr) override
Definition smem.cc:413
void execute(GPUDynInstPtr) override
Definition smem.cc:387
void completeAcc(GPUDynInstPtr) override
Definition smem.cc:419
void initiateAcc(GPUDynInstPtr) override
Definition smem.cc:469
void execute(GPUDynInstPtr) override
Definition smem.cc:443
void completeAcc(GPUDynInstPtr) override
Definition smem.cc:475
void completeAcc(GPUDynInstPtr) override
Definition smem.cc:531
void execute(GPUDynInstPtr) override
Definition smem.cc:499
void initiateAcc(GPUDynInstPtr) override
Definition smem.cc:525
void initiateAcc(GPUDynInstPtr) override
Definition smem.cc:357
void completeAcc(GPUDynInstPtr) override
Definition smem.cc:363
void execute(GPUDynInstPtr) override
Definition smem.cc:331
void execute(GPUDynInstPtr) override
Definition smem.cc:817
void completeAcc(GPUDynInstPtr) override
Definition smem.cc:828
void initiateAcc(GPUDynInstPtr) override
Definition smem.cc:823
void execute(GPUDynInstPtr) override
Definition smem.cc:849
void initiateAcc(GPUDynInstPtr) override
Definition smem.cc:855
void completeAcc(GPUDynInstPtr) override
Definition smem.cc:860
void initiateAcc(GPUDynInstPtr) override
Definition smem.cc:791
void execute(GPUDynInstPtr) override
Definition smem.cc:785
void completeAcc(GPUDynInstPtr) override
Definition smem.cc:796
void execute(GPUDynInstPtr) override
Definition smem.cc:913
void execute(GPUDynInstPtr) override
Definition smem.cc:877
void execute(GPUDynInstPtr) override
Definition smem.cc:931
void execute(GPUDynInstPtr) override
Definition smem.cc:895
int getOperandSize(int opIdx) override
void initiateAcc(GPUDynInstPtr) override
Definition smem.cc:302
void execute(GPUDynInstPtr) override
Definition smem.cc:276
void completeAcc(GPUDynInstPtr) override
Definition smem.cc:308
void execute(GPUDynInstPtr) override
Read 2 dwords from scalar data cache.
Definition smem.cc:114
void initiateAcc(GPUDynInstPtr) override
Definition smem.cc:140
void completeAcc(GPUDynInstPtr) override
Definition smem.cc:146
void initiateAcc(GPUDynInstPtr) override
Definition smem.cc:194
void execute(GPUDynInstPtr) override
Definition smem.cc:168
void completeAcc(GPUDynInstPtr) override
Definition smem.cc:200
void initiateAcc(GPUDynInstPtr) override
Definition smem.cc:248
void execute(GPUDynInstPtr) override
Definition smem.cc:222
void completeAcc(GPUDynInstPtr) override
Definition smem.cc:254
void initiateAcc(GPUDynInstPtr) override
Definition smem.cc:85
void execute(GPUDynInstPtr) override
Read 1 dword from scalar data cache.
Definition smem.cc:59
void completeAcc(GPUDynInstPtr) override
Definition smem.cc:91
void execute(GPUDynInstPtr) override
Definition smem.cc:971
void execute(GPUDynInstPtr) override
Definition smem.cc:951
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition smem.cc:670
void completeAcc(GPUDynInstPtr) override
Definition smem.cc:707
void initiateAcc(GPUDynInstPtr) override
Definition smem.cc:701
void initiateAcc(GPUDynInstPtr) override
Definition smem.cc:758
void completeAcc(GPUDynInstPtr) override
Definition smem.cc:764
void execute(GPUDynInstPtr) override
Definition smem.cc:727
void initiateAcc(GPUDynInstPtr) override
Definition smem.cc:644
void execute(GPUDynInstPtr) override
Definition smem.cc:613
void completeAcc(GPUDynInstPtr) override
Definition smem.cc:650
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition sop1.cc:1448
void execute(GPUDynInstPtr) override
Definition sop1.cc:1064
void execute(GPUDynInstPtr) override
Definition sop1.cc:956
void execute(GPUDynInstPtr) override
Definition sop1.cc:347
void execute(GPUDynInstPtr) override
Definition sop1.cc:377
void execute(GPUDynInstPtr) override
Definition sop1.cc:407
void execute(GPUDynInstPtr) override
Definition sop1.cc:437
void execute(GPUDynInstPtr) override
Definition sop1.cc:746
void execute(GPUDynInstPtr) override
Definition sop1.cc:772
void execute(GPUDynInstPtr) override
Definition sop1.cc:798
void execute(GPUDynInstPtr) override
Definition sop1.cc:824
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition sop1.cc:294
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition sop1.cc:320
void execute(GPUDynInstPtr) override
Definition sop1.cc:1426
void execute(GPUDynInstPtr) override
Definition sop1.cc:109
int getOperandSize(int opIdx) override
Inst_SOP1__S_CMOV_B32(InFmt_SOP1 *)
Definition sop1.cc:94
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition sop1.cc:140
void execute(GPUDynInstPtr) override
Definition sop1.cc:468
void execute(GPUDynInstPtr) override
Definition sop1.cc:496
void execute(GPUDynInstPtr) override
Definition sop1.cc:524
void execute(GPUDynInstPtr) override
Definition sop1.cc:552
void execute(GPUDynInstPtr) override
Definition sop1.cc:580
void execute(GPUDynInstPtr) override
Definition sop1.cc:608
void execute(GPUDynInstPtr) override
Definition sop1.cc:666
void execute(GPUDynInstPtr) override
Definition sop1.cc:637
int getOperandSize(int opIdx) override
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition sop1.cc:851
void execute(GPUDynInstPtr) override
Definition sop1.cc:1358
void execute(GPUDynInstPtr) override
Definition sop1.cc:1387
void execute(GPUDynInstPtr) override
Definition sop1.cc:1301
void execute(GPUDynInstPtr) override
Definition sop1.cc:1330
Inst_SOP1__S_MOV_B32(InFmt_SOP1 *)
Definition sop1.cc:42
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition sop1.cc:55
Inst_SOP1__S_MOV_B64(InFmt_SOP1 *)
Definition sop1.cc:68
void execute(GPUDynInstPtr) override
Definition sop1.cc:81
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition sop1.cc:1479
void execute(GPUDynInstPtr) override
Definition sop1.cc:1136
void execute(GPUDynInstPtr) override
Definition sop1.cc:1172
void execute(GPUDynInstPtr) override
Definition sop1.cc:171
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition sop1.cc:203
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition sop1.cc:1100
void execute(GPUDynInstPtr) override
Definition sop1.cc:992
void execute(GPUDynInstPtr) override
Definition sop1.cc:1241
void execute(GPUDynInstPtr) override
Definition sop1.cc:1272
void execute(GPUDynInstPtr) override
Definition sop1.cc:932
int getOperandSize(int opIdx) override
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition sop1.cc:876
void execute(GPUDynInstPtr) override
Definition sop1.cc:1499
void execute(GPUDynInstPtr) override
Definition sop1.cc:719
void execute(GPUDynInstPtr) override
Definition sop1.cc:692
void execute(GPUDynInstPtr) override
Definition sop1.cc:901
void execute(GPUDynInstPtr) override
Definition sop1.cc:234
int getOperandSize(int opIdx) override
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition sop1.cc:265
void execute(GPUDynInstPtr) override
Definition sop1.cc:1208
void execute(GPUDynInstPtr) override
Definition sop1.cc:1028
void execute(GPUDynInstPtr) override
Definition sop2.cc:1454
void execute(GPUDynInstPtr) override
Definition sop2.cc:198
int getOperandSize(int opIdx) override
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition sop2.cc:125
Inst_SOP2__S_ADD_U32(InFmt_SOP2 *)
Definition sop2.cc:41
void execute(GPUDynInstPtr) override
Definition sop2.cc:56
int getOperandSize(int opIdx) override
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition sop2.cc:645
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition sop2.cc:677
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition sop2.cc:453
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition sop2.cc:485
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition sop2.cc:1096
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition sop2.cc:1129
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition sop2.cc:1286
void execute(GPUDynInstPtr) override
Definition sop2.cc:1372
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition sop2.cc:1250
int getOperandSize(int opIdx) override
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition sop2.cc:1336
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition sop2.cc:1160
void execute(GPUDynInstPtr) override
Definition sop2.cc:1189
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition sop2.cc:1432
void execute(GPUDynInstPtr) override
Definition sop2.cc:392
void execute(GPUDynInstPtr) override
Definition sop2.cc:422
void execute(GPUDynInstPtr) override
Definition sop2.cc:965
int getOperandSize(int opIdx) override
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition sop2.cc:997
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition sop2.cc:1030
void execute(GPUDynInstPtr) override
Definition sop2.cc:1063
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition sop2.cc:329
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition sop2.cc:361
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition sop2.cc:265
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition sop2.cc:297
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition sop2.cc:1538
void execute(GPUDynInstPtr) override
Definition sop2.cc:1508
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition sop2.cc:1218
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition sop2.cc:773
void execute(GPUDynInstPtr) override
Definition sop2.cc:805
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition sop2.cc:837
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition sop2.cc:869
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition sop2.cc:709
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition sop2.cc:741
int getOperandSize(int opIdx) override
Inst_SOP2__S_OR_B32(InFmt_SOP2 *)
Definition sop2.cc:503
void execute(GPUDynInstPtr) override
Definition sop2.cc:517
int getOperandSize(int opIdx) override
Inst_SOP2__S_OR_B64(InFmt_SOP2 *)
Definition sop2.cc:535
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition sop2.cc:549
void execute(GPUDynInstPtr) override
Definition sop2.cc:1489
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition sop2.cc:232
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition sop2.cc:164
void execute(GPUDynInstPtr) override
Definition sop2.cc:90
Inst_SOP2__S_SUB_U32(InFmt_SOP2 *)
Definition sop2.cc:75
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition sop2.cc:901
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition sop2.cc:933
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition sop2.cc:581
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition sop2.cc:613
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition sopc.cc:390
void execute(GPUDynInstPtr) override
Definition sopc.cc:446
void execute(GPUDynInstPtr) override
Definition sopc.cc:418
void execute(GPUDynInstPtr) override
Definition sopc.cc:474
void execute(GPUDynInstPtr) override
Definition sopc.cc:54
void execute(GPUDynInstPtr) override
Definition sopc.cc:222
void execute(GPUDynInstPtr) override
Definition sopc.cc:557
void execute(GPUDynInstPtr) override
Definition sopc.cc:138
void execute(GPUDynInstPtr) override
Definition sopc.cc:306
void execute(GPUDynInstPtr) override
Definition sopc.cc:110
void execute(GPUDynInstPtr) override
Definition sopc.cc:278
void execute(GPUDynInstPtr) override
Definition sopc.cc:194
void execute(GPUDynInstPtr) override
Definition sopc.cc:362
void execute(GPUDynInstPtr) override
Definition sopc.cc:82
void execute(GPUDynInstPtr) override
Definition sopc.cc:250
void execute(GPUDynInstPtr) override
Definition sopc.cc:585
void execute(GPUDynInstPtr) override
Definition sopc.cc:166
void execute(GPUDynInstPtr) override
Definition sopc.cc:334
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition sopc.cc:511
void execute(GPUDynInstPtr) override
Definition sopc.cc:538
void execute(GPUDynInstPtr) override
Definition sopk.cc:435
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition sopk.cc:514
void execute(GPUDynInstPtr) override
Definition sopk.cc:82
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition sopk.cc:110
void execute(GPUDynInstPtr) override
Definition sopk.cc:272
void execute(GPUDynInstPtr) override
Definition sopk.cc:191
void execute(GPUDynInstPtr) override
Definition sopk.cc:353
void execute(GPUDynInstPtr) override
Definition sopk.cc:164
void execute(GPUDynInstPtr) override
Definition sopk.cc:326
void execute(GPUDynInstPtr) override
Definition sopk.cc:245
void execute(GPUDynInstPtr) override
Definition sopk.cc:407
void execute(GPUDynInstPtr) override
Definition sopk.cc:137
void execute(GPUDynInstPtr) override
Definition sopk.cc:299
void execute(GPUDynInstPtr) override
Definition sopk.cc:218
void execute(GPUDynInstPtr) override
Definition sopk.cc:380
void execute(GPUDynInstPtr) override
Definition sopk.cc:536
Inst_SOPK__S_MOVK_I32(InFmt_SOPK *)
Definition sopk.cc:43
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition sopk.cc:56
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition sopk.cc:466
void execute(GPUDynInstPtr) override
Definition sopk.cc:571
void execute(GPUDynInstPtr) override
Definition sopk.cc:619
void execute(GPUDynInstPtr) override
Definition sopp.cc:466
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition sopp.cc:227
Inst_SOPP__S_BRANCH(InFmt_SOPP *)
Definition sopp.cc:213
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition sopp.cc:782
void execute(GPUDynInstPtr) override
Definition sopp.cc:803
void execute(GPUDynInstPtr) override
Definition sopp.cc:435
void execute(GPUDynInstPtr) override
Definition sopp.cc:407
void execute(GPUDynInstPtr) override
Definition sopp.cc:281
void execute(GPUDynInstPtr) override
Definition sopp.cc:312
void execute(GPUDynInstPtr) override
Definition sopp.cc:376
void execute(GPUDynInstPtr) override
Definition sopp.cc:344
void execute(GPUDynInstPtr) override
Definition sopp.cc:742
void execute(GPUDynInstPtr) override
Definition sopp.cc:872
Inst_SOPP__S_ENDPGM(InFmt_SOPP *)
Definition sopp.cc:65
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition sopp.cc:81
void execute(GPUDynInstPtr) override
Definition sopp.cc:687
void execute(GPUDynInstPtr) override
Definition sopp.cc:724
Inst_SOPP__S_NOP(InFmt_SOPP *)
Definition sopp.cc:43
void execute(GPUDynInstPtr) override
Definition sopp.cc:60
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition sopp.cc:636
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition sopp.cc:618
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition sopp.cc:549
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition sopp.cc:497
void execute(GPUDynInstPtr) override
Definition sopp.cc:595
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition sopp.cc:917
void execute(GPUDynInstPtr) override
Definition sopp.cc:894
void execute(GPUDynInstPtr) override
Definition sopp.cc:570
Inst_SOPP__S_SLEEP(InFmt_SOPP *)
Definition sopp.cc:555
int getOperandSize(int opIdx) override
Inst_SOPP__S_TRAP(InFmt_SOPP *)
Definition sopp.cc:642
void execute(GPUDynInstPtr) override
Definition sopp.cc:663
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition sopp.cc:760
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition sopp.cc:521
void execute(GPUDynInstPtr) override
Definition sopp.cc:261
Inst_SOPP__S_WAKEUP(InFmt_SOPP *)
Definition sopp.cc:239
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vinterp.cc:110
void execute(GPUDynInstPtr) override
Definition vinterp.cc:63
void execute(GPUDynInstPtr) override
Definition vinterp.cc:89
void execute(GPUDynInstPtr) override
Definition vop1.cc:2416
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop1.cc:1580
void execute(GPUDynInstPtr) override
Definition vop1.cc:2231
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop1.cc:1058
int getOperandSize(int opIdx) override
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop1.cc:895
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop1.cc:1901
void execute(GPUDynInstPtr) override
Definition vop1.cc:2334
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop1.cc:1510
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop1.cc:434
void execute(GPUDynInstPtr) override
Definition vop1.cc:1978
void execute(GPUDynInstPtr) override
Definition vop1.cc:1957
void execute(GPUDynInstPtr) override
Definition vop1.cc:470
void execute(GPUDynInstPtr) override
Definition vop1.cc:590
void execute(GPUDynInstPtr) override
Definition vop1.cc:253
void execute(GPUDynInstPtr) override
Definition vop1.cc:285
void execute(GPUDynInstPtr) override
Definition vop1.cc:654
void execute(GPUDynInstPtr) override
Definition vop1.cc:686
void execute(GPUDynInstPtr) override
Definition vop1.cc:718
void execute(GPUDynInstPtr) override
Definition vop1.cc:750
void execute(GPUDynInstPtr) override
Definition vop1.cc:622
void execute(GPUDynInstPtr) override
Definition vop1.cc:221
void execute(GPUDynInstPtr) override
Definition vop1.cc:830
void execute(GPUDynInstPtr) override
Definition vop1.cc:537
void execute(GPUDynInstPtr) override
Definition vop1.cc:2020
void execute(GPUDynInstPtr) override
Definition vop1.cc:367
void execute(GPUDynInstPtr) override
Definition vop1.cc:177
void execute(GPUDynInstPtr) override
Definition vop1.cc:569
void execute(GPUDynInstPtr) override
Definition vop1.cc:504
void execute(GPUDynInstPtr) override
Definition vop1.cc:1999
void execute(GPUDynInstPtr) override
Definition vop1.cc:319
void execute(GPUDynInstPtr) override
Definition vop1.cc:784
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop1.cc:2135
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop1.cc:1155
void execute(GPUDynInstPtr) override
Definition vop1.cc:2354
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop1.cc:1676
void execute(GPUDynInstPtr) override
Definition vop1.cc:1612
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop1.cc:1644
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop1.cc:2210
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop1.cc:1123
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop1.cc:960
void execute(GPUDynInstPtr) override
Definition vop1.cc:2294
void execute(GPUDynInstPtr) override
Definition vop1.cc:992
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop1.cc:1784
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop1.cc:2189
void execute(GPUDynInstPtr) override
Definition vop1.cc:1822
void execute(GPUDynInstPtr) override
Definition vop1.cc:1709
void execute(GPUDynInstPtr) override
Definition vop1.cc:2162
void execute(GPUDynInstPtr) override
Definition vop1.cc:1865
void execute(GPUDynInstPtr) override
Definition vop1.cc:1747
void execute(GPUDynInstPtr) override
Definition vop1.cc:2112
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop1.cc:1187
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop1.cc:2386
Inst_VOP1__V_MOV_B32(InFmt_VOP1 *)
Definition vop1.cc:61
void execute(GPUDynInstPtr) override
Definition vop1.cc:75
int getOperandSize(int opIdx) override
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop1.cc:1921
void execute(GPUDynInstPtr) override
Definition vop1.cc:413
Inst_VOP1__V_NOP(InFmt_VOP1 *)
Definition vop1.cc:42
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop1.cc:56
void execute(GPUDynInstPtr) override
Definition vop1.cc:1548
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop1.cc:2043
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop1.cc:1219
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop1.cc:1317
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop1.cc:1253
void execute(GPUDynInstPtr) override
Definition vop1.cc:141
void execute(GPUDynInstPtr) override
Definition vop1.cc:2274
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop1.cc:1090
void execute(GPUDynInstPtr) override
Definition vop1.cc:927
int getOperandSize(int opIdx) override
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop1.cc:2089
void execute(GPUDynInstPtr) override
Definition vop1.cc:1285
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop1.cc:1361
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop1.cc:2314
int getOperandSize(int opIdx) override
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop1.cc:1470
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop1.cc:2066
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop1.cc:1404
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop1.cc:1436
void execute(GPUDynInstPtr) override
Definition vop1.cc:2252
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop1.cc:1025
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop1.cc:862
void execute(GPUDynInstPtr) override
Definition vop2.cc:1299
void execute(GPUDynInstPtr) override
Definition vop2.cc:1133
void execute(GPUDynInstPtr) override
Definition vop2.cc:1433
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop2.cc:95
Inst_VOP2__V_ADD_F32(InFmt_VOP2 *)
Definition vop2.cc:81
int getOperandSize(int opIdx) override
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop2.cc:1591
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop2.cc:2027
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop2.cc:819
void execute(GPUDynInstPtr) override
Definition vop2.cc:1798
void execute(GPUDynInstPtr) override
Definition vop2.cc:710
void execute(GPUDynInstPtr) override
Definition vop2.cc:58
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop2.cc:2167
void execute(GPUDynInstPtr) override
Definition vop2.cc:2008
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop2.cc:1728
void execute(GPUDynInstPtr) override
Definition vop2.cc:744
void execute(GPUDynInstPtr) override
Definition vop2.cc:1763
void execute(GPUDynInstPtr) override
Definition vop2.cc:675
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop2.cc:1521
void execute(GPUDynInstPtr) override
Definition vop2.cc:990
int getOperandSize(int opIdx) override
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop2.cc:1571
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop2.cc:1095
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop2.cc:1546
void execute(GPUDynInstPtr) override
Definition vop2.cc:1056
int getOperandSize(int opIdx) override
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop2.cc:1834
void execute(GPUDynInstPtr) override
Definition vop2.cc:508
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop2.cc:1908
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop2.cc:574
int getOperandSize(int opIdx) override
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop2.cc:1875
void execute(GPUDynInstPtr) override
Definition vop2.cc:640
int getOperandSize(int opIdx) override
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop2.cc:1856
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop2.cc:474
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop2.cc:1974
void execute(GPUDynInstPtr) override
Definition vop2.cc:541
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop2.cc:1941
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop2.cc:607
int getOperandSize(int opIdx) override
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop2.cc:1498
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop2.cc:259
void execute(GPUDynInstPtr) override
Definition vop2.cc:371
void execute(GPUDynInstPtr) override
Definition vop2.cc:438
void execute(GPUDynInstPtr) override
Definition vop2.cc:337
void execute(GPUDynInstPtr) override
Definition vop2.cc:225
void execute(GPUDynInstPtr) override
Definition vop2.cc:1694
void execute(GPUDynInstPtr) override
Definition vop2.cc:409
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop2.cc:879
Inst_VOP2__V_OR_B32(InFmt_VOP2 *)
Definition vop2.cc:865
void execute(GPUDynInstPtr) override
Definition vop2.cc:1392
void execute(GPUDynInstPtr) override
Definition vop2.cc:1346
void execute(GPUDynInstPtr) override
Definition vop2.cc:1257
void execute(GPUDynInstPtr) override
Definition vop2.cc:1477
void execute(GPUDynInstPtr) override
Definition vop2.cc:191
void execute(GPUDynInstPtr) override
Definition vop2.cc:1660
void execute(GPUDynInstPtr) override
Definition vop2.cc:2134
void execute(GPUDynInstPtr) override
Definition vop2.cc:1217
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop2.cc:1455
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop2.cc:156
void execute(GPUDynInstPtr) override
Definition vop2.cc:1625
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop2.cc:2101
int getOperandSize(int opIdx) override
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop2.cc:2201
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop2.cc:954
void execute(GPUDynInstPtr gpuDynInst) override
Inst_VOP3P_MAI__V_MFMA_I8(InFmt_VOP3P_MAI *iFmt)
void execute(GPUDynInstPtr gpuDynInst) override
void execute(GPUDynInstPtr gpuDynInst) override
Inst_VOP3P_MAI__V_MFMA(InFmt_VOP3P_MAI *iFmt)
void execute(GPUDynInstPtr) override
Definition vop3p.cc:804
void execute(GPUDynInstPtr) override
Definition vop3p.cc:650
void execute(GPUDynInstPtr) override
Definition vop3p.cc:878
void execute(GPUDynInstPtr) override
Definition vop3p.cc:732
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop3.cc:7382
void execute(GPUDynInstPtr) override
Definition vop3.cc:1451
void execute(GPUDynInstPtr) override
Definition vop3.cc:1305
void execute(GPUDynInstPtr) override
Definition vop3.cc:1609
int getOperandSize(int opIdx) override
Inst_VOP3__V_ADD_F16(InFmt_VOP3A *)
Definition vop3.cc:1594
int getOperandSize(int opIdx) override
Inst_VOP3__V_ADD_F32(InFmt_VOP3A *)
Definition vop3.cc:81
void execute(GPUDynInstPtr) override
Definition vop3.cc:95
void execute(GPUDynInstPtr) override
Definition vop3.cc:8000
int getOperandSize(int opIdx) override
Inst_VOP3__V_ADD_F64(InFmt_VOP3A *)
Definition vop3.cc:7986
void execute(GPUDynInstPtr) override
Definition vop3.cc:7336
Inst_VOP3__V_ADD_U16(InFmt_VOP3A *)
Definition vop3.cc:1703
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop3.cc:1717
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop3.cc:2293
Inst_VOP3__V_ADD_U32(InFmt_VOP3A *)
Definition vop3.cc:2280
void execute(GPUDynInstPtr) override
Definition vop3.cc:5808
void execute(GPUDynInstPtr) override
Definition vop3.cc:5856
void execute(GPUDynInstPtr) override
Definition vop3.cc:1065
int getOperandSize(int opIdx) override
Inst_VOP3__V_AND_B32(InFmt_VOP3A *)
Definition vop3.cc:1051
void execute(GPUDynInstPtr) override
Definition vop3.cc:7474
void execute(GPUDynInstPtr) override
Definition vop3.cc:1990
void execute(GPUDynInstPtr) override
Definition vop3.cc:977
void execute(GPUDynInstPtr) override
Definition vop3.cc:8850
void execute(GPUDynInstPtr) override
Definition vop3.cc:8616
Inst_VOP3__V_BFE_I32(InFmt_VOP3A *)
Definition vop3.cc:5512
void execute(GPUDynInstPtr) override
Definition vop3.cc:5526
int getOperandSize(int opIdx) override
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop3.cc:5479
Inst_VOP3__V_BFE_U32(InFmt_VOP3A *)
Definition vop3.cc:5465
Inst_VOP3__V_BFI_B32(InFmt_VOP3A *)
Definition vop3.cc:5566
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop3.cc:5579
Inst_VOP3__V_BFM_B32(InFmt_VOP3A *)
Definition vop3.cc:8906
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop3.cc:8920
void execute(GPUDynInstPtr) override
Definition vop3.cc:4301
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop3.cc:4976
void execute(GPUDynInstPtr) override
Definition vop3.cc:3660
int getOperandSize(int opIdx) override
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop3.cc:3457
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop3.cc:4681
Inst_VOP3__V_CLREXCP(InFmt_VOP3A *)
Definition vop3.cc:4669
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:574
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:187
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:422
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:991
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:1930
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:3399
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:4920
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:6236
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:7552
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:5258
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:6574
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:7890
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:937
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:1861
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:3308
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:4843
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:6159
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:7475
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:5181
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:6497
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:7813
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:1079
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:2079
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:3636
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:5104
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:6420
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:7736
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:5442
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:6758
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:8074
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:1035
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:2004
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:3517
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:5012
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:6328
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:7644
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:5350
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:6666
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:7982
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:1013
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:1967
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:3458
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:4966
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:6282
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:7598
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:5304
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:6620
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:7936
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:1057
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:2041
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:3576
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:969
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:1893
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:3340
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:4874
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:6190
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:7506
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:5212
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:6528
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:7844
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:1235
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:2343
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:4054
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:5058
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:6374
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:7690
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:5396
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:6712
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:8028
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:1147
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:2194
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:3817
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:1191
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:2269
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:3936
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:1213
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:2306
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:3995
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:1169
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:2231
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:3876
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:1257
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:2380
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:4113
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:1102
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:2117
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:3696
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:1279
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:2417
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:4172
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:5150
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:6466
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:7782
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:5488
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:6804
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:8120
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:1125
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:2156
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:3757
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:539
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:69
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:304
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:636
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:1374
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:2534
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:4274
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:5590
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:6906
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:4594
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:5910
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:7226
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:594
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:1309
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:2447
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:4201
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:5517
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:6833
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:4521
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:5837
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:7153
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:720
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:1514
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:2763
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:4450
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:5766
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:7082
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:4770
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:6086
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:7402
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:678
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:1444
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:2648
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:4362
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:5678
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:6994
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:4682
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:5998
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:7314
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:657
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:1409
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:2591
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:4318
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:5634
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:6950
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:4638
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:5954
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:7270
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:699
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:1479
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:2705
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:615
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:1339
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:2477
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:4230
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:5546
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:6862
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:4550
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:5866
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:7182
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:865
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:1760
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:3163
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:4406
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:5722
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:7038
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:4726
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:6042
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:7358
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:781
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:1619
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:2934
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:823
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:1690
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:3049
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:844
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:1725
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:3106
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:802
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:1654
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:2991
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:886
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:1795
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:3220
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:740
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:1548
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:2819
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:907
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:1830
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:3277
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:4493
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:5809
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:7125
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:4813
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:6129
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:7445
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:760
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:1583
void execute(GPUDynInstPtr) override
Definition vop3_cmp.cc:2876
Inst_VOP3__V_CNDMASK_B32(InFmt_VOP3A *)
Definition vop3.cc:43
void execute(GPUDynInstPtr) override
Definition vop3.cc:58
void execute(GPUDynInstPtr) override
Definition vop3.cc:5079
Inst_VOP3__V_COS_F16(InFmt_VOP3A *)
Definition vop3.cc:5065
int getOperandSize(int opIdx) override
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop3.cc:4219
Inst_VOP3__V_COS_F32(InFmt_VOP3A *)
Definition vop3.cc:4203
void execute(GPUDynInstPtr) override
Definition vop3.cc:5396
void execute(GPUDynInstPtr) override
Definition vop3.cc:5459
void execute(GPUDynInstPtr) override
Definition vop3.cc:5417
void execute(GPUDynInstPtr) override
Definition vop3.cc:5438
void execute(GPUDynInstPtr) override
Definition vop3.cc:2858
void execute(GPUDynInstPtr) override
Definition vop3.cc:4723
void execute(GPUDynInstPtr) override
Definition vop3.cc:4702
void execute(GPUDynInstPtr) override
Definition vop3.cc:2914
void execute(GPUDynInstPtr) override
Definition vop3.cc:3064
void execute(GPUDynInstPtr) override
Definition vop3.cc:2635
void execute(GPUDynInstPtr) override
Definition vop3.cc:2677
void execute(GPUDynInstPtr) override
Definition vop3.cc:3160
void execute(GPUDynInstPtr) override
Definition vop3.cc:3200
void execute(GPUDynInstPtr) override
Definition vop3.cc:3240
void execute(GPUDynInstPtr) override
Definition vop3.cc:3280
void execute(GPUDynInstPtr) override
Definition vop3.cc:3112
void execute(GPUDynInstPtr) override
Definition vop3.cc:2595
void execute(GPUDynInstPtr) override
Definition vop3.cc:3376
void execute(GPUDynInstPtr) override
Definition vop3.cc:3003
void execute(GPUDynInstPtr) override
Definition vop3.cc:4765
void execute(GPUDynInstPtr) override
Definition vop3.cc:2775
void execute(GPUDynInstPtr) override
Definition vop3.cc:2543
void execute(GPUDynInstPtr) override
Definition vop3.cc:3043
void execute(GPUDynInstPtr) override
Definition vop3.cc:7822
void execute(GPUDynInstPtr) override
Definition vop3.cc:8966
void execute(GPUDynInstPtr) override
Definition vop3.cc:8987
void execute(GPUDynInstPtr) override
Definition vop3.cc:9011
void execute(GPUDynInstPtr) override
Definition vop3.cc:9066
void execute(GPUDynInstPtr) override
Definition vop3.cc:9049
void execute(GPUDynInstPtr) override
Definition vop3.cc:9030
void execute(GPUDynInstPtr) override
Definition vop3.cc:6566
void execute(GPUDynInstPtr) override
Definition vop3.cc:2962
void execute(GPUDynInstPtr) override
Definition vop3.cc:4744
void execute(GPUDynInstPtr) override
Definition vop3.cc:2719
void execute(GPUDynInstPtr) override
Definition vop3.cc:3322
void execute(GPUDynInstPtr) override
Definition vop3.cc:7749
void execute(GPUDynInstPtr) override
Definition vop3.cc:6623
void execute(GPUDynInstPtr) override
Definition vop3.cc:6701
void execute(GPUDynInstPtr) override
Definition vop3.cc:6939
void execute(GPUDynInstPtr) override
Definition vop3.cc:7002
void execute(GPUDynInstPtr) override
Definition vop3.cc:6796
void execute(GPUDynInstPtr) override
Definition vop3.cc:6853
Inst_VOP3__V_EXP_F16(InFmt_VOP3A *)
Definition vop3.cc:4863
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop3.cc:4880
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop3.cc:3781
Inst_VOP3__V_EXP_F32(InFmt_VOP3A *)
Definition vop3.cc:3767
void execute(GPUDynInstPtr) override
Definition vop3.cc:5099
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop3.cc:4413
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop3.cc:4333
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop3.cc:4373
void execute(GPUDynInstPtr) override
Definition vop3.cc:4955
void execute(GPUDynInstPtr) override
Definition vop3.cc:3741
void execute(GPUDynInstPtr) override
Definition vop3.cc:3538
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop3.cc:2424
int getOperandSize(int opIdx) override
Inst_VOP3__V_FMA_F16(InFmt_VOP3A *)
Definition vop3.cc:7685
void execute(GPUDynInstPtr) override
Definition vop3.cc:7701
void execute(GPUDynInstPtr) override
Definition vop3.cc:5627
Inst_VOP3__V_FMA_F32(InFmt_VOP3A *)
Definition vop3.cc:5612
int getOperandSize(int opIdx) override
Inst_VOP3__V_FMA_F64(InFmt_VOP3A *)
Definition vop3.cc:5673
void execute(GPUDynInstPtr) override
Definition vop3.cc:5688
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop3.cc:5039
void execute(GPUDynInstPtr) override
Definition vop3.cc:3578
void execute(GPUDynInstPtr) override
Definition vop3.cc:4541
void execute(GPUDynInstPtr) override
Definition vop3.cc:4934
void execute(GPUDynInstPtr) override
Definition vop3.cc:4587
void execute(GPUDynInstPtr) override
Definition vop3.cc:4454
void execute(GPUDynInstPtr) override
Definition vop3.cc:4907
void execute(GPUDynInstPtr) override
Definition vop3.cc:4638
void execute(GPUDynInstPtr) override
Definition vop3.cc:4500
void execute(GPUDynInstPtr) override
Definition vop3.cc:7894
void execute(GPUDynInstPtr) override
Definition vop3.cc:7923
void execute(GPUDynInstPtr) override
Definition vop3.cc:7953
void execute(GPUDynInstPtr) override
Definition vop3.cc:7849
void execute(GPUDynInstPtr) override
Definition vop3.cc:7980
void execute(GPUDynInstPtr) override
Definition vop3.cc:7874
void execute(GPUDynInstPtr) override
Definition vop3.cc:2274
void execute(GPUDynInstPtr) override
Definition vop3.cc:8510
void execute(GPUDynInstPtr) override
Definition vop3.cc:8312
void execute(GPUDynInstPtr) override
Definition vop3.cc:5753
Inst_VOP3__V_LERP_U8(InFmt_VOP3A *)
Definition vop3.cc:5734
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop3.cc:4857
Inst_VOP3__V_LOG_F16(InFmt_VOP3A *)
Definition vop3.cc:4840
int getOperandSize(int opIdx) override
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop3.cc:3821
Inst_VOP3__V_LOG_F32(InFmt_VOP3A *)
Definition vop3.cc:3807
void execute(GPUDynInstPtr) override
Definition vop3.cc:5147
void execute(GPUDynInstPtr) override
Definition vop3.cc:1894
void execute(GPUDynInstPtr) override
Definition vop3.cc:1021
void execute(GPUDynInstPtr) override
Definition vop3.cc:8760
void execute(GPUDynInstPtr) override
Definition vop3.cc:7290
void execute(GPUDynInstPtr) override
Definition vop3.cc:7768
void execute(GPUDynInstPtr) override
Definition vop3.cc:7427
void execute(GPUDynInstPtr) override
Definition vop3.cc:1939
void execute(GPUDynInstPtr) override
Definition vop3.cc:932
void execute(GPUDynInstPtr) override
Definition vop3.cc:8805
void execute(GPUDynInstPtr) override
Definition vop3.cc:1697
int getOperandSize(int opIdx) override
Inst_VOP3__V_MAC_F16(InFmt_VOP3A *)
Definition vop3.cc:1680
int getOperandSize(int opIdx) override
Inst_VOP3__V_MAC_F32(InFmt_VOP3A *)
Definition vop3.cc:1229
void execute(GPUDynInstPtr) override
Definition vop3.cc:1245
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop3.cc:7522
Inst_VOP3__V_MAD_F16(InFmt_VOP3A *)
Definition vop3.cc:7506
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop3.cc:5241
Inst_VOP3__V_MAD_F32(InFmt_VOP3A *)
Definition vop3.cc:5226
Inst_VOP3__V_MAD_I16(InFmt_VOP3A *)
Definition vop3.cc:7575
void execute(GPUDynInstPtr) override
Definition vop3.cc:7590
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop3.cc:5301
void execute(GPUDynInstPtr) override
Definition vop3.cc:7200
void execute(GPUDynInstPtr) override
Definition vop3.cc:5180
void execute(GPUDynInstPtr) override
Definition vop3.cc:7543
int getOperandSize(int opIdx) override
Inst_VOP3__V_MAD_U16(InFmt_VOP3A *)
Definition vop3.cc:7528
void execute(GPUDynInstPtr) override
Definition vop3.cc:5348
void execute(GPUDynInstPtr) override
Definition vop3.cc:7151
void execute(GPUDynInstPtr) override
Definition vop3.cc:6059
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop3.cc:6119
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop3.cc:6165
int getOperandSize(int opIdx) override
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop3.cc:2036
Inst_VOP3__V_MAX_F16(InFmt_VOP3A *)
Definition vop3.cc:2020
void execute(GPUDynInstPtr) override
Definition vop3.cc:703
Inst_VOP3__V_MAX_F32(InFmt_VOP3A *)
Definition vop3.cc:689
int getOperandSize(int opIdx) override
Inst_VOP3__V_MAX_F64(InFmt_VOP3A *)
Definition vop3.cc:8242
void execute(GPUDynInstPtr) override
Definition vop3.cc:8256
int getOperandSize(int opIdx) override
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop3.cc:2126
Inst_VOP3__V_MAX_I16(InFmt_VOP3A *)
Definition vop3.cc:2113
void execute(GPUDynInstPtr) override
Definition vop3.cc:801
int getOperandSize(int opIdx) override
Inst_VOP3__V_MAX_I32(InFmt_VOP3A *)
Definition vop3.cc:788
Inst_VOP3__V_MAX_U16(InFmt_VOP3A *)
Definition vop3.cc:2064
void execute(GPUDynInstPtr) override
Definition vop3.cc:2077
int getOperandSize(int opIdx) override
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop3.cc:887
Inst_VOP3__V_MAX_U32(InFmt_VOP3A *)
Definition vop3.cc:874
void execute(GPUDynInstPtr) override
Definition vop3.cc:8713
void execute(GPUDynInstPtr) override
Definition vop3.cc:8663
void execute(GPUDynInstPtr) override
Definition vop3.cc:6212
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop3.cc:6271
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop3.cc:6316
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop3.cc:5906
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop3.cc:5966
int getOperandSize(int opIdx) override
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop3.cc:6012
void execute(GPUDynInstPtr) override
Definition vop3.cc:2058
int getOperandSize(int opIdx) override
Inst_VOP3__V_MIN_F16(InFmt_VOP3A *)
Definition vop3.cc:2042
void execute(GPUDynInstPtr) override
Definition vop3.cc:647
int getOperandSize(int opIdx) override
Inst_VOP3__V_MIN_F32(InFmt_VOP3A *)
Definition vop3.cc:633
Inst_VOP3__V_MIN_F64(InFmt_VOP3A *)
Definition vop3.cc:8186
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop3.cc:8200
int getOperandSize(int opIdx) override
Inst_VOP3__V_MIN_I16(InFmt_VOP3A *)
Definition vop3.cc:2211
void execute(GPUDynInstPtr) override
Definition vop3.cc:2224
void execute(GPUDynInstPtr) override
Definition vop3.cc:758
int getOperandSize(int opIdx) override
Inst_VOP3__V_MIN_I32(InFmt_VOP3A *)
Definition vop3.cc:745
void execute(GPUDynInstPtr) override
Definition vop3.cc:2175
Inst_VOP3__V_MIN_U16(InFmt_VOP3A *)
Definition vop3.cc:2162
int getOperandSize(int opIdx) override
Inst_VOP3__V_MIN_U32(InFmt_VOP3A *)
Definition vop3.cc:831
void execute(GPUDynInstPtr) override
Definition vop3.cc:844
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop3.cc:2509
int getOperandSize(int opIdx) override
Inst_VOP3__V_MOV_B32(InFmt_VOP3A *)
Definition vop3.cc:2495
void execute(GPUDynInstPtr) override
Definition vop3.cc:2837
void execute(GPUDynInstPtr) override
Definition vop3.cc:7109
void execute(GPUDynInstPtr) override
Definition vop3.cc:7129
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop3.cc:7068
Inst_VOP3__V_MSAD_U8(InFmt_VOP3A *)
Definition vop3.cc:7055
Inst_VOP3__V_MUL_F16(InFmt_VOP3A *)
Definition vop3.cc:1659
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop3.cc:1674
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop3.cc:366
Inst_VOP3__V_MUL_F32(InFmt_VOP3A *)
Definition vop3.cc:352
Inst_VOP3__V_MUL_F64(InFmt_VOP3A *)
Definition vop3.cc:8085
void execute(GPUDynInstPtr) override
Definition vop3.cc:8099
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop3.cc:510
void execute(GPUDynInstPtr) override
Definition vop3.cc:8463
void execute(GPUDynInstPtr) override
Definition vop3.cc:601
void execute(GPUDynInstPtr) override
Definition vop3.cc:8417
void execute(GPUDynInstPtr) override
Definition vop3.cc:466
void execute(GPUDynInstPtr) override
Definition vop3.cc:265
void execute(GPUDynInstPtr) override
Definition vop3.cc:1850
void execute(GPUDynInstPtr) override
Definition vop3.cc:8372
void execute(GPUDynInstPtr) override
Definition vop3.cc:558
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop3.cc:2490
Inst_VOP3__V_NOP(InFmt_VOP3A *)
Definition vop3.cc:2476
void execute(GPUDynInstPtr) override
Definition vop3.cc:4261
int getOperandSize(int opIdx) override
Inst_VOP3__V_NOT_B32(InFmt_VOP3A *)
Definition vop3.cc:4247
Inst_VOP3__V_OR3_B32(InFmt_VOP3A *)
Definition vop3.cc:1139
void execute(GPUDynInstPtr) override
Definition vop3.cc:1153
int getOperandSize(int opIdx) override
Inst_VOP3__V_OR_B32(InFmt_VOP3A *)
Definition vop3.cc:1095
void execute(GPUDynInstPtr) override
Definition vop3.cc:1109
int getOperandSize(int opIdx) override
uint8_t permute(uint64_t in_dword2x, uint32_t sel)
void execute(GPUDynInstPtr) override
Definition vop3.cc:7648
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop3.cc:7088
Inst_VOP3__V_RCP_F16(InFmt_VOP3A *)
Definition vop3.cc:4771
void execute(GPUDynInstPtr) override
Definition vop3.cc:4788
int getOperandSize(int opIdx) override
Inst_VOP3__V_RCP_F32(InFmt_VOP3A *)
Definition vop3.cc:3855
void execute(GPUDynInstPtr) override
Definition vop3.cc:3869
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop3.cc:3991
Inst_VOP3__V_RCP_F64(InFmt_VOP3A *)
Definition vop3.cc:3977
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop3.cc:3911
void execute(GPUDynInstPtr) override
Definition vop3.cc:8554
void execute(GPUDynInstPtr) override
Definition vop3.cc:5019
void execute(GPUDynInstPtr) override
Definition vop3.cc:3700
void execute(GPUDynInstPtr) override
Definition vop3.cc:3497
void execute(GPUDynInstPtr) override
Definition vop3.cc:4834
int getOperandSize(int opIdx) override
Inst_VOP3__V_RSQ_F16(InFmt_VOP3A *)
Definition vop3.cc:4817
int getOperandSize(int opIdx) override
Inst_VOP3__V_RSQ_F32(InFmt_VOP3A *)
Definition vop3.cc:3937
void execute(GPUDynInstPtr) override
Definition vop3.cc:3951
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop3.cc:4043
Inst_VOP3__V_RSQ_F64(InFmt_VOP3A *)
Definition vop3.cc:4029
void execute(GPUDynInstPtr) override
Definition vop3.cc:6417
int getOperandSize(int opIdx) override
Inst_VOP3__V_SAD_U16(InFmt_VOP3A *)
Definition vop3.cc:6453
void execute(GPUDynInstPtr) override
Definition vop3.cc:6468
Inst_VOP3__V_SAD_U32(InFmt_VOP3A *)
Definition vop3.cc:6503
void execute(GPUDynInstPtr) override
Definition vop3.cc:6517
int getOperandSize(int opIdx) override
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop3.cc:6364
Inst_VOP3__V_SAD_U8(InFmt_VOP3A *)
Definition vop3.cc:6348
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop3.cc:5059
Inst_VOP3__V_SIN_F16(InFmt_VOP3A *)
Definition vop3.cc:5045
Inst_VOP3__V_SIN_F32(InFmt_VOP3A *)
Definition vop3.cc:4159
void execute(GPUDynInstPtr) override
Definition vop3.cc:4175
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop3.cc:4811
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop3.cc:4093
int getOperandSize(int opIdx) override
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop3.cc:4133
void execute(GPUDynInstPtr) override
Definition vop3.cc:1560
void execute(GPUDynInstPtr) override
Definition vop3.cc:1506
void execute(GPUDynInstPtr) override
Definition vop3.cc:1402
void execute(GPUDynInstPtr) override
Definition vop3.cc:1653
void execute(GPUDynInstPtr) override
Definition vop3.cc:209
void execute(GPUDynInstPtr) override
Definition vop3.cc:1806
void execute(GPUDynInstPtr) override
Definition vop3.cc:2379
void execute(GPUDynInstPtr) override
Definition vop3.cc:1353
Inst_VOP3__V_SUB_F16(InFmt_VOP3A *)
Definition vop3.cc:1615
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop3.cc:1631
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop3.cc:152
Inst_VOP3__V_SUB_F32(InFmt_VOP3A *)
Definition vop3.cc:137
Inst_VOP3__V_SUB_U16(InFmt_VOP3A *)
Definition vop3.cc:1747
void execute(GPUDynInstPtr) override
Definition vop3.cc:1761
int getOperandSize(int opIdx) override
int getOperandSize(int opIdx) override
Inst_VOP3__V_SUB_U32(InFmt_VOP3A *)
Definition vop3.cc:2323
void execute(GPUDynInstPtr) override
Definition vop3.cc:2336
void execute(GPUDynInstPtr) override
Definition vop3.cc:8900
void execute(GPUDynInstPtr) override
Definition vop3.cc:4997
void execute(GPUDynInstPtr) override
Definition vop3.cc:3619
void execute(GPUDynInstPtr) override
Definition vop3.cc:3416
void execute(GPUDynInstPtr) override
Definition vop3.cc:8587
void execute(GPUDynInstPtr) override
Definition vop3.cc:7245
int getOperandSize(int opIdx) override
Inst_VOP3__V_XAD_U32(InFmt_VOP3A *)
Definition vop3.cc:7232
Inst_VOP3__V_XOR_B32(InFmt_VOP3A *)
Definition vop3.cc:1185
int getOperandSize(int opIdx) override
void execute(GPUDynInstPtr) override
Definition vop3.cc:1199
void execute(GPUDynInstPtr) override
Definition vopc.cc:563
void execute(GPUDynInstPtr) override
Definition vopc.cc:182
void execute(GPUDynInstPtr) override
Definition vopc.cc:413
void execute(GPUDynInstPtr) override
Definition vopc.cc:946
void execute(GPUDynInstPtr) override
Definition vopc.cc:1847
void execute(GPUDynInstPtr) override
Definition vopc.cc:2957
void execute(GPUDynInstPtr) override
Definition vopc.cc:4034
void execute(GPUDynInstPtr) override
Definition vopc.cc:5082
void execute(GPUDynInstPtr) override
Definition vopc.cc:6130
void execute(GPUDynInstPtr) override
Definition vopc.cc:4304
void execute(GPUDynInstPtr) override
Definition vopc.cc:5352
void execute(GPUDynInstPtr) override
Definition vopc.cc:6400
void execute(GPUDynInstPtr) override
Definition vopc.cc:904
void execute(GPUDynInstPtr) override
Definition vopc.cc:1780
void execute(GPUDynInstPtr) override
Definition vopc.cc:2890
void execute(GPUDynInstPtr) override
Definition vopc.cc:3969
void execute(GPUDynInstPtr) override
Definition vopc.cc:5017
void execute(GPUDynInstPtr) override
Definition vopc.cc:6065
void execute(GPUDynInstPtr) override
Definition vopc.cc:4239
void execute(GPUDynInstPtr) override
Definition vopc.cc:5287
void execute(GPUDynInstPtr) override
Definition vopc.cc:6335
void execute(GPUDynInstPtr) override
Definition vopc.cc:1030
void execute(GPUDynInstPtr) override
Definition vopc.cc:1992
void execute(GPUDynInstPtr) override
Definition vopc.cc:3102
void execute(GPUDynInstPtr) override
Definition vopc.cc:4174
void execute(GPUDynInstPtr) override
Definition vopc.cc:5222
void execute(GPUDynInstPtr) override
Definition vopc.cc:6270
void execute(GPUDynInstPtr) override
Definition vopc.cc:4444
void execute(GPUDynInstPtr) override
Definition vopc.cc:5492
void execute(GPUDynInstPtr) override
Definition vopc.cc:6540
void execute(GPUDynInstPtr) override
Definition vopc.cc:988
void execute(GPUDynInstPtr) override
Definition vopc.cc:1919
void execute(GPUDynInstPtr) override
Definition vopc.cc:3029
void execute(GPUDynInstPtr) override
Definition vopc.cc:4104
void execute(GPUDynInstPtr) override
Definition vopc.cc:5152
void execute(GPUDynInstPtr) override
Definition vopc.cc:6200
void execute(GPUDynInstPtr) override
Definition vopc.cc:4374
void execute(GPUDynInstPtr) override
Definition vopc.cc:5422
void execute(GPUDynInstPtr) override
Definition vopc.cc:6470
void execute(GPUDynInstPtr) override
Definition vopc.cc:967
void execute(GPUDynInstPtr) override
Definition vopc.cc:1883
void execute(GPUDynInstPtr) override
Definition vopc.cc:2993
void execute(GPUDynInstPtr) override
Definition vopc.cc:4069
void execute(GPUDynInstPtr) override
Definition vopc.cc:5117
void execute(GPUDynInstPtr) override
Definition vopc.cc:6165
void execute(GPUDynInstPtr) override
Definition vopc.cc:4339
void execute(GPUDynInstPtr) override
Definition vopc.cc:5387
void execute(GPUDynInstPtr) override
Definition vopc.cc:6435
void execute(GPUDynInstPtr) override
Definition vopc.cc:1009
void execute(GPUDynInstPtr) override
Definition vopc.cc:1955
void execute(GPUDynInstPtr) override
Definition vopc.cc:3065
void execute(GPUDynInstPtr) override
Definition vopc.cc:925
void execute(GPUDynInstPtr) override
Definition vopc.cc:1811
void execute(GPUDynInstPtr) override
Definition vopc.cc:2921
void execute(GPUDynInstPtr) override
Definition vopc.cc:3999
void execute(GPUDynInstPtr) override
Definition vopc.cc:5047
void execute(GPUDynInstPtr) override
Definition vopc.cc:6095
void execute(GPUDynInstPtr) override
Definition vopc.cc:4269
void execute(GPUDynInstPtr) override
Definition vopc.cc:5317
void execute(GPUDynInstPtr) override
Definition vopc.cc:6365
void execute(GPUDynInstPtr) override
Definition vopc.cc:1179
void execute(GPUDynInstPtr) override
Definition vopc.cc:2249
void execute(GPUDynInstPtr) override
Definition vopc.cc:3359
void execute(GPUDynInstPtr) override
Definition vopc.cc:4139
void execute(GPUDynInstPtr) override
Definition vopc.cc:5187
void execute(GPUDynInstPtr) override
Definition vopc.cc:6235
void execute(GPUDynInstPtr) override
Definition vopc.cc:4409
void execute(GPUDynInstPtr) override
Definition vopc.cc:5457
void execute(GPUDynInstPtr) override
Definition vopc.cc:6505
void execute(GPUDynInstPtr) override
Definition vopc.cc:1095
void execute(GPUDynInstPtr) override
Definition vopc.cc:2104
void execute(GPUDynInstPtr) override
Definition vopc.cc:3214
void execute(GPUDynInstPtr) override
Definition vopc.cc:1137
void execute(GPUDynInstPtr) override
Definition vopc.cc:2177
void execute(GPUDynInstPtr) override
Definition vopc.cc:3287
void execute(GPUDynInstPtr) override
Definition vopc.cc:1158
void execute(GPUDynInstPtr) override
Definition vopc.cc:2213
void execute(GPUDynInstPtr) override
Definition vopc.cc:3323
void execute(GPUDynInstPtr) override
Definition vopc.cc:1116
void execute(GPUDynInstPtr) override
Definition vopc.cc:2140
void execute(GPUDynInstPtr) override
Definition vopc.cc:3250
void execute(GPUDynInstPtr) override
Definition vopc.cc:1200
void execute(GPUDynInstPtr) override
Definition vopc.cc:2285
void execute(GPUDynInstPtr) override
Definition vopc.cc:3395
void execute(GPUDynInstPtr) override
Definition vopc.cc:1052
void execute(GPUDynInstPtr) override
Definition vopc.cc:2029
void execute(GPUDynInstPtr) override
Definition vopc.cc:3139
void execute(GPUDynInstPtr) override
Definition vopc.cc:1221
void execute(GPUDynInstPtr) override
Definition vopc.cc:2321
void execute(GPUDynInstPtr) override
Definition vopc.cc:3431
void execute(GPUDynInstPtr) override
Definition vopc.cc:4209
void execute(GPUDynInstPtr) override
Definition vopc.cc:5257
void execute(GPUDynInstPtr) override
Definition vopc.cc:6305
void execute(GPUDynInstPtr) override
Definition vopc.cc:4479
void execute(GPUDynInstPtr) override
Definition vopc.cc:5527
void execute(GPUDynInstPtr) override
Definition vopc.cc:6575
void execute(GPUDynInstPtr) override
Definition vopc.cc:1074
void execute(GPUDynInstPtr) override
Definition vopc.cc:2067
void execute(GPUDynInstPtr) override
Definition vopc.cc:3177
void execute(GPUDynInstPtr) override
Definition vopc.cc:529
void execute(GPUDynInstPtr) override
Definition vopc.cc:67
void execute(GPUDynInstPtr) override
Definition vopc.cc:297
void execute(GPUDynInstPtr) override
Definition vopc.cc:623
void execute(GPUDynInstPtr) override
Definition vopc.cc:1304
void execute(GPUDynInstPtr) override
Definition vopc.cc:2414
void execute(GPUDynInstPtr) override
Definition vopc.cc:3521
void execute(GPUDynInstPtr) override
Definition vopc.cc:4569
void execute(GPUDynInstPtr) override
Definition vopc.cc:5617
void execute(GPUDynInstPtr) override
Definition vopc.cc:3775
void execute(GPUDynInstPtr) override
Definition vopc.cc:4823
void execute(GPUDynInstPtr) override
Definition vopc.cc:5871
void execute(GPUDynInstPtr) override
Definition vopc.cc:583
void execute(GPUDynInstPtr) override
Definition vopc.cc:1241
void execute(GPUDynInstPtr) override
Definition vopc.cc:2351
void execute(GPUDynInstPtr) override
Definition vopc.cc:3460
void execute(GPUDynInstPtr) override
Definition vopc.cc:4508
void execute(GPUDynInstPtr) override
Definition vopc.cc:5556
void execute(GPUDynInstPtr) override
Definition vopc.cc:3714
void execute(GPUDynInstPtr) override
Definition vopc.cc:4762
void execute(GPUDynInstPtr) override
Definition vopc.cc:5810
void execute(GPUDynInstPtr) override
Definition vopc.cc:703
void execute(GPUDynInstPtr) override
Definition vopc.cc:1441
void execute(GPUDynInstPtr) override
Definition vopc.cc:2551
void execute(GPUDynInstPtr) override
Definition vopc.cc:3653
void execute(GPUDynInstPtr) override
Definition vopc.cc:4701
void execute(GPUDynInstPtr) override
Definition vopc.cc:5749
void execute(GPUDynInstPtr) override
Definition vopc.cc:3907
void execute(GPUDynInstPtr) override
Definition vopc.cc:4955
void execute(GPUDynInstPtr) override
Definition vopc.cc:6003
void execute(GPUDynInstPtr) override
Definition vopc.cc:663
void execute(GPUDynInstPtr) override
Definition vopc.cc:1372
void execute(GPUDynInstPtr) override
Definition vopc.cc:2482
void execute(GPUDynInstPtr) override
Definition vopc.cc:3587
void execute(GPUDynInstPtr) override
Definition vopc.cc:4635
void execute(GPUDynInstPtr) override
Definition vopc.cc:5683
void execute(GPUDynInstPtr) override
Definition vopc.cc:3841
void execute(GPUDynInstPtr) override
Definition vopc.cc:4889
void execute(GPUDynInstPtr) override
Definition vopc.cc:5937
void execute(GPUDynInstPtr) override
Definition vopc.cc:643
void execute(GPUDynInstPtr) override
Definition vopc.cc:1338
void execute(GPUDynInstPtr) override
Definition vopc.cc:2448
void execute(GPUDynInstPtr) override
Definition vopc.cc:3554
void execute(GPUDynInstPtr) override
Definition vopc.cc:4602
void execute(GPUDynInstPtr) override
Definition vopc.cc:5650
void execute(GPUDynInstPtr) override
Definition vopc.cc:3808
void execute(GPUDynInstPtr) override
Definition vopc.cc:4856
void execute(GPUDynInstPtr) override
Definition vopc.cc:5904
void execute(GPUDynInstPtr) override
Definition vopc.cc:683
void execute(GPUDynInstPtr) override
Definition vopc.cc:1406
void execute(GPUDynInstPtr) override
Definition vopc.cc:2516
void execute(GPUDynInstPtr) override
Definition vopc.cc:603
void execute(GPUDynInstPtr) override
Definition vopc.cc:1270
void execute(GPUDynInstPtr) override
Definition vopc.cc:2380
void execute(GPUDynInstPtr) override
Definition vopc.cc:3488
void execute(GPUDynInstPtr) override
Definition vopc.cc:4536
void execute(GPUDynInstPtr) override
Definition vopc.cc:5584
void execute(GPUDynInstPtr) override
Definition vopc.cc:3742
void execute(GPUDynInstPtr) override
Definition vopc.cc:4790
void execute(GPUDynInstPtr) override
Definition vopc.cc:5838
void execute(GPUDynInstPtr) override
Definition vopc.cc:843
void execute(GPUDynInstPtr) override
Definition vopc.cc:1682
void execute(GPUDynInstPtr) override
Definition vopc.cc:2792
void execute(GPUDynInstPtr) override
Definition vopc.cc:3620
void execute(GPUDynInstPtr) override
Definition vopc.cc:4668
void execute(GPUDynInstPtr) override
Definition vopc.cc:5716
void execute(GPUDynInstPtr) override
Definition vopc.cc:3874
void execute(GPUDynInstPtr) override
Definition vopc.cc:4922
void execute(GPUDynInstPtr) override
Definition vopc.cc:5970
void execute(GPUDynInstPtr) override
Definition vopc.cc:763
void execute(GPUDynInstPtr) override
Definition vopc.cc:1545
void execute(GPUDynInstPtr) override
Definition vopc.cc:2655
void execute(GPUDynInstPtr) override
Definition vopc.cc:803
void execute(GPUDynInstPtr) override
Definition vopc.cc:1614
void execute(GPUDynInstPtr) override
Definition vopc.cc:2724
void execute(GPUDynInstPtr) override
Definition vopc.cc:823
void execute(GPUDynInstPtr) override
Definition vopc.cc:1648
void execute(GPUDynInstPtr) override
Definition vopc.cc:2758
void execute(GPUDynInstPtr) override
Definition vopc.cc:783
void execute(GPUDynInstPtr) override
Definition vopc.cc:1579
void execute(GPUDynInstPtr) override
Definition vopc.cc:2689
void execute(GPUDynInstPtr) override
Definition vopc.cc:863
void execute(GPUDynInstPtr) override
Definition vopc.cc:1716
void execute(GPUDynInstPtr) override
Definition vopc.cc:2826
void execute(GPUDynInstPtr) override
Definition vopc.cc:723
void execute(GPUDynInstPtr) override
Definition vopc.cc:1475
void execute(GPUDynInstPtr) override
Definition vopc.cc:2585
void execute(GPUDynInstPtr) override
Definition vopc.cc:883
void execute(GPUDynInstPtr) override
Definition vopc.cc:1750
void execute(GPUDynInstPtr) override
Definition vopc.cc:2860
void execute(GPUDynInstPtr) override
Definition vopc.cc:3686
void execute(GPUDynInstPtr) override
Definition vopc.cc:4734
void execute(GPUDynInstPtr) override
Definition vopc.cc:5782
void execute(GPUDynInstPtr) override
Definition vopc.cc:3940
void execute(GPUDynInstPtr) override
Definition vopc.cc:4988
void execute(GPUDynInstPtr) override
Definition vopc.cc:6036
void execute(GPUDynInstPtr) override
Definition vopc.cc:743
void execute(GPUDynInstPtr) override
Definition vopc.cc:1510
void execute(GPUDynInstPtr) override
Definition vopc.cc:2620
uint32_t getElem(int elem)
Definition operand.hh:876
void setDword(int dw, uint32_t value)
Definition operand.hh:862
#define fatal(...)
This implements a cprintf based fatal() function.
Definition logging.hh:200
mxfp< fp16_e8m7_info > mxbfloat16
Definition mxfp_types.hh:45
mxfp< fp16_e5m10_info > mxfloat16
Definition mxfp_types.hh:46
Bitfield< 7 > i
Definition misc_types.hh:67
Bitfield< 23 > k
bool isVectorReg(int opIdx)
VecOperand< VecElemF32, true > ConstVecOperandF32
Definition operand.hh:830
static const char * MNEM__V_MFMA_F32_4X4X4_16B_F16
VecOperand< VecElemF64, true > ConstVecOperandF64
Definition operand.hh:833
static const char * MNEM__V_MFMA_F64_4X4X4_4B_F64
static const char * MNEM__V_MFMA_F32_32X32X2_F32
static const char * MNEM__V_MFMA_F32_32X32X1_2B_F32
VecOperand< VecElemI32, true > ConstVecOperandI32
Definition operand.hh:829
static const char * MNEM__V_MFMA_F32_32X32X4_2B_F16
VecOperand< VecElemU32, true > ConstVecOperandU32
Definition operand.hh:828
static const char * NMEM__V_MFMA_F32_32X32X8_F16
static const char * MNEM__V_MFMA_F32_16X16X4_F32
static const char * MNEM__V_MFMA_F32_32X32X8_BF16
static const char * MNEM__V_MFMA_F64_16X16X4_F64
static const char * MNEM__V_MFMA_F32_4X4X1_16B_F32
static const char * MNEM__V_MFMA_I32_16X16X16_I8
VecOperand< VecElemI32, false > VecOperandI32
Definition operand.hh:814
static const char * MNEM__V_MFMA_F32_16X16X1_4B_F32
VecOperand< VecElemF64, false > VecOperandF64
Definition operand.hh:817
static const char * MNEM__V_MFMA_F32_16X16X16_F16
VecOperand< VecElemF32, false > VecOperandF32
Definition operand.hh:815
static const char * MNEM__V_MFMA_F32_16X16X4_4B_F16
Bitfield< 15, 8 > H
Definition int.hh:60
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
Definition binary32.hh:36
std::shared_ptr< GPUDynInst > GPUDynInstPtr
Definition misc.hh:49

Generated on Tue Jun 18 2024 16:23:45 for gem5 by doxygen 1.11.0