9427ee9b340f2d9dfee9e7f5920479710c494539
1 /* Automatically generated by parse-opcodes */
2 switch((insn
.bits
>> 0x0) & 0x7f)
6 #include "insns/c_addi.h"
11 #include "insns/c_li.h"
16 switch((insn
.bits
>> 0x7) & 0x7)
40 #include "insns/lbu.h"
45 #include "insns/lhu.h"
50 #include "insns/lwu.h"
55 throw trap_illegal_instruction
;
62 switch((insn
.bits
>> 0x7) & 0x7)
66 #include "insns/flw.h"
71 #include "insns/fld.h"
76 throw trap_illegal_instruction
;
83 switch((insn
.bits
>> 0x7) & 0x7)
87 if((insn
.bits
& 0x1ffff) == 0x280b)
89 #include "insns/sbseg_v.h"
92 if((insn
.bits
& 0x1ffff) == 0x100b)
94 #include "insns/lbst_v.h"
97 if((insn
.bits
& 0x1ffff) == 0x180b)
99 #include "insns/sbst_v.h"
102 if((insn
.bits
& 0x3fffff) == 0xb)
104 #include "insns/lb_v.h"
107 if((insn
.bits
& 0x1ffff) == 0x200b)
109 #include "insns/lbseg_v.h"
112 if((insn
.bits
& 0x3fffff) == 0x1000b)
114 #include "insns/mov_vv.h"
117 if((insn
.bits
& 0x3fffff) == 0x1800b)
119 #include "insns/fmov_vv.h"
122 if((insn
.bits
& 0x3fffff) == 0x80b)
124 #include "insns/sb_v.h"
127 throw trap_illegal_instruction
;
131 if((insn
.bits
& 0x1ffff) == 0x208b)
133 #include "insns/lhseg_v.h"
136 if((insn
.bits
& 0x1ffff) == 0x108b)
138 #include "insns/lhst_v.h"
141 if((insn
.bits
& 0x3fffff) == 0x1008b)
143 #include "insns/mov_sv.h"
146 if((insn
.bits
& 0x3fffff) == 0x1808b)
148 #include "insns/fmov_sv.h"
151 if((insn
.bits
& 0x3fffff) == 0x8b)
153 #include "insns/lh_v.h"
156 if((insn
.bits
& 0x3fffff) == 0x88b)
158 #include "insns/sh_v.h"
161 if((insn
.bits
& 0x1ffff) == 0x288b)
163 #include "insns/shseg_v.h"
166 if((insn
.bits
& 0x1ffff) == 0x188b)
168 #include "insns/shst_v.h"
171 throw trap_illegal_instruction
;
175 if((insn
.bits
& 0x3fffff) == 0x10b)
177 #include "insns/lw_v.h"
180 if((insn
.bits
& 0x1ffff) == 0x1810b)
182 #include "insns/fmov_su.h"
185 if((insn
.bits
& 0x1ffff) == 0x290b)
187 #include "insns/swseg_v.h"
190 if((insn
.bits
& 0x1ffff) == 0x1010b)
192 #include "insns/mov_su.h"
195 if((insn
.bits
& 0x1ffff) == 0x1d0b)
197 #include "insns/fswst_v.h"
200 if((insn
.bits
& 0x1ffff) == 0x190b)
202 #include "insns/swst_v.h"
205 if((insn
.bits
& 0x3fffff) == 0xd0b)
207 #include "insns/fsw_v.h"
210 if((insn
.bits
& 0x1ffff) == 0x250b)
212 #include "insns/flwseg_v.h"
215 if((insn
.bits
& 0x3fffff) == 0x50b)
217 #include "insns/flw_v.h"
220 if((insn
.bits
& 0x3fffff) == 0x90b)
222 #include "insns/sw_v.h"
225 if((insn
.bits
& 0x1ffff) == 0x150b)
227 #include "insns/flwst_v.h"
230 if((insn
.bits
& 0x1ffff) == 0x210b)
232 #include "insns/lwseg_v.h"
235 if((insn
.bits
& 0x1ffff) == 0x2d0b)
237 #include "insns/fswseg_v.h"
240 if((insn
.bits
& 0x1ffff) == 0x110b)
242 #include "insns/lwst_v.h"
245 throw trap_illegal_instruction
;
249 if((insn
.bits
& 0x1ffff) == 0x218b)
251 #include "insns/ldseg_v.h"
254 if((insn
.bits
& 0x3fffff) == 0x58b)
256 #include "insns/fld_v.h"
259 if((insn
.bits
& 0x3fffff) == 0x18b)
261 #include "insns/ld_v.h"
264 if((insn
.bits
& 0x3fffff) == 0xd8b)
266 #include "insns/fsd_v.h"
269 if((insn
.bits
& 0x1ffff) == 0x2d8b)
271 #include "insns/fsdseg_v.h"
274 if((insn
.bits
& 0x1ffff) == 0x1d8b)
276 #include "insns/fsdst_v.h"
279 if((insn
.bits
& 0x1ffff) == 0x118b)
281 #include "insns/ldst_v.h"
284 if((insn
.bits
& 0x1ffff) == 0x258b)
286 #include "insns/fldseg_v.h"
289 if((insn
.bits
& 0x1ffff) == 0x1018b)
291 #include "insns/mov_us.h"
294 if((insn
.bits
& 0x1ffff) == 0x158b)
296 #include "insns/fldst_v.h"
299 if((insn
.bits
& 0x1ffff) == 0x298b)
301 #include "insns/sdseg_v.h"
304 if((insn
.bits
& 0x1ffff) == 0x1818b)
306 #include "insns/fmov_us.h"
309 if((insn
.bits
& 0x3fffff) == 0x98b)
311 #include "insns/sd_v.h"
314 if((insn
.bits
& 0x1ffff) == 0x198b)
316 #include "insns/sdst_v.h"
319 throw trap_illegal_instruction
;
323 if((insn
.bits
& 0x3fffff) == 0x20b)
325 #include "insns/lbu_v.h"
328 if((insn
.bits
& 0x1ffff) == 0x220b)
330 #include "insns/lbuseg_v.h"
333 if((insn
.bits
& 0x1ffff) == 0x120b)
335 #include "insns/lbust_v.h"
338 throw trap_illegal_instruction
;
342 if((insn
.bits
& 0x1ffff) == 0x128b)
344 #include "insns/lhust_v.h"
347 if((insn
.bits
& 0x3fffff) == 0x28b)
349 #include "insns/lhu_v.h"
352 if((insn
.bits
& 0x1ffff) == 0x228b)
354 #include "insns/lhuseg_v.h"
357 throw trap_illegal_instruction
;
361 if((insn
.bits
& 0x1ffff) == 0x230b)
363 #include "insns/lwuseg_v.h"
366 if((insn
.bits
& 0x3fffff) == 0x30b)
368 #include "insns/lwu_v.h"
371 if((insn
.bits
& 0x1ffff) == 0x130b)
373 #include "insns/lwust_v.h"
376 throw trap_illegal_instruction
;
380 throw trap_illegal_instruction
;
387 switch((insn
.bits
>> 0x7) & 0x7)
391 if((insn
.bits
& 0xfff) == 0x80f)
393 #include "insns/sbsegst_v.h"
396 if((insn
.bits
& 0xfff) == 0xf)
398 #include "insns/lbsegst_v.h"
401 throw trap_illegal_instruction
;
405 if((insn
.bits
& 0xfff) == 0x88f)
407 #include "insns/shsegst_v.h"
410 if((insn
.bits
& 0xfff) == 0x8f)
412 #include "insns/lhsegst_v.h"
415 throw trap_illegal_instruction
;
419 if((insn
.bits
& 0xfff) == 0xd0f)
421 #include "insns/fswsegst_v.h"
424 if((insn
.bits
& 0xfff) == 0x50f)
426 #include "insns/flwsegst_v.h"
429 if((insn
.bits
& 0xfff) == 0x10f)
431 #include "insns/lwsegst_v.h"
434 if((insn
.bits
& 0xfff) == 0x90f)
436 #include "insns/swsegst_v.h"
439 throw trap_illegal_instruction
;
443 if((insn
.bits
& 0xfff) == 0x18f)
445 #include "insns/ldsegst_v.h"
448 if((insn
.bits
& 0xfff) == 0x98f)
450 #include "insns/sdsegst_v.h"
453 if((insn
.bits
& 0xfff) == 0x58f)
455 #include "insns/fldsegst_v.h"
458 if((insn
.bits
& 0xfff) == 0xd8f)
460 #include "insns/fsdsegst_v.h"
463 throw trap_illegal_instruction
;
467 if((insn
.bits
& 0xfff) == 0x20f)
469 #include "insns/lbusegst_v.h"
472 throw trap_illegal_instruction
;
476 if((insn
.bits
& 0xfff) == 0x28f)
478 #include "insns/lhusegst_v.h"
481 throw trap_illegal_instruction
;
485 if((insn
.bits
& 0xfff) == 0x30f)
487 #include "insns/lwusegst_v.h"
490 throw trap_illegal_instruction
;
494 throw trap_illegal_instruction
;
501 switch((insn
.bits
>> 0x7) & 0x7)
505 #include "insns/addi.h"
510 if((insn
.bits
& 0x3f03ff) == 0x93)
512 #include "insns/slli.h"
515 throw trap_illegal_instruction
;
519 #include "insns/slti.h"
524 #include "insns/sltiu.h"
529 #include "insns/xori.h"
534 if((insn
.bits
& 0x3f03ff) == 0x293)
536 #include "insns/srli.h"
539 if((insn
.bits
& 0x3f03ff) == 0x10293)
541 #include "insns/srai.h"
544 throw trap_illegal_instruction
;
548 #include "insns/ori.h"
553 #include "insns/andi.h"
558 throw trap_illegal_instruction
;
565 switch((insn
.bits
>> 0x7) & 0x7)
569 #include "insns/addiw.h"
574 if((insn
.bits
& 0x3f83ff) == 0x9b)
576 #include "insns/slliw.h"
579 throw trap_illegal_instruction
;
583 if((insn
.bits
& 0x3f83ff) == 0x29b)
585 #include "insns/srliw.h"
588 if((insn
.bits
& 0x3f83ff) == 0x1029b)
590 #include "insns/sraiw.h"
593 throw trap_illegal_instruction
;
597 throw trap_illegal_instruction
;
604 #include "insns/c_addi.h"
609 #include "insns/c_li.h"
614 switch((insn
.bits
>> 0x7) & 0x7)
618 #include "insns/sb.h"
623 #include "insns/sh.h"
628 #include "insns/sw.h"
633 #include "insns/sd.h"
638 throw trap_illegal_instruction
;
645 switch((insn
.bits
>> 0x7) & 0x7)
649 #include "insns/fsw.h"
654 #include "insns/fsd.h"
659 throw trap_illegal_instruction
;
666 switch((insn
.bits
>> 0x7) & 0x7)
670 if((insn
.bits
& 0x1ffff) == 0x192b)
672 #include "insns/amominu_w.h"
675 if((insn
.bits
& 0x1ffff) == 0x92b)
677 #include "insns/amoand_w.h"
680 if((insn
.bits
& 0x1ffff) == 0x1d2b)
682 #include "insns/amomaxu_w.h"
685 if((insn
.bits
& 0x1ffff) == 0x152b)
687 #include "insns/amomax_w.h"
690 if((insn
.bits
& 0x1ffff) == 0x12b)
692 #include "insns/amoadd_w.h"
695 if((insn
.bits
& 0x1ffff) == 0xd2b)
697 #include "insns/amoor_w.h"
700 if((insn
.bits
& 0x1ffff) == 0x112b)
702 #include "insns/amomin_w.h"
705 if((insn
.bits
& 0x1ffff) == 0x52b)
707 #include "insns/amoswap_w.h"
710 throw trap_illegal_instruction
;
714 if((insn
.bits
& 0x1ffff) == 0x19ab)
716 #include "insns/amominu_d.h"
719 if((insn
.bits
& 0x1ffff) == 0x9ab)
721 #include "insns/amoand_d.h"
724 if((insn
.bits
& 0x1ffff) == 0x1dab)
726 #include "insns/amomaxu_d.h"
729 if((insn
.bits
& 0x1ffff) == 0x1ab)
731 #include "insns/amoadd_d.h"
734 if((insn
.bits
& 0x1ffff) == 0x15ab)
736 #include "insns/amomax_d.h"
739 if((insn
.bits
& 0x1ffff) == 0xdab)
741 #include "insns/amoor_d.h"
744 if((insn
.bits
& 0x1ffff) == 0x5ab)
746 #include "insns/amoswap_d.h"
749 if((insn
.bits
& 0x1ffff) == 0x11ab)
751 #include "insns/amomin_d.h"
754 throw trap_illegal_instruction
;
758 throw trap_illegal_instruction
;
765 switch((insn
.bits
>> 0x7) & 0x7)
769 #include "insns/fence_i.h"
774 #include "insns/fence.h"
779 #include "insns/fence_l_v.h"
784 #include "insns/fence_g_v.h"
789 #include "insns/fence_l_cv.h"
794 #include "insns/fence_g_cv.h"
799 throw trap_illegal_instruction
;
806 switch((insn
.bits
>> 0x7) & 0x7)
810 if((insn
.bits
& 0x1ffff) == 0x33)
812 #include "insns/add.h"
815 if((insn
.bits
& 0x1ffff) == 0x433)
817 #include "insns/mul.h"
820 if((insn
.bits
& 0x1ffff) == 0x10033)
822 #include "insns/sub.h"
825 throw trap_illegal_instruction
;
829 if((insn
.bits
& 0x1ffff) == 0xb3)
831 #include "insns/sll.h"
834 if((insn
.bits
& 0x1ffff) == 0x4b3)
836 #include "insns/mulh.h"
839 throw trap_illegal_instruction
;
843 if((insn
.bits
& 0x1ffff) == 0x533)
845 #include "insns/mulhsu.h"
848 if((insn
.bits
& 0x1ffff) == 0x133)
850 #include "insns/slt.h"
853 throw trap_illegal_instruction
;
857 if((insn
.bits
& 0x1ffff) == 0x1b3)
859 #include "insns/sltu.h"
862 if((insn
.bits
& 0x1ffff) == 0x5b3)
864 #include "insns/mulhu.h"
867 throw trap_illegal_instruction
;
871 if((insn
.bits
& 0x1ffff) == 0x633)
873 #include "insns/div.h"
876 if((insn
.bits
& 0x1ffff) == 0x233)
878 #include "insns/xor.h"
881 throw trap_illegal_instruction
;
885 if((insn
.bits
& 0x1ffff) == 0x102b3)
887 #include "insns/sra.h"
890 if((insn
.bits
& 0x1ffff) == 0x2b3)
892 #include "insns/srl.h"
895 if((insn
.bits
& 0x1ffff) == 0x6b3)
897 #include "insns/divu.h"
900 throw trap_illegal_instruction
;
904 if((insn
.bits
& 0x1ffff) == 0x733)
906 #include "insns/rem.h"
909 if((insn
.bits
& 0x1ffff) == 0x333)
911 #include "insns/or.h"
914 throw trap_illegal_instruction
;
918 if((insn
.bits
& 0x1ffff) == 0x7b3)
920 #include "insns/remu.h"
923 if((insn
.bits
& 0x1ffff) == 0x3b3)
925 #include "insns/and.h"
928 throw trap_illegal_instruction
;
932 throw trap_illegal_instruction
;
939 #include "insns/lui.h"
944 switch((insn
.bits
>> 0x7) & 0x7)
948 if((insn
.bits
& 0x1ffff) == 0x43b)
950 #include "insns/mulw.h"
953 if((insn
.bits
& 0x1ffff) == 0x3b)
955 #include "insns/addw.h"
958 if((insn
.bits
& 0x1ffff) == 0x1003b)
960 #include "insns/subw.h"
963 throw trap_illegal_instruction
;
967 if((insn
.bits
& 0x1ffff) == 0xbb)
969 #include "insns/sllw.h"
972 throw trap_illegal_instruction
;
976 if((insn
.bits
& 0x1ffff) == 0x63b)
978 #include "insns/divw.h"
981 throw trap_illegal_instruction
;
985 if((insn
.bits
& 0x1ffff) == 0x6bb)
987 #include "insns/divuw.h"
990 if((insn
.bits
& 0x1ffff) == 0x2bb)
992 #include "insns/srlw.h"
995 if((insn
.bits
& 0x1ffff) == 0x102bb)
997 #include "insns/sraw.h"
1000 throw trap_illegal_instruction
;
1004 if((insn
.bits
& 0x1ffff) == 0x73b)
1006 #include "insns/remw.h"
1009 throw trap_illegal_instruction
;
1013 if((insn
.bits
& 0x1ffff) == 0x7bb)
1015 #include "insns/remuw.h"
1018 throw trap_illegal_instruction
;
1022 throw trap_illegal_instruction
;
1029 #include "insns/c_addi.h"
1034 #include "insns/c_li.h"
1039 switch((insn
.bits
>> 0x7) & 0x7)
1043 #include "insns/fmadd_s.h"
1048 #include "insns/fmadd_d.h"
1053 #include "insns/fmadd_s.h"
1058 #include "insns/fmadd_d.h"
1063 throw trap_illegal_instruction
;
1070 switch((insn
.bits
>> 0x7) & 0x7)
1074 #include "insns/fmsub_s.h"
1079 #include "insns/fmsub_d.h"
1084 #include "insns/fmsub_s.h"
1089 #include "insns/fmsub_d.h"
1094 throw trap_illegal_instruction
;
1101 switch((insn
.bits
>> 0x7) & 0x7)
1105 #include "insns/fnmsub_s.h"
1110 #include "insns/fnmsub_d.h"
1115 #include "insns/fnmsub_s.h"
1120 #include "insns/fnmsub_d.h"
1125 throw trap_illegal_instruction
;
1132 switch((insn
.bits
>> 0x7) & 0x7)
1136 #include "insns/fnmadd_s.h"
1141 #include "insns/fnmadd_d.h"
1146 #include "insns/fnmadd_s.h"
1151 #include "insns/fnmadd_d.h"
1156 throw trap_illegal_instruction
;
1163 switch((insn
.bits
>> 0x7) & 0x7)
1167 if((insn
.bits
& 0x3ff1ff) == 0x9053)
1169 #include "insns/fcvt_lu_s.h"
1172 if((insn
.bits
& 0x1ffff) == 0x18053)
1174 #include "insns/fmin_s.h"
1177 if((insn
.bits
& 0x3ff1ff) == 0x11053)
1179 #include "insns/fcvt_s_d.h"
1182 if((insn
.bits
& 0x3ff1ff) == 0xe053)
1184 #include "insns/fcvt_s_w.h"
1187 if((insn
.bits
& 0x7c1ffff) == 0x1c053)
1189 #include "insns/mftx_s.h"
1192 if((insn
.bits
& 0x3ff1ff) == 0x8053)
1194 #include "insns/fcvt_l_s.h"
1197 if((insn
.bits
& 0x1ffff) == 0x17053)
1199 #include "insns/fle_s.h"
1202 if((insn
.bits
& 0x7ffffff) == 0x1d053)
1204 #include "insns/mffsr.h"
1207 if((insn
.bits
& 0x1f1ff) == 0x3053)
1209 #include "insns/fdiv_s.h"
1212 if((insn
.bits
& 0x3fffff) == 0x1f053)
1214 #include "insns/mtfsr.h"
1217 if((insn
.bits
& 0x3ff1ff) == 0xd053)
1219 #include "insns/fcvt_s_lu.h"
1222 if((insn
.bits
& 0x1f1ff) == 0x2053)
1224 #include "insns/fmul_s.h"
1227 if((insn
.bits
& 0x1ffff) == 0x16053)
1229 #include "insns/flt_s.h"
1232 if((insn
.bits
& 0x1ffff) == 0x15053)
1234 #include "insns/feq_s.h"
1237 if((insn
.bits
& 0x1ffff) == 0x7053)
1239 #include "insns/fsgnjx_s.h"
1242 if((insn
.bits
& 0x1ffff) == 0x19053)
1244 #include "insns/fmax_s.h"
1247 if((insn
.bits
& 0x3ff1ff) == 0xb053)
1249 #include "insns/fcvt_wu_s.h"
1252 if((insn
.bits
& 0x3ff1ff) == 0xa053)
1254 #include "insns/fcvt_w_s.h"
1257 if((insn
.bits
& 0x3fffff) == 0x1e053)
1259 #include "insns/mxtf_s.h"
1262 if((insn
.bits
& 0x1f1ff) == 0x1053)
1264 #include "insns/fsub_s.h"
1267 if((insn
.bits
& 0x1ffff) == 0x5053)
1269 #include "insns/fsgnj_s.h"
1272 if((insn
.bits
& 0x3ff1ff) == 0xf053)
1274 #include "insns/fcvt_s_wu.h"
1277 if((insn
.bits
& 0x3ff1ff) == 0xc053)
1279 #include "insns/fcvt_s_l.h"
1282 if((insn
.bits
& 0x3ff1ff) == 0x4053)
1284 #include "insns/fsqrt_s.h"
1287 if((insn
.bits
& 0x1ffff) == 0x6053)
1289 #include "insns/fsgnjn_s.h"
1292 if((insn
.bits
& 0x1f1ff) == 0x53)
1294 #include "insns/fadd_s.h"
1297 throw trap_illegal_instruction
;
1301 if((insn
.bits
& 0x1ffff) == 0x180d3)
1303 #include "insns/fmin_d.h"
1306 if((insn
.bits
& 0x3ff1ff) == 0xc0d3)
1308 #include "insns/fcvt_d_l.h"
1311 if((insn
.bits
& 0x3fffff) == 0xe0d3)
1313 #include "insns/fcvt_d_w.h"
1316 if((insn
.bits
& 0x3fffff) == 0x100d3)
1318 #include "insns/fcvt_d_s.h"
1321 if((insn
.bits
& 0x1ffff) == 0x190d3)
1323 #include "insns/fmax_d.h"
1326 if((insn
.bits
& 0x7c1ffff) == 0x1c0d3)
1328 #include "insns/mftx_d.h"
1331 if((insn
.bits
& 0x1ffff) == 0x170d3)
1333 #include "insns/fle_d.h"
1336 if((insn
.bits
& 0x1ffff) == 0x160d3)
1338 #include "insns/flt_d.h"
1341 if((insn
.bits
& 0x1f1ff) == 0x20d3)
1343 #include "insns/fmul_d.h"
1346 if((insn
.bits
& 0x1ffff) == 0x70d3)
1348 #include "insns/fsgnjx_d.h"
1351 if((insn
.bits
& 0x1ffff) == 0x150d3)
1353 #include "insns/feq_d.h"
1356 if((insn
.bits
& 0x3fffff) == 0xf0d3)
1358 #include "insns/fcvt_d_wu.h"
1361 if((insn
.bits
& 0x3ff1ff) == 0xb0d3)
1363 #include "insns/fcvt_wu_d.h"
1366 if((insn
.bits
& 0x1ffff) == 0x60d3)
1368 #include "insns/fsgnjn_d.h"
1371 if((insn
.bits
& 0x3ff1ff) == 0xd0d3)
1373 #include "insns/fcvt_d_lu.h"
1376 if((insn
.bits
& 0x3ff1ff) == 0xa0d3)
1378 #include "insns/fcvt_w_d.h"
1381 if((insn
.bits
& 0x3fffff) == 0x1e0d3)
1383 #include "insns/mxtf_d.h"
1386 if((insn
.bits
& 0x1ffff) == 0x50d3)
1388 #include "insns/fsgnj_d.h"
1391 if((insn
.bits
& 0x3ff1ff) == 0x80d3)
1393 #include "insns/fcvt_l_d.h"
1396 if((insn
.bits
& 0x1f1ff) == 0xd3)
1398 #include "insns/fadd_d.h"
1401 if((insn
.bits
& 0x3ff1ff) == 0x90d3)
1403 #include "insns/fcvt_lu_d.h"
1406 if((insn
.bits
& 0x1f1ff) == 0x10d3)
1408 #include "insns/fsub_d.h"
1411 if((insn
.bits
& 0x3ff1ff) == 0x40d3)
1413 #include "insns/fsqrt_d.h"
1416 if((insn
.bits
& 0x1f1ff) == 0x30d3)
1418 #include "insns/fdiv_d.h"
1421 throw trap_illegal_instruction
;
1425 if((insn
.bits
& 0x3ff1ff) == 0x9053)
1427 #include "insns/fcvt_lu_s.h"
1430 if((insn
.bits
& 0x3ff1ff) == 0x11053)
1432 #include "insns/fcvt_s_d.h"
1435 if((insn
.bits
& 0x3ff1ff) == 0xe053)
1437 #include "insns/fcvt_s_w.h"
1440 if((insn
.bits
& 0x3ff1ff) == 0x8053)
1442 #include "insns/fcvt_l_s.h"
1445 if((insn
.bits
& 0x1f1ff) == 0x3053)
1447 #include "insns/fdiv_s.h"
1450 if((insn
.bits
& 0x3ff1ff) == 0xd053)
1452 #include "insns/fcvt_s_lu.h"
1455 if((insn
.bits
& 0x1f1ff) == 0x2053)
1457 #include "insns/fmul_s.h"
1460 if((insn
.bits
& 0x3ff1ff) == 0xb053)
1462 #include "insns/fcvt_wu_s.h"
1465 if((insn
.bits
& 0x3ff1ff) == 0xa053)
1467 #include "insns/fcvt_w_s.h"
1470 if((insn
.bits
& 0x1f1ff) == 0x1053)
1472 #include "insns/fsub_s.h"
1475 if((insn
.bits
& 0x3ff1ff) == 0xf053)
1477 #include "insns/fcvt_s_wu.h"
1480 if((insn
.bits
& 0x3ff1ff) == 0xc053)
1482 #include "insns/fcvt_s_l.h"
1485 if((insn
.bits
& 0x3ff1ff) == 0x4053)
1487 #include "insns/fsqrt_s.h"
1490 if((insn
.bits
& 0x1f1ff) == 0x53)
1492 #include "insns/fadd_s.h"
1495 throw trap_illegal_instruction
;
1499 if((insn
.bits
& 0x3ff1ff) == 0xc0d3)
1501 #include "insns/fcvt_d_l.h"
1504 if((insn
.bits
& 0x1f1ff) == 0x20d3)
1506 #include "insns/fmul_d.h"
1509 if((insn
.bits
& 0x3ff1ff) == 0xb0d3)
1511 #include "insns/fcvt_wu_d.h"
1514 if((insn
.bits
& 0x3ff1ff) == 0xd0d3)
1516 #include "insns/fcvt_d_lu.h"
1519 if((insn
.bits
& 0x3ff1ff) == 0xa0d3)
1521 #include "insns/fcvt_w_d.h"
1524 if((insn
.bits
& 0x3ff1ff) == 0x80d3)
1526 #include "insns/fcvt_l_d.h"
1529 if((insn
.bits
& 0x1f1ff) == 0xd3)
1531 #include "insns/fadd_d.h"
1534 if((insn
.bits
& 0x3ff1ff) == 0x90d3)
1536 #include "insns/fcvt_lu_d.h"
1539 if((insn
.bits
& 0x1f1ff) == 0x10d3)
1541 #include "insns/fsub_d.h"
1544 if((insn
.bits
& 0x3ff1ff) == 0x40d3)
1546 #include "insns/fsqrt_d.h"
1549 if((insn
.bits
& 0x1f1ff) == 0x30d3)
1551 #include "insns/fdiv_d.h"
1554 throw trap_illegal_instruction
;
1558 throw trap_illegal_instruction
;
1565 #include "insns/c_addi.h"
1570 #include "insns/c_li.h"
1575 switch((insn
.bits
>> 0x7) & 0x7)
1579 #include "insns/beq.h"
1584 #include "insns/bne.h"
1589 #include "insns/blt.h"
1594 #include "insns/bge.h"
1599 #include "insns/bltu.h"
1604 #include "insns/bgeu.h"
1609 throw trap_illegal_instruction
;
1616 #include "insns/j.h"
1621 switch((insn
.bits
>> 0x7) & 0x7)
1625 #include "insns/jalr_c.h"
1630 #include "insns/jalr_r.h"
1635 #include "insns/jalr_j.h"
1640 if((insn
.bits
& 0x7ffffff) == 0x26b)
1642 #include "insns/rdnpc.h"
1645 throw trap_illegal_instruction
;
1649 throw trap_illegal_instruction
;
1656 #include "insns/jal.h"
1661 switch((insn
.bits
>> 0x7) & 0x7)
1665 #include "insns/vcfgivl.h"
1670 if((insn
.bits
& 0x3fffff) == 0xf3)
1672 #include "insns/setvl.h"
1675 throw trap_illegal_instruction
;
1679 if((insn
.bits
& 0xf80003ff) == 0x173)
1681 #include "insns/vf.h"
1684 throw trap_illegal_instruction
;
1688 throw trap_illegal_instruction
;
1695 switch((insn
.bits
>> 0x7) & 0x7)
1699 if((insn
.bits
& 0xffffffff) == 0x77)
1701 #include "insns/syscall.h"
1704 throw trap_illegal_instruction
;
1708 if((insn
.bits
& 0xffffffff) == 0xf7)
1710 #include "insns/break.h"
1713 throw trap_illegal_instruction
;
1717 if((insn
.bits
& 0xffffffff) == 0x177)
1719 #include "insns/stop.h"
1722 throw trap_illegal_instruction
;
1726 if((insn
.bits
& 0x7ffffff) == 0x1f7)
1728 #include "insns/utidx.h"
1731 throw trap_illegal_instruction
;
1735 throw trap_illegal_instruction
;
1742 switch((insn
.bits
>> 0x7) & 0x7)
1746 if((insn
.bits
& 0x7ffffff) == 0x7b)
1748 #include "insns/ei.h"
1751 throw trap_illegal_instruction
;
1755 if((insn
.bits
& 0x7ffffff) == 0xfb)
1757 #include "insns/di.h"
1760 throw trap_illegal_instruction
;
1764 if((insn
.bits
& 0x7c1ffff) == 0x17b)
1766 #include "insns/mfpcr.h"
1769 throw trap_illegal_instruction
;
1773 if((insn
.bits
& 0xf801ffff) == 0x1fb)
1775 #include "insns/mtpcr.h"
1778 throw trap_illegal_instruction
;
1782 if((insn
.bits
& 0xffffffff) == 0x27b)
1784 #include "insns/eret.h"
1787 throw trap_illegal_instruction
;
1791 throw trap_illegal_instruction
;
1798 throw trap_illegal_instruction
;