00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00051
00052 #include <stddef.h>
00053 #include "topcode.h"
00054 #include "isa_pack_gen.h"
00055
00056 main()
00057 {
00058 ISA_PACK_TYPE a1,
00059 a2,
00060 a3,
00061 a4,
00062 a5,
00063 a6,
00064 a7,
00065 a8a,
00066 a8b,
00067 a9,
00068 a10,
00069 a11,
00070 a12,
00071 a13,
00072 a14,
00073 a15,
00074 a16,
00075 a17,
00076 a18,
00077 a19,
00078 a20,
00079 a21,
00080 a22,
00081 a23;
00082
00083 ISA_PACK_TYPE i1,
00084 i2,
00085 i3,
00086 i4,
00087 i5,
00088 i6,
00089 i7,
00090 i8,
00091 i9,
00092 i10,
00093 i11,
00094 i12,
00095 i13,
00096 i14,
00097 i15,
00098 i16,
00099 i17,
00100
00101 i19,
00102 i20,
00103 i21,
00104 i22,
00105 i23,
00106 i24,
00107 i25,
00108 i26,
00109 i27,
00110 i28,
00111 i29,
00112 i30,
00113 i31,
00114 i32,
00115 i33,
00116 i34;
00117
00118 ISA_PACK_TYPE m1a,
00119 m1b,
00120 m2a,
00121 m2b,
00122 m3a,
00123 m3b,
00124 m4a,
00125 m4b,
00126 m5a,
00127 m5b,
00128 m6a,
00129 m6b,
00130 m7a,
00131 m7b,
00132 m8a,
00133 m8b,
00134 m9,
00135 m10,
00136 m11,
00137 m12,
00138 m13,
00139 m14,
00140 m15,
00141 m16a,
00142 m16b,
00143 m17,
00144 m18,
00145 m19,
00146 m20,
00147 m21,
00148 m22,
00149 m23,
00150 m24,
00151 m25,
00152 m26,
00153 m27,
00154 m28,
00155 m29,
00156 m30,
00157 m31,
00158 m32,
00159 m33,
00160 m34,
00161 m35,
00162 m36,
00163 m37,
00164 m38,
00165 m39,
00166 m40,
00167 m41,
00168 m42,
00169 m43,
00170 m44,
00171 m45,
00172 m46,
00173 m47;
00174
00175 ISA_PACK_TYPE b1,
00176 b2,
00177 b3,
00178 b4,
00179 b4a,
00180 b5,
00181 b6,
00182 b7,
00183 b8,
00184 b9,
00185 b10,
00186 b11;
00187
00188 ISA_PACK_TYPE f1,
00189 f2,
00190 f3,
00191 f4,
00192 f5,
00193 f6,
00194 f7,
00195 f8,
00196 f9,
00197 f10,
00198 f11,
00199 f12,
00200 f13,
00201 f14,
00202 f15,
00203 f16,
00204 f17,
00205 f18,
00206 f19,
00207 f20,
00208 f21,
00209 f22,
00210 f23,
00211 f24,
00212 f25,
00213 f26,
00214 f27;
00215
00216 ISA_PACK_TYPE x1,
00217 x2,
00218 x3,
00219 x4,
00220 x5;
00221
00222 OPND_ADJ_TYPE comp6,
00223 no_adj,
00224 decr,
00225 incr,
00226 sext8_incr,
00227 sext8,
00228 comp5,
00229 pack_i1,
00230 unpack_i1,
00231 pack_m17,
00232 unpack_m17;
00233
00234 ISA_Pack_Begin("ia64", 41);
00235
00236
00237
00238
00239
00240
00241 no_adj = Create_Operand_Adjustment("no adjustment", "O_VAL");
00242 comp6 = Create_Operand_Adjustment("6-bit complement", "O_VAL ^ 0x3f");
00243 decr = Create_Operand_Adjustment("decrement", "O_VAL - 1");
00244 incr = Create_Operand_Adjustment("increment", "O_VAL + 1");
00245 sext8_incr = Create_Operand_Adjustment("sign-extend(8)/increment",
00246 "((O_VAL << 56) >> 56) + 1");
00247 sext8 = Create_Operand_Adjustment("sign-extend(8)", "(O_VAL << 56) >> 56");
00248 comp5 = Create_Operand_Adjustment("5-bit complement", "O_VAL ^ 0x1f");
00249 pack_i1 = Create_Operand_Adjustment("Pack (I1)",
00250 "(O_VAL == 0) ? 0 : (O_VAL == 7) ? 1 : (O_VAL == 15) ? 2 : 3");
00251 unpack_i1 = Create_Operand_Adjustment("Unpack (I1)",
00252 "(O_VAL == 0) ? 0 : (O_VAL == 1) ? 7 : (O_VAL == 2) ? 15 : 16");
00253 pack_m17 = Create_Operand_Adjustment("Pack (M17)",
00254 "((O_VAL < 0) * 4) + ((O_VAL & 1) ? 3 : (O_VAL & 4) ? 2 : (O_VAL & 8) ? 1 : 0)");
00255 unpack_m17 = Create_Operand_Adjustment("unpack (M17)",
00256 "(((O_VAL >= 4) ? -1 : 1) * (((O_VAL & 3) == 3) ? 1 : 1 << (4 - (O_VAL & 3))))");
00257
00258
00259 a1 = ISA_Pack_Type_Create("a1");
00260 Operand(0, 0, 0, 6);
00261 Result(0, 6, 7);
00262 Operand(1, 0, 13, 7);
00263 Operand(2, 0, 20, 7);
00264 Instruction_Pack_Group(a1,
00265 TOP_add, 0x10000000000ULL,
00266 TOP_add_1, 0x10008000000ULL,
00267 TOP_sub, 0x10028000000ULL,
00268 TOP_sub_1, 0x10020000000ULL,
00269 TOP_addp4, 0x10040000000ULL,
00270 TOP_and, 0x10060000000ULL,
00271 TOP_andcm, 0x10068000000ULL,
00272 TOP_or, 0x10070000000ULL,
00273 TOP_xor, 0x10078000000ULL,
00274 TOP_UNDEFINED);
00275
00276
00277 a2 = ISA_Pack_Type_Create("a2");
00278 Operand(0, 0, 0, 6);
00279 Result(0, 6, 7);
00280 Operand(1, 0, 13, 7);
00281 Adjust_Operand(2, decr, incr);
00282 Operand(2, 0, 27, 2);
00283 Operand(3, 0, 20, 7);
00284 Instruction_Pack_Group(a2,
00285 TOP_shladd, 0x10080000000ULL,
00286 TOP_shladdp4, 0x100c0000000ULL,
00287 TOP_UNDEFINED);
00288
00289
00290 a3 = ISA_Pack_Type_Create("a3");
00291 Operand(0, 0, 0, 6);
00292 Result(0, 6, 7);
00293 Operand(1, 0, 13, 7);
00294 Operand(1, 7, 36, 1);
00295 Operand(2, 0, 20, 7);
00296 Instruction_Pack_Group(a3,
00297 TOP_sub_i, 0x10128000000ULL,
00298 TOP_and_i, 0x10160000000ULL,
00299 TOP_andcm_i, 0x10168000000ULL,
00300 TOP_or_i, 0x10170000000ULL,
00301 TOP_xor_i, 0x10178000000ULL,
00302 TOP_UNDEFINED);
00303
00304
00305 a4 = ISA_Pack_Type_Create("a4");
00306 Operand(0, 0, 0, 6);
00307 Result(0, 6, 7);
00308 Operand(1, 0, 13, 7);
00309 Operand(1, 7, 27, 6);
00310 Operand(1, 13, 36, 1);
00311 Operand(2, 0, 20, 7);
00312 Instruction_Pack_Group(a4,
00313 TOP_adds, 0x10800000000ULL,
00314 TOP_addp4_i, 0x10c00000000ULL,
00315 TOP_UNDEFINED);
00316
00317
00318 a5 = ISA_Pack_Type_Create("a5");
00319 Operand(0, 0, 0, 6);
00320 Result(0, 6, 7);
00321 Operand(1, 0, 13, 7);
00322 Operand(1, 7, 27, 9);
00323 Operand(1, 16, 22, 5);
00324 Operand(1, 21, 36, 1);
00325 Operand(2, 0, 20, 2);
00326 Instruction_Pack_Group(a5,
00327 TOP_addl, 0x12000000000ULL,
00328 TOP_UNDEFINED);
00329
00330
00331 a6 = ISA_Pack_Type_Create("a6");
00332 Operand(0, 0, 0, 6);
00333 Result(0, 6, 6);
00334 Result(1, 27, 6);
00335 Operand(1, 0, 13, 7);
00336 Operand(2, 0, 20, 7);
00337 Instruction_Pack_Group(a6,
00338 TOP_cmp_lt, 0x18000000000ULL,
00339 TOP_cmp_ltu, 0x1a000000000ULL,
00340 TOP_cmp_eq, 0x1c000000000ULL,
00341 TOP_cmp_lt_unc, 0x18000001000ULL,
00342 TOP_cmp_ltu_unc, 0x1a000001000ULL,
00343 TOP_cmp_eq_unc, 0x1c000001000ULL,
00344 TOP_cmp_eq_and, 0x18200000000ULL,
00345 TOP_cmp_eq_or, 0x1a200000000ULL,
00346 TOP_cmp_eq_or_andcm, 0x1c200000000ULL,
00347 TOP_cmp_ne_and, 0x18200001000ULL,
00348 TOP_cmp_ne_or, 0x1a200001000ULL,
00349 TOP_cmp_ne_or_andcm, 0x1c200001000ULL,
00350 TOP_cmp4_lt, 0x18400000000ULL,
00351 TOP_cmp4_ltu, 0x1a400000000ULL,
00352 TOP_cmp4_eq, 0x1c400000000ULL,
00353 TOP_cmp4_lt_unc, 0x18400001000ULL,
00354 TOP_cmp4_ltu_unc, 0x1a400001000ULL,
00355 TOP_cmp4_eq_unc, 0x1c400001000ULL,
00356 TOP_cmp4_eq_and, 0x18600000000ULL,
00357 TOP_cmp4_eq_or, 0x1a600000000ULL,
00358 TOP_cmp4_eq_or_andcm, 0x1c600000000ULL,
00359 TOP_cmp4_ne_and, 0x18600001000ULL,
00360 TOP_cmp4_ne_or, 0x1a600001000ULL,
00361 TOP_cmp4_ne_or_andcm, 0x1c600001000ULL,
00362 TOP_UNDEFINED);
00363
00364
00365 a7 = ISA_Pack_Type_Create("a7");
00366 Operand(0, 0, 0, 6);
00367 Result(0, 6, 6);
00368 Result(1, 27, 6);
00369 Operand(1, 0, 20, 7);
00370 Instruction_Pack_Group(a7,
00371 TOP_cmp_z1_gt_and, 0x19000000000ULL,
00372 TOP_cmp_z1_gt_or, 0x1b000000000ULL,
00373 TOP_cmp_z1_gt_or_andcm, 0x1d000000000ULL,
00374 TOP_cmp_z1_le_and, 0x19000001000ULL,
00375 TOP_cmp_z1_le_or, 0x1b000001000ULL,
00376 TOP_cmp_z1_le_or_andcm, 0x1d000001000ULL,
00377 TOP_cmp_z1_ge_and, 0x19200000000ULL,
00378 TOP_cmp_z1_ge_or, 0x1b200000000ULL,
00379 TOP_cmp_z1_ge_or_andcm, 0x1d200000000ULL,
00380 TOP_cmp_z1_lt_and, 0x19200001000ULL,
00381 TOP_cmp_z1_lt_or, 0x1b200001000ULL,
00382 TOP_cmp_z1_lt_or_andcm, 0x1d200001000ULL,
00383 TOP_cmp4_z1_gt_and, 0x19400000000ULL,
00384 TOP_cmp4_z1_gt_or, 0x1b400000000ULL,
00385 TOP_cmp4_z1_gt_or_andcm,0x1d400000000ULL,
00386 TOP_cmp4_z1_le_and, 0x19400001000ULL,
00387 TOP_cmp4_z1_le_or, 0x1b400001000ULL,
00388 TOP_cmp4_z1_le_or_andcm,0x1d400001000ULL,
00389 TOP_cmp4_z1_ge_and, 0x19600000000ULL,
00390 TOP_cmp4_z1_ge_or, 0x1b600000000ULL,
00391 TOP_cmp4_z1_ge_or_andcm,0x1d600000000ULL,
00392 TOP_cmp4_z1_lt_and, 0x19600001000ULL,
00393 TOP_cmp4_z1_lt_or, 0x1b600001000ULL,
00394 TOP_cmp4_z1_lt_or_andcm,0x1d600001000ULL,
00395 TOP_UNDEFINED);
00396
00397
00398 a8a = ISA_Pack_Type_Create("a8a");
00399 Operand(0, 0, 0, 6);
00400 Result(0, 6, 6);
00401 Result(1, 27, 6);
00402 Operand(1, 0, 13, 7);
00403 Operand(1, 7, 36, 1);
00404 Operand(2, 0, 20, 7);
00405 Instruction_Pack_Group(a8a,
00406 TOP_cmp_i_lt, 0x18800000000ULL,
00407 TOP_cmp_i_eq, 0x1c800000000ULL,
00408 TOP_cmp_i_lt_unc, 0x18800001000ULL,
00409 TOP_cmp_i_eq_unc, 0x1c800001000ULL,
00410 TOP_cmp_i_eq_and, 0x18a00000000ULL,
00411 TOP_cmp_i_eq_or, 0x1aa00000000ULL,
00412 TOP_cmp_i_eq_or_andcm, 0x1ca00000000ULL,
00413 TOP_cmp_i_ne_and, 0x18a00001000ULL,
00414 TOP_cmp_i_ne_or, 0x1aa00001000ULL,
00415 TOP_cmp_i_ne_or_andcm, 0x1ca00001000ULL,
00416 TOP_cmp4_i_lt, 0x18c00000000ULL,
00417 TOP_cmp4_i_eq, 0x1cc00000000ULL,
00418 TOP_cmp4_i_lt_unc, 0x18c00001000ULL,
00419 TOP_cmp4_i_eq_unc, 0x1cc00001000ULL,
00420 TOP_cmp4_i_eq_and, 0x18e00000000ULL,
00421 TOP_cmp4_i_eq_or, 0x1ae00000000ULL,
00422 TOP_cmp4_i_eq_or_andcm, 0x1ce00000000ULL,
00423 TOP_cmp4_i_ne_and, 0x18e00001000ULL,
00424 TOP_cmp4_i_ne_or, 0x1ae00001000ULL,
00425 TOP_cmp4_i_ne_or_andcm, 0x1ce00001000ULL,
00426 TOP_UNDEFINED);
00427
00428
00429 a8b = ISA_Pack_Type_Create("a8b");
00430 Operand(0, 0, 0, 6);
00431 Result(0, 6, 6);
00432 Result(1, 27, 6);
00433 Adjust_Operand(1, no_adj, sext8);
00434 Operand(1, 0, 13, 7);
00435 Operand(1, 7, 36, 1);
00436 Operand(2, 0, 20, 7);
00437 Instruction_Pack_Group(a8b,
00438 TOP_cmp_i_ltu, 0x1a800000000ULL,
00439 TOP_cmp_i_ltu_unc, 0x1a800001000ULL,
00440 TOP_cmp4_i_ltu, 0x1ac00000000ULL,
00441 TOP_cmp4_i_ltu_unc, 0x1ac00001000ULL,
00442 TOP_UNDEFINED);
00443
00444
00445 a9 = ISA_Pack_Type_Create("a9");
00446 Operand(0, 0, 0, 6);
00447 Result(0, 6, 7);
00448 Operand(1, 0, 13, 7);
00449 Operand(2, 0, 20, 7);
00450 Instruction_Pack_Group(a9,
00451 TOP_padd1, 0x10400000000ULL,
00452 TOP_padd2, 0x10600000000ULL,
00453 TOP_padd4, 0x11400000000ULL,
00454 TOP_padd1_sss, 0x10408000000ULL,
00455 TOP_padd2_sss, 0x10608000000ULL,
00456 TOP_padd1_uuu, 0x10410000000ULL,
00457 TOP_padd2_uuu, 0x10610000000ULL,
00458 TOP_padd1_uus, 0x10418000000ULL,
00459 TOP_padd2_uus, 0x10618000000ULL,
00460 TOP_psub1, 0x10420000000ULL,
00461 TOP_psub2, 0x10620000000ULL,
00462 TOP_psub4, 0x11420000000ULL,
00463 TOP_psub1_sss, 0x10428000000ULL,
00464 TOP_psub2_sss, 0x10628000000ULL,
00465 TOP_psub1_uuu, 0x10430000000ULL,
00466 TOP_psub2_uuu, 0x10630000000ULL,
00467 TOP_psub1_uus, 0x10438000000ULL,
00468 TOP_psub2_uus, 0x10638000000ULL,
00469 TOP_pavg1, 0x10450000000ULL,
00470 TOP_pavg2, 0x10650000000ULL,
00471 TOP_pavg1_raz, 0x10458000000ULL,
00472 TOP_pavg2_raz, 0x10658000000ULL,
00473 TOP_pavgsub1, 0x10470000000ULL,
00474 TOP_pavgsub2, 0x10670000000ULL,
00475 TOP_pcmp1_eq, 0x10520000000ULL,
00476 TOP_pcmp2_eq, 0x10720000000ULL,
00477 TOP_pcmp4_eq, 0x11520000000ULL,
00478 TOP_pcmp1_gt, 0x10528000000ULL,
00479 TOP_pcmp2_gt, 0x10728000000ULL,
00480 TOP_pcmp4_gt, 0x11528000000ULL,
00481 TOP_UNDEFINED);
00482
00483
00484 a10 = ISA_Pack_Type_Create("a10");
00485 Operand(0, 0, 0, 6);
00486 Result(0, 6, 7);
00487 Operand(1, 0, 13, 7);
00488 Adjust_Operand(2, decr, incr);
00489 Operand(2, 0, 27, 2);
00490 Operand(3, 0, 20, 7);
00491 Instruction_Pack_Group(a10,
00492 TOP_pshladd2, 0x10680000000ULL,
00493 TOP_pshradd2, 0x106c0000000ULL,
00494 TOP_UNDEFINED);
00495
00496
00497 a11 = ISA_Pack_Type_Create("a11");
00498 Operand(0, 0, 0, 6);
00499 Result(0, 6, 7);
00500 Operand(1, 0, 20, 7);
00501 Instruction_Pack_Group(a11,
00502 TOP_mov, 0x10800000000ULL,
00503 TOP_UNDEFINED);
00504
00505
00506 a12 = ISA_Pack_Type_Create("a12");
00507 Operand(0, 0, 0, 6);
00508 Result(0, 6, 7);
00509 Operand(1, 0, 13, 7);
00510 Operand(1, 7, 27, 9);
00511 Operand(1, 16, 22, 5);
00512 Operand(1, 21, 36, 1);
00513 Instruction_Pack_Group(a12,
00514 TOP_mov_i, 0x12000000000ULL,
00515 TOP_UNDEFINED);
00516
00517
00518 a13 = ISA_Pack_Type_Create("a13");
00519 Operand(0, 0, 0, 6);
00520 Result(0, 6, 6);
00521 Result(1, 27, 6);
00522 Operand(1, 0, 13, 7);
00523 Operand(2, 0, 20, 7);
00524 Instruction_Pack_Group(a13,
00525 TOP_cmp_eq_andcm, 0x18200001000ULL,
00526 TOP_cmp_eq_orcm, 0x1a200001000ULL,
00527 TOP_cmp_ne_andcm, 0x18200000000ULL,
00528 TOP_cmp_ne_orcm, 0x1a200000000ULL,
00529 TOP_cmp4_eq_andcm, 0x18600001000ULL,
00530 TOP_cmp4_eq_orcm, 0x1a600001000ULL,
00531 TOP_cmp4_ne_andcm, 0x18600000000ULL,
00532 TOP_cmp4_ne_orcm, 0x1a600000000ULL,
00533 TOP_UNDEFINED);
00534
00535
00536
00537 a14 = ISA_Pack_Type_Create("a14");
00538 Operand(0, 0, 0, 6);
00539 Result(0, 27, 6);
00540 Result(1, 6, 6);
00541 Operand(1, 0, 13, 7);
00542 Operand(2, 0, 20, 7);
00543 Instruction_Pack_Group(a14,
00544 TOP_cmp_eq_and_orcm, 0x1c200001000ULL,
00545 TOP_cmp_ge, 0x18000000000ULL,
00546 TOP_cmp_ge_unc, 0x18000001000ULL,
00547 TOP_cmp_geu, 0x1a000000000ULL,
00548 TOP_cmp_geu_unc, 0x1a000001000ULL,
00549 TOP_cmp_ne_and_orcm, 0x1c200000000ULL,
00550 TOP_cmp_ne, 0x1c000000000ULL,
00551 TOP_cmp_ne_unc, 0x1c000001000ULL,
00552 TOP_cmp4_eq_and_orcm, 0x1c600001000ULL,
00553 TOP_cmp4_ge, 0x18400000000ULL,
00554 TOP_cmp4_ge_unc, 0x18400001000ULL,
00555 TOP_cmp4_geu, 0x1a400000000ULL,
00556 TOP_cmp4_geu_unc, 0x1a400001000ULL,
00557 TOP_cmp4_ne_and_orcm, 0x1c600000000ULL,
00558 TOP_cmp4_ne, 0x1c400000000ULL,
00559 TOP_cmp4_ne_unc, 0x1c400001000ULL,
00560 TOP_UNDEFINED);
00561
00562
00563
00564 a15 = ISA_Pack_Type_Create("a15");
00565 Operand(0, 0, 0, 6);
00566 Result(0, 6, 6);
00567 Result(1, 27, 6);
00568 Operand(1, 0, 20, 7);
00569 Operand(2, 0, 13, 7);
00570 Instruction_Pack_Group(a15,
00571 TOP_cmp_gt, 0x18000000000ULL,
00572 TOP_cmp_gt_unc, 0x18000001000ULL,
00573 TOP_cmp_gtu, 0x1a000000000ULL,
00574 TOP_cmp_gtu_unc, 0x1a000001000ULL,
00575 TOP_cmp4_gt, 0x18400000000ULL,
00576 TOP_cmp4_gt_unc, 0x18400001000ULL,
00577 TOP_cmp4_gtu, 0x1a400000000ULL,
00578 TOP_cmp4_gtu_unc, 0x1a400001000ULL,
00579 TOP_UNDEFINED);
00580
00581
00582
00583 a16 = ISA_Pack_Type_Create("a16");
00584 Operand(0, 0, 0, 6);
00585 Result(0, 27, 6);
00586 Result(1, 6, 6);
00587 Operand(1, 0, 20, 7);
00588 Operand(2, 0, 13, 7);
00589 Instruction_Pack_Group(a16,
00590 TOP_cmp_le, 0x18000000000ULL,
00591 TOP_cmp_le_unc, 0x18000001000ULL,
00592 TOP_cmp_leu, 0x1a000000000ULL,
00593 TOP_cmp_leu_unc, 0x1a000001000ULL,
00594 TOP_cmp4_le, 0x18400000000ULL,
00595 TOP_cmp4_le_unc, 0x18400001000ULL,
00596 TOP_cmp4_leu, 0x1a400000000ULL,
00597 TOP_cmp4_leu_unc, 0x1a400001000ULL,
00598 TOP_UNDEFINED);
00599
00600
00601 a17 = ISA_Pack_Type_Create("a17");
00602 Operand(0, 0, 0, 6);
00603 Result(0, 6, 6);
00604 Result(1, 27, 6);
00605 Operand(1, 0, 13, 7);
00606 Operand(1, 7, 36, 1);
00607 Operand(2, 0, 20, 7);
00608 Instruction_Pack_Group(a17,
00609 TOP_cmp_i_eq_andcm, 0x18a00001000ULL,
00610 TOP_cmp_i_eq_orcm, 0x1aa00001000ULL,
00611 TOP_cmp_i_ne_andcm, 0x18a00000000ULL,
00612 TOP_cmp_i_ne_orcm, 0x1aa00000000ULL,
00613 TOP_cmp4_i_eq_andcm, 0x18e00001000ULL,
00614 TOP_cmp4_i_eq_orcm, 0x1ae00001000ULL,
00615 TOP_cmp4_i_ne_andcm, 0x18e00000000ULL,
00616 TOP_cmp4_i_ne_orcm, 0x1ae00000000ULL,
00617 TOP_UNDEFINED);
00618
00619
00620
00621 a18 = ISA_Pack_Type_Create("a18");
00622 Operand(0, 0, 0, 6);
00623 Result(0, 27, 6);
00624 Result(1, 6, 6);
00625 Operand(1, 0, 13, 7);
00626 Operand(1, 7, 36, 1);
00627 Operand(2, 0, 20, 7);
00628 Instruction_Pack_Group(a18,
00629 TOP_cmp_i_eq_and_orcm, 0x1ca00001000ULL,
00630 TOP_cmp_i_ge, 0x18800000000ULL,
00631 TOP_cmp_i_ge_unc, 0x18800001000ULL,
00632 TOP_cmp_i_ne_and_orcm, 0x1ca00000000ULL,
00633 TOP_cmp_i_ne, 0x1c800000000ULL,
00634 TOP_cmp_i_ne_unc, 0x1c800001000ULL,
00635 TOP_cmp4_i_eq_and_orcm, 0x1ce00001000ULL,
00636 TOP_cmp4_i_ge, 0x18c00000000ULL,
00637 TOP_cmp4_i_ge_unc, 0x18c00001000ULL,
00638 TOP_cmp4_i_ne_and_orcm, 0x1ce00000000ULL,
00639 TOP_cmp4_i_ne, 0x1cc00000000ULL,
00640 TOP_cmp4_i_ne_unc, 0x1cc00001000ULL,
00641 TOP_UNDEFINED);
00642
00643
00644
00645 a19 = ISA_Pack_Type_Create("a19");
00646 Operand(0, 0, 0, 6);
00647 Result(0, 27, 6);
00648 Result(1, 6, 6);
00649 Adjust_Operand(1, no_adj, sext8);
00650 Operand(1, 0, 13, 7);
00651 Operand(1, 7, 36, 1);
00652 Operand(2, 0, 20, 7);
00653 Instruction_Pack_Group(a19,
00654 TOP_cmp_i_geu, 0x1a800000000ULL,
00655 TOP_cmp_i_geu_unc, 0x1a800001000ULL,
00656 TOP_cmp4_i_geu, 0x1ac00000000ULL,
00657 TOP_cmp4_i_geu_unc, 0x1ac00001000ULL,
00658 TOP_UNDEFINED);
00659
00660
00661
00662 a20 = ISA_Pack_Type_Create("a20");
00663 Operand(0, 0, 0, 6);
00664 Result(0, 6, 6);
00665 Result(1, 27, 6);
00666 Adjust_Operand(1, decr, sext8_incr);
00667 Operand(1, 0, 13, 7);
00668 Operand(1, 7, 36, 1);
00669 Operand(2, 0, 20, 7);
00670 Instruction_Pack_Group(a20,
00671 TOP_cmp_i_le, 0x18800000000ULL,
00672 TOP_cmp_i_le_unc, 0x18800001000ULL,
00673 TOP_cmp_i_leu, 0x1a800000000ULL,
00674 TOP_cmp_i_leu_unc, 0x1a800001000ULL,
00675 TOP_cmp4_i_le, 0x18c00000000ULL,
00676 TOP_cmp4_i_le_unc, 0x18c00001000ULL,
00677 TOP_cmp4_i_leu, 0x1ac00000000ULL,
00678 TOP_cmp4_i_leu_unc, 0x1ac00001000ULL,
00679 TOP_UNDEFINED);
00680
00681
00682
00683 a21 = ISA_Pack_Type_Create("a21");
00684 Operand(0, 0, 0, 6);
00685 Result(0, 27, 6);
00686 Result(1, 6, 6);
00687 Adjust_Operand(1, decr, sext8_incr);
00688 Operand(1, 0, 13, 7);
00689 Operand(1, 7, 36, 1);
00690 Operand(2, 0, 20, 7);
00691 Instruction_Pack_Group(a21,
00692 TOP_cmp_i_gt, 0x18800000000ULL,
00693 TOP_cmp_i_gt_unc, 0x18800001000ULL,
00694 TOP_cmp_i_gtu, 0x1a800000000ULL,
00695 TOP_cmp_i_gtu_unc, 0x1a800001000ULL,
00696 TOP_cmp4_i_gt, 0x18c00000000ULL,
00697 TOP_cmp4_i_gt_unc, 0x18c00001000ULL,
00698 TOP_cmp4_i_gtu, 0x1ac00000000ULL,
00699 TOP_cmp4_i_gtu_unc, 0x1ac00001000ULL,
00700 TOP_UNDEFINED);
00701
00702
00703
00704 a22 = ISA_Pack_Type_Create("a22");
00705 Operand(0, 0, 0, 6);
00706 Result(0, 27, 6);
00707 Result(1, 6, 6);
00708 Operand(1, 0, 20, 7);
00709 Instruction_Pack_Group(a22,
00710 TOP_cmp_z1_gt_and_orcm, 0x1d000001000ULL,
00711 TOP_cmp_z1_le_and_orcm, 0x1d000000000ULL,
00712 TOP_cmp_z1_ge_and_orcm, 0x1d200001000ULL,
00713 TOP_cmp_z1_lt_and_orcm, 0x1d200000000ULL,
00714 TOP_cmp4_z1_gt_and_orcm,0x1d400001000ULL,
00715 TOP_cmp4_z1_le_and_orcm,0x1d400000000ULL,
00716 TOP_cmp4_z1_ge_and_orcm,0x1d600001000ULL,
00717 TOP_cmp4_z1_lt_and_orcm,0x1d600000000ULL,
00718 TOP_cmp_z2_gt_and_orcm, 0x1d200000000ULL,
00719 TOP_cmp_z2_le_and_orcm, 0x1d200001000ULL,
00720 TOP_cmp_z2_ge_and_orcm, 0x1d000000000ULL,
00721 TOP_cmp_z2_lt_and_orcm, 0x1d000001000ULL,
00722 TOP_cmp4_z2_gt_and_orcm,0x1d600000000ULL,
00723 TOP_cmp4_z2_le_and_orcm,0x1d600001000ULL,
00724 TOP_cmp4_z2_ge_and_orcm,0x1d400000000ULL,
00725 TOP_cmp4_z2_lt_and_orcm,0x1d400001000ULL,
00726 TOP_UNDEFINED);
00727
00728
00729 a23 = ISA_Pack_Type_Create("a23");
00730 Operand(0, 0, 0, 6);
00731 Result(0, 6, 6);
00732 Result(1, 27, 6);
00733 Operand(1, 0, 20, 7);
00734 Instruction_Pack_Group(a23,
00735 TOP_cmp_z1_gt_andcm, 0x19000001000ULL,
00736 TOP_cmp_z1_gt_orcm, 0x1b000001000ULL,
00737 TOP_cmp_z1_le_andcm, 0x19000000000ULL,
00738 TOP_cmp_z1_le_orcm, 0x1b000000000ULL,
00739 TOP_cmp_z1_ge_andcm, 0x19200001000ULL,
00740 TOP_cmp_z1_ge_orcm, 0x1b200001000ULL,
00741 TOP_cmp_z1_lt_andcm, 0x19200000000ULL,
00742 TOP_cmp_z1_lt_orcm, 0x1b200000000ULL,
00743 TOP_cmp4_z1_gt_andcm, 0x19400001000ULL,
00744 TOP_cmp4_z1_gt_orcm, 0x1b400001000ULL,
00745 TOP_cmp4_z1_le_andcm, 0x19400000000ULL,
00746 TOP_cmp4_z1_le_orcm, 0x1b400000000ULL,
00747 TOP_cmp4_z1_ge_andcm, 0x19600001000ULL,
00748 TOP_cmp4_z1_ge_orcm, 0x1b600001000ULL,
00749 TOP_cmp4_z1_lt_andcm, 0x19600000000ULL,
00750 TOP_cmp4_z1_lt_orcm, 0x1b600000000ULL,
00751 TOP_cmp_z2_gt_andcm, 0x19200000000ULL,
00752 TOP_cmp_z2_gt_orcm, 0x1b200000000ULL,
00753 TOP_cmp_z2_le_andcm, 0x19200001000ULL,
00754 TOP_cmp_z2_le_orcm, 0x1b200001000ULL,
00755 TOP_cmp_z2_ge_andcm, 0x19000000000ULL,
00756 TOP_cmp_z2_ge_orcm, 0x1b000000000ULL,
00757 TOP_cmp_z2_lt_andcm, 0x19000001000ULL,
00758 TOP_cmp_z2_lt_orcm, 0x1b000001000ULL,
00759 TOP_cmp4_z2_gt_andcm, 0x19600000000ULL,
00760 TOP_cmp4_z2_gt_orcm, 0x1b600000000ULL,
00761 TOP_cmp4_z2_le_andcm, 0x19600001000ULL,
00762 TOP_cmp4_z2_le_orcm, 0x1b600001000ULL,
00763 TOP_cmp4_z2_ge_andcm, 0x19400000000ULL,
00764 TOP_cmp4_z2_ge_orcm, 0x1b400000000ULL,
00765 TOP_cmp4_z2_lt_andcm, 0x19400001000ULL,
00766 TOP_cmp4_z2_lt_orcm, 0x1b400001000ULL,
00767 TOP_cmp_z2_gt_and, 0x19200001000ULL,
00768 TOP_cmp_z2_gt_or, 0x1b200001000ULL,
00769 TOP_cmp_z2_gt_or_andcm, 0x1d200001000ULL,
00770 TOP_cmp_z2_le_and, 0x19200000000ULL,
00771 TOP_cmp_z2_le_or, 0x1b200000000ULL,
00772 TOP_cmp_z2_le_or_andcm, 0x1d200000000ULL,
00773 TOP_cmp_z2_ge_and, 0x19000001000ULL,
00774 TOP_cmp_z2_ge_or, 0x1b000001000ULL,
00775 TOP_cmp_z2_ge_or_andcm, 0x1d000001000ULL,
00776 TOP_cmp_z2_lt_and, 0x19000000000ULL,
00777 TOP_cmp_z2_lt_or, 0x1b000000000ULL,
00778 TOP_cmp_z2_lt_or_andcm, 0x1d000000000ULL,
00779 TOP_cmp4_z2_gt_and, 0x19600001000ULL,
00780 TOP_cmp4_z2_gt_or, 0x1b600001000ULL,
00781 TOP_cmp4_z2_gt_or_andcm,0x1d600001000ULL,
00782 TOP_cmp4_z2_le_and, 0x19600000000ULL,
00783 TOP_cmp4_z2_le_or, 0x1b600000000ULL,
00784 TOP_cmp4_z2_le_or_andcm,0x1d600000000ULL,
00785 TOP_cmp4_z2_ge_and, 0x19400001000ULL,
00786 TOP_cmp4_z2_ge_or, 0x1b400001000ULL,
00787 TOP_cmp4_z2_ge_or_andcm,0x1d400001000ULL,
00788 TOP_cmp4_z2_lt_and, 0x19400000000ULL,
00789 TOP_cmp4_z2_lt_or, 0x1b400000000ULL,
00790 TOP_cmp4_z2_lt_or_andcm,0x1d400000000ULL,
00791 TOP_UNDEFINED);
00792
00793
00794 i1 = ISA_Pack_Type_Create("i1");
00795 Operand(0, 0, 0, 6);
00796 Result(0, 6, 7);
00797 Operand(1, 0, 13, 7);
00798 Operand(2, 0, 20, 7);
00799 Adjust_Operand(3, pack_i1, unpack_i1);
00800 Operand(3, 0, 30, 2);
00801 Instruction_Pack_Group(i1,
00802 TOP_pmpyshr2, 0x0e230000000ULL,
00803 TOP_pmpyshr2_u, 0x0e210000000ULL,
00804 TOP_UNDEFINED);
00805
00806
00807 i2 = ISA_Pack_Type_Create("i2");
00808 Operand(0, 0, 0, 6);
00809 Result(0, 6, 7);
00810 Operand(1, 0, 13, 7);
00811 Operand(2, 0, 20, 7);
00812 Instruction_Pack_Group(i2,
00813 TOP_pmpy2_r, 0x0ead0000000ULL,
00814 TOP_pmpy2_l, 0x0eaf0000000ULL,
00815 TOP_mix1_r, 0x0e880000000ULL,
00816 TOP_mix2_r, 0x0ea80000000ULL,
00817 TOP_mix4_r, 0x0f880000000ULL,
00818 TOP_mix1_l, 0x0e8a0000000ULL,
00819 TOP_mix2_l, 0x0eaa0000000ULL,
00820 TOP_mix4_l, 0x0f8a0000000ULL,
00821 TOP_pack2_uss, 0x0ea00000000ULL,
00822 TOP_pack2_sss, 0x0ea20000000ULL,
00823 TOP_pack4_sss, 0x0f820000000ULL,
00824 TOP_unpack1_h, 0x0e840000000ULL,
00825 TOP_unpack2_h, 0x0ea40000000ULL,
00826 TOP_unpack4_h, 0x0f840000000ULL,
00827 TOP_unpack1_l, 0x0e860000000ULL,
00828 TOP_unpack2_l, 0x0ea60000000ULL,
00829 TOP_unpack4_l, 0x0f860000000ULL,
00830 TOP_pmin1_u, 0x0e810000000ULL,
00831 TOP_pmax1_u, 0x0e850000000ULL,
00832 TOP_pmin2, 0x0ea30000000ULL,
00833 TOP_pmax2, 0x0ea70000000ULL,
00834 TOP_psad1, 0x0e8b0000000ULL,
00835 TOP_UNDEFINED);
00836
00837
00838 i3 = ISA_Pack_Type_Create("i3");
00839 Operand(0, 0, 0, 6);
00840 Result(0, 6, 7);
00841 Operand(1, 0, 13, 7);
00842 Operand(2, 0, 20, 4);
00843 Instruction_Pack_Group(i3,
00844 TOP_mux1, 0x0eca0000000ULL,
00845 TOP_UNDEFINED);
00846
00847
00848 i4 = ISA_Pack_Type_Create("i4");
00849 Operand(0, 0, 0, 6);
00850 Result(0, 6, 7);
00851 Operand(1, 0, 13, 7);
00852 Operand(2, 0, 20, 8);
00853 Instruction_Pack_Group(i4,
00854 TOP_mux2, 0x0eea0000000ULL,
00855 TOP_UNDEFINED);
00856
00857
00858 i5 = ISA_Pack_Type_Create("i5");
00859 Operand(0, 0, 0, 6);
00860 Result(0, 6, 7);
00861 Operand(1, 0, 20, 7);
00862 Operand(2, 0, 13, 7);
00863 Instruction_Pack_Group(i5,
00864 TOP_pshr2, 0x0e220000000ULL,
00865 TOP_pshr4, 0x0f020000000ULL,
00866 TOP_shr, 0x0f220000000ULL,
00867 TOP_pshr2_u, 0x0e200000000ULL,
00868 TOP_pshr4_u, 0x0f000000000ULL,
00869 TOP_shr_u, 0x0f200000000ULL,
00870 TOP_UNDEFINED);
00871
00872
00873 i6 = ISA_Pack_Type_Create("i6");
00874 Operand(0, 0, 0, 6);
00875 Result(0, 6, 7);
00876 Operand(1, 0, 20, 7);
00877 Operand(2, 0, 14, 5);
00878 Instruction_Pack_Group(i6,
00879 TOP_pshr2_i, 0x0e630000000ULL,
00880 TOP_pshr4_i, 0x0f430000000ULL,
00881 TOP_pshr2_i_u, 0x0e610000000ULL,
00882 TOP_pshr4_i_u, 0x0f410000000ULL,
00883 TOP_UNDEFINED);
00884
00885
00886 i7 = ISA_Pack_Type_Create("i7");
00887 Operand(0, 0, 0, 6);
00888 Result(0, 6, 7);
00889 Operand(1, 0, 13, 7);
00890 Operand(2, 0, 20, 7);
00891 Instruction_Pack_Group(i7,
00892 TOP_pshl2, 0x0e240000000ULL,
00893 TOP_pshl4, 0x0f040000000ULL,
00894 TOP_shl, 0x0f240000000ULL,
00895 TOP_UNDEFINED);
00896
00897
00898 i8 = ISA_Pack_Type_Create("i8");
00899 Operand(0, 0, 0, 6);
00900 Result(0, 6, 7);
00901 Operand(1, 0, 13, 7);
00902 Adjust_Operand(2, comp5, comp5);
00903 Operand(2, 0, 20, 5);
00904 Instruction_Pack_Group(i8,
00905 TOP_pshl2_i, 0x0ee50000000ULL,
00906 TOP_pshl4_i, 0x0fc50000000ULL,
00907 TOP_UNDEFINED);
00908
00909
00910 i9 = ISA_Pack_Type_Create("i9");
00911 Operand(0, 0, 0, 6);
00912 Result(0, 6, 7);
00913 Operand(1, 0, 20, 7);
00914 Instruction_Pack_Group(i9,
00915 TOP_popcnt, 0x0e690000000ULL,
00916 TOP_UNDEFINED);
00917
00918
00919 i10 = ISA_Pack_Type_Create("i10");
00920 Operand(0, 0, 0, 6);
00921 Result(0, 6, 7);
00922 Operand(1, 0, 13, 7);
00923 Operand(2, 0, 20, 7);
00924 Operand(3, 0, 27, 6);
00925 Instruction_Pack_Group(i10,
00926 TOP_shrp, 0x0ac00000000ULL,
00927 TOP_UNDEFINED);
00928
00929
00930 i11 = ISA_Pack_Type_Create("i11");
00931 Operand(0, 0, 0, 6);
00932 Result(0, 6, 7);
00933 Operand(1, 0, 20, 7);
00934 Operand(2, 0, 14, 6);
00935 Adjust_Operand(3, decr, incr);
00936 Operand(3, 0, 27, 6);
00937 Instruction_Pack_Group(i11,
00938 TOP_extr_u, 0x0a400000000ULL,
00939 TOP_extr, 0x0a400002000ULL,
00940 TOP_UNDEFINED);
00941
00942
00943 i12 = ISA_Pack_Type_Create("i12");
00944 Operand(0, 0, 0, 6);
00945 Result(0, 6, 7);
00946 Operand(1, 0, 13, 7);
00947 Adjust_Operand(2, comp6, comp6);
00948 Operand(2, 0, 20, 6);
00949 Adjust_Operand(3, decr, incr);
00950 Operand(3, 0, 27, 6);
00951 Instruction_Pack_Group(i12,
00952 TOP_dep_z, 0x0a600000000ULL,
00953 TOP_UNDEFINED);
00954
00955
00956 i13 = ISA_Pack_Type_Create("i13");
00957 Operand(0, 0, 0, 6);
00958 Result(0, 6, 7);
00959 Operand(1, 0, 13, 7);
00960 Operand(1, 7, 36, 1);
00961 Adjust_Operand(2, comp6, comp6);
00962 Operand(2, 0, 20, 6);
00963 Adjust_Operand(3, decr, incr);
00964 Operand(3, 0, 27, 6);
00965 Instruction_Pack_Group(i13,
00966 TOP_dep_i_z, 0x0a604000000ULL,
00967 TOP_UNDEFINED);
00968
00969
00970 i14 = ISA_Pack_Type_Create("i14");
00971 Operand(0, 0, 0, 6);
00972 Result(0, 6, 7);
00973 Operand(1, 0, 36, 1);
00974 Operand(2, 0, 20, 7);
00975 Adjust_Operand(3, comp6, comp6);
00976 Operand(3, 0, 14, 6);
00977 Adjust_Operand(4, decr, incr);
00978 Operand(4, 0, 27, 6);
00979 Instruction_Pack_Group(i14,
00980 TOP_dep_i, 0x0ae00000000ULL,
00981 TOP_UNDEFINED);
00982
00983
00984 i15 = ISA_Pack_Type_Create("i15");
00985 Operand(0, 0, 0, 6);
00986 Result(0, 6, 7);
00987 Operand(1, 0, 13, 7);
00988 Operand(2, 0, 20, 7);
00989 Adjust_Operand(3, comp6, comp6);
00990 Operand(3, 0, 31, 6);
00991 Adjust_Operand(4, decr, incr);
00992 Operand(4, 0, 27, 4);
00993 Instruction_Pack_Group(i15,
00994 TOP_dep, 0x08000000000ULL,
00995 TOP_UNDEFINED);
00996
00997
00998 i16 = ISA_Pack_Type_Create("i16");
00999 Operand(0, 0, 0, 6);
01000 Result(0, 6, 6);
01001 Result(1, 27, 6);
01002 Operand(1, 0, 20, 7);
01003 Operand(2, 0, 14, 6);
01004 Instruction_Pack_Group(i16,
01005 TOP_tbit_z, 0x0a000000000ULL,
01006 TOP_tbit_z_unc, 0x0a000001000ULL,
01007 TOP_tbit_z_and, 0x0b000000000ULL,
01008 TOP_tbit_nz_and, 0x0b000001000ULL,
01009 TOP_tbit_z_or, 0x0a200000000ULL,
01010 TOP_tbit_nz_or, 0x0a200001000ULL,
01011 TOP_tbit_z_or_andcm, 0x0b200000000ULL,
01012 TOP_tbit_nz_or_andcm, 0x0b200001000ULL,
01013 TOP_UNDEFINED);
01014
01015
01016 i17 = ISA_Pack_Type_Create("i17");
01017 Operand(0, 0, 0, 6);
01018 Result(0, 6, 6);
01019 Result(1, 27, 6);
01020 Operand(1, 0, 20, 7);
01021 Instruction_Pack_Group(i17,
01022 TOP_tnat_z, 0x0a000002000ULL,
01023 TOP_tnat_z_unc, 0x0a000003000ULL,
01024 TOP_tnat_z_and, 0x0b000002000ULL,
01025 TOP_tnat_nz_and, 0x0b000003000ULL,
01026 TOP_tnat_z_or, 0x0a200002000ULL,
01027 TOP_tnat_nz_or, 0x0a200003000ULL,
01028 TOP_tnat_z_or_andcm, 0x0b200002000ULL,
01029 TOP_tnat_nz_or_andcm, 0x0b200003000ULL,
01030 TOP_UNDEFINED);
01031
01032
01033 i19 = ISA_Pack_Type_Create("i19");
01034 Operand(0, 0, 0, 6);
01035 Operand(1, 0, 6, 20);
01036 Operand(1, 20, 36, 1);
01037 Instruction_Pack_Group(i19,
01038 TOP_break_i, 0x00000000000ULL,
01039 TOP_nop_i, 0x00008000000ULL,
01040 TOP_UNDEFINED);
01041
01042
01043 i20 = ISA_Pack_Type_Create("i20");
01044 Operand(0, 0, 0, 6);
01045 Operand(1, 0, 13, 7);
01046
01047 Operand(2, 4, 6, 7);
01048 Operand(2, 11, 20, 13);
01049 Operand(2, 24, 36, 1);
01050 Instruction_Pack_Group(i20,
01051 TOP_chk_s_i, 0x00200000000ULL,
01052 TOP_UNDEFINED);
01053
01054
01055 i21 = ISA_Pack_Type_Create("i21");
01056 Operand(0, 0, 0, 6);
01057 Operand(1, 0, 20, 2);
01058 Operand(2, 0, 23, 1);
01059 Result(0, 6, 3);
01060 Operand(3, 0, 13, 7);
01061
01062 Operand(4, 4, 24, 9);
01063 Instruction_Pack_Group(i21,
01064 TOP_mov_t_br_i, 0x00e00000000ULL,
01065 TOP_mov_t_br_ret, 0x00e00400000ULL,
01066 TOP_UNDEFINED);
01067
01068
01069 i22 = ISA_Pack_Type_Create("i22");
01070 Operand(0, 0, 0, 6);
01071 Result(0, 6, 7);
01072 Operand(1, 0, 13, 3);
01073 Instruction_Pack_Group(i22,
01074 TOP_mov_f_br, 0x00188000000ULL,
01075 TOP_UNDEFINED);
01076
01077
01078 i23 = ISA_Pack_Type_Create("i23");
01079 Operand(0, 0, 0, 6);
01080 Operand(1, 0, 13, 7);
01081
01082 Operand(2, 1, 6, 7);
01083 Operand(2, 8, 24, 8);
01084 Operand(2, 16, 36, 1);
01085 Instruction_Pack_Group(i23,
01086 TOP_mov_t_pr, 0x00600000000ULL,
01087 TOP_UNDEFINED);
01088
01089
01090 i24 = ISA_Pack_Type_Create("i24");
01091 Operand(0, 0, 0, 6);
01092
01093 Operand(1, 16, 6, 27);
01094 Operand(1, 43, 36, 1);
01095 Instruction_Pack_Group(i24,
01096 TOP_mov_t_pr_i, 0x00400000000ULL,
01097 TOP_UNDEFINED);
01098
01099
01100 i25 = ISA_Pack_Type_Create("i25");
01101 Operand(0, 0, 0, 6);
01102 Result(0, 6, 7);
01103 Instruction_Pack_Group(i25,
01104 TOP_mov_f_ip, 0x00180000000ULL,
01105 TOP_mov_f_pr, 0x00198000000ULL,
01106 TOP_UNDEFINED);
01107
01108
01109 i26 = ISA_Pack_Type_Create("i26");
01110 Operand(0, 0, 0, 6);
01111 Result(0, 20, 7);
01112 Operand(1, 0, 13, 7);
01113 Instruction_Pack_Group(i26,
01114 TOP_mov_t_ar_r_i, 0x00150000000ULL,
01115 TOP_UNDEFINED);
01116
01117
01118 i27 = ISA_Pack_Type_Create("i27");
01119 Operand(0, 0, 0, 6);
01120 Result(0, 20, 7);
01121 Operand(1, 0, 13, 7);
01122 Operand(1, 7, 36, 1);
01123 Instruction_Pack_Group(i27,
01124 TOP_mov_t_ar_i_i, 0x00050000000ULL,
01125 TOP_UNDEFINED);
01126
01127
01128 i28 = ISA_Pack_Type_Create("i28");
01129 Operand(0, 0, 0, 6);
01130 Result(0, 6, 7);
01131 Operand(1, 0, 20, 7);
01132 Instruction_Pack_Group(i28,
01133 TOP_mov_f_ar_i, 0x00190000000ULL,
01134 TOP_UNDEFINED);
01135
01136
01137 i29 = ISA_Pack_Type_Create("i29");
01138 Operand(0, 0, 0, 6);
01139 Result(0, 6, 7);
01140 Operand(1, 0, 20, 7);
01141 Instruction_Pack_Group(i29,
01142 TOP_zxt1, 0x00080000000ULL,
01143 TOP_zxt2, 0x00088000000ULL,
01144 TOP_zxt4, 0x00090000000ULL,
01145 TOP_sxt1, 0x000a0000000ULL,
01146 TOP_sxt2, 0x000a8000000ULL,
01147 TOP_sxt4, 0x000b0000000ULL,
01148 TOP_czx1_l, 0x000c0000000ULL,
01149 TOP_czx2_l, 0x000c8000000ULL,
01150 TOP_czx1_r, 0x000e0000000ULL,
01151 TOP_czx2_r, 0x000e8000000ULL,
01152 TOP_UNDEFINED);
01153
01154
01155 i30 = ISA_Pack_Type_Create("i30");
01156 Operand(0, 0, 0, 6);
01157 Result(0, 6, 3);
01158 Operand(1, 0, 13, 7);
01159 Instruction_Pack_Group(i30,
01160 TOP_mov_t_br, 0x00e00100000ULL,
01161 TOP_UNDEFINED);
01162
01163
01164 i31 = ISA_Pack_Type_Create("i31");
01165 Operand(0, 0, 0, 6);
01166 Result(0, 27, 6);
01167 Result(1, 6, 6);
01168 Operand(1, 0, 20, 7);
01169 Operand(2, 0, 14, 6);
01170 Instruction_Pack_Group(i31,
01171 TOP_tbit_nz, 0x0a000000000ULL,
01172 TOP_tbit_nz_unc, 0x0a000001000ULL,
01173 TOP_UNDEFINED);
01174
01175
01176 i32 = ISA_Pack_Type_Create("i32");
01177 Operand(0, 0, 0, 6);
01178 Result(0, 27, 6);
01179 Result(1, 6, 6);
01180 Operand(1, 0, 20, 7);
01181 Instruction_Pack_Group(i32,
01182 TOP_tnat_nz, 0x0a000002000ULL,
01183 TOP_tnat_nz_unc, 0x0a000003000ULL,
01184 TOP_UNDEFINED);
01185
01186
01187
01188
01189
01190 i33 = ISA_Pack_Type_Create("i33");
01191 Operand(0, 0, 0, 6);
01192 Result(0, 6, 7);
01193 Operand(1, 0, 13, 7);
01194 Operand(2, 0, 20, 6);
01195 Operand(2, 0, 27, 6);
01196 Instruction_Pack_Group(i33,
01197 TOP_shl_i, 0x0a600000000ULL,
01198 TOP_UNDEFINED);
01199
01200
01201
01202
01203
01204 i34 = ISA_Pack_Type_Create("i34");
01205 Operand(0, 0, 0, 6);
01206 Result(0, 6, 7);
01207 Operand(1, 0, 20, 7);
01208 Operand(2, 0, 14, 6);
01209 Operand(2, 0, 27, 6);
01210 Instruction_Pack_Group(i34,
01211 TOP_shr_i_u, 0x0a400000000ULL,
01212 TOP_shr_i, 0x0a400002000ULL,
01213 TOP_UNDEFINED);
01214
01215
01216 m1a = ISA_Pack_Type_Create("m1a");
01217 Operand(0, 0, 0, 6);
01218 Operand(1, 0, 32, 4);
01219 Operand(2, 0, 28, 2);
01220 Result(0, 6, 7);
01221 Operand(3, 0, 20, 7);
01222 Instruction_Pack_Group(m1a,
01223 TOP_ld1, 0x08000000000ULL,
01224 TOP_ld2, 0x08040000000ULL,
01225 TOP_ld4, 0x08080000000ULL,
01226 TOP_ld8, 0x080c0000000ULL,
01227 TOP_UNDEFINED);
01228
01229
01230 m1b = ISA_Pack_Type_Create("m1b");
01231 Operand(0, 0, 0, 6);
01232 Operand(1, 0, 28, 2);
01233 Result(0, 6, 7);
01234 Operand(2, 0, 20, 7);
01235 Instruction_Pack_Group(m1b,
01236 TOP_ld8_fill, 0x086c0000000ULL,
01237 TOP_UNDEFINED);
01238
01239
01240 m2a = ISA_Pack_Type_Create("m2a");
01241 Operand(0, 0, 0, 6);
01242 Operand(1, 0, 32, 4);
01243 Operand(2, 0, 28, 2);
01244 Result(0, 6, 7);
01245 Operand(3, 0, 20, 7);
01246 Operand(4, 0, 13, 7);
01247 Instruction_Pack_Group(m2a,
01248 TOP_ld1_r, 0x09000000000ULL,
01249 TOP_ld2_r, 0x09040000000ULL,
01250 TOP_ld4_r, 0x09080000000ULL,
01251 TOP_ld8_r, 0x090c0000000ULL,
01252 TOP_UNDEFINED);
01253
01254
01255 m2b = ISA_Pack_Type_Create("m2b");
01256 Operand(0, 0, 0, 6);
01257 Operand(1, 0, 28, 2);
01258 Result(0, 6, 7);
01259 Operand(2, 0, 20, 7);
01260 Operand(3, 0, 13, 7);
01261 Instruction_Pack_Group(m2b,
01262 TOP_ld8_r_fill, 0x096c0000000ULL,
01263 TOP_UNDEFINED);
01264
01265
01266 m3a = ISA_Pack_Type_Create("m3a");
01267 Operand(0, 0, 0, 6);
01268 Operand(1, 0, 32, 4);
01269 Operand(2, 0, 28, 2);
01270 Result(0, 6, 7);
01271 Operand(3, 0, 20, 7);
01272 Operand(4, 0, 13, 7);
01273 Operand(4, 7, 27, 1);
01274 Operand(4, 8, 36, 1);
01275 Instruction_Pack_Group(m3a,
01276 TOP_ld1_i, 0x0a000000000ULL,
01277 TOP_ld2_i, 0x0a040000000ULL,
01278 TOP_ld4_i, 0x0a080000000ULL,
01279 TOP_ld8_i, 0x0a0c0000000ULL,
01280 TOP_UNDEFINED);
01281
01282
01283 m3b = ISA_Pack_Type_Create("m3b");
01284 Operand(0, 0, 0, 6);
01285 Operand(1, 0, 28, 2);
01286 Result(0, 6, 7);
01287 Operand(2, 0, 20, 7);
01288 Operand(3, 0, 13, 7);
01289 Operand(3, 7, 27, 1);
01290 Operand(3, 8, 36, 1);
01291 Instruction_Pack_Group(m3b,
01292 TOP_ld8_i_fill, 0x0a6c0000000ULL,
01293 TOP_UNDEFINED);
01294
01295
01296 m4a = ISA_Pack_Type_Create("m4a");
01297 Operand(0, 0, 0, 6);
01298 Operand(1, 0, 32, 1);
01299 Operand(2, 0, 28, 2);
01300 Operand(3, 0, 20, 7);
01301 Operand(4, 0, 13, 7);
01302 Instruction_Pack_Group(m4a,
01303 TOP_st1, 0x08c00000000ULL,
01304 TOP_st2, 0x08c40000000ULL,
01305 TOP_st4, 0x08c80000000ULL,
01306 TOP_st8, 0x08cc0000000ULL,
01307 TOP_UNDEFINED);
01308
01309
01310 m4b = ISA_Pack_Type_Create("m4b");
01311 Operand(0, 0, 0, 6);
01312 Operand(1, 0, 28, 2);
01313 Operand(2, 0, 20, 7);
01314 Operand(3, 0, 13, 7);
01315 Instruction_Pack_Group(m4b,
01316 TOP_st8_spill, 0x08ec0000000ULL,
01317 TOP_UNDEFINED);
01318
01319
01320 m5a = ISA_Pack_Type_Create("m5a");
01321 Operand(0, 0, 0, 6);
01322 Operand(1, 0, 32, 1);
01323 Operand(2, 0, 28, 2);
01324 Operand(3, 0, 20, 7);
01325 Operand(4, 0, 13, 7);
01326 Operand(5, 0, 6, 7);
01327 Operand(5, 7, 27, 1);
01328 Operand(5, 8, 36, 1);
01329 Instruction_Pack_Group(m5a,
01330 TOP_st1_i, 0x0ac00000000ULL,
01331 TOP_st2_i, 0x0ac40000000ULL,
01332 TOP_st4_i, 0x0ac80000000ULL,
01333 TOP_st8_i, 0x0acc0000000ULL,
01334 TOP_UNDEFINED);
01335
01336
01337 m5b = ISA_Pack_Type_Create("m5b");
01338 Operand(0, 0, 0, 6);
01339 Operand(1, 0, 28, 2);
01340 Operand(2, 0, 20, 7);
01341 Operand(3, 0, 13, 7);
01342 Operand(4, 0, 6, 7);
01343 Operand(4, 7, 27, 1);
01344 Operand(4, 8, 36, 1);
01345 Instruction_Pack_Group(m5b,
01346 TOP_st8_i_spill, 0x0aec0000000ULL,
01347 TOP_UNDEFINED);
01348
01349
01350 m6a = ISA_Pack_Type_Create("m6a");
01351 Operand(0, 0, 0, 6);
01352 Operand(1, 0, 32, 4);
01353 Operand(2, 0, 28, 2);
01354 Result(0, 6, 7);
01355 Operand(3, 0, 20, 7);
01356 Instruction_Pack_Group(m6a,
01357 TOP_ldfs, 0x0c080000000ULL,
01358 TOP_ldfd, 0x0c0c0000000ULL,
01359 TOP_ldf8, 0x0c040000000ULL,
01360 TOP_ldfe, 0x0c000000000ULL,
01361 TOP_UNDEFINED);
01362
01363
01364 m6b = ISA_Pack_Type_Create("m6b");
01365 Operand(0, 0, 0, 6);
01366 Operand(1, 0, 28, 2);
01367 Result(0, 6, 7);
01368 Operand(2, 0, 20, 7);
01369 Instruction_Pack_Group(m6b,
01370 TOP_ldf_fill, 0x0c6c0000000ULL,
01371 TOP_UNDEFINED);
01372
01373
01374 m7a = ISA_Pack_Type_Create("m7a");
01375 Operand(0, 0, 0, 6);
01376 Operand(1, 0, 32, 4);
01377 Operand(2, 0, 28, 2);
01378 Result(0, 6, 7);
01379 Operand(3, 0, 20, 7);
01380 Operand(4, 0, 13, 7);
01381 Instruction_Pack_Group(m7a,
01382 TOP_ldfs_r, 0x0d080000000ULL,
01383 TOP_ldfd_r, 0x0d0c0000000ULL,
01384 TOP_ldf8_r, 0x0d040000000ULL,
01385 TOP_ldfe_r, 0x0d000000000ULL,
01386 TOP_UNDEFINED);
01387
01388
01389 m7b = ISA_Pack_Type_Create("m7b");
01390 Operand(0, 0, 0, 6);
01391 Operand(1, 0, 28, 2);
01392 Result(0, 6, 7);
01393 Operand(2, 0, 20, 7);
01394 Operand(3, 0, 13, 7);
01395 Instruction_Pack_Group(m7b,
01396 TOP_ldf_r_fill, 0x0d6c0000000ULL,
01397 TOP_UNDEFINED);
01398
01399
01400 m8a = ISA_Pack_Type_Create("m8a");
01401 Operand(0, 0, 0, 6);
01402 Operand(1, 0, 32, 4);
01403 Operand(2, 0, 28, 2);
01404 Result(0, 6, 7);
01405 Operand(3, 0, 20, 7);
01406 Operand(4, 0, 13, 7);
01407 Operand(4, 7, 27, 1);
01408 Operand(4, 8, 36, 1);
01409 Instruction_Pack_Group(m8a,
01410 TOP_ldfs_i, 0x0e080000000ULL,
01411 TOP_ldfd_i, 0x0e0c0000000ULL,
01412 TOP_ldf8_i, 0x0e040000000ULL,
01413 TOP_ldfe_i, 0x0e000000000ULL,
01414 TOP_UNDEFINED);
01415
01416
01417 m8b = ISA_Pack_Type_Create("m8b");
01418 Operand(0, 0, 0, 6);
01419 Operand(1, 0, 28, 2);
01420 Result(0, 6, 7);
01421 Operand(2, 0, 20, 7);
01422 Operand(3, 0, 13, 7);
01423 Operand(3, 7, 27, 1);
01424 Operand(3, 8, 36, 1);
01425 Instruction_Pack_Group(m8b,
01426 TOP_ldf_i_fill, 0x0e6c0000000ULL,
01427 TOP_UNDEFINED);
01428
01429
01430 m9 = ISA_Pack_Type_Create("m9");
01431 Operand(0, 0, 0, 6);
01432 Operand(1, 0, 28, 2);
01433 Operand(2, 0, 20, 7);
01434 Operand(3, 0, 13, 7);
01435 Instruction_Pack_Group(m9,
01436 TOP_stfs, 0x0cc80000000ULL,
01437 TOP_stfd, 0x0ccc0000000ULL,
01438 TOP_stf8, 0x0cc40000000ULL,
01439 TOP_stfe, 0x0cc00000000ULL,
01440 TOP_stf_spill, 0x0cec0000000ULL,
01441 TOP_UNDEFINED);
01442
01443
01444 m10 = ISA_Pack_Type_Create("m10");
01445 Operand(0, 0, 0, 6);
01446 Operand(1, 0, 28, 2);
01447 Operand(2, 0, 20, 7);
01448 Operand(3, 0, 13, 7);
01449 Operand(4, 0, 6, 7);
01450 Operand(4, 7, 27, 1);
01451 Operand(4, 8, 36, 1);
01452 Instruction_Pack_Group(m10,
01453 TOP_stfs_i, 0x0ec80000000ULL,
01454 TOP_stfd_i, 0x0ecc0000000ULL,
01455 TOP_stf8_i, 0x0ec40000000ULL,
01456 TOP_stfe_i, 0x0ec00000000ULL,
01457 TOP_stf_i_spill, 0x0eec0000000ULL,
01458 TOP_UNDEFINED);
01459
01460
01461 m11 = ISA_Pack_Type_Create("m11");
01462 Operand(0, 0, 0, 6);
01463 Operand(1, 0, 32, 4);
01464 Operand(2, 0, 28, 2);
01465 Result(0, 6, 7);
01466 Result(1, 13, 7);
01467 Operand(3, 0, 20, 7);
01468 Instruction_Pack_Group(m11,
01469 TOP_ldfps, 0x0c088000000ULL,
01470 TOP_ldfpd, 0x0c0c8000000ULL,
01471 TOP_ldfp8, 0x0c048000000ULL,
01472 TOP_UNDEFINED);
01473
01474
01475 m12 = ISA_Pack_Type_Create("m12");
01476 Operand(0, 0, 0, 6);
01477 Operand(1, 0, 32, 4);
01478 Operand(2, 0, 28, 2);
01479 Result(0, 6, 7);
01480 Result(1, 13, 7);
01481 Operand(3, 0, 20, 7);
01482 Instruction_Pack_Group(m12,
01483 TOP_ldfps_i, 0x0d088000000ULL,
01484 TOP_ldfpd_i, 0x0d0c8000000ULL,
01485 TOP_ldfp8_i, 0x0d048000000ULL,
01486 TOP_UNDEFINED);
01487
01488
01489 m13 = ISA_Pack_Type_Create("m13");
01490 Operand(0, 0, 0, 6);
01491 Operand(1, 0, 28, 2);
01492 Operand(2, 0, 20, 7);
01493 Instruction_Pack_Group(m13,
01494 TOP_lfetch, 0x0cb00000000ULL,
01495 TOP_lfetch_excl, 0x0cb40000000ULL,
01496 TOP_lfetch_fault, 0x0cb80000000ULL,
01497 TOP_lfetch_fault_excl, 0x0cbc0000000ULL,
01498 TOP_UNDEFINED);
01499
01500
01501 m14 = ISA_Pack_Type_Create("m14");
01502 Operand(0, 0, 0, 6);
01503 Operand(1, 0, 28, 2);
01504 Operand(2, 0, 20, 7);
01505 Operand(3, 0, 13, 7);
01506 Instruction_Pack_Group(m14,
01507 TOP_lfetch_r, 0x0db00000000ULL,
01508 TOP_lfetch_r_excl, 0x0db40000000ULL,
01509 TOP_lfetch_r_fault, 0x0db80000000ULL,
01510 TOP_lfetch_r_fault_excl,0x0dbc0000000ULL,
01511 TOP_UNDEFINED);
01512
01513
01514 m15 = ISA_Pack_Type_Create("m15");
01515 Operand(0, 0, 0, 6);
01516 Operand(1, 0, 28, 2);
01517 Operand(2, 0, 20, 7);
01518 Operand(3, 0, 13, 7);
01519 Operand(3, 7, 27, 1);
01520 Operand(3, 8, 36, 1);
01521 Instruction_Pack_Group(m15,
01522 TOP_lfetch_i, 0x0eb00000000ULL,
01523 TOP_lfetch_i_excl, 0x0eb40000000ULL,
01524 TOP_lfetch_i_fault, 0x0eb80000000ULL,
01525 TOP_lfetch_i_fault_excl,0x0ebc0000000ULL,
01526 TOP_UNDEFINED);
01527
01528
01529 m16a = ISA_Pack_Type_Create("m16a");
01530 Operand(0, 0, 0, 6);
01531 Operand(1, 0, 32, 1);
01532 Operand(2, 0, 28, 2);
01533 Result(0, 6, 7);
01534 Operand(3, 0, 20, 7);
01535 Operand(4, 0, 13, 7);
01536 Instruction_Pack_Group(m16a,
01537 TOP_cmpxchg1, 0x08008000000ULL,
01538 TOP_cmpxchg2, 0x08048000000ULL,
01539 TOP_cmpxchg4, 0x08088000000ULL,
01540 TOP_cmpxchg8, 0x080c8000000ULL,
01541 TOP_UNDEFINED);
01542
01543
01544 m16b = ISA_Pack_Type_Create("m16b");
01545 Operand(0, 0, 0, 6);
01546 Operand(1, 0, 28, 2);
01547 Result(0, 6, 7);
01548 Operand(2, 0, 20, 7);
01549 Operand(3, 0, 13, 7);
01550 Instruction_Pack_Group(m16b,
01551 TOP_xchg1, 0x08208000000ULL,
01552 TOP_xchg2, 0x08248000000ULL,
01553 TOP_xchg4, 0x08288000000ULL,
01554 TOP_xchg8, 0x082c8000000ULL,
01555 TOP_UNDEFINED);
01556
01557
01558 m17 = ISA_Pack_Type_Create("m17");
01559 Operand(0, 0, 0, 6);
01560 Operand(1, 0, 32, 1);
01561 Operand(2, 0, 28, 2);
01562 Result(0, 6, 7);
01563 Operand(3, 0, 20, 7);
01564 Adjust_Operand(4, pack_m17, unpack_m17);
01565 Operand(4, 0, 13, 3);
01566 Instruction_Pack_Group(m17,
01567 TOP_fetchadd4, 0x08488000000ULL,
01568 TOP_fetchadd8, 0x084c8000000ULL,
01569 TOP_UNDEFINED);
01570
01571
01572 m18 = ISA_Pack_Type_Create("m18");
01573 Operand(0, 0, 0, 6);
01574 Result(0, 6, 7);
01575 Operand(1, 0, 13, 7);
01576 Instruction_Pack_Group(m18,
01577 TOP_setf_sig, 0x0c708000000ULL,
01578 TOP_setf_exp, 0x0c748000000ULL,
01579 TOP_setf_s, 0x0c788000000ULL,
01580 TOP_setf_d, 0x0c7c8000000ULL,
01581 TOP_UNDEFINED);
01582
01583
01584 m19 = ISA_Pack_Type_Create("m19");
01585 Operand(0, 0, 0, 6);
01586 Result(0, 6, 7);
01587 Operand(1, 0, 13, 7);
01588 Instruction_Pack_Group(m19,
01589 TOP_getf_sig, 0x08708000000ULL,
01590 TOP_getf_exp, 0x08748000000ULL,
01591 TOP_getf_s, 0x08788000000ULL,
01592 TOP_getf_d, 0x087c8000000ULL,
01593 TOP_UNDEFINED);
01594
01595
01596 m20 = ISA_Pack_Type_Create("m20");
01597 Operand(0, 0, 0, 6);
01598 Operand(1, 0, 13, 7);
01599
01600 Operand(2, 4, 6, 7);
01601 Operand(2, 11, 20, 13);
01602 Operand(2, 24, 36, 1);
01603 Instruction_Pack_Group(m20,
01604 TOP_chk_s_m, 0x02200000000ULL,
01605 TOP_UNDEFINED);
01606
01607
01608 m21 = ISA_Pack_Type_Create("m21");
01609 Operand(0, 0, 0, 6);
01610 Operand(1, 0, 13, 7);
01611
01612 Operand(2, 4, 6, 7);
01613 Operand(2, 11, 20, 13);
01614 Operand(2, 24, 36, 1);
01615 Instruction_Pack_Group(m21,
01616 TOP_chk_f_s, 0x02600000000ULL,
01617 TOP_UNDEFINED);
01618
01619
01620 m22 = ISA_Pack_Type_Create("m22");
01621 Operand(0, 0, 0, 6);
01622 Operand(1, 0, 33, 1);
01623 Operand(2, 0, 6, 7);
01624
01625 Operand(3, 4, 13, 20);
01626 Operand(3, 24, 36, 1);
01627 Instruction_Pack_Group(m22,
01628 TOP_chk_a, 0x00800000000ULL,
01629 TOP_UNDEFINED);
01630
01631
01632 m23 = ISA_Pack_Type_Create("m23");
01633 Operand(0, 0, 0, 6);
01634 Operand(1, 0, 33, 1);
01635 Operand(2, 0, 6, 7);
01636
01637 Operand(3, 4, 13, 20);
01638 Operand(3, 24, 36, 1);
01639 Instruction_Pack_Group(m23,
01640 TOP_chk_f_a, 0x00c00000000ULL,
01641 TOP_UNDEFINED);
01642
01643
01644 m24 = ISA_Pack_Type_Create("m24");
01645 Operand(0, 0, 0, 6);
01646 Instruction_Pack_Group(m24,
01647 TOP_invala, 0x00080000000ULL,
01648 TOP_fwb, 0x00100000000ULL,
01649 TOP_mf, 0x00110000000ULL,
01650 TOP_mf_a, 0x00118000000ULL,
01651 TOP_srlz_d, 0x00180000000ULL,
01652 TOP_srlz_i, 0x00188000000ULL,
01653 TOP_sync_i, 0x00198000000ULL,
01654 TOP_UNDEFINED);
01655
01656
01657 m25 = ISA_Pack_Type_Create("m25");
01658 Instruction_Pack_Group(m25,
01659 TOP_flushrs, 0x00060000000ULL,
01660 TOP_loadrs, 0x00050000000ULL,
01661 TOP_UNDEFINED);
01662
01663
01664 m26 = ISA_Pack_Type_Create("m26");
01665 Operand(0, 0, 0, 6);
01666 Operand(1, 0, 6, 7);
01667 Instruction_Pack_Group(m26,
01668 TOP_invala_e, 0x00090000000ULL,
01669 TOP_UNDEFINED);
01670
01671
01672 m27 = ISA_Pack_Type_Create("m27");
01673 Operand(0, 0, 0, 6);
01674 Operand(1, 0, 6, 7);
01675 Instruction_Pack_Group(m27,
01676 TOP_invala_f_e, 0x00098000000ULL,
01677 TOP_UNDEFINED);
01678
01679
01680 m28 = ISA_Pack_Type_Create("m28");
01681 Operand(0, 0, 0, 6);
01682 Operand(1, 0, 20, 7);
01683 Instruction_Pack_Group(m28,
01684 TOP_fc, 0x02180000000ULL,
01685 TOP_ptc_e, 0x021a0000000ULL,
01686 TOP_UNDEFINED);
01687
01688
01689 m29 = ISA_Pack_Type_Create("m29");
01690 Operand(0, 0, 0, 6);
01691 Result(0, 20, 7);
01692 Operand(1, 0, 13, 7);
01693 Instruction_Pack_Group(m29,
01694 TOP_mov_t_ar_r_m, 0x02150000000ULL,
01695 TOP_UNDEFINED);
01696
01697
01698 m30 = ISA_Pack_Type_Create("m30");
01699 Operand(0, 0, 0, 6);
01700 Result(0, 20, 7);
01701 Operand(1, 0, 13, 7);
01702 Operand(1, 7, 36, 1);
01703 Instruction_Pack_Group(m30,
01704 TOP_mov_t_ar_i_m, 0x00140000000ULL,
01705 TOP_UNDEFINED);
01706
01707
01708 m31 = ISA_Pack_Type_Create("m31");
01709 Operand(0, 0, 0, 6);
01710 Result(0, 6, 7);
01711 Operand(1, 0, 20, 7);
01712 Instruction_Pack_Group(m31,
01713 TOP_mov_f_ar_m, 0x02110000000ULL,
01714 TOP_UNDEFINED);
01715
01716
01717 m32 = ISA_Pack_Type_Create("m32");
01718 Operand(0, 0, 0, 6);
01719 Result(0, 20, 7);
01720 Operand(1, 0, 13, 7);
01721 Instruction_Pack_Group(m32,
01722 TOP_mov_t_cr, 0x02160000000ULL,
01723 TOP_UNDEFINED);
01724
01725
01726 m33 = ISA_Pack_Type_Create("m33");
01727 Operand(0, 0, 0, 6);
01728 Result(0, 6, 7);
01729 Operand(1, 0, 20, 7);
01730 Instruction_Pack_Group(m33,
01731 TOP_mov_f_cr, 0x02120000000ULL,
01732 TOP_UNDEFINED);
01733
01734
01735 m34 = ISA_Pack_Type_Create("m34");
01736 Result(0, 6, 7);
01737 Operand(0, 0, 13, 7);
01738 Operand(1, 0, 20, 7);
01739 Operand(2, 3, 27, 4);
01740 Instruction_Pack_Group(m34,
01741 TOP_alloc_3, 0x02c00000000ULL,
01742 TOP_UNDEFINED);
01743
01744
01745 m35 = ISA_Pack_Type_Create("m35");
01746 Operand(0, 0, 0, 6);
01747 Operand(1, 0, 13, 7);
01748 Instruction_Pack_Group(m35,
01749 TOP_mov_t_psr, 0x02168000000ULL,
01750 TOP_mov_t_psrum, 0x02148000000ULL,
01751 TOP_UNDEFINED);
01752
01753
01754 m36 = ISA_Pack_Type_Create("m36");
01755 Operand(0, 0, 0, 6);
01756 Result(0, 6, 7);
01757 Instruction_Pack_Group(m36,
01758 TOP_mov_f_psr, 0x02128000000ULL,
01759 TOP_mov_f_psrum, 0x02108000000ULL,
01760 TOP_UNDEFINED);
01761
01762
01763 m37 = ISA_Pack_Type_Create("m37");
01764 Operand(0, 0, 0, 6);
01765 Operand(1, 0, 6, 20);
01766 Operand(1, 20, 36, 1);
01767 Instruction_Pack_Group(m37,
01768 TOP_break_m, 0x00000000000ULL,
01769 TOP_nop_m, 0x00008000000ULL,
01770 TOP_UNDEFINED);
01771
01772
01773 m38 = ISA_Pack_Type_Create("m38");
01774 Operand(0, 0, 0, 6);
01775 Result(0, 6, 7);
01776 Operand(1, 0, 20, 7);
01777 Operand(2, 0, 13, 7);
01778 Instruction_Pack_Group(m38,
01779 TOP_probe_r, 0x021c0000000ULL,
01780 TOP_probe_w, 0x021c8000000ULL,
01781 TOP_UNDEFINED);
01782
01783
01784 m39 = ISA_Pack_Type_Create("m39");
01785 Operand(0, 0, 0, 6);
01786 Result(0, 6, 7);
01787 Operand(1, 0, 20, 7);
01788 Operand(2, 0, 13, 2);
01789 Instruction_Pack_Group(m39,
01790 TOP_probe_i_r, 0x020c0000000ULL,
01791 TOP_probe_i_w, 0x020c8000000ULL,
01792 TOP_UNDEFINED);
01793
01794
01795 m40 = ISA_Pack_Type_Create("m40");
01796 Operand(0, 0, 0, 6);
01797 Operand(1, 0, 20, 7);
01798 Operand(2, 0, 13, 2);
01799 Instruction_Pack_Group(m40,
01800 TOP_probe_r_fault, 0x02190000000ULL,
01801 TOP_probe_w_fault, 0x02198000000ULL,
01802 TOP_probe_rw_fault, 0x02188000000ULL,
01803 TOP_UNDEFINED);
01804
01805
01806 m41 = ISA_Pack_Type_Create("m41");
01807 Operand(0, 0, 0, 6);
01808 Operand(1, 0, 13, 7);
01809 Instruction_Pack_Group(m41,
01810 TOP_itc_d, 0x02170000000ULL,
01811 TOP_itc_i, 0x02178000000ULL,
01812 TOP_UNDEFINED);
01813
01814
01815 m42 = ISA_Pack_Type_Create("m42");
01816 Operand(0, 0, 0, 6);
01817 Operand(1, 0, 20, 7);
01818 Operand(2, 0, 13, 7);
01819 Instruction_Pack_Group(m42,
01820 TOP_mov_t_rr, 0x02000000000ULL,
01821 TOP_mov_t_dbr, 0x02008000000ULL,
01822 TOP_mov_t_ibr, 0x02010000000ULL,
01823 TOP_mov_t_pkr, 0x02018000000ULL,
01824 TOP_mov_t_pmc, 0x02020000000ULL,
01825 TOP_mov_t_pmd, 0x02028000000ULL,
01826 TOP_mov_t_msr, 0x02030000000ULL,
01827 TOP_itr_d, 0x02070000000ULL,
01828 TOP_itr_i, 0x02078000000ULL,
01829 TOP_UNDEFINED);
01830
01831
01832 m43 = ISA_Pack_Type_Create("m43");
01833 Operand(0, 0, 0, 6);
01834 Result(0, 6, 7);
01835 Operand(1, 0, 20, 7);
01836 Instruction_Pack_Group(m43,
01837 TOP_mov_f_rr, 0x02080000000ULL,
01838 TOP_mov_f_dbr, 0x02088000000ULL,
01839 TOP_mov_f_ibr, 0x02090000000ULL,
01840 TOP_mov_f_pkr, 0x02098000000ULL,
01841 TOP_mov_f_pmc, 0x020a0000000ULL,
01842 TOP_mov_f_pmd, 0x020a8000000ULL,
01843 TOP_mov_f_msr, 0x020b0000000ULL,
01844 TOP_mov_f_cpuid, 0x020b8000000ULL,
01845 TOP_UNDEFINED);
01846
01847
01848 m44 = ISA_Pack_Type_Create("m44");
01849 Operand(0, 0, 0, 6);
01850 Operand(1, 0, 6, 21);
01851 Operand(1, 21, 31, 2);
01852 Operand(1, 23, 36, 1);
01853 Instruction_Pack_Group(m44,
01854 TOP_sum, 0x00020000000ULL,
01855 TOP_rum, 0x00028000000ULL,
01856 TOP_ssm, 0x00030000000ULL,
01857 TOP_rsm, 0x00038000000ULL,
01858 TOP_UNDEFINED);
01859
01860
01861 m45 = ISA_Pack_Type_Create("m45");
01862 Operand(0, 0, 0, 6);
01863 Operand(1, 0, 20, 7);
01864 Operand(2, 0, 13, 7);
01865 Instruction_Pack_Group(m45,
01866 TOP_ptc_l, 0x02048000000ULL,
01867 TOP_ptc_g, 0x02050000000ULL,
01868 TOP_ptc_ga, 0x02058000000ULL,
01869 TOP_ptr_d, 0x02060000000ULL,
01870 TOP_ptr_i, 0x02068000000ULL,
01871 TOP_UNDEFINED);
01872
01873
01874 m46 = ISA_Pack_Type_Create("m46");
01875 Operand(0, 0, 0, 6);
01876 Result(0, 6, 7);
01877 Operand(1, 0, 20, 7);
01878 Instruction_Pack_Group(m46,
01879 TOP_thash, 0x020d0000000ULL,
01880 TOP_ttag, 0x020d8000000ULL,
01881 TOP_tpa, 0x020f0000000ULL,
01882 TOP_tak, 0x020f8000000ULL,
01883 TOP_UNDEFINED);
01884
01885
01886
01887
01888
01889 m47 = ISA_Pack_Type_Create("m47");
01890 Result(0, 6, 7);
01891 Operand(0, 0, 13, 7);
01892 Operand(1, 0, 20, 7);
01893 Operand(2, 0, 0, 0);
01894 Operand(3, 0, 27, 4);
01895 Instruction_Pack_Group(m47,
01896 TOP_alloc, 0x02c00000000ULL,
01897 TOP_UNDEFINED);
01898
01899
01900 b1 = ISA_Pack_Type_Create("b1");
01901 Operand(0, 0, 0, 6);
01902 Operand(1, 0, 33, 2);
01903 Operand(2, 0, 12, 1);
01904 Operand(3, 0, 35, 1);
01905
01906 Operand(4, 4, 13, 20);
01907 Operand(4, 24, 36, 1);
01908 Instruction_Pack_Group(b1,
01909 TOP_br_cond, 0x08000000000ULL,
01910 TOP_br_wexit, 0x08000000080ULL,
01911 TOP_br_wtop, 0x080000000c0ULL,
01912 TOP_UNDEFINED);
01913
01914
01915 b2 = ISA_Pack_Type_Create("b2");
01916 Operand(0, 0, 33, 2);
01917 Operand(1, 0, 12, 1);
01918 Operand(2, 0, 35, 1);
01919
01920 Operand(3, 4, 13, 20);
01921 Operand(3, 24, 36, 1);
01922 Instruction_Pack_Group(b2,
01923 TOP_br_cloop, 0x08000000140ULL,
01924 TOP_br_cexit, 0x08000000180ULL,
01925 TOP_br_ctop, 0x080000001c0ULL,
01926 TOP_UNDEFINED);
01927
01928
01929 b3 = ISA_Pack_Type_Create("b3");
01930 Operand(0, 0, 0, 6);
01931 Operand(1, 0, 33, 2);
01932 Operand(2, 0, 12, 1);
01933 Operand(3, 0, 35, 1);
01934 Result(0, 6, 3);
01935
01936 Operand(4, 4, 13, 20);
01937 Operand(4, 24, 36, 1);
01938 Instruction_Pack_Group(b3,
01939 TOP_br_call, 0x0a000000000ULL,
01940 TOP_UNDEFINED);
01941
01942
01943 b4 = ISA_Pack_Type_Create("b4");
01944 Operand(0, 0, 0, 6);
01945 Operand(1, 0, 33, 2);
01946 Operand(2, 0, 12, 1);
01947 Operand(3, 0, 35, 1);
01948 Operand(4, 0, 13, 3);
01949 Instruction_Pack_Group(b4,
01950 TOP_br_r_cond, 0x00100000000ULL,
01951 TOP_br_ret, 0x00108000100ULL,
01952 TOP_UNDEFINED);
01953
01954
01955 b4a = ISA_Pack_Type_Create("b4a");
01956 Operand(0, 0, 33, 2);
01957 Operand(1, 0, 12, 1);
01958 Operand(2, 0, 35, 1);
01959 Operand(3, 0, 13, 3);
01960 Instruction_Pack_Group(b4a,
01961 TOP_br_ia, 0x00100000040ULL,
01962 TOP_UNDEFINED);
01963
01964
01965 b5 = ISA_Pack_Type_Create("b5");
01966 Operand(0, 0, 0, 6);
01967 Operand(1, 0, 33, 2);
01968 Operand(2, 0, 12, 1);
01969 Operand(3, 0, 35, 1);
01970 Result(0, 6, 3);
01971 Operand(4, 0, 13, 3);
01972 Instruction_Pack_Group(b5,
01973 TOP_br_r_call, 0x02000000000ULL,
01974 TOP_UNDEFINED);
01975
01976
01977 b6 = ISA_Pack_Type_Create("b6");
01978 Operand(0, 0, 3, 2);
01979 Operand(1, 0, 35, 1);
01980
01981 Operand(2, 4, 13, 20);
01982 Operand(2, 24, 36, 1);
01983
01984 Operand(3, 4, 6, 7);
01985 Operand(3, 11, 33, 2);
01986 Instruction_Pack_Group(b6,
01987 TOP_brp, 0x0e000000000ULL,
01988 TOP_UNDEFINED);
01989
01990
01991 b7 = ISA_Pack_Type_Create("b7");
01992 Operand(0, 0, 3, 2);
01993 Operand(1, 0, 35, 1);
01994 Operand(2, 0, 13, 3);
01995
01996 Operand(3, 4, 6, 7);
01997 Operand(3, 11, 33, 2);
01998 Instruction_Pack_Group(b7,
01999 TOP_brp_r, 0x04080000000ULL,
02000 TOP_brp_ret, 0x04088000000ULL,
02001 TOP_UNDEFINED);
02002
02003
02004 b8 = ISA_Pack_Type_Create("b8");
02005 Instruction_Pack_Group(b8,
02006 TOP_cover, 0x00010000000ULL,
02007 TOP_clrrrb, 0x00020000000ULL,
02008 TOP_clrrrb_pr, 0x00028000000ULL,
02009 TOP_rfi, 0x00040000000ULL,
02010 TOP_bsw_0, 0x00060000000ULL,
02011 TOP_bsw_1, 0x00068000000ULL,
02012 TOP_epc, 0x00080000000ULL,
02013 TOP_UNDEFINED);
02014
02015
02016 b9 = ISA_Pack_Type_Create("b9");
02017 Operand(0, 0, 0, 6);
02018 Operand(1, 0, 6, 20);
02019 Operand(1, 20, 36, 1);
02020 Instruction_Pack_Group(b9,
02021 TOP_break_b, 0x00000000000ULL,
02022 TOP_nop_b, 0x04000000000ULL,
02023 TOP_UNDEFINED);
02024
02025
02026 b10 = ISA_Pack_Type_Create("b10");
02027 Operand(0, 0, 12, 1);
02028 Operand(1, 0, 35, 1);
02029
02030 Operand(2, 4, 13, 20);
02031 Operand(2, 24, 36, 1);
02032 Instruction_Pack_Group(b10,
02033 TOP_br, 0x08000000000ULL,
02034 TOP_UNDEFINED);
02035
02036
02037 b11 = ISA_Pack_Type_Create("b11");
02038 Operand(0, 0, 12, 1);
02039 Operand(1, 0, 35, 1);
02040 Operand(2, 0, 13, 3);
02041 Instruction_Pack_Group(b11,
02042 TOP_br_r, 0x00100000000ULL,
02043 TOP_UNDEFINED);
02044
02045
02046 f1 = ISA_Pack_Type_Create("f1");
02047 Operand(0, 0, 0, 6);
02048 Operand(1, 0, 34, 2);
02049 Result(0, 6, 7);
02050 Operand(2, 0, 20, 7);
02051 Operand(3, 0, 27, 7);
02052 Operand(4, 0, 13, 7);
02053 Instruction_Pack_Group(f1,
02054 TOP_fma, 0x10000000000ULL,
02055 TOP_fma_s, 0x11000000000ULL,
02056 TOP_fma_d, 0x12000000000ULL,
02057 TOP_fpma, 0x13000000000ULL,
02058 TOP_fms, 0x14000000000ULL,
02059 TOP_fms_s, 0x15000000000ULL,
02060 TOP_fms_d, 0x16000000000ULL,
02061 TOP_fpms, 0x17000000000ULL,
02062 TOP_fnma, 0x18000000000ULL,
02063 TOP_fnma_s, 0x19000000000ULL,
02064 TOP_fnma_d, 0x1a000000000ULL,
02065 TOP_fpnma, 0x1b000000000ULL,
02066 TOP_UNDEFINED);
02067
02068
02069 f2 = ISA_Pack_Type_Create("f2");
02070 Operand(0, 0, 0, 6);
02071 Result(0, 6, 7);
02072 Operand(1, 0, 20, 7);
02073 Operand(2, 0, 27, 7);
02074 Operand(3, 0, 13, 7);
02075 Instruction_Pack_Group(f2,
02076 TOP_xma_l, 0x1d000000000ULL,
02077 TOP_xma_h, 0x1dc00000000ULL,
02078 TOP_xma_hu, 0x1d800000000ULL,
02079 TOP_UNDEFINED);
02080
02081
02082 f3 = ISA_Pack_Type_Create("f3");
02083 Operand(0, 0, 0, 6);
02084 Result(0, 6, 7);
02085 Operand(1, 0, 20, 7);
02086 Operand(2, 0, 27, 7);
02087 Operand(3, 0, 13, 7);
02088 Instruction_Pack_Group(f3,
02089 TOP_fselect, 0x1c000000000ULL,
02090 TOP_UNDEFINED);
02091
02092
02093 f4 = ISA_Pack_Type_Create("f4");
02094 Operand(0, 0, 0, 6);
02095 Operand(1, 0, 34, 2);
02096 Result(0, 6, 6);
02097 Result(1, 27, 6);
02098 Operand(2, 0, 13, 7);
02099 Operand(3, 0, 20, 7);
02100 Instruction_Pack_Group(f4,
02101 TOP_fcmp_eq, 0x08000000000ULL,
02102 TOP_fcmp_lt, 0x09000000000ULL,
02103 TOP_fcmp_le, 0x08200000000ULL,
02104 TOP_fcmp_unord, 0x09200000000ULL,
02105 TOP_fcmp_eq_unc, 0x08000001000ULL,
02106 TOP_fcmp_lt_unc, 0x09000001000ULL,
02107 TOP_fcmp_le_unc, 0x08200001000ULL,
02108 TOP_fcmp_unord_unc, 0x09200001000ULL,
02109 TOP_UNDEFINED);
02110
02111
02112 f5 = ISA_Pack_Type_Create("f5");
02113 Operand(0, 0, 0, 6);
02114 Result(0, 6, 6);
02115 Result(1, 27, 6);
02116 Operand(1, 0, 13, 7);
02117 Operand(2, 0, 33, 2);
02118 Operand(2, 2, 20, 7);
02119 Instruction_Pack_Group(f5,
02120 TOP_fclass_m, 0x0a000000000ULL,
02121 TOP_fclass_m_unc, 0x0a000001000ULL,
02122 TOP_UNDEFINED);
02123
02124
02125 f6= ISA_Pack_Type_Create("f6");
02126 Operand(0, 0, 0, 6);
02127 Operand(1, 0, 34, 2);
02128 Result(0, 6, 7);
02129 Result(1, 27, 6);
02130 Operand(2, 0, 13, 7);
02131 Operand(3, 0, 20, 7);
02132 Instruction_Pack_Group(f6,
02133 TOP_frcpa, 0x00200000000ULL,
02134 TOP_fprcpa, 0x02200000000ULL,
02135 TOP_UNDEFINED);
02136
02137
02138 f7 = ISA_Pack_Type_Create("f7");
02139 Operand(0, 0, 0, 6);
02140 Operand(1, 0, 34, 2);
02141 Result(0, 6, 7);
02142 Result(1, 27, 6);
02143 Operand(2, 0, 20, 7);
02144 Instruction_Pack_Group(f7,
02145 TOP_frsqrta, 0x01200000000ULL,
02146 TOP_fprsqrta, 0x03200000000ULL,
02147 TOP_UNDEFINED);
02148
02149
02150 f8 = ISA_Pack_Type_Create("f8");
02151 Operand(0, 0, 0, 6);
02152 Operand(1, 0, 34, 2);
02153 Result(0, 6, 7);
02154 Operand(2, 0, 13, 7);
02155 Operand(3, 0, 20, 7);
02156 Instruction_Pack_Group(f8,
02157 TOP_fmin, 0x000a0000000ULL,
02158 TOP_fmax, 0x000a8000000ULL,
02159 TOP_famin, 0x000b0000000ULL,
02160 TOP_famax, 0x000b8000000ULL,
02161 TOP_fpmin, 0x020a0000000ULL,
02162 TOP_fpmax, 0x020a8000000ULL,
02163 TOP_fpamin, 0x020b0000000ULL,
02164 TOP_fpamax, 0x020b8000000ULL,
02165 TOP_fpcmp_eq, 0x02180000000ULL,
02166 TOP_fpcmp_lt, 0x02188000000ULL,
02167 TOP_fpcmp_le, 0x02190000000ULL,
02168 TOP_fpcmp_unord, 0x02198000000ULL,
02169 TOP_fpcmp_neq, 0x021a0000000ULL,
02170 TOP_fpcmp_nlt, 0x021a8000000ULL,
02171 TOP_fpcmp_nle, 0x021b0000000ULL,
02172 TOP_fpcmp_ord, 0x021b8000000ULL,
02173 TOP_UNDEFINED);
02174
02175
02176 f9 = ISA_Pack_Type_Create("f9");
02177 Operand(0, 0, 0, 6);
02178 Result(0, 6, 7);
02179 Operand(1, 0, 13, 7);
02180 Operand(2, 0, 20, 7);
02181 Instruction_Pack_Group(f9,
02182 TOP_fmerge_s, 0x00080000000ULL,
02183 TOP_fmerge_ns, 0x00088000000ULL,
02184 TOP_fmerge_se, 0x00090000000ULL,
02185 TOP_fmix_lr, 0x001c8000000ULL,
02186 TOP_fmix_r, 0x001d0000000ULL,
02187 TOP_fmix_l, 0x001d8000000ULL,
02188 TOP_fsxt_r, 0x001e0000000ULL,
02189 TOP_fsxt_l, 0x001e8000000ULL,
02190 TOP_fpack, 0x00140000000ULL,
02191 TOP_fswap, 0x001a0000000ULL,
02192 TOP_fswap_nl, 0x001a8000000ULL,
02193 TOP_fswap_nr, 0x001b0000000ULL,
02194 TOP_fand, 0x00160000000ULL,
02195 TOP_fandcm, 0x00168000000ULL,
02196 TOP_for, 0x00170000000ULL,
02197 TOP_fxor, 0x00178000000ULL,
02198 TOP_fpmerge_s, 0x02080000000ULL,
02199 TOP_fpmerge_ns, 0x02088000000ULL,
02200 TOP_fpmerge_se, 0x02090000000ULL,
02201 TOP_UNDEFINED);
02202
02203
02204 f10 = ISA_Pack_Type_Create("f10");
02205 Operand(0, 0, 0, 6);
02206 Operand(1, 0, 34, 2);
02207 Result(0, 6, 7);
02208 Operand(2, 0, 13, 7);
02209 Instruction_Pack_Group(f10,
02210 TOP_fcvt_fx, 0x000c0000000ULL,
02211 TOP_fcvt_fxu, 0x000c8000000ULL,
02212 TOP_fcvt_fx_trunc, 0x000d0000000ULL,
02213 TOP_fcvt_fxu_trunc, 0x000d8000000ULL,
02214 TOP_fpcvt_fx, 0x020c0000000ULL,
02215 TOP_fpcvt_fxu, 0x020c8000000ULL,
02216 TOP_fpcvt_fx_trunc, 0x020d0000000ULL,
02217 TOP_fpcvt_fxu_trunc, 0x020d8000000ULL,
02218 TOP_UNDEFINED);
02219
02220
02221 f11 = ISA_Pack_Type_Create("f11");
02222 Operand(0, 0, 0, 6);
02223 Result(0, 6, 7);
02224 Operand(1, 0, 13, 7);
02225 Instruction_Pack_Group(f11,
02226 TOP_fcvt_xf, 0x000e0000000ULL,
02227 TOP_UNDEFINED);
02228
02229
02230 f12 = ISA_Pack_Type_Create("f12");
02231 Operand(0, 0, 0, 6);
02232 Operand(1, 0, 34, 2);
02233 Operand(2, 0, 13, 7);
02234 Operand(3, 0, 20, 7);
02235 Instruction_Pack_Group(f12,
02236 TOP_fsetc, 0x00020000000ULL,
02237 TOP_UNDEFINED);
02238
02239
02240 f13 = ISA_Pack_Type_Create("f13");
02241 Operand(0, 0, 0, 6);
02242 Operand(1, 0, 34, 2);
02243 Instruction_Pack_Group(f13,
02244 TOP_fclrf, 0x00028000000ULL,
02245 TOP_UNDEFINED);
02246
02247
02248 f14 = ISA_Pack_Type_Create("f14");
02249 Operand(0, 0, 0, 6);
02250 Operand(1, 0, 34, 2);
02251
02252 Operand(2, 4, 6, 20);
02253 Operand(2, 24, 36, 1);
02254 Instruction_Pack_Group(f14,
02255 TOP_fchkf, 0x00040000000ULL,
02256 TOP_UNDEFINED);
02257
02258
02259 f15 = ISA_Pack_Type_Create("f15");
02260 Operand(0, 0, 0, 6);
02261 Operand(1, 0, 6, 20);
02262 Operand(1, 20, 36, 1);
02263 Instruction_Pack_Group(f15,
02264 TOP_break_f, 0x00000000000ULL,
02265 TOP_nop_f, 0x00008000000ULL,
02266 TOP_UNDEFINED);
02267
02268
02269 f16 = ISA_Pack_Type_Create("f16");
02270 Operand(0, 0, 0, 6);
02271 Result(0, 6, 7);
02272 Operand(1, 0, 20, 7);
02273 Instruction_Pack_Group(f16,
02274 TOP_fabs, 0x00080000000ULL,
02275 TOP_fnegabs, 0x00088000000ULL,
02276 TOP_fpabs, 0x02080000000ULL,
02277 TOP_fpnegabs, 0x02088000000ULL,
02278 TOP_UNDEFINED);
02279
02280
02281 f17 = ISA_Pack_Type_Create("f17");
02282 Operand(0, 0, 0, 6);
02283 Result(0, 6, 7);
02284 Operand(1, 0, 13, 7);
02285 Operand(1, 0, 20, 7);
02286 Instruction_Pack_Group(f17,
02287 TOP_fneg, 0x00088000000ULL,
02288 TOP_fpneg, 0x02088000000ULL,
02289 TOP_mov_f, 0x00080000000ULL,
02290 TOP_UNDEFINED);
02291
02292
02293 f18 = ISA_Pack_Type_Create("f18");
02294 Operand(0, 0, 0, 6);
02295 Result(0, 6, 7);
02296 Operand(1, 0, 20, 7);
02297 Operand(2, 0, 27, 7);
02298 Operand(3, 0, 13, 7);
02299 Instruction_Pack_Group(f18,
02300 TOP_xma_lu, 0x1d000000000ULL,
02301 TOP_UNDEFINED);
02302
02303
02304 f19 = ISA_Pack_Type_Create("f19");
02305 Operand(0, 0, 0, 6);
02306 Result(0, 6, 7);
02307 Operand(1, 0, 20, 7);
02308 Operand(2, 0, 27, 7);
02309 Instruction_Pack_Group(f19,
02310 TOP_xmpy_l, 0x1d000000000ULL,
02311 TOP_xmpy_h, 0x1dc00000000ULL,
02312 TOP_xmpy_hu, 0x1d800000000ULL,
02313 TOP_xmpy_lu, 0x1d000000000ULL,
02314 TOP_UNDEFINED);
02315
02316
02317 f20 = ISA_Pack_Type_Create("f20");
02318 Operand(0, 0, 0, 6);
02319 Operand(1, 0, 34, 2);
02320 Result(0, 6, 7);
02321 Operand(2, 0, 20, 7);
02322 Instruction_Pack_Group(f20,
02323 TOP_fcvt_xuf, 0x10008000000ULL,
02324 TOP_fcvt_xuf_s, 0x11008000000ULL,
02325 TOP_fcvt_xuf_d, 0x12008000000ULL,
02326 TOP_fnorm, 0x10008000000ULL,
02327 TOP_fnorm_s, 0x11008000000ULL,
02328 TOP_fnorm_d, 0x12008000000ULL,
02329 TOP_UNDEFINED);
02330
02331
02332 f21 = ISA_Pack_Type_Create("f21");
02333 Operand(0, 0, 0, 6);
02334 Operand(1, 0, 34, 2);
02335 Result(0, 6, 7);
02336 Operand(2, 0, 20, 7);
02337 Operand(3, 0, 13, 7);
02338 Instruction_Pack_Group(f21,
02339 TOP_fadd, 0x10008000000ULL,
02340 TOP_fadd_s, 0x11008000000ULL,
02341 TOP_fadd_d, 0x12008000000ULL,
02342 TOP_fsub, 0x14008000000ULL,
02343 TOP_fsub_s, 0x15008000000ULL,
02344 TOP_fsub_d, 0x16008000000ULL,
02345 TOP_UNDEFINED);
02346
02347
02348 f22 = ISA_Pack_Type_Create("f22");
02349 Operand(0, 0, 0, 6);
02350 Operand(1, 0, 34, 2);
02351 Result(0, 6, 7);
02352 Operand(2, 0, 20, 7);
02353 Operand(3, 0, 27, 7);
02354 Instruction_Pack_Group(f22,
02355 TOP_fmpy, 0x10000000000ULL,
02356 TOP_fmpy_s, 0x11000000000ULL,
02357 TOP_fmpy_d, 0x12000000000ULL,
02358 TOP_fnmpy, 0x18000000000ULL,
02359 TOP_fnmpy_s, 0x19000000000ULL,
02360 TOP_fnmpy_d, 0x1a000000000ULL,
02361 TOP_fpmpy, 0x13000000000ULL,
02362 TOP_fpnmpy, 0x1b000000000ULL,
02363 TOP_UNDEFINED);
02364
02365
02366 f23 = ISA_Pack_Type_Create("f23");
02367 Operand(0, 0, 0, 6);
02368 Result(0, 27, 6);
02369 Result(1, 6, 6);
02370 Operand(1, 0, 13, 7);
02371 Operand(2, 0, 33, 2);
02372 Operand(2, 2, 20, 7);
02373 Instruction_Pack_Group(f23,
02374 TOP_fclass_nm, 0x0a000000000ULL,
02375 TOP_fclass_nm_unc, 0x0a000001000ULL,
02376 TOP_UNDEFINED);
02377
02378
02379
02380 f24 = ISA_Pack_Type_Create("f24");
02381 Operand(0, 0, 0, 6);
02382 Operand(1, 0, 34, 2);
02383 Result(0, 6, 6);
02384 Result(1, 27, 6);
02385 Operand(2, 0, 20, 7);
02386 Operand(3, 0, 13, 7);
02387 Instruction_Pack_Group(f24,
02388 TOP_fcmp_gt, 0x09000000000ULL,
02389 TOP_fcmp_ge, 0x08200000000ULL,
02390 TOP_fcmp_gt_unc, 0x09000001000ULL,
02391 TOP_fcmp_ge_unc, 0x08200001000ULL,
02392 TOP_UNDEFINED);
02393
02394
02395
02396 f25 = ISA_Pack_Type_Create("f25");
02397 Operand(0, 0, 0, 6);
02398 Operand(1, 0, 34, 2);
02399 Result(0, 27, 6);
02400 Result(1, 6, 6);
02401 Operand(2, 0, 13, 7);
02402 Operand(3, 0, 20, 7);
02403 Instruction_Pack_Group(f25,
02404 TOP_fcmp_neq, 0x08000000000ULL,
02405 TOP_fcmp_nlt, 0x09000000000ULL,
02406 TOP_fcmp_nle, 0x08200000000ULL,
02407 TOP_fcmp_ord, 0x09200000000ULL,
02408 TOP_fcmp_neq_unc, 0x08000001000ULL,
02409 TOP_fcmp_nlt_unc, 0x09000001000ULL,
02410 TOP_fcmp_nle_unc, 0x08200001000ULL,
02411 TOP_fcmp_ord_unc, 0x09200001000ULL,
02412 TOP_UNDEFINED);
02413
02414
02415
02416 f26 = ISA_Pack_Type_Create("f26");
02417 Operand(0, 0, 0, 6);
02418 Operand(1, 0, 34, 2);
02419 Result(0, 27, 6);
02420 Result(1, 6, 6);
02421 Operand(2, 0, 20, 7);
02422 Operand(3, 0, 13, 7);
02423 Instruction_Pack_Group(f26,
02424 TOP_fcmp_ngt, 0x09000000000ULL,
02425 TOP_fcmp_nge, 0x08200000000ULL,
02426 TOP_fcmp_ngt_unc, 0x09000001000ULL,
02427 TOP_fcmp_nge_unc, 0x08200001000ULL,
02428 TOP_UNDEFINED);
02429
02430
02431
02432 f27 = ISA_Pack_Type_Create("f27");
02433 Operand(0, 0, 0, 6);
02434 Operand(1, 0, 34, 2);
02435 Result(0, 6, 7);
02436 Operand(2, 0, 20, 7);
02437 Operand(3, 0, 13, 7);
02438 Instruction_Pack_Group(f27,
02439 TOP_fpcmp_gt, 0x02188000000ULL,
02440 TOP_fpcmp_ge, 0x02190000000ULL,
02441 TOP_fpcmp_ngt, 0x021a8000000ULL,
02442 TOP_fpcmp_nge, 0x021b0000000ULL,
02443 TOP_UNDEFINED);
02444
02445
02446 x1 = ISA_Pack_Type_Create("x1");
02447 Operand(1, 21, 0, 41);
02448 Next_Word();
02449 Operand(0, 0, 0, 6);
02450 Operand(1, 0, 6, 20);
02451 Operand(1, 20, 36, 1);
02452 Instruction_Pack_Group(x1,
02453 TOP_break_x, 0x00000000000ULL, 0x00000000000ULL,
02454 TOP_nop_x, 0x00000000000ULL, 0x00008000000ULL,
02455 TOP_UNDEFINED);
02456
02457
02458 x2 = ISA_Pack_Type_Create("x2");
02459 Operand(1, 22, 0, 41);
02460 Next_Word();
02461 Operand(0, 0, 0, 6);
02462 Result(0, 6, 7);
02463 Operand(1, 0, 13, 7);
02464 Operand(1, 7, 27, 9);
02465 Operand(1, 16, 22, 5);
02466 Operand(1, 21, 21, 1);
02467 Operand(1, 63, 36, 1);
02468 Instruction_Pack_Group(x2,
02469 TOP_movl, 0x00000000000ULL, 0x0c000000000ULL,
02470 TOP_UNDEFINED);
02471
02472
02473 x3 = ISA_Pack_Type_Create("x3");
02474
02475 Operand(4, 24, 2, 39);
02476 Next_Word();
02477 Operand(0, 0, 0, 6);
02478 Operand(1, 0, 33, 2);
02479 Operand(2, 0, 12, 1);
02480 Operand(3, 0, 35, 1);
02481 Operand(4, 4, 13, 20);
02482 Operand(4, 63, 36, 1);
02483 Instruction_Pack_Group(x3,
02484 TOP_brl_cond, 0x00000000000ULL, 0x18000000000ULL,
02485 TOP_UNDEFINED);
02486
02487
02488 x4 = ISA_Pack_Type_Create("x4");
02489
02490 Operand(4, 24, 2, 39);
02491 Next_Word();
02492 Operand(0, 0, 0, 6);
02493 Operand(1, 0, 33, 2);
02494 Operand(2, 0, 12, 1);
02495 Operand(3, 0, 35, 1);
02496 Result(0, 6, 3);
02497 Operand(4, 4, 13, 20);
02498 Operand(4, 63, 36, 1);
02499 Instruction_Pack_Group(x4,
02500 TOP_brl_call, 0x00000000000ULL, 0x1a000000000ULL,
02501 TOP_UNDEFINED);
02502
02503
02504 x5 = ISA_Pack_Type_Create("x5");
02505
02506 Operand(2, 24, 2, 39);
02507 Next_Word();
02508 Operand(0, 0, 12, 1);
02509 Operand(1, 0, 35, 1);
02510 Operand(2, 4, 13, 20);
02511 Operand(2, 63, 36, 1);
02512 Instruction_Pack_Group(x5,
02513 TOP_brl, 0x00000000000ULL, 0x18000000000ULL,
02514 TOP_UNDEFINED);
02515
02516 ISA_Pack_End();
02517 return 0;
02518 }