llvm.org GIT mirror llvm / bc8cb01
[AMDGPU] gfx908 mAI instructions, MC part Differential Revision: https://reviews.llvm.org/D64446 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@365563 91177308-0d34-0410-b5e6-96231b3b80d8 Stanislav Mekhanoshin 4 months ago
24 changed file(s) with 2784 addition(s) and 20 deletion(s). Raw diff Collapse all Expand all
16391639 >;
16401640
16411641 //===----------------------------------------------------------------------===//
1642 // MI-100 intrinsics
1643 // ===----------------------------------------------------------------------===//
1644 // llvm.amdgcn.mfma.f32.* vdst, srcA, srcB, srcC, cbsz, abid, blgp
1645 def int_amdgcn_mfma_f32_32x32x1f32 : Intrinsic<[llvm_v32i32_ty],
1646 [llvm_float_ty, llvm_float_ty, llvm_v32i32_ty,
1647 llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [IntrConvergent, IntrNoMem]>;
1648
1649 def int_amdgcn_mfma_f32_16x16x1f32 : Intrinsic<[llvm_v16f32_ty],
1650 [llvm_float_ty, llvm_float_ty, llvm_v16f32_ty,
1651 llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [IntrConvergent, IntrNoMem]>;
1652
1653 def int_amdgcn_mfma_f32_4x4x1f32 : Intrinsic<[llvm_v4f32_ty],
1654 [llvm_float_ty, llvm_float_ty, llvm_v4f32_ty,
1655 llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [IntrConvergent, IntrNoMem]>;
1656
1657 def int_amdgcn_mfma_f32_32x32x2f32 : Intrinsic<[llvm_v16f32_ty],
1658 [llvm_float_ty, llvm_float_ty, llvm_v16f32_ty,
1659 llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [IntrConvergent, IntrNoMem]>;
1660
1661 def int_amdgcn_mfma_f32_16x16x4f32 : Intrinsic<[llvm_v4f32_ty],
1662 [llvm_float_ty, llvm_float_ty, llvm_v4f32_ty,
1663 llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [IntrConvergent, IntrNoMem]>;
1664
1665 def int_amdgcn_mfma_f32_32x32x4f16 : Intrinsic<[llvm_v32i32_ty],
1666 [llvm_v4f16_ty, llvm_v4f16_ty, llvm_v32i32_ty,
1667 llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [IntrConvergent, IntrNoMem]>;
1668
1669 def int_amdgcn_mfma_f32_16x16x4f16 : Intrinsic<[llvm_v16f32_ty],
1670 [llvm_v4f16_ty, llvm_v4f16_ty, llvm_v16f32_ty,
1671 llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [IntrConvergent, IntrNoMem]>;
1672
1673 def int_amdgcn_mfma_f32_4x4x4f16 : Intrinsic<[llvm_v4f32_ty],
1674 [llvm_v4f16_ty, llvm_v4f16_ty, llvm_v4f32_ty,
1675 llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [IntrConvergent, IntrNoMem]>;
1676
1677 def int_amdgcn_mfma_f32_32x32x8f16 : Intrinsic<[llvm_v16f32_ty],
1678 [llvm_v4f16_ty, llvm_v4f16_ty, llvm_v16f32_ty,
1679 llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [IntrConvergent, IntrNoMem]>;
1680
1681 def int_amdgcn_mfma_f32_16x16x16f16 : Intrinsic<[llvm_v4f32_ty],
1682 [llvm_v4f16_ty, llvm_v4f16_ty, llvm_v4f32_ty,
1683 llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [IntrConvergent, IntrNoMem]>;
1684
1685 def int_amdgcn_mfma_i32_32x32x4i8 : Intrinsic<[llvm_v32i32_ty],
1686 [llvm_i32_ty, llvm_i32_ty, llvm_v32i32_ty,
1687 llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [IntrConvergent, IntrNoMem]>;
1688
1689 def int_amdgcn_mfma_i32_16x16x4i8 : Intrinsic<[llvm_v16i32_ty],
1690 [llvm_i32_ty, llvm_i32_ty, llvm_v16i32_ty,
1691 llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [IntrConvergent, IntrNoMem]>;
1692
1693 def int_amdgcn_mfma_i32_4x4x4i8 : Intrinsic<[llvm_v4i32_ty],
1694 [llvm_i32_ty, llvm_i32_ty, llvm_v4i32_ty,
1695 llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [IntrConvergent, IntrNoMem]>;
1696
1697 def int_amdgcn_mfma_i32_32x32x8i8 : Intrinsic<[llvm_v16i32_ty],
1698 [llvm_i32_ty, llvm_i32_ty, llvm_v16i32_ty,
1699 llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [IntrConvergent, IntrNoMem]>;
1700
1701 def int_amdgcn_mfma_i32_16x16x16i8 : Intrinsic<[llvm_v4i32_ty],
1702 [llvm_i32_ty, llvm_i32_ty, llvm_v4i32_ty,
1703 llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [IntrConvergent, IntrNoMem]>;
1704
1705 def int_amdgcn_mfma_f32_32x32x2bf16 : Intrinsic<[llvm_v32i32_ty],
1706 [llvm_v2i16_ty, llvm_v2i16_ty, llvm_v32i32_ty,
1707 llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [IntrConvergent, IntrNoMem]>;
1708
1709 def int_amdgcn_mfma_f32_16x16x2bf16 : Intrinsic<[llvm_v16f32_ty],
1710 [llvm_v2i16_ty, llvm_v2i16_ty, llvm_v16f32_ty,
1711 llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [IntrConvergent, IntrNoMem]>;
1712
1713 def int_amdgcn_mfma_f32_4x4x2bf16 : Intrinsic<[llvm_v4f32_ty],
1714 [llvm_v2i16_ty, llvm_v2i16_ty, llvm_v4f32_ty,
1715 llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [IntrConvergent, IntrNoMem]>;
1716
1717 def int_amdgcn_mfma_f32_32x32x4bf16 : Intrinsic<[llvm_v16f32_ty],
1718 [llvm_v2i16_ty, llvm_v2i16_ty, llvm_v16f32_ty,
1719 llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [IntrConvergent, IntrNoMem]>;
1720
1721 def int_amdgcn_mfma_f32_16x16x8bf16 : Intrinsic<[llvm_v4f32_ty],
1722 [llvm_v2i16_ty, llvm_v2i16_ty, llvm_v4f32_ty,
1723 llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [IntrConvergent, IntrNoMem]>;
1724
1725 //===----------------------------------------------------------------------===//
16421726 // Special Intrinsics for backend internal use only. No frontend
16431727 // should emit calls to these.
16441728 // ===----------------------------------------------------------------------===//
633633 HighestVGPRReg = Reg;
634634 break;
635635 }
636 MCPhysReg AReg = AMDGPU::AGPR0 + TRI.getHWRegIndex(Reg);
637 if (MRI.isPhysRegUsed(AReg)) {
638 HighestVGPRReg = AReg;
639 break;
640 }
636641 }
637642
638643 MCPhysReg HighestSGPRReg = AMDGPU::NoRegister;
736741 } else if (AMDGPU::VGPR_32RegClass.contains(Reg)) {
737742 IsSGPR = false;
738743 Width = 1;
744 } else if (AMDGPU::AGPR_32RegClass.contains(Reg)) {
745 IsSGPR = false;
746 Width = 1;
739747 } else if (AMDGPU::SReg_64RegClass.contains(Reg)) {
740748 assert(!AMDGPU::TTMP_64RegClass.contains(Reg) &&
741749 "trap handler registers should not be used");
744752 } else if (AMDGPU::VReg_64RegClass.contains(Reg)) {
745753 IsSGPR = false;
746754 Width = 2;
755 } else if (AMDGPU::AReg_64RegClass.contains(Reg)) {
756 IsSGPR = false;
757 Width = 2;
747758 } else if (AMDGPU::VReg_96RegClass.contains(Reg)) {
748759 IsSGPR = false;
760 Width = 3;
761 } else if (AMDGPU::SReg_96RegClass.contains(Reg)) {
749762 Width = 3;
750763 } else if (AMDGPU::SReg_128RegClass.contains(Reg)) {
751764 assert(!AMDGPU::TTMP_128RegClass.contains(Reg) &&
753766 IsSGPR = true;
754767 Width = 4;
755768 } else if (AMDGPU::VReg_128RegClass.contains(Reg)) {
769 IsSGPR = false;
770 Width = 4;
771 } else if (AMDGPU::AReg_128RegClass.contains(Reg)) {
756772 IsSGPR = false;
757773 Width = 4;
758774 } else if (AMDGPU::SReg_256RegClass.contains(Reg)) {
771787 } else if (AMDGPU::VReg_512RegClass.contains(Reg)) {
772788 IsSGPR = false;
773789 Width = 16;
774 } else if (AMDGPU::SReg_96RegClass.contains(Reg)) {
790 } else if (AMDGPU::AReg_512RegClass.contains(Reg)) {
791 IsSGPR = false;
792 Width = 16;
793 } else if (AMDGPU::SReg_1024RegClass.contains(Reg)) {
775794 IsSGPR = true;
776 Width = 3;
795 Width = 32;
796 } else if (AMDGPU::VReg_1024RegClass.contains(Reg)) {
797 IsSGPR = false;
798 Width = 32;
799 } else if (AMDGPU::AReg_1024RegClass.contains(Reg)) {
800 IsSGPR = false;
801 Width = 32;
777802 } else {
778803 llvm_unreachable("Unknown register class");
779804 }
349349 "s[72:87]", "s[76:91]", "s[80:95]", "s[84:99]", "s[88:103]"
350350 };
351351
352 static const char *const AGPR32RegNames[] = {
353 "a0", "a1", "a2", "a3", "a4", "a5", "a6", "a7", "a8",
354 "a9", "a10", "a11", "a12", "a13", "a14", "a15", "a16", "a17",
355 "a18", "a19", "a20", "a21", "a22", "a23", "a24", "a25", "a26",
356 "a27", "a28", "a29", "a30", "a31", "a32", "a33", "a34", "a35",
357 "a36", "a37", "a38", "a39", "a40", "a41", "a42", "a43", "a44",
358 "a45", "a46", "a47", "a48", "a49", "a50", "a51", "a52", "a53",
359 "a54", "a55", "a56", "a57", "a58", "a59", "a60", "a61", "a62",
360 "a63", "a64", "a65", "a66", "a67", "a68", "a69", "a70", "a71",
361 "a72", "a73", "a74", "a75", "a76", "a77", "a78", "a79", "a80",
362 "a81", "a82", "a83", "a84", "a85", "a86", "a87", "a88", "a89",
363 "a90", "a91", "a92", "a93", "a94", "a95", "a96", "a97", "a98",
364 "a99", "a100", "a101", "a102", "a103", "a104", "a105", "a106", "a107",
365 "a108", "a109", "a110", "a111", "a112", "a113", "a114", "a115", "a116",
366 "a117", "a118", "a119", "a120", "a121", "a122", "a123", "a124", "a125",
367 "a126", "a127", "a128", "a129", "a130", "a131", "a132", "a133", "a134",
368 "a135", "a136", "a137", "a138", "a139", "a140", "a141", "a142", "a143",
369 "a144", "a145", "a146", "a147", "a148", "a149", "a150", "a151", "a152",
370 "a153", "a154", "a155", "a156", "a157", "a158", "a159", "a160", "a161",
371 "a162", "a163", "a164", "a165", "a166", "a167", "a168", "a169", "a170",
372 "a171", "a172", "a173", "a174", "a175", "a176", "a177", "a178", "a179",
373 "a180", "a181", "a182", "a183", "a184", "a185", "a186", "a187", "a188",
374 "a189", "a190", "a191", "a192", "a193", "a194", "a195", "a196", "a197",
375 "a198", "a199", "a200", "a201", "a202", "a203", "a204", "a205", "a206",
376 "a207", "a208", "a209", "a210", "a211", "a212", "a213", "a214", "a215",
377 "a216", "a217", "a218", "a219", "a220", "a221", "a222", "a223", "a224",
378 "a225", "a226", "a227", "a228", "a229", "a230", "a231", "a232", "a233",
379 "a234", "a235", "a236", "a237", "a238", "a239", "a240", "a241", "a242",
380 "a243", "a244", "a245", "a246", "a247", "a248", "a249", "a250", "a251",
381 "a252", "a253", "a254", "a255"
382 };
383
384 static const char *const AGPR64RegNames[] = {
385 "a[0:1]", "a[1:2]", "a[2:3]", "a[3:4]", "a[4:5]",
386 "a[5:6]", "a[6:7]", "a[7:8]", "a[8:9]", "a[9:10]",
387 "a[10:11]", "a[11:12]", "a[12:13]", "a[13:14]", "a[14:15]",
388 "a[15:16]", "a[16:17]", "a[17:18]", "a[18:19]", "a[19:20]",
389 "a[20:21]", "a[21:22]", "a[22:23]", "a[23:24]", "a[24:25]",
390 "a[25:26]", "a[26:27]", "a[27:28]", "a[28:29]", "a[29:30]",
391 "a[30:31]", "a[31:32]", "a[32:33]", "a[33:34]", "a[34:35]",
392 "a[35:36]", "a[36:37]", "a[37:38]", "a[38:39]", "a[39:40]",
393 "a[40:41]", "a[41:42]", "a[42:43]", "a[43:44]", "a[44:45]",
394 "a[45:46]", "a[46:47]", "a[47:48]", "a[48:49]", "a[49:50]",
395 "a[50:51]", "a[51:52]", "a[52:53]", "a[53:54]", "a[54:55]",
396 "a[55:56]", "a[56:57]", "a[57:58]", "a[58:59]", "a[59:60]",
397 "a[60:61]", "a[61:62]", "a[62:63]", "a[63:64]", "a[64:65]",
398 "a[65:66]", "a[66:67]", "a[67:68]", "a[68:69]", "a[69:70]",
399 "a[70:71]", "a[71:72]", "a[72:73]", "a[73:74]", "a[74:75]",
400 "a[75:76]", "a[76:77]", "a[77:78]", "a[78:79]", "a[79:80]",
401 "a[80:81]", "a[81:82]", "a[82:83]", "a[83:84]", "a[84:85]",
402 "a[85:86]", "a[86:87]", "a[87:88]", "a[88:89]", "a[89:90]",
403 "a[90:91]", "a[91:92]", "a[92:93]", "a[93:94]", "a[94:95]",
404 "a[95:96]", "a[96:97]", "a[97:98]", "a[98:99]", "a[99:100]",
405 "a[100:101]", "a[101:102]", "a[102:103]", "a[103:104]", "a[104:105]",
406 "a[105:106]", "a[106:107]", "a[107:108]", "a[108:109]", "a[109:110]",
407 "a[110:111]", "a[111:112]", "a[112:113]", "a[113:114]", "a[114:115]",
408 "a[115:116]", "a[116:117]", "a[117:118]", "a[118:119]", "a[119:120]",
409 "a[120:121]", "a[121:122]", "a[122:123]", "a[123:124]", "a[124:125]",
410 "a[125:126]", "a[126:127]", "a[127:128]", "a[128:129]", "a[129:130]",
411 "a[130:131]", "a[131:132]", "a[132:133]", "a[133:134]", "a[134:135]",
412 "a[135:136]", "a[136:137]", "a[137:138]", "a[138:139]", "a[139:140]",
413 "a[140:141]", "a[141:142]", "a[142:143]", "a[143:144]", "a[144:145]",
414 "a[145:146]", "a[146:147]", "a[147:148]", "a[148:149]", "a[149:150]",
415 "a[150:151]", "a[151:152]", "a[152:153]", "a[153:154]", "a[154:155]",
416 "a[155:156]", "a[156:157]", "a[157:158]", "a[158:159]", "a[159:160]",
417 "a[160:161]", "a[161:162]", "a[162:163]", "a[163:164]", "a[164:165]",
418 "a[165:166]", "a[166:167]", "a[167:168]", "a[168:169]", "a[169:170]",
419 "a[170:171]", "a[171:172]", "a[172:173]", "a[173:174]", "a[174:175]",
420 "a[175:176]", "a[176:177]", "a[177:178]", "a[178:179]", "a[179:180]",
421 "a[180:181]", "a[181:182]", "a[182:183]", "a[183:184]", "a[184:185]",
422 "a[185:186]", "a[186:187]", "a[187:188]", "a[188:189]", "a[189:190]",
423 "a[190:191]", "a[191:192]", "a[192:193]", "a[193:194]", "a[194:195]",
424 "a[195:196]", "a[196:197]", "a[197:198]", "a[198:199]", "a[199:200]",
425 "a[200:201]", "a[201:202]", "a[202:203]", "a[203:204]", "a[204:205]",
426 "a[205:206]", "a[206:207]", "a[207:208]", "a[208:209]", "a[209:210]",
427 "a[210:211]", "a[211:212]", "a[212:213]", "a[213:214]", "a[214:215]",
428 "a[215:216]", "a[216:217]", "a[217:218]", "a[218:219]", "a[219:220]",
429 "a[220:221]", "a[221:222]", "a[222:223]", "a[223:224]", "a[224:225]",
430 "a[225:226]", "a[226:227]", "a[227:228]", "a[228:229]", "a[229:230]",
431 "a[230:231]", "a[231:232]", "a[232:233]", "a[233:234]", "a[234:235]",
432 "a[235:236]", "a[236:237]", "a[237:238]", "a[238:239]", "a[239:240]",
433 "a[240:241]", "a[241:242]", "a[242:243]", "a[243:244]", "a[244:245]",
434 "a[245:246]", "a[246:247]", "a[247:248]", "a[248:249]", "a[249:250]",
435 "a[250:251]", "a[251:252]", "a[252:253]", "a[253:254]", "a[254:255]"
436 };
437
438 static const char *const AGPR128RegNames[] = {
439 "a[0:3]", "a[1:4]", "a[2:5]", "a[3:6]", "a[4:7]",
440 "a[5:8]", "a[6:9]", "a[7:10]", "a[8:11]", "a[9:12]",
441 "a[10:13]", "a[11:14]", "a[12:15]", "a[13:16]", "a[14:17]",
442 "a[15:18]", "a[16:19]", "a[17:20]", "a[18:21]", "a[19:22]",
443 "a[20:23]", "a[21:24]", "a[22:25]", "a[23:26]", "a[24:27]",
444 "a[25:28]", "a[26:29]", "a[27:30]", "a[28:31]", "a[29:32]",
445 "a[30:33]", "a[31:34]", "a[32:35]", "a[33:36]", "a[34:37]",
446 "a[35:38]", "a[36:39]", "a[37:40]", "a[38:41]", "a[39:42]",
447 "a[40:43]", "a[41:44]", "a[42:45]", "a[43:46]", "a[44:47]",
448 "a[45:48]", "a[46:49]", "a[47:50]", "a[48:51]", "a[49:52]",
449 "a[50:53]", "a[51:54]", "a[52:55]", "a[53:56]", "a[54:57]",
450 "a[55:58]", "a[56:59]", "a[57:60]", "a[58:61]", "a[59:62]",
451 "a[60:63]", "a[61:64]", "a[62:65]", "a[63:66]", "a[64:67]",
452 "a[65:68]", "a[66:69]", "a[67:70]", "a[68:71]", "a[69:72]",
453 "a[70:73]", "a[71:74]", "a[72:75]", "a[73:76]", "a[74:77]",
454 "a[75:78]", "a[76:79]", "a[77:80]", "a[78:81]", "a[79:82]",
455 "a[80:83]", "a[81:84]", "a[82:85]", "a[83:86]", "a[84:87]",
456 "a[85:88]", "a[86:89]", "a[87:90]", "a[88:91]", "a[89:92]",
457 "a[90:93]", "a[91:94]", "a[92:95]", "a[93:96]", "a[94:97]",
458 "a[95:98]", "a[96:99]", "a[97:100]", "a[98:101]", "a[99:102]",
459 "a[100:103]", "a[101:104]", "a[102:105]", "a[103:106]", "a[104:107]",
460 "a[105:108]", "a[106:109]", "a[107:110]", "a[108:111]", "a[109:112]",
461 "a[110:113]", "a[111:114]", "a[112:115]", "a[113:116]", "a[114:117]",
462 "a[115:118]", "a[116:119]", "a[117:120]", "a[118:121]", "a[119:122]",
463 "a[120:123]", "a[121:124]", "a[122:125]", "a[123:126]", "a[124:127]",
464 "a[125:128]", "a[126:129]", "a[127:130]", "a[128:131]", "a[129:132]",
465 "a[130:133]", "a[131:134]", "a[132:135]", "a[133:136]", "a[134:137]",
466 "a[135:138]", "a[136:139]", "a[137:140]", "a[138:141]", "a[139:142]",
467 "a[140:143]", "a[141:144]", "a[142:145]", "a[143:146]", "a[144:147]",
468 "a[145:148]", "a[146:149]", "a[147:150]", "a[148:151]", "a[149:152]",
469 "a[150:153]", "a[151:154]", "a[152:155]", "a[153:156]", "a[154:157]",
470 "a[155:158]", "a[156:159]", "a[157:160]", "a[158:161]", "a[159:162]",
471 "a[160:163]", "a[161:164]", "a[162:165]", "a[163:166]", "a[164:167]",
472 "a[165:168]", "a[166:169]", "a[167:170]", "a[168:171]", "a[169:172]",
473 "a[170:173]", "a[171:174]", "a[172:175]", "a[173:176]", "a[174:177]",
474 "a[175:178]", "a[176:179]", "a[177:180]", "a[178:181]", "a[179:182]",
475 "a[180:183]", "a[181:184]", "a[182:185]", "a[183:186]", "a[184:187]",
476 "a[185:188]", "a[186:189]", "a[187:190]", "a[188:191]", "a[189:192]",
477 "a[190:193]", "a[191:194]", "a[192:195]", "a[193:196]", "a[194:197]",
478 "a[195:198]", "a[196:199]", "a[197:200]", "a[198:201]", "a[199:202]",
479 "a[200:203]", "a[201:204]", "a[202:205]", "a[203:206]", "a[204:207]",
480 "a[205:208]", "a[206:209]", "a[207:210]", "a[208:211]", "a[209:212]",
481 "a[210:213]", "a[211:214]", "a[212:215]", "a[213:216]", "a[214:217]",
482 "a[215:218]", "a[216:219]", "a[217:220]", "a[218:221]", "a[219:222]",
483 "a[220:223]", "a[221:224]", "a[222:225]", "a[223:226]", "a[224:227]",
484 "a[225:228]", "a[226:229]", "a[227:230]", "a[228:231]", "a[229:232]",
485 "a[230:233]", "a[231:234]", "a[232:235]", "a[233:236]", "a[234:237]",
486 "a[235:238]", "a[236:239]", "a[237:240]", "a[238:241]", "a[239:242]",
487 "a[240:243]", "a[241:244]", "a[242:245]", "a[243:246]", "a[244:247]",
488 "a[245:248]", "a[246:249]", "a[247:250]", "a[248:251]", "a[249:252]",
489 "a[250:253]", "a[251:254]", "a[252:255]"
490 };
491
492 static const char *const AGPR512RegNames[] = {
493 "a[0:15]", "a[1:16]", "a[2:17]", "a[3:18]", "a[4:19]",
494 "a[5:20]", "a[6:21]", "a[7:22]", "a[8:23]", "a[9:24]",
495 "a[10:25]", "a[11:26]", "a[12:27]", "a[13:28]", "a[14:29]",
496 "a[15:30]", "a[16:31]", "a[17:32]", "a[18:33]", "a[19:34]",
497 "a[20:35]", "a[21:36]", "a[22:37]", "a[23:38]", "a[24:39]",
498 "a[25:40]", "a[26:41]", "a[27:42]", "a[28:43]", "a[29:44]",
499 "a[30:45]", "a[31:46]", "a[32:47]", "a[33:48]", "a[34:49]",
500 "a[35:50]", "a[36:51]", "a[37:52]", "a[38:53]", "a[39:54]",
501 "a[40:55]", "a[41:56]", "a[42:57]", "a[43:58]", "a[44:59]",
502 "a[45:60]", "a[46:61]", "a[47:62]", "a[48:63]", "a[49:64]",
503 "a[50:65]", "a[51:66]", "a[52:67]", "a[53:68]", "a[54:69]",
504 "a[55:70]", "a[56:71]", "a[57:72]", "a[58:73]", "a[59:74]",
505 "a[60:75]", "a[61:76]", "a[62:77]", "a[63:78]", "a[64:79]",
506 "a[65:80]", "a[66:81]", "a[67:82]", "a[68:83]", "a[69:84]",
507 "a[70:85]", "a[71:86]", "a[72:87]", "a[73:88]", "a[74:89]",
508 "a[75:90]", "a[76:91]", "a[77:92]", "a[78:93]", "a[79:94]",
509 "a[80:95]", "a[81:96]", "a[82:97]", "a[83:98]", "a[84:99]",
510 "a[85:100]", "a[86:101]", "a[87:102]", "a[88:103]", "a[89:104]",
511 "a[90:105]", "a[91:106]", "a[92:107]", "a[93:108]", "a[94:109]",
512 "a[95:110]", "a[96:111]", "a[97:112]", "a[98:113]", "a[99:114]",
513 "a[100:115]", "a[101:116]", "a[102:117]", "a[103:118]", "a[104:119]",
514 "a[105:120]", "a[106:121]", "a[107:122]", "a[108:123]", "a[109:124]",
515 "a[110:125]", "a[111:126]", "a[112:127]", "a[113:128]", "a[114:129]",
516 "a[115:130]", "a[116:131]", "a[117:132]", "a[118:133]", "a[119:134]",
517 "a[120:135]", "a[121:136]", "a[122:137]", "a[123:138]", "a[124:139]",
518 "a[125:140]", "a[126:141]", "a[127:142]", "a[128:143]", "a[129:144]",
519 "a[130:145]", "a[131:146]", "a[132:147]", "a[133:148]", "a[134:149]",
520 "a[135:150]", "a[136:151]", "a[137:152]", "a[138:153]", "a[139:154]",
521 "a[140:155]", "a[141:156]", "a[142:157]", "a[143:158]", "a[144:159]",
522 "a[145:160]", "a[146:161]", "a[147:162]", "a[148:163]", "a[149:164]",
523 "a[150:165]", "a[151:166]", "a[152:167]", "a[153:168]", "a[154:169]",
524 "a[155:170]", "a[156:171]", "a[157:172]", "a[158:173]", "a[159:174]",
525 "a[160:175]", "a[161:176]", "a[162:177]", "a[163:178]", "a[164:179]",
526 "a[165:180]", "a[166:181]", "a[167:182]", "a[168:183]", "a[169:184]",
527 "a[170:185]", "a[171:186]", "a[172:187]", "a[173:188]", "a[174:189]",
528 "a[175:190]", "a[176:191]", "a[177:192]", "a[178:193]", "a[179:194]",
529 "a[180:195]", "a[181:196]", "a[182:197]", "a[183:198]", "a[184:199]",
530 "a[185:200]", "a[186:201]", "a[187:202]", "a[188:203]", "a[189:204]",
531 "a[190:205]", "a[191:206]", "a[192:207]", "a[193:208]", "a[194:209]",
532 "a[195:210]", "a[196:211]", "a[197:212]", "a[198:213]", "a[199:214]",
533 "a[200:215]", "a[201:216]", "a[202:217]", "a[203:218]", "a[204:219]",
534 "a[205:220]", "a[206:221]", "a[207:222]", "a[208:223]", "a[209:224]",
535 "a[210:225]", "a[211:226]", "a[212:227]", "a[213:228]", "a[214:229]",
536 "a[215:230]", "a[216:231]", "a[217:232]", "a[218:233]", "a[219:234]",
537 "a[220:235]", "a[221:236]", "a[222:237]", "a[223:238]", "a[224:239]",
538 "a[225:240]", "a[226:241]", "a[227:242]", "a[228:243]", "a[229:244]",
539 "a[230:245]", "a[231:246]", "a[232:247]", "a[233:248]", "a[234:249]",
540 "a[235:250]", "a[236:251]", "a[237:252]", "a[238:253]", "a[239:254]",
541 "a[240:255]"
542 };
543
544 static const char *const AGPR1024RegNames[] = {
545 "a[0:31]", "a[1:32]", "a[2:33]", "a[3:34]", "a[4:35]",
546 "a[5:36]", "a[6:37]", "a[7:38]", "a[8:39]", "a[9:40]",
547 "a[10:41]", "a[11:42]", "a[12:43]", "a[13:44]", "a[14:45]",
548 "a[15:46]", "a[16:47]", "a[17:48]", "a[18:49]", "a[19:50]",
549 "a[20:51]", "a[21:52]", "a[22:53]", "a[23:54]", "a[24:55]",
550 "a[25:56]", "a[26:57]", "a[27:58]", "a[28:59]", "a[29:60]",
551 "a[30:61]", "a[31:62]", "a[32:63]", "a[33:64]", "a[34:65]",
552 "a[35:66]", "a[36:67]", "a[37:68]", "a[38:69]", "a[39:70]",
553 "a[40:71]", "a[41:72]", "a[42:73]", "a[43:74]", "a[44:75]",
554 "a[45:76]", "a[46:77]", "a[47:78]", "a[48:79]", "a[49:80]",
555 "a[50:81]", "a[51:82]", "a[52:83]", "a[53:84]", "a[54:85]",
556 "a[55:86]", "a[56:87]", "a[57:88]", "a[58:89]", "a[59:90]",
557 "a[60:91]", "a[61:92]", "a[62:93]", "a[63:94]", "a[64:95]",
558 "a[65:96]", "a[66:97]", "a[67:98]", "a[68:99]", "a[69:100]",
559 "a[70:101]", "a[71:102]", "a[72:103]", "a[73:104]", "a[74:105]",
560 "a[75:106]", "a[76:107]", "a[77:108]", "a[78:109]", "a[79:110]",
561 "a[80:111]", "a[81:112]", "a[82:113]", "a[83:114]", "a[84:115]",
562 "a[85:116]", "a[86:117]", "a[87:118]", "a[88:119]", "a[89:120]",
563 "a[90:121]", "a[91:122]", "a[92:123]", "a[93:124]", "a[94:125]",
564 "a[95:126]", "a[96:127]", "a[97:128]", "a[98:129]", "a[99:130]",
565 "a[100:131]", "a[101:132]", "a[102:133]", "a[103:134]", "a[104:135]",
566 "a[105:136]", "a[106:137]", "a[107:138]", "a[108:139]", "a[109:140]",
567 "a[110:141]", "a[111:142]", "a[112:143]", "a[113:144]", "a[114:145]",
568 "a[115:146]", "a[116:147]", "a[117:148]", "a[118:149]", "a[119:150]",
569 "a[120:151]", "a[121:152]", "a[122:153]", "a[123:154]", "a[124:155]",
570 "a[125:156]", "a[126:157]", "a[127:158]", "a[128:159]", "a[129:160]",
571 "a[130:161]", "a[131:162]", "a[132:163]", "a[133:164]", "a[134:165]",
572 "a[135:166]", "a[136:167]", "a[137:168]", "a[138:169]", "a[139:170]",
573 "a[140:171]", "a[141:172]", "a[142:173]", "a[143:174]", "a[144:175]",
574 "a[145:176]", "a[146:177]", "a[147:178]", "a[148:179]", "a[149:180]",
575 "a[150:181]", "a[151:182]", "a[152:183]", "a[153:184]", "a[154:185]",
576 "a[155:186]", "a[156:187]", "a[157:188]", "a[158:189]", "a[159:190]",
577 "a[160:191]", "a[161:192]", "a[162:193]", "a[163:194]", "a[164:195]",
578 "a[165:196]", "a[166:197]", "a[167:198]", "a[168:199]", "a[169:200]",
579 "a[170:201]", "a[171:202]", "a[172:203]", "a[173:204]", "a[174:205]",
580 "a[175:206]", "a[176:207]", "a[177:208]", "a[178:209]", "a[179:210]",
581 "a[180:211]", "a[181:212]", "a[182:213]", "a[183:214]", "a[184:215]",
582 "a[185:216]", "a[186:217]", "a[187:218]", "a[188:219]", "a[189:220]",
583 "a[190:221]", "a[191:222]", "a[192:223]", "a[193:224]", "a[194:225]",
584 "a[195:226]", "a[196:227]", "a[197:228]", "a[198:229]", "a[199:230]",
585 "a[200:231]", "a[201:232]", "a[202:233]", "a[203:234]", "a[204:235]",
586 "a[205:236]", "a[206:237]", "a[207:238]", "a[208:239]", "a[209:240]",
587 "a[210:241]", "a[211:242]", "a[212:243]", "a[213:244]", "a[214:245]",
588 "a[215:246]", "a[216:247]", "a[217:248]", "a[218:249]", "a[219:250]",
589 "a[220:251]", "a[221:252]", "a[222:253]", "a[223:254]", "a[224:255]"
590 };
591
352592 #endif
3030 AMDGPU::sub0, AMDGPU::sub1, AMDGPU::sub2, AMDGPU::sub3, AMDGPU::sub4,
3131 AMDGPU::sub5, AMDGPU::sub6, AMDGPU::sub7, AMDGPU::sub8, AMDGPU::sub9,
3232 AMDGPU::sub10, AMDGPU::sub11, AMDGPU::sub12, AMDGPU::sub13, AMDGPU::sub14,
33 AMDGPU::sub15
33 AMDGPU::sub15, AMDGPU::sub16, AMDGPU::sub17, AMDGPU::sub18, AMDGPU::sub19,
34 AMDGPU::sub20, AMDGPU::sub21, AMDGPU::sub22, AMDGPU::sub23, AMDGPU::sub24,
35 AMDGPU::sub25, AMDGPU::sub26, AMDGPU::sub27, AMDGPU::sub28, AMDGPU::sub29,
36 AMDGPU::sub30, AMDGPU::sub31
3437 };
3538
3639 assert(Channel < array_lengthof(SubRegs));
138138 DECODE_OPERAND_REG(SReg_256)
139139 DECODE_OPERAND_REG(SReg_512)
140140
141 DECODE_OPERAND_REG(AGPR_32)
142 DECODE_OPERAND_REG(AReg_128)
143 DECODE_OPERAND_REG(AReg_512)
144 DECODE_OPERAND_REG(AReg_1024)
145 DECODE_OPERAND_REG(AV_32)
146 DECODE_OPERAND_REG(AV_64)
147
141148 static DecodeStatus decodeOperand_VSrc16(MCInst &Inst,
142149 unsigned Imm,
143150 uint64_t Addr,
170177 return addOperand(Inst, DAsm->decodeOperand_VS_32(Imm));
171178 }
172179
180 static DecodeStatus decodeOperand_AReg_128(MCInst &Inst,
181 unsigned Imm,
182 uint64_t Addr,
183 const void *Decoder) {
184 auto DAsm = static_cast(Decoder);
185 return addOperand(Inst, DAsm->decodeSrcOp(AMDGPUDisassembler::OPW128, Imm | 512));
186 }
187
188 static DecodeStatus decodeOperand_AReg_512(MCInst &Inst,
189 unsigned Imm,
190 uint64_t Addr,
191 const void *Decoder) {
192 auto DAsm = static_cast(Decoder);
193 return addOperand(Inst, DAsm->decodeSrcOp(AMDGPUDisassembler::OPW512, Imm | 512));
194 }
195
196 static DecodeStatus decodeOperand_AReg_1024(MCInst &Inst,
197 unsigned Imm,
198 uint64_t Addr,
199 const void *Decoder) {
200 auto DAsm = static_cast(Decoder);
201 return addOperand(Inst, DAsm->decodeSrcOp(AMDGPUDisassembler::OPW1024, Imm | 512));
202 }
203
173204 static DecodeStatus decodeOperand_SReg_32(MCInst &Inst,
174205 unsigned Imm,
175206 uint64_t Addr,
176207 const void *Decoder) {
177208 auto DAsm = static_cast(Decoder);
178209 return addOperand(Inst, DAsm->decodeOperand_SReg_32(Imm));
210 }
211
212 static DecodeStatus decodeOperand_VGPR_32(MCInst &Inst,
213 unsigned Imm,
214 uint64_t Addr,
215 const void *Decoder) {
216 auto DAsm = static_cast(Decoder);
217 return addOperand(Inst, DAsm->decodeSrcOp(AMDGPUDisassembler::OPW32, Imm));
179218 }
180219
181220 #define DECODE_SDWA(DecName) \
414414 } else if (MRI.getRegClass(AMDGPU::SGPR_512RegClassID).contains(RegNo)) {
415415 O << 's';
416416 NumRegs = 16;
417 } else if (MRI.getRegClass(AMDGPU::AGPR_32RegClassID).contains(RegNo)) {
418 O << 'a';
419 NumRegs = 1;
420 } else if (MRI.getRegClass(AMDGPU::AReg_64RegClassID).contains(RegNo)) {
421 O << 'a';
422 NumRegs = 2;
423 } else if (MRI.getRegClass(AMDGPU::AReg_128RegClassID).contains(RegNo)) {
424 O << 'a';
425 NumRegs = 4;
426 } else if (MRI.getRegClass(AMDGPU::AReg_512RegClassID).contains(RegNo)) {
427 O << 'a';
428 NumRegs = 16;
429 } else if (MRI.getRegClass(AMDGPU::AReg_1024RegClassID).contains(RegNo)) {
430 O << 'a';
431 NumRegs = 32;
417432 } else {
418433 O << getRegisterName(RegNo);
419434 return;
585600 }
586601 }
587602
603 void AMDGPUInstPrinter::printBLGP(const MCInst *MI, unsigned OpNo,
604 const MCSubtargetInfo &STI,
605 raw_ostream &O) {
606 unsigned Imm = MI->getOperand(OpNo).getImm();
607 if (!Imm)
608 return;
609
610 O << " blgp:" << Imm;
611 }
612
613 void AMDGPUInstPrinter::printCBSZ(const MCInst *MI, unsigned OpNo,
614 const MCSubtargetInfo &STI,
615 raw_ostream &O) {
616 unsigned Imm = MI->getOperand(OpNo).getImm();
617 if (!Imm)
618 return;
619
620 O << " cbsz:" << Imm;
621 }
622
623 void AMDGPUInstPrinter::printABID(const MCInst *MI, unsigned OpNo,
624 const MCSubtargetInfo &STI,
625 raw_ostream &O) {
626 unsigned Imm = MI->getOperand(OpNo).getImm();
627 if (!Imm)
628 return;
629
630 O << " abid:" << Imm;
631 }
632
588633 void AMDGPUInstPrinter::printDefaultVccOperand(unsigned OpNo,
589634 const MCSubtargetInfo &STI,
590635 raw_ostream &O) {
620665 case AMDGPU::OPERAND_REG_IMM_FP32:
621666 case AMDGPU::OPERAND_REG_INLINE_C_INT32:
622667 case AMDGPU::OPERAND_REG_INLINE_C_FP32:
668 case AMDGPU::OPERAND_REG_INLINE_AC_INT32:
669 case AMDGPU::OPERAND_REG_INLINE_AC_FP32:
623670 case MCOI::OPERAND_IMMEDIATE:
624671 printImmediate32(Op.getImm(), STI, O);
625672 break;
631678 break;
632679 case AMDGPU::OPERAND_REG_INLINE_C_INT16:
633680 case AMDGPU::OPERAND_REG_INLINE_C_FP16:
681 case AMDGPU::OPERAND_REG_INLINE_AC_INT16:
682 case AMDGPU::OPERAND_REG_INLINE_AC_FP16:
634683 case AMDGPU::OPERAND_REG_IMM_INT16:
635684 case AMDGPU::OPERAND_REG_IMM_FP16:
636685 printImmediate16(Op.getImm(), STI, O);
645694 LLVM_FALLTHROUGH;
646695 case AMDGPU::OPERAND_REG_INLINE_C_V2FP16:
647696 case AMDGPU::OPERAND_REG_INLINE_C_V2INT16:
697 case AMDGPU::OPERAND_REG_INLINE_AC_V2FP16:
698 case AMDGPU::OPERAND_REG_INLINE_AC_V2INT16:
648699 printImmediateV216(Op.getImm(), STI, O);
649700 break;
650701 case MCOI::OPERAND_UNKNOWN:
155155 const MCSubtargetInfo &STI, raw_ostream &O);
156156 void printMemOperand(const MCInst *MI, unsigned OpNo,
157157 const MCSubtargetInfo &STI, raw_ostream &O);
158 void printBLGP(const MCInst *MI, unsigned OpNo, const MCSubtargetInfo &STI,
159 raw_ostream &O);
160 void printCBSZ(const MCInst *MI, unsigned OpNo, const MCSubtargetInfo &STI,
161 raw_ostream &O);
162 void printABID(const MCInst *MI, unsigned OpNo, const MCSubtargetInfo &STI,
163 raw_ostream &O);
158164 void printDefaultVccOperand(unsigned OpNo, const MCSubtargetInfo &STI,
159165 raw_ostream &O);
160166
6262 return 0;
6363 }
6464
65 virtual unsigned getAVOperandEncoding(const MCInst &MI, unsigned OpNo,
66 SmallVectorImpl &Fixups,
67 const MCSubtargetInfo &STI) const {
68 return 0;
69 }
70
6571 protected:
6672 FeatureBitset computeAvailableFeatures(const FeatureBitset &FB) const;
6773 void
1212 //===----------------------------------------------------------------------===//
1313
1414 #include "AMDGPU.h"
15 #include "AMDGPURegisterInfo.h"
1516 #include "MCTargetDesc/AMDGPUFixupKinds.h"
1617 #include "MCTargetDesc/AMDGPUMCCodeEmitter.h"
1718 #include "MCTargetDesc/AMDGPUMCTargetDesc.h"
7677 unsigned getSDWAVopcDstEncoding(const MCInst &MI, unsigned OpNo,
7778 SmallVectorImpl &Fixups,
7879 const MCSubtargetInfo &STI) const override;
80
81 unsigned getAVOperandEncoding(const MCInst &MI, unsigned OpNo,
82 SmallVectorImpl &Fixups,
83 const MCSubtargetInfo &STI) const override;
7984 };
8085
8186 } // end anonymous namespace
232237 case AMDGPU::OPERAND_REG_IMM_FP32:
233238 case AMDGPU::OPERAND_REG_INLINE_C_INT32:
234239 case AMDGPU::OPERAND_REG_INLINE_C_FP32:
240 case AMDGPU::OPERAND_REG_INLINE_AC_INT32:
241 case AMDGPU::OPERAND_REG_INLINE_AC_FP32:
235242 return getLit32Encoding(static_cast(Imm), STI);
236243
237244 case AMDGPU::OPERAND_REG_IMM_INT64:
244251 case AMDGPU::OPERAND_REG_IMM_FP16:
245252 case AMDGPU::OPERAND_REG_INLINE_C_INT16:
246253 case AMDGPU::OPERAND_REG_INLINE_C_FP16:
254 case AMDGPU::OPERAND_REG_INLINE_AC_INT16:
255 case AMDGPU::OPERAND_REG_INLINE_AC_FP16:
247256 // FIXME Is this correct? What do inline immediates do on SI for f16 src
248257 // which does not have f16 support?
249258 return getLit16Encoding(static_cast(Imm), STI);
254263 return getLit32Encoding(static_cast(Imm), STI);
255264 LLVM_FALLTHROUGH;
256265 case AMDGPU::OPERAND_REG_INLINE_C_V2INT16:
257 case AMDGPU::OPERAND_REG_INLINE_C_V2FP16: {
266 case AMDGPU::OPERAND_REG_INLINE_C_V2FP16:
267 case AMDGPU::OPERAND_REG_INLINE_AC_V2INT16:
268 case AMDGPU::OPERAND_REG_INLINE_AC_V2FP16: {
258269 uint16_t Lo16 = static_cast(Imm);
259270 uint32_t Encoding = getLit16Encoding(Lo16, STI);
260271 return Encoding;
394405 RegEnc |= SDWA9EncValues::VOPC_DST_VCC_MASK;
395406 }
396407 return RegEnc;
408 }
409
410 unsigned
411 SIMCCodeEmitter::getAVOperandEncoding(const MCInst &MI, unsigned OpNo,
412 SmallVectorImpl &Fixups,
413 const MCSubtargetInfo &STI) const {
414 unsigned Reg = MI.getOperand(OpNo).getReg();
415 uint64_t Enc = MRI.getEncodingValue(Reg);
416
417 // VGPR and AGPR have the same encoding, but SrcA and SrcB operands of mfma
418 // instructions use acc[0:1] modifier bits to distinguish. These bits are
419 // encoded as a virtual 9th bit of the register for these operands.
420 if (MRI.getRegClass(AMDGPU::AGPR_32RegClassID).contains(Reg) ||
421 MRI.getRegClass(AMDGPU::AReg_64RegClassID).contains(Reg))
422 Enc |= 512;
423
424 return Enc;
397425 }
398426
399427 static bool needsPCRel(const MCExpr *Expr) {
9595 FPDPRounding = UINT64_C(1) << 52,
9696
9797 // Instruction is FP atomic.
98 FPAtomic = UINT64_C(1) << 53
98 FPAtomic = UINT64_C(1) << 53,
99
100 // Is a MFMA instruction.
101 IsMAI = UINT64_C(1) << 54
99102 };
100103
101104 // v_cmp_class_* etc. use a 10-bit mask for what operation is checked.
1030310303 break;
1030410304 }
1030510305 break;
10306 case 'a':
10307 switch (VT.getSizeInBits()) {
10308 default:
10309 return std::make_pair(0U, nullptr);
10310 case 32:
10311 case 16:
10312 RC = &AMDGPU::AGPR_32RegClass;
10313 break;
10314 case 64:
10315 RC = &AMDGPU::AReg_64RegClass;
10316 break;
10317 case 128:
10318 RC = &AMDGPU::AReg_128RegClass;
10319 break;
10320 case 512:
10321 RC = &AMDGPU::AReg_512RegClass;
10322 break;
10323 case 1024:
10324 RC = &AMDGPU::AReg_1024RegClass;
10325 // v32 types are not legal but we support them here.
10326 return std::make_pair(0U, RC);
10327 }
10328 break;
1030610329 }
1030710330 // We actually support i128, i16 and f16 as inline parameters
1030810331 // even if they are not reported as legal
1031610339 RC = &AMDGPU::VGPR_32RegClass;
1031710340 } else if (Constraint[1] == 's') {
1031810341 RC = &AMDGPU::SGPR_32RegClass;
10342 } else if (Constraint[1] == 'a') {
10343 RC = &AMDGPU::AGPR_32RegClass;
1031910344 }
1032010345
1032110346 if (RC) {
1033510360 default: break;
1033610361 case 's':
1033710362 case 'v':
10363 case 'a':
1033810364 return C_RegisterClass;
1033910365 }
1034010366 }
120120 // Instruction is FP atomic.
121121 field bit FPAtomic = 0;
122122
123 // This bit indicates that this is one of MFMA instructions.
124 field bit IsMAI = 0;
125
123126 // These need to be kept in sync with the enum in SIInstrFlags.
124127 let TSFlags{0} = SALU;
125128 let TSFlags{1} = VALU;
182185 let TSFlags{52} = FPDPRounding;
183186
184187 let TSFlags{53} = FPAtomic;
188
189 let TSFlags{54} = IsMAI;
185190
186191 let SchedRW = [Write32Bit];
187192
569569 return get(Opcode).TSFlags & SIInstrFlags::VINTRP;
570570 }
571571
572 static bool isMAI(const MachineInstr &MI) {
573 return MI.getDesc().TSFlags & SIInstrFlags::IsMAI;
574 }
575
576 bool isMAI(uint16_t Opcode) const {
577 return get(Opcode).TSFlags & SIInstrFlags::IsMAI;
578 }
579
572580 static bool isScalarUnit(const MachineInstr &MI) {
573581 return MI.getDesc().TSFlags & (SIInstrFlags::SALU | SIInstrFlags::SMRD);
574582 }
250250 !if(!eq(SrcVT.Value, f32.Value), 1,
251251 !if(!eq(SrcVT.Value, f64.Value), 1,
252252 !if(!eq(SrcVT.Value, v2f16.Value), 1,
253 0))));
253 !if(!eq(SrcVT.Value, v4f16.Value), 1,
254 0)))));
254255 }
255256
256257 class isIntType {
264265 class isPackedType {
265266 bit ret =
266267 !if(!eq(SrcVT.Value, v2i16.Value), 1,
267 !if(!eq(SrcVT.Value, v2f16.Value), 1, 0)
268 );
268 !if(!eq(SrcVT.Value, v2f16.Value), 1,
269 !if(!eq(SrcVT.Value, v4f16.Value), 1, 0)
270 ));
269271 }
270272
271273 //===----------------------------------------------------------------------===//
927929 def op_sel_hi : NamedOperandU32Default0<"OpSelHi", NamedMatchClass<"OpSelHi">>;
928930 def neg_lo : NamedOperandU32Default0<"NegLo", NamedMatchClass<"NegLo">>;
929931 def neg_hi : NamedOperandU32Default0<"NegHi", NamedMatchClass<"NegHi">>;
932
933 def blgp : NamedOperandU32<"BLGP", NamedMatchClass<"BLGP">>;
934 def cbsz : NamedOperandU32<"CBSZ", NamedMatchClass<"CBSZ">>;
935 def abid : NamedOperandU32<"ABID", NamedMatchClass<"ABID">>;
930936
931937 def hwreg : NamedOperandU16<"Hwreg", NamedMatchClass<"Hwreg", 0>>;
932938
12831289 class getIsFP {
12841290 bit ret = !if(!eq(VT.Value, f16.Value), 1,
12851291 !if(!eq(VT.Value, v2f16.Value), 1,
1292 !if(!eq(VT.Value, v4f16.Value), 1,
12861293 !if(!eq(VT.Value, f32.Value), 1,
12871294 !if(!eq(VT.Value, v2f32.Value), 1,
12881295 !if(!eq(VT.Value, f64.Value), 1,
12891296 !if(!eq(VT.Value, v2f64.Value), 1,
1290 0))))));
1297 0)))))));
12911298 }
12921299
12931300 // Returns the register class to use for the destination of VOP[12C]
13111318 VSrc_f16,
13121319 !if(!eq(VT.Value, v2f16.Value),
13131320 VSrc_v2f16,
1314 VSrc_f32
1321 !if(!eq(VT.Value, v4f16.Value),
1322 AVSrc_64,
1323 VSrc_f32
1324 )
13151325 )
13161326 )
13171327 ),
13591369 VSrc_f16,
13601370 !if(!eq(VT.Value, v2f16.Value),
13611371 VSrc_v2f16,
1362 VSrc_f32
1372 !if(!eq(VT.Value, v4f16.Value),
1373 AVSrc_64,
1374 VSrc_f32
1375 )
13631376 )
13641377 ),
13651378 !if(!eq(VT.Value, i16.Value),
19922005 field bit HasExtSDWA9 = HasExt;
19932006 field int NeedPatGen = PatGenMode.NoPattern;
19942007
2008 field bit IsMAI = 0;
2009
19952010 field Operand Src0PackedMod = !if(HasSrc0FloatMods, PackedF16InputMods, PackedI16InputMods);
19962011 field Operand Src1PackedMod = !if(HasSrc1FloatMods, PackedF16InputMods, PackedI16InputMods);
19972012 field Operand Src2PackedMod = !if(HasSrc2FloatMods, PackedF16InputMods, PackedI16InputMods);
21292144 def VOP_F32_V2F16_V2F16_F32 : VOPProfile <[f32, v2f16, v2f16, f32]>;
21302145 def VOP_I32_V2I16_V2I16_I32 : VOPProfile <[i32, v2i16, v2i16, i32]>;
21312146
2147 def VOP_V4F32_F32_F32_V4F32 : VOPProfile <[v4f32, f32, f32, v4f32]>;
2148 def VOP_V16F32_F32_F32_V16F32 : VOPProfile <[v16f32, f32, f32, v16f32]>;
2149 // TODO: define v32f32
2150 def VOP_V32F32_F32_F32_V32F32 : VOPProfile <[v32i32, f32, f32, v32i32]>;
2151 def VOP_V4F32_V4F16_V4F16_V4F32 : VOPProfile <[v4f32, v4f16, v4f16, v4f32]>;
2152 def VOP_V16F32_V4F16_V4F16_V16F32 : VOPProfile <[v16f32, v4f16, v4f16, v16f32]>;
2153 def VOP_V32F32_V4F16_V4F16_V32F32 : VOPProfile <[v32i32, v4f16, v4f16, v32i32]>;
2154 def VOP_V4F32_V2I16_V2I16_V4F32 : VOPProfile <[v4f32, v2i16, v2i16, v4f32]>;
2155 def VOP_V16F32_V2I16_V2I16_V16F32 : VOPProfile <[v16f32, v2i16, v2i16, v16f32]>;
2156 def VOP_V32F32_V2I16_V2I16_V32F32 : VOPProfile <[v32i32, v2i16, v2i16, v32i32]>;
2157 def VOP_V4I32_I32_I32_V4I32 : VOPProfile <[v4i32, i32, i32, v4i32]>;
2158 def VOP_V16I32_I32_I32_V16I32 : VOPProfile <[v16i32, i32, i32, v16i32]>;
2159 def VOP_V32I32_I32_I32_V32I32 : VOPProfile <[v32i32, i32, i32, v32i32]>;
2160
21322161 class Commutable_REV {
21332162 string RevOp = revOp;
21342163 bit IsOrig = isOrig;
204204 unsigned TotalNumVGPRs = AMDGPU::VGPR_32RegClass.getNumRegs();
205205 for (unsigned i = MaxNumVGPRs; i < TotalNumVGPRs; ++i) {
206206 unsigned Reg = AMDGPU::VGPR_32RegClass.getRegister(i);
207 reserveRegisterTuples(Reserved, Reg);
208 Reg = AMDGPU::AGPR_32RegClass.getRegister(i);
207209 reserveRegisterTuples(Reserved, Reg);
208210 }
209211
12551257
12561258 REG_RANGE(AMDGPU::VGPR0, AMDGPU::VGPR255, VGPR32RegNames);
12571259 REG_RANGE(AMDGPU::SGPR0, AMDGPU::SGPR105, SGPR32RegNames);
1260 REG_RANGE(AMDGPU::AGPR0, AMDGPU::AGPR255, AGPR32RegNames);
12581261 REG_RANGE(AMDGPU::VGPR0_VGPR1, AMDGPU::VGPR254_VGPR255, VGPR64RegNames);
12591262 REG_RANGE(AMDGPU::SGPR0_SGPR1, AMDGPU::SGPR104_SGPR105, SGPR64RegNames);
1263 REG_RANGE(AMDGPU::AGPR0_AGPR1, AMDGPU::AGPR254_AGPR255, AGPR64RegNames);
12601264 REG_RANGE(AMDGPU::VGPR0_VGPR1_VGPR2, AMDGPU::VGPR253_VGPR254_VGPR255,
12611265 VGPR96RegNames);
12621266
12661270 REG_RANGE(AMDGPU::SGPR0_SGPR1_SGPR2_SGPR3,
12671271 AMDGPU::SGPR100_SGPR101_SGPR102_SGPR103,
12681272 SGPR128RegNames);
1273 REG_RANGE(AMDGPU::AGPR0_AGPR1_AGPR2_AGPR3,
1274 AMDGPU::AGPR252_AGPR253_AGPR254_AGPR255,
1275 AGPR128RegNames);
12691276
12701277 REG_RANGE(AMDGPU::VGPR0_VGPR1_VGPR2_VGPR3_VGPR4_VGPR5_VGPR6_VGPR7,
12711278 AMDGPU::VGPR248_VGPR249_VGPR250_VGPR251_VGPR252_VGPR253_VGPR254_VGPR255,
12751282 AMDGPU::VGPR0_VGPR1_VGPR2_VGPR3_VGPR4_VGPR5_VGPR6_VGPR7_VGPR8_VGPR9_VGPR10_VGPR11_VGPR12_VGPR13_VGPR14_VGPR15,
12761283 AMDGPU::VGPR240_VGPR241_VGPR242_VGPR243_VGPR244_VGPR245_VGPR246_VGPR247_VGPR248_VGPR249_VGPR250_VGPR251_VGPR252_VGPR253_VGPR254_VGPR255,
12771284 VGPR512RegNames);
1285 REG_RANGE(
1286 AMDGPU::AGPR0_AGPR1_AGPR2_AGPR3_AGPR4_AGPR5_AGPR6_AGPR7_AGPR8_AGPR9_AGPR10_AGPR11_AGPR12_AGPR13_AGPR14_AGPR15,
1287 AMDGPU::AGPR240_AGPR241_AGPR242_AGPR243_AGPR244_AGPR245_AGPR246_AGPR247_AGPR248_AGPR249_AGPR250_AGPR251_AGPR252_AGPR253_AGPR254_AGPR255,
1288 AGPR512RegNames);
12781289
12791290 REG_RANGE(AMDGPU::SGPR0_SGPR1_SGPR2_SGPR3_SGPR4_SGPR5_SGPR6_SGPR7,
12801291 AMDGPU::SGPR96_SGPR97_SGPR98_SGPR99_SGPR100_SGPR101_SGPR102_SGPR103,
12851296 AMDGPU::SGPR88_SGPR89_SGPR90_SGPR91_SGPR92_SGPR93_SGPR94_SGPR95_SGPR96_SGPR97_SGPR98_SGPR99_SGPR100_SGPR101_SGPR102_SGPR103,
12861297 SGPR512RegNames
12871298 );
1299
1300 REG_RANGE(
1301 AMDGPU::AGPR0_AGPR1_AGPR2_AGPR3_AGPR4_AGPR5_AGPR6_AGPR7_AGPR8_AGPR9_AGPR10_AGPR11_AGPR12_AGPR13_AGPR14_AGPR15_AGPR16_AGPR17_AGPR18_AGPR19_AGPR20_AGPR21_AGPR22_AGPR23_AGPR24_AGPR25_AGPR26_AGPR27_AGPR28_AGPR29_AGPR30_AGPR31,
1302 AMDGPU::AGPR224_AGPR225_AGPR226_AGPR227_AGPR228_AGPR229_AGPR230_AGPR231_AGPR232_AGPR233_AGPR234_AGPR235_AGPR236_AGPR237_AGPR238_AGPR239_AGPR240_AGPR241_AGPR242_AGPR243_AGPR244_AGPR245_AGPR246_AGPR247_AGPR248_AGPR249_AGPR250_AGPR251_AGPR252_AGPR253_AGPR254_AGPR255,
1303 AGPR1024RegNames);
12881304
12891305 #undef REG_RANGE
12901306
10061006 case AMDGPU::OPERAND_REG_INLINE_C_FP16:
10071007 case AMDGPU::OPERAND_REG_INLINE_C_V2FP16:
10081008 case AMDGPU::OPERAND_REG_INLINE_C_V2INT16:
1009 case AMDGPU::OPERAND_REG_INLINE_AC_FP32:
1010 case AMDGPU::OPERAND_REG_INLINE_AC_FP16:
1011 case AMDGPU::OPERAND_REG_INLINE_AC_V2FP16:
1012 case AMDGPU::OPERAND_REG_INLINE_AC_V2INT16:
10091013 return true;
10101014 default:
10111015 return false;
10261030 case AMDGPU::SGPR_32RegClassID:
10271031 case AMDGPU::VGPR_32RegClassID:
10281032 case AMDGPU::VRegOrLds_32RegClassID:
1033 case AMDGPU::AGPR_32RegClassID:
10291034 case AMDGPU::VS_32RegClassID:
1035 case AMDGPU::AV_32RegClassID:
10301036 case AMDGPU::SReg_32RegClassID:
10311037 case AMDGPU::SReg_32_XM0RegClassID:
10321038 case AMDGPU::SRegOrLds_32RegClassID:
10331039 return 32;
10341040 case AMDGPU::SGPR_64RegClassID:
10351041 case AMDGPU::VS_64RegClassID:
1042 case AMDGPU::AV_64RegClassID:
10361043 case AMDGPU::SReg_64RegClassID:
10371044 case AMDGPU::VReg_64RegClassID:
1045 case AMDGPU::AReg_64RegClassID:
10381046 case AMDGPU::SReg_64_XEXECRegClassID:
10391047 return 64;
10401048 case AMDGPU::SGPR_96RegClassID:
10441052 case AMDGPU::SGPR_128RegClassID:
10451053 case AMDGPU::SReg_128RegClassID:
10461054 case AMDGPU::VReg_128RegClassID:
1055 case AMDGPU::AReg_128RegClassID:
10471056 return 128;
10481057 case AMDGPU::SGPR_160RegClassID:
10491058 case AMDGPU::SReg_160RegClassID:
10541063 return 256;
10551064 case AMDGPU::SReg_512RegClassID:
10561065 case AMDGPU::VReg_512RegClassID:
1066 case AMDGPU::AReg_512RegClassID:
10571067 return 512;
1068 case AMDGPU::SReg_1024RegClassID:
1069 case AMDGPU::VReg_1024RegClassID:
1070 case AMDGPU::AReg_1024RegClassID:
1071 return 1024;
10581072 default:
10591073 llvm_unreachable("Unexpected register class");
10601074 }
563563 case AMDGPU::OPERAND_REG_IMM_FP32:
564564 case AMDGPU::OPERAND_REG_INLINE_C_INT32:
565565 case AMDGPU::OPERAND_REG_INLINE_C_FP32:
566 case AMDGPU::OPERAND_REG_INLINE_AC_INT32:
567 case AMDGPU::OPERAND_REG_INLINE_AC_FP32:
566568 return 4;
567569
568570 case AMDGPU::OPERAND_REG_IMM_INT64:
577579 case AMDGPU::OPERAND_REG_INLINE_C_FP16:
578580 case AMDGPU::OPERAND_REG_INLINE_C_V2INT16:
579581 case AMDGPU::OPERAND_REG_INLINE_C_V2FP16:
582 case AMDGPU::OPERAND_REG_INLINE_AC_INT16:
583 case AMDGPU::OPERAND_REG_INLINE_AC_FP16:
584 case AMDGPU::OPERAND_REG_INLINE_AC_V2INT16:
585 case AMDGPU::OPERAND_REG_INLINE_AC_V2FP16:
580586 case AMDGPU::OPERAND_REG_IMM_V2INT16:
581587 case AMDGPU::OPERAND_REG_IMM_V2FP16:
582588 return 2;
107107 list ret = !if(!eq(P.NumSrcArgs, 3), ret3,
108108 !if(!eq(P.NumSrcArgs, 2), ret2,
109109 ret1));
110 }
111
112 class getVOP3MAIPat {
113 list ret = [(set P.DstVT:$vdst, (node P.Src0VT:$src0, P.Src1VT:$src1, P.Src2VT:$src2,
114 imm:$cbsz, imm:$abid, imm:$blgp))];
110115 }
111116
112117 class VOP3Inst :
119124 getVOP3ModPat.ret,
120125 !if(P.HasIntClamp,
121126 getVOP3ClampPat.ret,
122 getVOP3Pat.ret))),
127 !if (P.IsMAI,
128 getVOP3MAIPat.ret,
129 getVOP3Pat.ret)))),
123130 VOP3Only, 0, P.HasOpSel> {
124131
125132 let IntClamp = P.HasIntClamp;
142149 }
143150 }
144151
145 class VOP3Features> {
152 class VOP3Features, bit MAI> {
146153 bit HasClamp = Clamp;
147154 bit HasOpSel = OpSel;
148155 bit IsPacked = Packed;
149 }
150
151 def VOP3_REGULAR : VOP3Features<0, 0, 0>;
152 def VOP3_CLAMP : VOP3Features<1, 0, 0>;
153 def VOP3_OPSEL : VOP3Features<1, 1, 0>;
154 def VOP3_PACKED : VOP3Features<1, 1, 1>;
156 bit IsMAI = MAI;
157 }
158
159 def VOP3_REGULAR : VOP3Features<0, 0, 0, 0>;
160 def VOP3_CLAMP : VOP3Features<1, 0, 0, 0>;
161 def VOP3_OPSEL : VOP3Features<1, 1, 0, 0>;
162 def VOP3_PACKED : VOP3Features<1, 1, 1, 0>;
163 def VOP3_MAI : VOP3Features<0, 0, 0, 1>;
155164
156165 class VOP3_Profile : VOPProfile {
157166
158167 let HasClamp = !if(Features.HasClamp, 1, P.HasClamp);
159168 let HasOpSel = !if(Features.HasOpSel, 1, P.HasOpSel);
169 let IsMAI = !if(Features.IsMAI, 1, P.IsMAI);
160170 let IsPacked = !if(Features.IsPacked, 1, P.IsPacked);
161171
162 let HasModifiers = !if(Features.IsPacked, 1, P.HasModifiers);
172 let HasModifiers = !if(Features.IsPacked, !if(Features.IsMAI, 0, 1), P.HasModifiers);
163173
164174 // FIXME: Hack to stop printing _e64
165175 let Outs64 = (outs DstRC.RegClass:$vdst);
323323 (NonACAdd_oneuse lhs, (!cast("Mul"#Type#y#"_4bit") i32:$src0, i32:$src1)))),
324324 (!cast("V_DOT8_"#Type#"32_"#Type#4) (i32 8), $src0, (i32 8), $src1, (i32 8), $src2, (i1 0))>;
325325
326 def ADst_32 : VOPDstOperand;
327 def ADst_128 : VOPDstOperand;
328 def ADst_512 : VOPDstOperand;
329 def ADst_1024 : VOPDstOperand;
330
331 def VOPProfileAccRead : VOP3_Profile {
332 let Src0RC64 = ARegSrc_32;
333 }
334
335 def VOPProfileAccWrite : VOP3_Profile {
336 let DstRC = ADst_32;
337 let Src0RC64 = VISrc_b32;
338 }
339
340 class VOPProfileMAI
341 RegisterOperand SrcABRC = AVSrc_32>
342 : VOP3_Profile {
343 let DstRC = _DstRC;
344 let Src0RC64 = SrcABRC;
345 let Src1RC64 = SrcABRC;
346 let Src2RC64 = _SrcRC;
347 let HasOpSel = 0;
348 let HasClamp = 0;
349 let HasModifiers = 0;
350 let Asm64 = " $vdst, $src0, $src1, $src2$cbsz$abid$blgp";
351 let Ins64 = (ins Src0RC64:$src0, Src1RC64:$src1, Src2RC64:$src2, cbsz:$cbsz, abid:$abid, blgp:$blgp);
352 }
353
354 def VOPProfileMAI_F32_F32_X4 : VOPProfileMAI;
355 def VOPProfileMAI_F32_F32_X16 : VOPProfileMAI;
356 def VOPProfileMAI_F32_F32_X32 : VOPProfileMAI;
357 def VOPProfileMAI_I32_I32_X4 : VOPProfileMAI;
358 def VOPProfileMAI_I32_I32_X16 : VOPProfileMAI;
359 def VOPProfileMAI_I32_I32_X32 : VOPProfileMAI;
360 def VOPProfileMAI_F32_V2I16_X4 : VOPProfileMAI;
361 def VOPProfileMAI_F32_V2I16_X16 : VOPProfileMAI;
362 def VOPProfileMAI_F32_V2I16_X32 : VOPProfileMAI;
363 def VOPProfileMAI_F32_V4F16_X4 : VOPProfileMAI;
364 def VOPProfileMAI_F32_V4F16_X16 : VOPProfileMAI;
365 def VOPProfileMAI_F32_V4F16_X32 : VOPProfileMAI;
366
367 let Predicates = [HasMAIInsts] in {
368 def V_ACCVGPR_READ_B32 : VOP3Inst<"v_accvgpr_read_b32", VOPProfileAccRead>;
369 def V_ACCVGPR_WRITE_B32 : VOP3Inst<"v_accvgpr_write_b32", VOPProfileAccWrite> {
370 let isMoveImm = 1;
371 }
372
373 let isConvergent = 1 in {
374 def V_MFMA_F32_4X4X1F32 : VOP3Inst<"v_mfma_f32_4x4x1f32", VOPProfileMAI_F32_F32_X4, int_amdgcn_mfma_f32_4x4x1f32>;
375 def V_MFMA_F32_4X4X4F16 : VOP3Inst<"v_mfma_f32_4x4x4f16", VOPProfileMAI_F32_V4F16_X4, int_amdgcn_mfma_f32_4x4x4f16>;
376 def V_MFMA_I32_4X4X4I8 : VOP3Inst<"v_mfma_i32_4x4x4i8", VOPProfileMAI_I32_I32_X4, int_amdgcn_mfma_i32_4x4x4i8>;
377 def V_MFMA_F32_4X4X2BF16 : VOP3Inst<"v_mfma_f32_4x4x2bf16", VOPProfileMAI_F32_V2I16_X4, int_amdgcn_mfma_f32_4x4x2bf16>;
378 def V_MFMA_F32_16X16X1F32 : VOP3Inst<"v_mfma_f32_16x16x1f32", VOPProfileMAI_F32_F32_X16, int_amdgcn_mfma_f32_16x16x1f32>;
379 def V_MFMA_F32_16X16X4F32 : VOP3Inst<"v_mfma_f32_16x16x4f32", VOPProfileMAI_F32_F32_X4, int_amdgcn_mfma_f32_16x16x4f32>;
380 def V_MFMA_F32_16X16X4F16 : VOP3Inst<"v_mfma_f32_16x16x4f16", VOPProfileMAI_F32_V4F16_X16, int_amdgcn_mfma_f32_16x16x4f16>;
381 def V_MFMA_F32_16X16X16F16 : VOP3Inst<"v_mfma_f32_16x16x16f16", VOPProfileMAI_F32_V4F16_X4, int_amdgcn_mfma_f32_16x16x16f16>;
382 def V_MFMA_I32_16X16X4I8 : VOP3Inst<"v_mfma_i32_16x16x4i8", VOPProfileMAI_I32_I32_X16, int_amdgcn_mfma_i32_16x16x4i8>;
383 def V_MFMA_I32_16X16X16I8 : VOP3Inst<"v_mfma_i32_16x16x16i8", VOPProfileMAI_I32_I32_X4, int_amdgcn_mfma_i32_16x16x16i8>;
384 def V_MFMA_F32_16X16X2BF16 : VOP3Inst<"v_mfma_f32_16x16x2bf16", VOPProfileMAI_F32_V2I16_X16, int_amdgcn_mfma_f32_16x16x2bf16>;
385 def V_MFMA_F32_16X16X8BF16 : VOP3Inst<"v_mfma_f32_16x16x8bf16", VOPProfileMAI_F32_V2I16_X4, int_amdgcn_mfma_f32_16x16x8bf16>;
386 def V_MFMA_F32_32X32X1F32 : VOP3Inst<"v_mfma_f32_32x32x1f32", VOPProfileMAI_F32_F32_X32, int_amdgcn_mfma_f32_32x32x1f32>;
387 def V_MFMA_F32_32X32X2F32 : VOP3Inst<"v_mfma_f32_32x32x2f32", VOPProfileMAI_F32_F32_X16, int_amdgcn_mfma_f32_32x32x2f32>;
388 def V_MFMA_F32_32X32X4F16 : VOP3Inst<"v_mfma_f32_32x32x4f16", VOPProfileMAI_F32_V4F16_X32, int_amdgcn_mfma_f32_32x32x4f16>;
389 def V_MFMA_F32_32X32X8F16 : VOP3Inst<"v_mfma_f32_32x32x8f16", VOPProfileMAI_F32_V4F16_X16, int_amdgcn_mfma_f32_32x32x8f16>;
390 def V_MFMA_I32_32X32X4I8 : VOP3Inst<"v_mfma_i32_32x32x4i8", VOPProfileMAI_I32_I32_X32, int_amdgcn_mfma_i32_32x32x4i8>;
391 def V_MFMA_I32_32X32X8I8 : VOP3Inst<"v_mfma_i32_32x32x8i8", VOPProfileMAI_I32_I32_X16, int_amdgcn_mfma_i32_32x32x8i8>;
392 def V_MFMA_F32_32X32X2BF16 : VOP3Inst<"v_mfma_f32_32x32x2bf16", VOPProfileMAI_F32_V2I16_X32, int_amdgcn_mfma_f32_32x32x2bf16>;
393 def V_MFMA_F32_32X32X4BF16 : VOP3Inst<"v_mfma_f32_32x32x4bf16", VOPProfileMAI_F32_V2I16_X16, int_amdgcn_mfma_f32_32x32x4bf16>;
394 } // End isConvergent = 1
395
396 } // End SubtargetPredicate = HasMAIInsts
397
398 def : MnemonicAlias<"v_accvgpr_read", "v_accvgpr_read_b32">;
399 def : MnemonicAlias<"v_accvgpr_write", "v_accvgpr_write_b32">;
400
326401 multiclass VOP3P_Real_vi op> {
327402 def _vi : VOP3P_Real(NAME), SIEncodingFamily.VI>,
328403 VOP3Pe (NAME).Pfl> {
329404 let AssemblerPredicates = [HasVOP3PInsts];
405 let DecoderNamespace = "GFX8";
406 }
407 }
408
409 multiclass VOP3P_Real_MAI op> {
410 def _vi : VOP3P_Real(NAME), SIEncodingFamily.VI>,
411 VOP3Pe_MAI (NAME).Pfl> {
412 let AssemblerPredicates = [HasMAIInsts];
330413 let DecoderNamespace = "GFX8";
331414 }
332415 }
387470 defm V_DOT8_I32_I4 : VOP3P_Real_vi <0x3aa>;
388471
389472 } // End SubtargetPredicate = HasDot1Insts
473
474 let SubtargetPredicate = HasMAIInsts in {
475
476 defm V_ACCVGPR_READ_B32 : VOP3P_Real_MAI <0x3d8>;
477 defm V_ACCVGPR_WRITE_B32 : VOP3P_Real_MAI <0x3d9>;
478 defm V_MFMA_F32_32X32X1F32 : VOP3P_Real_MAI <0x3c0>;
479 defm V_MFMA_F32_16X16X1F32 : VOP3P_Real_MAI <0x3c1>;
480 defm V_MFMA_F32_4X4X1F32 : VOP3P_Real_MAI <0x3c2>;
481 defm V_MFMA_F32_32X32X2F32 : VOP3P_Real_MAI <0x3c4>;
482 defm V_MFMA_F32_16X16X4F32 : VOP3P_Real_MAI <0x3c5>;
483 defm V_MFMA_F32_32X32X4F16 : VOP3P_Real_MAI <0x3c8>;
484 defm V_MFMA_F32_16X16X4F16 : VOP3P_Real_MAI <0x3c9>;
485 defm V_MFMA_F32_4X4X4F16 : VOP3P_Real_MAI <0x3ca>;
486 defm V_MFMA_F32_32X32X8F16 : VOP3P_Real_MAI <0x3cc>;
487 defm V_MFMA_F32_16X16X16F16 : VOP3P_Real_MAI <0x3cd>;
488 defm V_MFMA_I32_32X32X4I8 : VOP3P_Real_MAI <0x3d0>;
489 defm V_MFMA_I32_16X16X4I8 : VOP3P_Real_MAI <0x3d1>;
490 defm V_MFMA_I32_4X4X4I8 : VOP3P_Real_MAI <0x3d2>;
491 defm V_MFMA_I32_32X32X8I8 : VOP3P_Real_MAI <0x3d4>;
492 defm V_MFMA_I32_16X16X16I8 : VOP3P_Real_MAI <0x3d5>;
493 defm V_MFMA_F32_32X32X2BF16 : VOP3P_Real_MAI <0x3e8>;
494 defm V_MFMA_F32_16X16X2BF16 : VOP3P_Real_MAI <0x3e9>;
495 defm V_MFMA_F32_4X4X2BF16 : VOP3P_Real_MAI <0x3eb>;
496 defm V_MFMA_F32_32X32X4BF16 : VOP3P_Real_MAI <0x3ec>;
497 defm V_MFMA_F32_16X16X8BF16 : VOP3P_Real_MAI <0x3ed>;
498
499 } // End SubtargetPredicate = HasMAIInsts
390500
391501 //===----------------------------------------------------------------------===//
392502 // GFX10.
8989
9090 let VOP3_OPSEL = isVop3OpSel;
9191 let IsPacked = P.IsPacked;
92 let IsMAI = P.IsMAI;
9293
9394 let AsmOperands = !if(isVop3OpSel,
9495 P.AsmVOP3OpSel,
324325 let Inst{62} = !if(P.HasSrc1Mods, src1_modifiers{0}, 0); // neg (lo)
325326 let Inst{63} = !if(P.HasSrc2Mods, src2_modifiers{0}, 0); // neg (lo)
326327 }
328
329 class VOP3Pe_MAI op, VOPProfile P> : Enc64 {
330 bits<8> vdst;
331 bits<10> src0;
332 bits<10> src1;
333 bits<9> src2;
334 bits<3> blgp;
335 bits<3> cbsz;
336 bits<4> abid;
337 bits<1> clamp;
338
339 let Inst{7-0} = vdst;
340
341 let Inst{10-8} = !if(P.HasSrc1, cbsz, 0);
342 let Inst{14-11} = !if(P.HasSrc1, abid, 0);
343
344 let Inst{15} = !if(P.HasClamp, clamp{0}, 0);
345
346 let Inst{25-16} = op;
347 let Inst{31-26} = 0x34; //encoding
348 let Inst{40-32} = !if(P.HasSrc0, src0{8-0}, 0);
349 let Inst{49-41} = !if(P.HasSrc1, src1{8-0}, 0);
350 let Inst{58-50} = !if(P.HasSrc2, src2, 0);
351
352 let Inst{59} = !if(P.HasSrc0, src0{9}, 0); // acc(0)
353 let Inst{60} = !if(P.HasSrc1, src1{9}, 0); // acc(1)
354
355 let Inst{63-61} = !if(P.HasSrc1, blgp, 0);
356 }
357
327358
328359 class VOP3Pe_gfx10 op, VOPProfile P> : VOP3Pe {
329360 let Inst{31-26} = 0x33; //encoding
0 // RUN: llvm-mc -arch=amdgcn -mcpu=gfx908 -show-encoding %s | FileCheck -check-prefix=GFX908 %s
1
2 v_accvgpr_read_b32 v2, acc0
3 // GFX908: v_accvgpr_read_b32 v2, a0 ; encoding: [0x02,0x00,0xd8,0xd3,0x00,0x01,0x00,0x08]
4
5 v_accvgpr_write_b32 acc2, -2.0
6 // GFX908: v_accvgpr_write_b32 a2, -2.0 ; encoding: [0x02,0x00,0xd9,0xd3,0xf5,0x00,0x00,0x00]
7
8 v_mfma_f32_32x32x1f32 acc[0:31], acc0, acc1, acc[1:32]
9 // GFX908: v_mfma_f32_32x32x1f32 a[0:31], a0, a1, a[1:32] ; encoding: [0x00,0x00,0xc0,0xd3,0x00,0x03,0x06,0x1c]
0 // RUN: not llvm-mc -arch=amdgcn -mcpu=gfx908 %s 2>&1 | FileCheck -check-prefix=GFX908 %s
1 // RUN: not llvm-mc -arch=amdgcn -mcpu=gfx900 %s 2>&1 | FileCheck -check-prefix=GFX900 %s
2
3 v_accvgpr_read_b32 v0, v0
4 // GFX908: error: invalid operand for instruction
5
6 v_accvgpr_read_b32 a0, a0
7 // GFX908: error: invalid operand for instruction
8
9 v_accvgpr_read_b32 v0, 1
10 // GFX908: error: invalid operand for instruction
11
12 v_accvgpr_read_b32 v0, s0
13 // GFX908: error: invalid operand for instruction
14
15 v_accvgpr_read_b32 v0, a0
16 // GFX900: error: instruction not supported on this GPU
17
18 v_accvgpr_write_b32 v0, v0
19 // GFX908: error: invalid operand for instruction
20
21 v_accvgpr_write_b32 a0, a0
22 // GFX908: error: invalid operand for instruction
23
24 v_accvgpr_write_b32 a0, s0
25 // GFX908: error: invalid operand for instruction
26
27 v_accvgpr_write_b32 a0, 65
28 // GFX908: error: invalid operand for instruction
29
30 v_accvgpr_write_b32 a0, v0
31 // GFX900: error: instruction not supported on this GPU
32
33 v_mfma_f32_32x32x1f32 v[0:31], v0, v1, a[1:32]
34 // GFX908: error: not a valid operand
35
36 v_mfma_f32_32x32x1f32 a[0:31], v0, v1, v[1:32]
37 // GFX908: error: not a valid operand
38
39 v_mfma_f32_32x32x1f32 a[0:31], s0, v1, a[1:32]
40 // GFX908: error: invalid operand for instruction
41
42 v_mfma_f32_32x32x1f32 a[0:31], 1, v1, a[1:32]
43 // GFX908: error: invalid operand for instruction
44
45 v_mfma_f32_32x32x1f32 a[0:31], v0, v1, 65
46 // GFX908: error: invalid operand for instruction
47
48 v_mfma_f32_32x32x1f32 a[0:31], v0, v1, 0
49 // GFX900: error: instruction not supported on this GPU
0 // RUN: llvm-mc -arch=amdgcn -mcpu=gfx908 -show-encoding %s | FileCheck -check-prefix=GFX908 %s
1
2 v_accvgpr_read_b32 v2, a0
3 // GFX908: v_accvgpr_read_b32 v2, a0 ; encoding: [0x02,0x00,0xd8,0xd3,0x00,0x01,0x00,0x08]
4
5 v_accvgpr_read_b32 v2, a1
6 // GFX908: v_accvgpr_read_b32 v2, a1 ; encoding: [0x02,0x00,0xd8,0xd3,0x01,0x01,0x00,0x08]
7
8 v_accvgpr_read_b32 v2, a255
9 // GFX908: v_accvgpr_read_b32 v2, a255 ; encoding: [0x02,0x00,0xd8,0xd3,0xff,0x01,0x00,0x08]
10
11 v_accvgpr_read v2, a10
12 // GFX908: v_accvgpr_read_b32 v2, a10 ; encoding: [0x02,0x00,0xd8,0xd3,0x0a,0x01,0x00,0x08]
13
14 v_accvgpr_write_b32 a2, -2.0
15 // GFX908: v_accvgpr_write_b32 a2, -2.0 ; encoding: [0x02,0x00,0xd9,0xd3,0xf5,0x00,0x00,0x00]
16
17 v_accvgpr_write_b32 a2, -2
18 // GFX908: v_accvgpr_write_b32 a2, -2 ; encoding: [0x02,0x00,0xd9,0xd3,0xc2,0x00,0x00,0x00]
19
20 v_accvgpr_write_b32 a2, v1
21 // GFX908: v_accvgpr_write_b32 a2, v1 ; encoding: [0x02,0x00,0xd9,0xd3,0x01,0x01,0x00,0x00]
22
23 v_accvgpr_write a2, v255
24 // GFX908: v_accvgpr_write_b32 a2, v255 ; encoding: [0x02,0x00,0xd9,0xd3,0xff,0x01,0x00,0x00]
25
26 v_mfma_f32_32x32x1f32 a[0:31], v0, v1, a[1:32]
27 // GFX908: v_mfma_f32_32x32x1f32 a[0:31], v0, v1, a[1:32] ; encoding: [0x00,0x00,0xc0,0xd3,0x00,0x03,0x06,0x04]
28
29 v_mfma_f32_32x32x1f32 a[0:31], v0, v1, a[1:32] cbsz:3 abid:2 blgp:7
30 // GFX908: v_mfma_f32_32x32x1f32 a[0:31], v0, v1, a[1:32] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc0,0xd3,0x00,0x03,0x06,0xe4]
31
32 v_mfma_f32_32x32x1f32 a[0:31], v0, a1, a[1:32]
33 // GFX908: v_mfma_f32_32x32x1f32 a[0:31], v0, a1, a[1:32] ; encoding: [0x00,0x00,0xc0,0xd3,0x00,0x03,0x06,0x14]
34
35 v_mfma_f32_32x32x1f32 a[0:31], v0, a1, a[1:32] cbsz:3 abid:2 blgp:7
36 // GFX908: v_mfma_f32_32x32x1f32 a[0:31], v0, a1, a[1:32] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc0,0xd3,0x00,0x03,0x06,0xf4]
37
38 v_mfma_f32_32x32x1f32 a[0:31], a0, v1, a[1:32]
39 // GFX908: v_mfma_f32_32x32x1f32 a[0:31], a0, v1, a[1:32] ; encoding: [0x00,0x00,0xc0,0xd3,0x00,0x03,0x06,0x0c]
40
41 v_mfma_f32_32x32x1f32 a[0:31], a0, v1, a[1:32] cbsz:3 abid:2 blgp:7
42 // GFX908: v_mfma_f32_32x32x1f32 a[0:31], a0, v1, a[1:32] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc0,0xd3,0x00,0x03,0x06,0xec]
43
44 v_mfma_f32_32x32x1f32 a[0:31], a0, a1, a[1:32]
45 // GFX908: v_mfma_f32_32x32x1f32 a[0:31], a0, a1, a[1:32] ; encoding: [0x00,0x00,0xc0,0xd3,0x00,0x03,0x06,0x1c]
46
47 v_mfma_f32_32x32x1f32 a[0:31], a0, a1, a[1:32] cbsz:3 abid:2 blgp:7
48 // GFX908: v_mfma_f32_32x32x1f32 a[0:31], a0, a1, a[1:32] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc0,0xd3,0x00,0x03,0x06,0xfc]
49
50 v_mfma_f32_32x32x1f32 a[0:31], v0, v1, -2.0
51 // GFX908: v_mfma_f32_32x32x1f32 a[0:31], v0, v1, -2.0 ; encoding: [0x00,0x00,0xc0,0xd3,0x00,0x03,0xd6,0x03]
52
53 v_mfma_f32_32x32x1f32 a[0:31], v0, v1, -2.0 cbsz:3 abid:2 blgp:7
54 // GFX908: v_mfma_f32_32x32x1f32 a[0:31], v0, v1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc0,0xd3,0x00,0x03,0xd6,0xe3]
55
56 v_mfma_f32_32x32x1f32 a[0:31], v0, a1, -2.0
57 // GFX908: v_mfma_f32_32x32x1f32 a[0:31], v0, a1, -2.0 ; encoding: [0x00,0x00,0xc0,0xd3,0x00,0x03,0xd6,0x13]
58
59 v_mfma_f32_32x32x1f32 a[0:31], v0, a1, -2.0 cbsz:3 abid:2 blgp:7
60 // GFX908: v_mfma_f32_32x32x1f32 a[0:31], v0, a1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc0,0xd3,0x00,0x03,0xd6,0xf3]
61
62 v_mfma_f32_32x32x1f32 a[0:31], a0, v1, -2.0
63 // GFX908: v_mfma_f32_32x32x1f32 a[0:31], a0, v1, -2.0 ; encoding: [0x00,0x00,0xc0,0xd3,0x00,0x03,0xd6,0x0b]
64
65 v_mfma_f32_32x32x1f32 a[0:31], a0, v1, -2.0 cbsz:3 abid:2 blgp:7
66 // GFX908: v_mfma_f32_32x32x1f32 a[0:31], a0, v1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc0,0xd3,0x00,0x03,0xd6,0xeb]
67
68 v_mfma_f32_32x32x1f32 a[0:31], a0, a1, -2.0
69 // GFX908: v_mfma_f32_32x32x1f32 a[0:31], a0, a1, -2.0 ; encoding: [0x00,0x00,0xc0,0xd3,0x00,0x03,0xd6,0x1b]
70
71 v_mfma_f32_32x32x1f32 a[0:31], a0, a1, -2.0 cbsz:3 abid:2 blgp:7
72 // GFX908: v_mfma_f32_32x32x1f32 a[0:31], a0, a1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc0,0xd3,0x00,0x03,0xd6,0xfb]
73
74 v_mfma_f32_16x16x1f32 a[0:15], v0, v1, a[1:16]
75 // GFX908: v_mfma_f32_16x16x1f32 a[0:15], v0, v1, a[1:16] ; encoding: [0x00,0x00,0xc1,0xd3,0x00,0x03,0x06,0x04]
76
77 v_mfma_f32_16x16x1f32 a[0:15], v0, v1, a[1:16] cbsz:3 abid:2 blgp:7
78 // GFX908: v_mfma_f32_16x16x1f32 a[0:15], v0, v1, a[1:16] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc1,0xd3,0x00,0x03,0x06,0xe4]
79
80 v_mfma_f32_16x16x1f32 a[0:15], v0, a1, a[1:16]
81 // GFX908: v_mfma_f32_16x16x1f32 a[0:15], v0, a1, a[1:16] ; encoding: [0x00,0x00,0xc1,0xd3,0x00,0x03,0x06,0x14]
82
83 v_mfma_f32_16x16x1f32 a[0:15], v0, a1, a[1:16] cbsz:3 abid:2 blgp:7
84 // GFX908: v_mfma_f32_16x16x1f32 a[0:15], v0, a1, a[1:16] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc1,0xd3,0x00,0x03,0x06,0xf4]
85
86 v_mfma_f32_16x16x1f32 a[0:15], a0, v1, a[1:16]
87 // GFX908: v_mfma_f32_16x16x1f32 a[0:15], a0, v1, a[1:16] ; encoding: [0x00,0x00,0xc1,0xd3,0x00,0x03,0x06,0x0c]
88
89 v_mfma_f32_16x16x1f32 a[0:15], a0, v1, a[1:16] cbsz:3 abid:2 blgp:7
90 // GFX908: v_mfma_f32_16x16x1f32 a[0:15], a0, v1, a[1:16] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc1,0xd3,0x00,0x03,0x06,0xec]
91
92 v_mfma_f32_16x16x1f32 a[0:15], a0, a1, a[1:16]
93 // GFX908: v_mfma_f32_16x16x1f32 a[0:15], a0, a1, a[1:16] ; encoding: [0x00,0x00,0xc1,0xd3,0x00,0x03,0x06,0x1c]
94
95 v_mfma_f32_16x16x1f32 a[0:15], a0, a1, a[1:16] cbsz:3 abid:2 blgp:7
96 // GFX908: v_mfma_f32_16x16x1f32 a[0:15], a0, a1, a[1:16] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc1,0xd3,0x00,0x03,0x06,0xfc]
97
98 v_mfma_f32_16x16x1f32 a[0:15], v0, v1, -2.0
99 // GFX908: v_mfma_f32_16x16x1f32 a[0:15], v0, v1, -2.0 ; encoding: [0x00,0x00,0xc1,0xd3,0x00,0x03,0xd6,0x03]
100
101 v_mfma_f32_16x16x1f32 a[0:15], v0, v1, -2.0 cbsz:3 abid:2 blgp:7
102 // GFX908: v_mfma_f32_16x16x1f32 a[0:15], v0, v1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc1,0xd3,0x00,0x03,0xd6,0xe3]
103
104 v_mfma_f32_16x16x1f32 a[0:15], v0, a1, -2.0
105 // GFX908: v_mfma_f32_16x16x1f32 a[0:15], v0, a1, -2.0 ; encoding: [0x00,0x00,0xc1,0xd3,0x00,0x03,0xd6,0x13]
106
107 v_mfma_f32_16x16x1f32 a[0:15], v0, a1, -2.0 cbsz:3 abid:2 blgp:7
108 // GFX908: v_mfma_f32_16x16x1f32 a[0:15], v0, a1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc1,0xd3,0x00,0x03,0xd6,0xf3]
109
110 v_mfma_f32_16x16x1f32 a[0:15], a0, v1, -2.0
111 // GFX908: v_mfma_f32_16x16x1f32 a[0:15], a0, v1, -2.0 ; encoding: [0x00,0x00,0xc1,0xd3,0x00,0x03,0xd6,0x0b]
112
113 v_mfma_f32_16x16x1f32 a[0:15], a0, v1, -2.0 cbsz:3 abid:2 blgp:7
114 // GFX908: v_mfma_f32_16x16x1f32 a[0:15], a0, v1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc1,0xd3,0x00,0x03,0xd6,0xeb]
115
116 v_mfma_f32_16x16x1f32 a[0:15], a0, a1, -2.0
117 // GFX908: v_mfma_f32_16x16x1f32 a[0:15], a0, a1, -2.0 ; encoding: [0x00,0x00,0xc1,0xd3,0x00,0x03,0xd6,0x1b]
118
119 v_mfma_f32_16x16x1f32 a[0:15], a0, a1, -2.0 cbsz:3 abid:2 blgp:7
120 // GFX908: v_mfma_f32_16x16x1f32 a[0:15], a0, a1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc1,0xd3,0x00,0x03,0xd6,0xfb]
121
122 v_mfma_f32_4x4x1f32 a[0:3], v0, v1, a[1:4]
123 // GFX908: v_mfma_f32_4x4x1f32 a[0:3], v0, v1, a[1:4] ; encoding: [0x00,0x00,0xc2,0xd3,0x00,0x03,0x06,0x04]
124
125 v_mfma_f32_4x4x1f32 a[0:3], v0, v1, a[1:4] cbsz:3 abid:2 blgp:7
126 // GFX908: v_mfma_f32_4x4x1f32 a[0:3], v0, v1, a[1:4] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc2,0xd3,0x00,0x03,0x06,0xe4]
127
128 v_mfma_f32_4x4x1f32 a[0:3], v0, a1, a[1:4]
129 // GFX908: v_mfma_f32_4x4x1f32 a[0:3], v0, a1, a[1:4] ; encoding: [0x00,0x00,0xc2,0xd3,0x00,0x03,0x06,0x14]
130
131 v_mfma_f32_4x4x1f32 a[0:3], v0, a1, a[1:4] cbsz:3 abid:2 blgp:7
132 // GFX908: v_mfma_f32_4x4x1f32 a[0:3], v0, a1, a[1:4] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc2,0xd3,0x00,0x03,0x06,0xf4]
133
134 v_mfma_f32_4x4x1f32 a[0:3], a0, v1, a[1:4]
135 // GFX908: v_mfma_f32_4x4x1f32 a[0:3], a0, v1, a[1:4] ; encoding: [0x00,0x00,0xc2,0xd3,0x00,0x03,0x06,0x0c]
136
137 v_mfma_f32_4x4x1f32 a[0:3], a0, v1, a[1:4] cbsz:3 abid:2 blgp:7
138 // GFX908: v_mfma_f32_4x4x1f32 a[0:3], a0, v1, a[1:4] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc2,0xd3,0x00,0x03,0x06,0xec]
139
140 v_mfma_f32_4x4x1f32 a[0:3], a0, a1, a[1:4]
141 // GFX908: v_mfma_f32_4x4x1f32 a[0:3], a0, a1, a[1:4] ; encoding: [0x00,0x00,0xc2,0xd3,0x00,0x03,0x06,0x1c]
142
143 v_mfma_f32_4x4x1f32 a[0:3], a0, a1, a[1:4] cbsz:3 abid:2 blgp:7
144 // GFX908: v_mfma_f32_4x4x1f32 a[0:3], a0, a1, a[1:4] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc2,0xd3,0x00,0x03,0x06,0xfc]
145
146 v_mfma_f32_4x4x1f32 a[0:3], v0, v1, -2.0
147 // GFX908: v_mfma_f32_4x4x1f32 a[0:3], v0, v1, -2.0 ; encoding: [0x00,0x00,0xc2,0xd3,0x00,0x03,0xd6,0x03]
148
149 v_mfma_f32_4x4x1f32 a[0:3], v0, v1, -2.0 cbsz:3 abid:2 blgp:7
150 // GFX908: v_mfma_f32_4x4x1f32 a[0:3], v0, v1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc2,0xd3,0x00,0x03,0xd6,0xe3]
151
152 v_mfma_f32_4x4x1f32 a[0:3], v0, a1, -2.0
153 // GFX908: v_mfma_f32_4x4x1f32 a[0:3], v0, a1, -2.0 ; encoding: [0x00,0x00,0xc2,0xd3,0x00,0x03,0xd6,0x13]
154
155 v_mfma_f32_4x4x1f32 a[0:3], v0, a1, -2.0 cbsz:3 abid:2 blgp:7
156 // GFX908: v_mfma_f32_4x4x1f32 a[0:3], v0, a1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc2,0xd3,0x00,0x03,0xd6,0xf3]
157
158 v_mfma_f32_4x4x1f32 a[0:3], a0, v1, -2.0
159 // GFX908: v_mfma_f32_4x4x1f32 a[0:3], a0, v1, -2.0 ; encoding: [0x00,0x00,0xc2,0xd3,0x00,0x03,0xd6,0x0b]
160
161 v_mfma_f32_4x4x1f32 a[0:3], a0, v1, -2.0 cbsz:3 abid:2 blgp:7
162 // GFX908: v_mfma_f32_4x4x1f32 a[0:3], a0, v1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc2,0xd3,0x00,0x03,0xd6,0xeb]
163
164 v_mfma_f32_4x4x1f32 a[0:3], a0, a1, -2.0
165 // GFX908: v_mfma_f32_4x4x1f32 a[0:3], a0, a1, -2.0 ; encoding: [0x00,0x00,0xc2,0xd3,0x00,0x03,0xd6,0x1b]
166
167 v_mfma_f32_4x4x1f32 a[0:3], a0, a1, -2.0 cbsz:3 abid:2 blgp:7
168 // GFX908: v_mfma_f32_4x4x1f32 a[0:3], a0, a1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc2,0xd3,0x00,0x03,0xd6,0xfb]
169
170 v_mfma_f32_32x32x2f32 a[0:15], v0, v1, a[1:16]
171 // GFX908: v_mfma_f32_32x32x2f32 a[0:15], v0, v1, a[1:16] ; encoding: [0x00,0x00,0xc4,0xd3,0x00,0x03,0x06,0x04]
172
173 v_mfma_f32_32x32x2f32 a[0:15], v0, v1, a[1:16] cbsz:3 abid:2 blgp:7
174 // GFX908: v_mfma_f32_32x32x2f32 a[0:15], v0, v1, a[1:16] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc4,0xd3,0x00,0x03,0x06,0xe4]
175
176 v_mfma_f32_32x32x2f32 a[0:15], v0, a1, a[1:16]
177 // GFX908: v_mfma_f32_32x32x2f32 a[0:15], v0, a1, a[1:16] ; encoding: [0x00,0x00,0xc4,0xd3,0x00,0x03,0x06,0x14]
178
179 v_mfma_f32_32x32x2f32 a[0:15], v0, a1, a[1:16] cbsz:3 abid:2 blgp:7
180 // GFX908: v_mfma_f32_32x32x2f32 a[0:15], v0, a1, a[1:16] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc4,0xd3,0x00,0x03,0x06,0xf4]
181
182 v_mfma_f32_32x32x2f32 a[0:15], a0, v1, a[1:16]
183 // GFX908: v_mfma_f32_32x32x2f32 a[0:15], a0, v1, a[1:16] ; encoding: [0x00,0x00,0xc4,0xd3,0x00,0x03,0x06,0x0c]
184
185 v_mfma_f32_32x32x2f32 a[0:15], a0, v1, a[1:16] cbsz:3 abid:2 blgp:7
186 // GFX908: v_mfma_f32_32x32x2f32 a[0:15], a0, v1, a[1:16] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc4,0xd3,0x00,0x03,0x06,0xec]
187
188 v_mfma_f32_32x32x2f32 a[0:15], a0, a1, a[1:16]
189 // GFX908: v_mfma_f32_32x32x2f32 a[0:15], a0, a1, a[1:16] ; encoding: [0x00,0x00,0xc4,0xd3,0x00,0x03,0x06,0x1c]
190
191 v_mfma_f32_32x32x2f32 a[0:15], a0, a1, a[1:16] cbsz:3 abid:2 blgp:7
192 // GFX908: v_mfma_f32_32x32x2f32 a[0:15], a0, a1, a[1:16] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc4,0xd3,0x00,0x03,0x06,0xfc]
193
194 v_mfma_f32_32x32x2f32 a[0:15], v0, v1, -2.0
195 // GFX908: v_mfma_f32_32x32x2f32 a[0:15], v0, v1, -2.0 ; encoding: [0x00,0x00,0xc4,0xd3,0x00,0x03,0xd6,0x03]
196
197 v_mfma_f32_32x32x2f32 a[0:15], v0, v1, -2.0 cbsz:3 abid:2 blgp:7
198 // GFX908: v_mfma_f32_32x32x2f32 a[0:15], v0, v1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc4,0xd3,0x00,0x03,0xd6,0xe3]
199
200 v_mfma_f32_32x32x2f32 a[0:15], v0, a1, -2.0
201 // GFX908: v_mfma_f32_32x32x2f32 a[0:15], v0, a1, -2.0 ; encoding: [0x00,0x00,0xc4,0xd3,0x00,0x03,0xd6,0x13]
202
203 v_mfma_f32_32x32x2f32 a[0:15], v0, a1, -2.0 cbsz:3 abid:2 blgp:7
204 // GFX908: v_mfma_f32_32x32x2f32 a[0:15], v0, a1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc4,0xd3,0x00,0x03,0xd6,0xf3]
205
206 v_mfma_f32_32x32x2f32 a[0:15], a0, v1, -2.0
207 // GFX908: v_mfma_f32_32x32x2f32 a[0:15], a0, v1, -2.0 ; encoding: [0x00,0x00,0xc4,0xd3,0x00,0x03,0xd6,0x0b]
208
209 v_mfma_f32_32x32x2f32 a[0:15], a0, v1, -2.0 cbsz:3 abid:2 blgp:7
210 // GFX908: v_mfma_f32_32x32x2f32 a[0:15], a0, v1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc4,0xd3,0x00,0x03,0xd6,0xeb]
211
212 v_mfma_f32_32x32x2f32 a[0:15], a0, a1, -2.0
213 // GFX908: v_mfma_f32_32x32x2f32 a[0:15], a0, a1, -2.0 ; encoding: [0x00,0x00,0xc4,0xd3,0x00,0x03,0xd6,0x1b]
214
215 v_mfma_f32_32x32x2f32 a[0:15], a0, a1, -2.0 cbsz:3 abid:2 blgp:7
216 // GFX908: v_mfma_f32_32x32x2f32 a[0:15], a0, a1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc4,0xd3,0x00,0x03,0xd6,0xfb]
217
218 v_mfma_f32_16x16x4f32 a[0:3], v0, v1, a[1:4]
219 // GFX908: v_mfma_f32_16x16x4f32 a[0:3], v0, v1, a[1:4] ; encoding: [0x00,0x00,0xc5,0xd3,0x00,0x03,0x06,0x04]
220
221 v_mfma_f32_16x16x4f32 a[0:3], v0, v1, a[1:4] cbsz:3 abid:2 blgp:7
222 // GFX908: v_mfma_f32_16x16x4f32 a[0:3], v0, v1, a[1:4] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc5,0xd3,0x00,0x03,0x06,0xe4]
223
224 v_mfma_f32_16x16x4f32 a[0:3], v0, a1, a[1:4]
225 // GFX908: v_mfma_f32_16x16x4f32 a[0:3], v0, a1, a[1:4] ; encoding: [0x00,0x00,0xc5,0xd3,0x00,0x03,0x06,0x14]
226
227 v_mfma_f32_16x16x4f32 a[0:3], v0, a1, a[1:4] cbsz:3 abid:2 blgp:7
228 // GFX908: v_mfma_f32_16x16x4f32 a[0:3], v0, a1, a[1:4] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc5,0xd3,0x00,0x03,0x06,0xf4]
229
230 v_mfma_f32_16x16x4f32 a[0:3], a0, v1, a[1:4]
231 // GFX908: v_mfma_f32_16x16x4f32 a[0:3], a0, v1, a[1:4] ; encoding: [0x00,0x00,0xc5,0xd3,0x00,0x03,0x06,0x0c]
232
233 v_mfma_f32_16x16x4f32 a[0:3], a0, v1, a[1:4] cbsz:3 abid:2 blgp:7
234 // GFX908: v_mfma_f32_16x16x4f32 a[0:3], a0, v1, a[1:4] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc5,0xd3,0x00,0x03,0x06,0xec]
235
236 v_mfma_f32_16x16x4f32 a[0:3], a0, a1, a[1:4]
237 // GFX908: v_mfma_f32_16x16x4f32 a[0:3], a0, a1, a[1:4] ; encoding: [0x00,0x00,0xc5,0xd3,0x00,0x03,0x06,0x1c]
238
239 v_mfma_f32_16x16x4f32 a[0:3], a0, a1, a[1:4] cbsz:3 abid:2 blgp:7
240 // GFX908: v_mfma_f32_16x16x4f32 a[0:3], a0, a1, a[1:4] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc5,0xd3,0x00,0x03,0x06,0xfc]
241
242 v_mfma_f32_16x16x4f32 a[0:3], v0, v1, -2.0
243 // GFX908: v_mfma_f32_16x16x4f32 a[0:3], v0, v1, -2.0 ; encoding: [0x00,0x00,0xc5,0xd3,0x00,0x03,0xd6,0x03]
244
245 v_mfma_f32_16x16x4f32 a[0:3], v0, v1, -2.0 cbsz:3 abid:2 blgp:7
246 // GFX908: v_mfma_f32_16x16x4f32 a[0:3], v0, v1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc5,0xd3,0x00,0x03,0xd6,0xe3]
247
248 v_mfma_f32_16x16x4f32 a[0:3], v0, a1, -2.0
249 // GFX908: v_mfma_f32_16x16x4f32 a[0:3], v0, a1, -2.0 ; encoding: [0x00,0x00,0xc5,0xd3,0x00,0x03,0xd6,0x13]
250
251 v_mfma_f32_16x16x4f32 a[0:3], v0, a1, -2.0 cbsz:3 abid:2 blgp:7
252 // GFX908: v_mfma_f32_16x16x4f32 a[0:3], v0, a1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc5,0xd3,0x00,0x03,0xd6,0xf3]
253
254 v_mfma_f32_16x16x4f32 a[0:3], a0, v1, -2.0
255 // GFX908: v_mfma_f32_16x16x4f32 a[0:3], a0, v1, -2.0 ; encoding: [0x00,0x00,0xc5,0xd3,0x00,0x03,0xd6,0x0b]
256
257 v_mfma_f32_16x16x4f32 a[0:3], a0, v1, -2.0 cbsz:3 abid:2 blgp:7
258 // GFX908: v_mfma_f32_16x16x4f32 a[0:3], a0, v1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc5,0xd3,0x00,0x03,0xd6,0xeb]
259
260 v_mfma_f32_16x16x4f32 a[0:3], a0, a1, -2.0
261 // GFX908: v_mfma_f32_16x16x4f32 a[0:3], a0, a1, -2.0 ; encoding: [0x00,0x00,0xc5,0xd3,0x00,0x03,0xd6,0x1b]
262
263 v_mfma_f32_16x16x4f32 a[0:3], a0, a1, -2.0 cbsz:3 abid:2 blgp:7
264 // GFX908: v_mfma_f32_16x16x4f32 a[0:3], a0, a1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc5,0xd3,0x00,0x03,0xd6,0xfb]
265
266 v_mfma_f32_32x32x4f16 a[0:31], v[0:1], v[1:2], a[1:32]
267 // GFX908: v_mfma_f32_32x32x4f16 a[0:31], v[0:1], v[1:2], a[1:32] ; encoding: [0x00,0x00,0xc8,0xd3,0x00,0x03,0x06,0x04]
268
269 v_mfma_f32_32x32x4f16 a[0:31], v[0:1], v[1:2], a[1:32] cbsz:3 abid:2 blgp:7
270 // GFX908: v_mfma_f32_32x32x4f16 a[0:31], v[0:1], v[1:2], a[1:32] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc8,0xd3,0x00,0x03,0x06,0xe4]
271
272 v_mfma_f32_32x32x4f16 a[0:31], v[0:1], a[1:2], a[1:32]
273 // GFX908: v_mfma_f32_32x32x4f16 a[0:31], v[0:1], a[1:2], a[1:32] ; encoding: [0x00,0x00,0xc8,0xd3,0x00,0x03,0x06,0x14]
274
275 v_mfma_f32_32x32x4f16 a[0:31], v[0:1], a[1:2], a[1:32] cbsz:3 abid:2 blgp:7
276 // GFX908: v_mfma_f32_32x32x4f16 a[0:31], v[0:1], a[1:2], a[1:32] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc8,0xd3,0x00,0x03,0x06,0xf4]
277
278 v_mfma_f32_32x32x4f16 a[0:31], a[0:1], v[1:2], a[1:32]
279 // GFX908: v_mfma_f32_32x32x4f16 a[0:31], a[0:1], v[1:2], a[1:32] ; encoding: [0x00,0x00,0xc8,0xd3,0x00,0x03,0x06,0x0c]
280
281 v_mfma_f32_32x32x4f16 a[0:31], a[0:1], v[1:2], a[1:32] cbsz:3 abid:2 blgp:7
282 // GFX908: v_mfma_f32_32x32x4f16 a[0:31], a[0:1], v[1:2], a[1:32] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc8,0xd3,0x00,0x03,0x06,0xec]
283
284 v_mfma_f32_32x32x4f16 a[0:31], a[0:1], a[1:2], a[1:32]
285 // GFX908: v_mfma_f32_32x32x4f16 a[0:31], a[0:1], a[1:2], a[1:32] ; encoding: [0x00,0x00,0xc8,0xd3,0x00,0x03,0x06,0x1c]
286
287 v_mfma_f32_32x32x4f16 a[0:31], a[0:1], a[1:2], a[1:32] cbsz:3 abid:2 blgp:7
288 // GFX908: v_mfma_f32_32x32x4f16 a[0:31], a[0:1], a[1:2], a[1:32] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc8,0xd3,0x00,0x03,0x06,0xfc]
289
290 v_mfma_f32_32x32x4f16 a[0:31], v[0:1], v[1:2], -2.0
291 // GFX908: v_mfma_f32_32x32x4f16 a[0:31], v[0:1], v[1:2], -2.0 ; encoding: [0x00,0x00,0xc8,0xd3,0x00,0x03,0xd6,0x03]
292
293 v_mfma_f32_32x32x4f16 a[0:31], v[0:1], v[1:2], -2.0 cbsz:3 abid:2 blgp:7
294 // GFX908: v_mfma_f32_32x32x4f16 a[0:31], v[0:1], v[1:2], -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc8,0xd3,0x00,0x03,0xd6,0xe3]
295
296 v_mfma_f32_32x32x4f16 a[0:31], v[0:1], a[1:2], -2.0
297 // GFX908: v_mfma_f32_32x32x4f16 a[0:31], v[0:1], a[1:2], -2.0 ; encoding: [0x00,0x00,0xc8,0xd3,0x00,0x03,0xd6,0x13]
298
299 v_mfma_f32_32x32x4f16 a[0:31], v[0:1], a[1:2], -2.0 cbsz:3 abid:2 blgp:7
300 // GFX908: v_mfma_f32_32x32x4f16 a[0:31], v[0:1], a[1:2], -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc8,0xd3,0x00,0x03,0xd6,0xf3]
301
302 v_mfma_f32_32x32x4f16 a[0:31], a[0:1], v[1:2], -2.0
303 // GFX908: v_mfma_f32_32x32x4f16 a[0:31], a[0:1], v[1:2], -2.0 ; encoding: [0x00,0x00,0xc8,0xd3,0x00,0x03,0xd6,0x0b]
304
305 v_mfma_f32_32x32x4f16 a[0:31], a[0:1], v[1:2], -2.0 cbsz:3 abid:2 blgp:7
306 // GFX908: v_mfma_f32_32x32x4f16 a[0:31], a[0:1], v[1:2], -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc8,0xd3,0x00,0x03,0xd6,0xeb]
307
308 v_mfma_f32_32x32x4f16 a[0:31], a[0:1], a[1:2], -2.0
309 // GFX908: v_mfma_f32_32x32x4f16 a[0:31], a[0:1], a[1:2], -2.0 ; encoding: [0x00,0x00,0xc8,0xd3,0x00,0x03,0xd6,0x1b]
310
311 v_mfma_f32_32x32x4f16 a[0:31], a[0:1], a[1:2], -2.0 cbsz:3 abid:2 blgp:7
312 // GFX908: v_mfma_f32_32x32x4f16 a[0:31], a[0:1], a[1:2], -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc8,0xd3,0x00,0x03,0xd6,0xfb]
313
314 v_mfma_f32_16x16x4f16 a[0:15], v[0:1], v[1:2], a[1:16]
315 // GFX908: v_mfma_f32_16x16x4f16 a[0:15], v[0:1], v[1:2], a[1:16] ; encoding: [0x00,0x00,0xc9,0xd3,0x00,0x03,0x06,0x04]
316
317 v_mfma_f32_16x16x4f16 a[0:15], v[0:1], v[1:2], a[1:16] cbsz:3 abid:2 blgp:7
318 // GFX908: v_mfma_f32_16x16x4f16 a[0:15], v[0:1], v[1:2], a[1:16] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc9,0xd3,0x00,0x03,0x06,0xe4]
319
320 v_mfma_f32_16x16x4f16 a[0:15], v[0:1], a[1:2], a[1:16]
321 // GFX908: v_mfma_f32_16x16x4f16 a[0:15], v[0:1], a[1:2], a[1:16] ; encoding: [0x00,0x00,0xc9,0xd3,0x00,0x03,0x06,0x14]
322
323 v_mfma_f32_16x16x4f16 a[0:15], v[0:1], a[1:2], a[1:16] cbsz:3 abid:2 blgp:7
324 // GFX908: v_mfma_f32_16x16x4f16 a[0:15], v[0:1], a[1:2], a[1:16] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc9,0xd3,0x00,0x03,0x06,0xf4]
325
326 v_mfma_f32_16x16x4f16 a[0:15], a[0:1], v[1:2], a[1:16]
327 // GFX908: v_mfma_f32_16x16x4f16 a[0:15], a[0:1], v[1:2], a[1:16] ; encoding: [0x00,0x00,0xc9,0xd3,0x00,0x03,0x06,0x0c]
328
329 v_mfma_f32_16x16x4f16 a[0:15], a[0:1], v[1:2], a[1:16] cbsz:3 abid:2 blgp:7
330 // GFX908: v_mfma_f32_16x16x4f16 a[0:15], a[0:1], v[1:2], a[1:16] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc9,0xd3,0x00,0x03,0x06,0xec]
331
332 v_mfma_f32_16x16x4f16 a[0:15], a[0:1], a[1:2], a[1:16]
333 // GFX908: v_mfma_f32_16x16x4f16 a[0:15], a[0:1], a[1:2], a[1:16] ; encoding: [0x00,0x00,0xc9,0xd3,0x00,0x03,0x06,0x1c]
334
335 v_mfma_f32_16x16x4f16 a[0:15], a[0:1], a[1:2], a[1:16] cbsz:3 abid:2 blgp:7
336 // GFX908: v_mfma_f32_16x16x4f16 a[0:15], a[0:1], a[1:2], a[1:16] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc9,0xd3,0x00,0x03,0x06,0xfc]
337
338 v_mfma_f32_16x16x4f16 a[0:15], v[0:1], v[1:2], -2.0
339 // GFX908: v_mfma_f32_16x16x4f16 a[0:15], v[0:1], v[1:2], -2.0 ; encoding: [0x00,0x00,0xc9,0xd3,0x00,0x03,0xd6,0x03]
340
341 v_mfma_f32_16x16x4f16 a[0:15], v[0:1], v[1:2], -2.0 cbsz:3 abid:2 blgp:7
342 // GFX908: v_mfma_f32_16x16x4f16 a[0:15], v[0:1], v[1:2], -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc9,0xd3,0x00,0x03,0xd6,0xe3]
343
344 v_mfma_f32_16x16x4f16 a[0:15], v[0:1], a[1:2], -2.0
345 // GFX908: v_mfma_f32_16x16x4f16 a[0:15], v[0:1], a[1:2], -2.0 ; encoding: [0x00,0x00,0xc9,0xd3,0x00,0x03,0xd6,0x13]
346
347 v_mfma_f32_16x16x4f16 a[0:15], v[0:1], a[1:2], -2.0 cbsz:3 abid:2 blgp:7
348 // GFX908: v_mfma_f32_16x16x4f16 a[0:15], v[0:1], a[1:2], -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc9,0xd3,0x00,0x03,0xd6,0xf3]
349
350 v_mfma_f32_16x16x4f16 a[0:15], a[0:1], v[1:2], -2.0
351 // GFX908: v_mfma_f32_16x16x4f16 a[0:15], a[0:1], v[1:2], -2.0 ; encoding: [0x00,0x00,0xc9,0xd3,0x00,0x03,0xd6,0x0b]
352
353 v_mfma_f32_16x16x4f16 a[0:15], a[0:1], v[1:2], -2.0 cbsz:3 abid:2 blgp:7
354 // GFX908: v_mfma_f32_16x16x4f16 a[0:15], a[0:1], v[1:2], -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc9,0xd3,0x00,0x03,0xd6,0xeb]
355
356 v_mfma_f32_16x16x4f16 a[0:15], a[0:1], a[1:2], -2.0
357 // GFX908: v_mfma_f32_16x16x4f16 a[0:15], a[0:1], a[1:2], -2.0 ; encoding: [0x00,0x00,0xc9,0xd3,0x00,0x03,0xd6,0x1b]
358
359 v_mfma_f32_16x16x4f16 a[0:15], a[0:1], a[1:2], -2.0 cbsz:3 abid:2 blgp:7
360 // GFX908: v_mfma_f32_16x16x4f16 a[0:15], a[0:1], a[1:2], -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc9,0xd3,0x00,0x03,0xd6,0xfb]
361
362 v_mfma_f32_4x4x4f16 a[0:3], v[0:1], v[1:2], a[1:4]
363 // GFX908: v_mfma_f32_4x4x4f16 a[0:3], v[0:1], v[1:2], a[1:4] ; encoding: [0x00,0x00,0xca,0xd3,0x00,0x03,0x06,0x04]
364
365 v_mfma_f32_4x4x4f16 a[0:3], v[0:1], v[1:2], a[1:4] cbsz:3 abid:2 blgp:7
366 // GFX908: v_mfma_f32_4x4x4f16 a[0:3], v[0:1], v[1:2], a[1:4] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xca,0xd3,0x00,0x03,0x06,0xe4]
367
368 v_mfma_f32_4x4x4f16 a[0:3], v[0:1], a[1:2], a[1:4]
369 // GFX908: v_mfma_f32_4x4x4f16 a[0:3], v[0:1], a[1:2], a[1:4] ; encoding: [0x00,0x00,0xca,0xd3,0x00,0x03,0x06,0x14]
370
371 v_mfma_f32_4x4x4f16 a[0:3], v[0:1], a[1:2], a[1:4] cbsz:3 abid:2 blgp:7
372 // GFX908: v_mfma_f32_4x4x4f16 a[0:3], v[0:1], a[1:2], a[1:4] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xca,0xd3,0x00,0x03,0x06,0xf4]
373
374 v_mfma_f32_4x4x4f16 a[0:3], a[0:1], v[1:2], a[1:4]
375 // GFX908: v_mfma_f32_4x4x4f16 a[0:3], a[0:1], v[1:2], a[1:4] ; encoding: [0x00,0x00,0xca,0xd3,0x00,0x03,0x06,0x0c]
376
377 v_mfma_f32_4x4x4f16 a[0:3], a[0:1], v[1:2], a[1:4] cbsz:3 abid:2 blgp:7
378 // GFX908: v_mfma_f32_4x4x4f16 a[0:3], a[0:1], v[1:2], a[1:4] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xca,0xd3,0x00,0x03,0x06,0xec]
379
380 v_mfma_f32_4x4x4f16 a[0:3], a[0:1], a[1:2], a[1:4]
381 // GFX908: v_mfma_f32_4x4x4f16 a[0:3], a[0:1], a[1:2], a[1:4] ; encoding: [0x00,0x00,0xca,0xd3,0x00,0x03,0x06,0x1c]
382
383 v_mfma_f32_4x4x4f16 a[0:3], a[0:1], a[1:2], a[1:4] cbsz:3 abid:2 blgp:7
384 // GFX908: v_mfma_f32_4x4x4f16 a[0:3], a[0:1], a[1:2], a[1:4] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xca,0xd3,0x00,0x03,0x06,0xfc]
385
386 v_mfma_f32_4x4x4f16 a[0:3], v[0:1], v[1:2], -2.0
387 // GFX908: v_mfma_f32_4x4x4f16 a[0:3], v[0:1], v[1:2], -2.0 ; encoding: [0x00,0x00,0xca,0xd3,0x00,0x03,0xd6,0x03]
388
389 v_mfma_f32_4x4x4f16 a[0:3], v[0:1], v[1:2], -2.0 cbsz:3 abid:2 blgp:7
390 // GFX908: v_mfma_f32_4x4x4f16 a[0:3], v[0:1], v[1:2], -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xca,0xd3,0x00,0x03,0xd6,0xe3]
391
392 v_mfma_f32_4x4x4f16 a[0:3], v[0:1], a[1:2], -2.0
393 // GFX908: v_mfma_f32_4x4x4f16 a[0:3], v[0:1], a[1:2], -2.0 ; encoding: [0x00,0x00,0xca,0xd3,0x00,0x03,0xd6,0x13]
394
395 v_mfma_f32_4x4x4f16 a[0:3], v[0:1], a[1:2], -2.0 cbsz:3 abid:2 blgp:7
396 // GFX908: v_mfma_f32_4x4x4f16 a[0:3], v[0:1], a[1:2], -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xca,0xd3,0x00,0x03,0xd6,0xf3]
397
398 v_mfma_f32_4x4x4f16 a[0:3], a[0:1], v[1:2], -2.0
399 // GFX908: v_mfma_f32_4x4x4f16 a[0:3], a[0:1], v[1:2], -2.0 ; encoding: [0x00,0x00,0xca,0xd3,0x00,0x03,0xd6,0x0b]
400
401 v_mfma_f32_4x4x4f16 a[0:3], a[0:1], v[1:2], -2.0 cbsz:3 abid:2 blgp:7
402 // GFX908: v_mfma_f32_4x4x4f16 a[0:3], a[0:1], v[1:2], -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xca,0xd3,0x00,0x03,0xd6,0xeb]
403
404 v_mfma_f32_4x4x4f16 a[0:3], a[0:1], a[1:2], -2.0
405 // GFX908: v_mfma_f32_4x4x4f16 a[0:3], a[0:1], a[1:2], -2.0 ; encoding: [0x00,0x00,0xca,0xd3,0x00,0x03,0xd6,0x1b]
406
407 v_mfma_f32_4x4x4f16 a[0:3], a[0:1], a[1:2], -2.0 cbsz:3 abid:2 blgp:7
408 // GFX908: v_mfma_f32_4x4x4f16 a[0:3], a[0:1], a[1:2], -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xca,0xd3,0x00,0x03,0xd6,0xfb]
409
410 v_mfma_f32_32x32x8f16 a[0:15], v[0:1], v[1:2], a[1:16]
411 // GFX908: v_mfma_f32_32x32x8f16 a[0:15], v[0:1], v[1:2], a[1:16] ; encoding: [0x00,0x00,0xcc,0xd3,0x00,0x03,0x06,0x04]
412
413 v_mfma_f32_32x32x8f16 a[0:15], v[0:1], v[1:2], a[1:16] cbsz:3 abid:2 blgp:7
414 // GFX908: v_mfma_f32_32x32x8f16 a[0:15], v[0:1], v[1:2], a[1:16] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xcc,0xd3,0x00,0x03,0x06,0xe4]
415
416 v_mfma_f32_32x32x8f16 a[0:15], v[0:1], a[1:2], a[1:16]
417 // GFX908: v_mfma_f32_32x32x8f16 a[0:15], v[0:1], a[1:2], a[1:16] ; encoding: [0x00,0x00,0xcc,0xd3,0x00,0x03,0x06,0x14]
418
419 v_mfma_f32_32x32x8f16 a[0:15], v[0:1], a[1:2], a[1:16] cbsz:3 abid:2 blgp:7
420 // GFX908: v_mfma_f32_32x32x8f16 a[0:15], v[0:1], a[1:2], a[1:16] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xcc,0xd3,0x00,0x03,0x06,0xf4]
421
422 v_mfma_f32_32x32x8f16 a[0:15], a[0:1], v[1:2], a[1:16]
423 // GFX908: v_mfma_f32_32x32x8f16 a[0:15], a[0:1], v[1:2], a[1:16] ; encoding: [0x00,0x00,0xcc,0xd3,0x00,0x03,0x06,0x0c]
424
425 v_mfma_f32_32x32x8f16 a[0:15], a[0:1], v[1:2], a[1:16] cbsz:3 abid:2 blgp:7
426 // GFX908: v_mfma_f32_32x32x8f16 a[0:15], a[0:1], v[1:2], a[1:16] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xcc,0xd3,0x00,0x03,0x06,0xec]
427
428 v_mfma_f32_32x32x8f16 a[0:15], a[0:1], a[1:2], a[1:16]
429 // GFX908: v_mfma_f32_32x32x8f16 a[0:15], a[0:1], a[1:2], a[1:16] ; encoding: [0x00,0x00,0xcc,0xd3,0x00,0x03,0x06,0x1c]
430
431 v_mfma_f32_32x32x8f16 a[0:15], a[0:1], a[1:2], a[1:16] cbsz:3 abid:2 blgp:7
432 // GFX908: v_mfma_f32_32x32x8f16 a[0:15], a[0:1], a[1:2], a[1:16] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xcc,0xd3,0x00,0x03,0x06,0xfc]
433
434 v_mfma_f32_32x32x8f16 a[0:15], v[0:1], v[1:2], -2.0
435 // GFX908: v_mfma_f32_32x32x8f16 a[0:15], v[0:1], v[1:2], -2.0 ; encoding: [0x00,0x00,0xcc,0xd3,0x00,0x03,0xd6,0x03]
436
437 v_mfma_f32_32x32x8f16 a[0:15], v[0:1], v[1:2], -2.0 cbsz:3 abid:2 blgp:7
438 // GFX908: v_mfma_f32_32x32x8f16 a[0:15], v[0:1], v[1:2], -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xcc,0xd3,0x00,0x03,0xd6,0xe3]
439
440 v_mfma_f32_32x32x8f16 a[0:15], v[0:1], a[1:2], -2.0
441 // GFX908: v_mfma_f32_32x32x8f16 a[0:15], v[0:1], a[1:2], -2.0 ; encoding: [0x00,0x00,0xcc,0xd3,0x00,0x03,0xd6,0x13]
442
443 v_mfma_f32_32x32x8f16 a[0:15], v[0:1], a[1:2], -2.0 cbsz:3 abid:2 blgp:7
444 // GFX908: v_mfma_f32_32x32x8f16 a[0:15], v[0:1], a[1:2], -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xcc,0xd3,0x00,0x03,0xd6,0xf3]
445
446 v_mfma_f32_32x32x8f16 a[0:15], a[0:1], v[1:2], -2.0
447 // GFX908: v_mfma_f32_32x32x8f16 a[0:15], a[0:1], v[1:2], -2.0 ; encoding: [0x00,0x00,0xcc,0xd3,0x00,0x03,0xd6,0x0b]
448
449 v_mfma_f32_32x32x8f16 a[0:15], a[0:1], v[1:2], -2.0 cbsz:3 abid:2 blgp:7
450 // GFX908: v_mfma_f32_32x32x8f16 a[0:15], a[0:1], v[1:2], -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xcc,0xd3,0x00,0x03,0xd6,0xeb]
451
452 v_mfma_f32_32x32x8f16 a[0:15], a[0:1], a[1:2], -2.0
453 // GFX908: v_mfma_f32_32x32x8f16 a[0:15], a[0:1], a[1:2], -2.0 ; encoding: [0x00,0x00,0xcc,0xd3,0x00,0x03,0xd6,0x1b]
454
455 v_mfma_f32_32x32x8f16 a[0:15], a[0:1], a[1:2], -2.0 cbsz:3 abid:2 blgp:7
456 // GFX908: v_mfma_f32_32x32x8f16 a[0:15], a[0:1], a[1:2], -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xcc,0xd3,0x00,0x03,0xd6,0xfb]
457
458 v_mfma_f32_16x16x16f16 a[0:3], v[0:1], v[1:2], a[1:4]
459 // GFX908: v_mfma_f32_16x16x16f16 a[0:3], v[0:1], v[1:2], a[1:4] ; encoding: [0x00,0x00,0xcd,0xd3,0x00,0x03,0x06,0x04]
460
461 v_mfma_f32_16x16x16f16 a[0:3], v[0:1], v[1:2], a[1:4] cbsz:3 abid:2 blgp:7
462 // GFX908: v_mfma_f32_16x16x16f16 a[0:3], v[0:1], v[1:2], a[1:4] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xcd,0xd3,0x00,0x03,0x06,0xe4]
463
464 v_mfma_f32_16x16x16f16 a[0:3], v[0:1], a[1:2], a[1:4]
465 // GFX908: v_mfma_f32_16x16x16f16 a[0:3], v[0:1], a[1:2], a[1:4] ; encoding: [0x00,0x00,0xcd,0xd3,0x00,0x03,0x06,0x14]
466
467 v_mfma_f32_16x16x16f16 a[0:3], v[0:1], a[1:2], a[1:4] cbsz:3 abid:2 blgp:7
468 // GFX908: v_mfma_f32_16x16x16f16 a[0:3], v[0:1], a[1:2], a[1:4] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xcd,0xd3,0x00,0x03,0x06,0xf4]
469
470 v_mfma_f32_16x16x16f16 a[0:3], a[0:1], v[1:2], a[1:4]
471 // GFX908: v_mfma_f32_16x16x16f16 a[0:3], a[0:1], v[1:2], a[1:4] ; encoding: [0x00,0x00,0xcd,0xd3,0x00,0x03,0x06,0x0c]
472
473 v_mfma_f32_16x16x16f16 a[0:3], a[0:1], v[1:2], a[1:4] cbsz:3 abid:2 blgp:7
474 // GFX908: v_mfma_f32_16x16x16f16 a[0:3], a[0:1], v[1:2], a[1:4] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xcd,0xd3,0x00,0x03,0x06,0xec]
475
476 v_mfma_f32_16x16x16f16 a[0:3], a[0:1], a[1:2], a[1:4]
477 // GFX908: v_mfma_f32_16x16x16f16 a[0:3], a[0:1], a[1:2], a[1:4] ; encoding: [0x00,0x00,0xcd,0xd3,0x00,0x03,0x06,0x1c]
478
479 v_mfma_f32_16x16x16f16 a[0:3], a[0:1], a[1:2], a[1:4] cbsz:3 abid:2 blgp:7
480 // GFX908: v_mfma_f32_16x16x16f16 a[0:3], a[0:1], a[1:2], a[1:4] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xcd,0xd3,0x00,0x03,0x06,0xfc]
481
482 v_mfma_f32_16x16x16f16 a[0:3], v[0:1], v[1:2], -2.0
483 // GFX908: v_mfma_f32_16x16x16f16 a[0:3], v[0:1], v[1:2], -2.0 ; encoding: [0x00,0x00,0xcd,0xd3,0x00,0x03,0xd6,0x03]
484
485 v_mfma_f32_16x16x16f16 a[0:3], v[0:1], v[1:2], -2.0 cbsz:3 abid:2 blgp:7
486 // GFX908: v_mfma_f32_16x16x16f16 a[0:3], v[0:1], v[1:2], -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xcd,0xd3,0x00,0x03,0xd6,0xe3]
487
488 v_mfma_f32_16x16x16f16 a[0:3], v[0:1], a[1:2], -2.0
489 // GFX908: v_mfma_f32_16x16x16f16 a[0:3], v[0:1], a[1:2], -2.0 ; encoding: [0x00,0x00,0xcd,0xd3,0x00,0x03,0xd6,0x13]
490
491 v_mfma_f32_16x16x16f16 a[0:3], v[0:1], a[1:2], -2.0 cbsz:3 abid:2 blgp:7
492 // GFX908: v_mfma_f32_16x16x16f16 a[0:3], v[0:1], a[1:2], -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xcd,0xd3,0x00,0x03,0xd6,0xf3]
493
494 v_mfma_f32_16x16x16f16 a[0:3], a[0:1], v[1:2], -2.0
495 // GFX908: v_mfma_f32_16x16x16f16 a[0:3], a[0:1], v[1:2], -2.0 ; encoding: [0x00,0x00,0xcd,0xd3,0x00,0x03,0xd6,0x0b]
496
497 v_mfma_f32_16x16x16f16 a[0:3], a[0:1], v[1:2], -2.0 cbsz:3 abid:2 blgp:7
498 // GFX908: v_mfma_f32_16x16x16f16 a[0:3], a[0:1], v[1:2], -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xcd,0xd3,0x00,0x03,0xd6,0xeb]
499
500 v_mfma_f32_16x16x16f16 a[0:3], a[0:1], a[1:2], -2.0
501 // GFX908: v_mfma_f32_16x16x16f16 a[0:3], a[0:1], a[1:2], -2.0 ; encoding: [0x00,0x00,0xcd,0xd3,0x00,0x03,0xd6,0x1b]
502
503 v_mfma_f32_16x16x16f16 a[0:3], a[0:1], a[1:2], -2.0 cbsz:3 abid:2 blgp:7
504 // GFX908: v_mfma_f32_16x16x16f16 a[0:3], a[0:1], a[1:2], -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xcd,0xd3,0x00,0x03,0xd6,0xfb]
505
506 v_mfma_i32_32x32x4i8 a[0:31], v0, v1, a[1:32]
507 // GFX908: v_mfma_i32_32x32x4i8 a[0:31], v0, v1, a[1:32] ; encoding: [0x00,0x00,0xd0,0xd3,0x00,0x03,0x06,0x04]
508
509 v_mfma_i32_32x32x4i8 a[0:31], v0, v1, a[1:32] cbsz:3 abid:2 blgp:7
510 // GFX908: v_mfma_i32_32x32x4i8 a[0:31], v0, v1, a[1:32] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd0,0xd3,0x00,0x03,0x06,0xe4]
511
512 v_mfma_i32_32x32x4i8 a[0:31], v0, a1, a[1:32]
513 // GFX908: v_mfma_i32_32x32x4i8 a[0:31], v0, a1, a[1:32] ; encoding: [0x00,0x00,0xd0,0xd3,0x00,0x03,0x06,0x14]
514
515 v_mfma_i32_32x32x4i8 a[0:31], v0, a1, a[1:32] cbsz:3 abid:2 blgp:7
516 // GFX908: v_mfma_i32_32x32x4i8 a[0:31], v0, a1, a[1:32] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd0,0xd3,0x00,0x03,0x06,0xf4]
517
518 v_mfma_i32_32x32x4i8 a[0:31], a0, v1, a[1:32]
519 // GFX908: v_mfma_i32_32x32x4i8 a[0:31], a0, v1, a[1:32] ; encoding: [0x00,0x00,0xd0,0xd3,0x00,0x03,0x06,0x0c]
520
521 v_mfma_i32_32x32x4i8 a[0:31], a0, v1, a[1:32] cbsz:3 abid:2 blgp:7
522 // GFX908: v_mfma_i32_32x32x4i8 a[0:31], a0, v1, a[1:32] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd0,0xd3,0x00,0x03,0x06,0xec]
523
524 v_mfma_i32_32x32x4i8 a[0:31], a0, a1, a[1:32]
525 // GFX908: v_mfma_i32_32x32x4i8 a[0:31], a0, a1, a[1:32] ; encoding: [0x00,0x00,0xd0,0xd3,0x00,0x03,0x06,0x1c]
526
527 v_mfma_i32_32x32x4i8 a[0:31], a0, a1, a[1:32] cbsz:3 abid:2 blgp:7
528 // GFX908: v_mfma_i32_32x32x4i8 a[0:31], a0, a1, a[1:32] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd0,0xd3,0x00,0x03,0x06,0xfc]
529
530 v_mfma_i32_32x32x4i8 a[0:31], v0, v1, 2
531 // GFX908: v_mfma_i32_32x32x4i8 a[0:31], v0, v1, 2 ; encoding: [0x00,0x00,0xd0,0xd3,0x00,0x03,0x0a,0x02]
532
533 v_mfma_i32_32x32x4i8 a[0:31], v0, v1, 2 cbsz:3 abid:2 blgp:7
534 // GFX908: v_mfma_i32_32x32x4i8 a[0:31], v0, v1, 2 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd0,0xd3,0x00,0x03,0x0a,0xe2]
535
536 v_mfma_i32_32x32x4i8 a[0:31], v0, a1, 2
537 // GFX908: v_mfma_i32_32x32x4i8 a[0:31], v0, a1, 2 ; encoding: [0x00,0x00,0xd0,0xd3,0x00,0x03,0x0a,0x12]
538
539 v_mfma_i32_32x32x4i8 a[0:31], v0, a1, 2 cbsz:3 abid:2 blgp:7
540 // GFX908: v_mfma_i32_32x32x4i8 a[0:31], v0, a1, 2 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd0,0xd3,0x00,0x03,0x0a,0xf2]
541
542 v_mfma_i32_32x32x4i8 a[0:31], a0, v1, 2
543 // GFX908: v_mfma_i32_32x32x4i8 a[0:31], a0, v1, 2 ; encoding: [0x00,0x00,0xd0,0xd3,0x00,0x03,0x0a,0x0a]
544
545 v_mfma_i32_32x32x4i8 a[0:31], a0, v1, 2 cbsz:3 abid:2 blgp:7
546 // GFX908: v_mfma_i32_32x32x4i8 a[0:31], a0, v1, 2 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd0,0xd3,0x00,0x03,0x0a,0xea]
547
548 v_mfma_i32_32x32x4i8 a[0:31], a0, a1, 2
549 // GFX908: v_mfma_i32_32x32x4i8 a[0:31], a0, a1, 2 ; encoding: [0x00,0x00,0xd0,0xd3,0x00,0x03,0x0a,0x1a]
550
551 v_mfma_i32_32x32x4i8 a[0:31], a0, a1, 2 cbsz:3 abid:2 blgp:7
552 // GFX908: v_mfma_i32_32x32x4i8 a[0:31], a0, a1, 2 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd0,0xd3,0x00,0x03,0x0a,0xfa]
553
554 v_mfma_i32_16x16x4i8 a[0:15], v0, v1, a[1:16]
555 // GFX908: v_mfma_i32_16x16x4i8 a[0:15], v0, v1, a[1:16] ; encoding: [0x00,0x00,0xd1,0xd3,0x00,0x03,0x06,0x04]
556
557 v_mfma_i32_16x16x4i8 a[0:15], v0, v1, a[1:16] cbsz:3 abid:2 blgp:7
558 // GFX908: v_mfma_i32_16x16x4i8 a[0:15], v0, v1, a[1:16] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd1,0xd3,0x00,0x03,0x06,0xe4]
559
560 v_mfma_i32_16x16x4i8 a[0:15], v0, a1, a[1:16]
561 // GFX908: v_mfma_i32_16x16x4i8 a[0:15], v0, a1, a[1:16] ; encoding: [0x00,0x00,0xd1,0xd3,0x00,0x03,0x06,0x14]
562
563 v_mfma_i32_16x16x4i8 a[0:15], v0, a1, a[1:16] cbsz:3 abid:2 blgp:7
564 // GFX908: v_mfma_i32_16x16x4i8 a[0:15], v0, a1, a[1:16] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd1,0xd3,0x00,0x03,0x06,0xf4]
565
566 v_mfma_i32_16x16x4i8 a[0:15], a0, v1, a[1:16]
567 // GFX908: v_mfma_i32_16x16x4i8 a[0:15], a0, v1, a[1:16] ; encoding: [0x00,0x00,0xd1,0xd3,0x00,0x03,0x06,0x0c]
568
569 v_mfma_i32_16x16x4i8 a[0:15], a0, v1, a[1:16] cbsz:3 abid:2 blgp:7
570 // GFX908: v_mfma_i32_16x16x4i8 a[0:15], a0, v1, a[1:16] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd1,0xd3,0x00,0x03,0x06,0xec]
571
572 v_mfma_i32_16x16x4i8 a[0:15], a0, a1, a[1:16]
573 // GFX908: v_mfma_i32_16x16x4i8 a[0:15], a0, a1, a[1:16] ; encoding: [0x00,0x00,0xd1,0xd3,0x00,0x03,0x06,0x1c]
574
575 v_mfma_i32_16x16x4i8 a[0:15], a0, a1, a[1:16] cbsz:3 abid:2 blgp:7
576 // GFX908: v_mfma_i32_16x16x4i8 a[0:15], a0, a1, a[1:16] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd1,0xd3,0x00,0x03,0x06,0xfc]
577
578 v_mfma_i32_16x16x4i8 a[0:15], v0, v1, 2
579 // GFX908: v_mfma_i32_16x16x4i8 a[0:15], v0, v1, 2 ; encoding: [0x00,0x00,0xd1,0xd3,0x00,0x03,0x0a,0x02]
580
581 v_mfma_i32_16x16x4i8 a[0:15], v0, v1, 2 cbsz:3 abid:2 blgp:7
582 // GFX908: v_mfma_i32_16x16x4i8 a[0:15], v0, v1, 2 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd1,0xd3,0x00,0x03,0x0a,0xe2]
583
584 v_mfma_i32_16x16x4i8 a[0:15], v0, a1, 2
585 // GFX908: v_mfma_i32_16x16x4i8 a[0:15], v0, a1, 2 ; encoding: [0x00,0x00,0xd1,0xd3,0x00,0x03,0x0a,0x12]
586
587 v_mfma_i32_16x16x4i8 a[0:15], v0, a1, 2 cbsz:3 abid:2 blgp:7
588 // GFX908: v_mfma_i32_16x16x4i8 a[0:15], v0, a1, 2 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd1,0xd3,0x00,0x03,0x0a,0xf2]
589
590 v_mfma_i32_16x16x4i8 a[0:15], a0, v1, 2
591 // GFX908: v_mfma_i32_16x16x4i8 a[0:15], a0, v1, 2 ; encoding: [0x00,0x00,0xd1,0xd3,0x00,0x03,0x0a,0x0a]
592
593 v_mfma_i32_16x16x4i8 a[0:15], a0, v1, 2 cbsz:3 abid:2 blgp:7
594 // GFX908: v_mfma_i32_16x16x4i8 a[0:15], a0, v1, 2 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd1,0xd3,0x00,0x03,0x0a,0xea]
595
596 v_mfma_i32_16x16x4i8 a[0:15], a0, a1, 2
597 // GFX908: v_mfma_i32_16x16x4i8 a[0:15], a0, a1, 2 ; encoding: [0x00,0x00,0xd1,0xd3,0x00,0x03,0x0a,0x1a]
598
599 v_mfma_i32_16x16x4i8 a[0:15], a0, a1, 2 cbsz:3 abid:2 blgp:7
600 // GFX908: v_mfma_i32_16x16x4i8 a[0:15], a0, a1, 2 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd1,0xd3,0x00,0x03,0x0a,0xfa]
601
602 v_mfma_i32_4x4x4i8 a[0:3], v0, v1, a[1:4]
603 // GFX908: v_mfma_i32_4x4x4i8 a[0:3], v0, v1, a[1:4] ; encoding: [0x00,0x00,0xd2,0xd3,0x00,0x03,0x06,0x04]
604
605 v_mfma_i32_4x4x4i8 a[0:3], v0, v1, a[1:4] cbsz:3 abid:2 blgp:7
606 // GFX908: v_mfma_i32_4x4x4i8 a[0:3], v0, v1, a[1:4] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd2,0xd3,0x00,0x03,0x06,0xe4]
607
608 v_mfma_i32_4x4x4i8 a[0:3], v0, a1, a[1:4]
609 // GFX908: v_mfma_i32_4x4x4i8 a[0:3], v0, a1, a[1:4] ; encoding: [0x00,0x00,0xd2,0xd3,0x00,0x03,0x06,0x14]
610
611 v_mfma_i32_4x4x4i8 a[0:3], v0, a1, a[1:4] cbsz:3 abid:2 blgp:7
612 // GFX908: v_mfma_i32_4x4x4i8 a[0:3], v0, a1, a[1:4] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd2,0xd3,0x00,0x03,0x06,0xf4]
613
614 v_mfma_i32_4x4x4i8 a[0:3], a0, v1, a[1:4]
615 // GFX908: v_mfma_i32_4x4x4i8 a[0:3], a0, v1, a[1:4] ; encoding: [0x00,0x00,0xd2,0xd3,0x00,0x03,0x06,0x0c]
616
617 v_mfma_i32_4x4x4i8 a[0:3], a0, v1, a[1:4] cbsz:3 abid:2 blgp:7
618 // GFX908: v_mfma_i32_4x4x4i8 a[0:3], a0, v1, a[1:4] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd2,0xd3,0x00,0x03,0x06,0xec]
619
620 v_mfma_i32_4x4x4i8 a[0:3], a0, a1, a[1:4]
621 // GFX908: v_mfma_i32_4x4x4i8 a[0:3], a0, a1, a[1:4] ; encoding: [0x00,0x00,0xd2,0xd3,0x00,0x03,0x06,0x1c]
622
623 v_mfma_i32_4x4x4i8 a[0:3], a0, a1, a[1:4] cbsz:3 abid:2 blgp:7
624 // GFX908: v_mfma_i32_4x4x4i8 a[0:3], a0, a1, a[1:4] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd2,0xd3,0x00,0x03,0x06,0xfc]
625
626 v_mfma_i32_4x4x4i8 a[0:3], v0, v1, 2
627 // GFX908: v_mfma_i32_4x4x4i8 a[0:3], v0, v1, 2 ; encoding: [0x00,0x00,0xd2,0xd3,0x00,0x03,0x0a,0x02]
628
629 v_mfma_i32_4x4x4i8 a[0:3], v0, v1, 2 cbsz:3 abid:2 blgp:7
630 // GFX908: v_mfma_i32_4x4x4i8 a[0:3], v0, v1, 2 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd2,0xd3,0x00,0x03,0x0a,0xe2]
631
632 v_mfma_i32_4x4x4i8 a[0:3], v0, a1, 2
633 // GFX908: v_mfma_i32_4x4x4i8 a[0:3], v0, a1, 2 ; encoding: [0x00,0x00,0xd2,0xd3,0x00,0x03,0x0a,0x12]
634
635 v_mfma_i32_4x4x4i8 a[0:3], v0, a1, 2 cbsz:3 abid:2 blgp:7
636 // GFX908: v_mfma_i32_4x4x4i8 a[0:3], v0, a1, 2 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd2,0xd3,0x00,0x03,0x0a,0xf2]
637
638 v_mfma_i32_4x4x4i8 a[0:3], a0, v1, 2
639 // GFX908: v_mfma_i32_4x4x4i8 a[0:3], a0, v1, 2 ; encoding: [0x00,0x00,0xd2,0xd3,0x00,0x03,0x0a,0x0a]
640
641 v_mfma_i32_4x4x4i8 a[0:3], a0, v1, 2 cbsz:3 abid:2 blgp:7
642 // GFX908: v_mfma_i32_4x4x4i8 a[0:3], a0, v1, 2 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd2,0xd3,0x00,0x03,0x0a,0xea]
643
644 v_mfma_i32_4x4x4i8 a[0:3], a0, a1, 2
645 // GFX908: v_mfma_i32_4x4x4i8 a[0:3], a0, a1, 2 ; encoding: [0x00,0x00,0xd2,0xd3,0x00,0x03,0x0a,0x1a]
646
647 v_mfma_i32_4x4x4i8 a[0:3], a0, a1, 2 cbsz:3 abid:2 blgp:7
648 // GFX908: v_mfma_i32_4x4x4i8 a[0:3], a0, a1, 2 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd2,0xd3,0x00,0x03,0x0a,0xfa]
649
650 v_mfma_i32_32x32x8i8 a[0:15], v0, v1, a[1:16]
651 // GFX908: v_mfma_i32_32x32x8i8 a[0:15], v0, v1, a[1:16] ; encoding: [0x00,0x00,0xd4,0xd3,0x00,0x03,0x06,0x04]
652
653 v_mfma_i32_32x32x8i8 a[0:15], v0, v1, a[1:16] cbsz:3 abid:2 blgp:7
654 // GFX908: v_mfma_i32_32x32x8i8 a[0:15], v0, v1, a[1:16] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd4,0xd3,0x00,0x03,0x06,0xe4]
655
656 v_mfma_i32_32x32x8i8 a[0:15], v0, a1, a[1:16]
657 // GFX908: v_mfma_i32_32x32x8i8 a[0:15], v0, a1, a[1:16] ; encoding: [0x00,0x00,0xd4,0xd3,0x00,0x03,0x06,0x14]
658
659 v_mfma_i32_32x32x8i8 a[0:15], v0, a1, a[1:16] cbsz:3 abid:2 blgp:7
660 // GFX908: v_mfma_i32_32x32x8i8 a[0:15], v0, a1, a[1:16] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd4,0xd3,0x00,0x03,0x06,0xf4]
661
662 v_mfma_i32_32x32x8i8 a[0:15], a0, v1, a[1:16]
663 // GFX908: v_mfma_i32_32x32x8i8 a[0:15], a0, v1, a[1:16] ; encoding: [0x00,0x00,0xd4,0xd3,0x00,0x03,0x06,0x0c]
664
665 v_mfma_i32_32x32x8i8 a[0:15], a0, v1, a[1:16] cbsz:3 abid:2 blgp:7
666 // GFX908: v_mfma_i32_32x32x8i8 a[0:15], a0, v1, a[1:16] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd4,0xd3,0x00,0x03,0x06,0xec]
667
668 v_mfma_i32_32x32x8i8 a[0:15], a0, a1, a[1:16]
669 // GFX908: v_mfma_i32_32x32x8i8 a[0:15], a0, a1, a[1:16] ; encoding: [0x00,0x00,0xd4,0xd3,0x00,0x03,0x06,0x1c]
670
671 v_mfma_i32_32x32x8i8 a[0:15], a0, a1, a[1:16] cbsz:3 abid:2 blgp:7
672 // GFX908: v_mfma_i32_32x32x8i8 a[0:15], a0, a1, a[1:16] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd4,0xd3,0x00,0x03,0x06,0xfc]
673
674 v_mfma_i32_32x32x8i8 a[0:15], v0, v1, 2
675 // GFX908: v_mfma_i32_32x32x8i8 a[0:15], v0, v1, 2 ; encoding: [0x00,0x00,0xd4,0xd3,0x00,0x03,0x0a,0x02]
676
677 v_mfma_i32_32x32x8i8 a[0:15], v0, v1, 2 cbsz:3 abid:2 blgp:7
678 // GFX908: v_mfma_i32_32x32x8i8 a[0:15], v0, v1, 2 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd4,0xd3,0x00,0x03,0x0a,0xe2]
679
680 v_mfma_i32_32x32x8i8 a[0:15], v0, a1, 2
681 // GFX908: v_mfma_i32_32x32x8i8 a[0:15], v0, a1, 2 ; encoding: [0x00,0x00,0xd4,0xd3,0x00,0x03,0x0a,0x12]
682
683 v_mfma_i32_32x32x8i8 a[0:15], v0, a1, 2 cbsz:3 abid:2 blgp:7
684 // GFX908: v_mfma_i32_32x32x8i8 a[0:15], v0, a1, 2 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd4,0xd3,0x00,0x03,0x0a,0xf2]
685
686 v_mfma_i32_32x32x8i8 a[0:15], a0, v1, 2
687 // GFX908: v_mfma_i32_32x32x8i8 a[0:15], a0, v1, 2 ; encoding: [0x00,0x00,0xd4,0xd3,0x00,0x03,0x0a,0x0a]
688
689 v_mfma_i32_32x32x8i8 a[0:15], a0, v1, 2 cbsz:3 abid:2 blgp:7
690 // GFX908: v_mfma_i32_32x32x8i8 a[0:15], a0, v1, 2 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd4,0xd3,0x00,0x03,0x0a,0xea]
691
692 v_mfma_i32_32x32x8i8 a[0:15], a0, a1, 2
693 // GFX908: v_mfma_i32_32x32x8i8 a[0:15], a0, a1, 2 ; encoding: [0x00,0x00,0xd4,0xd3,0x00,0x03,0x0a,0x1a]
694
695 v_mfma_i32_32x32x8i8 a[0:15], a0, a1, 2 cbsz:3 abid:2 blgp:7
696 // GFX908: v_mfma_i32_32x32x8i8 a[0:15], a0, a1, 2 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd4,0xd3,0x00,0x03,0x0a,0xfa]
697
698 v_mfma_i32_16x16x16i8 a[0:3], v0, v1, a[1:4]
699 // GFX908: v_mfma_i32_16x16x16i8 a[0:3], v0, v1, a[1:4] ; encoding: [0x00,0x00,0xd5,0xd3,0x00,0x03,0x06,0x04]
700
701 v_mfma_i32_16x16x16i8 a[0:3], v0, v1, a[1:4] cbsz:3 abid:2 blgp:7
702 // GFX908: v_mfma_i32_16x16x16i8 a[0:3], v0, v1, a[1:4] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd5,0xd3,0x00,0x03,0x06,0xe4]
703
704 v_mfma_i32_16x16x16i8 a[0:3], v0, a1, a[1:4]
705 // GFX908: v_mfma_i32_16x16x16i8 a[0:3], v0, a1, a[1:4] ; encoding: [0x00,0x00,0xd5,0xd3,0x00,0x03,0x06,0x14]
706
707 v_mfma_i32_16x16x16i8 a[0:3], v0, a1, a[1:4] cbsz:3 abid:2 blgp:7
708 // GFX908: v_mfma_i32_16x16x16i8 a[0:3], v0, a1, a[1:4] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd5,0xd3,0x00,0x03,0x06,0xf4]
709
710 v_mfma_i32_16x16x16i8 a[0:3], a0, v1, a[1:4]
711 // GFX908: v_mfma_i32_16x16x16i8 a[0:3], a0, v1, a[1:4] ; encoding: [0x00,0x00,0xd5,0xd3,0x00,0x03,0x06,0x0c]
712
713 v_mfma_i32_16x16x16i8 a[0:3], a0, v1, a[1:4] cbsz:3 abid:2 blgp:7
714 // GFX908: v_mfma_i32_16x16x16i8 a[0:3], a0, v1, a[1:4] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd5,0xd3,0x00,0x03,0x06,0xec]
715
716 v_mfma_i32_16x16x16i8 a[0:3], a0, a1, a[1:4]
717 // GFX908: v_mfma_i32_16x16x16i8 a[0:3], a0, a1, a[1:4] ; encoding: [0x00,0x00,0xd5,0xd3,0x00,0x03,0x06,0x1c]
718
719 v_mfma_i32_16x16x16i8 a[0:3], a0, a1, a[1:4] cbsz:3 abid:2 blgp:7
720 // GFX908: v_mfma_i32_16x16x16i8 a[0:3], a0, a1, a[1:4] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd5,0xd3,0x00,0x03,0x06,0xfc]
721
722 v_mfma_i32_16x16x16i8 a[0:3], v0, v1, 2
723 // GFX908: v_mfma_i32_16x16x16i8 a[0:3], v0, v1, 2 ; encoding: [0x00,0x00,0xd5,0xd3,0x00,0x03,0x0a,0x02]
724
725 v_mfma_i32_16x16x16i8 a[0:3], v0, v1, 2 cbsz:3 abid:2 blgp:7
726 // GFX908: v_mfma_i32_16x16x16i8 a[0:3], v0, v1, 2 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd5,0xd3,0x00,0x03,0x0a,0xe2]
727
728 v_mfma_i32_16x16x16i8 a[0:3], v0, a1, 2
729 // GFX908: v_mfma_i32_16x16x16i8 a[0:3], v0, a1, 2 ; encoding: [0x00,0x00,0xd5,0xd3,0x00,0x03,0x0a,0x12]
730
731 v_mfma_i32_16x16x16i8 a[0:3], v0, a1, 2 cbsz:3 abid:2 blgp:7
732 // GFX908: v_mfma_i32_16x16x16i8 a[0:3], v0, a1, 2 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd5,0xd3,0x00,0x03,0x0a,0xf2]
733
734 v_mfma_i32_16x16x16i8 a[0:3], a0, v1, 2
735 // GFX908: v_mfma_i32_16x16x16i8 a[0:3], a0, v1, 2 ; encoding: [0x00,0x00,0xd5,0xd3,0x00,0x03,0x0a,0x0a]
736
737 v_mfma_i32_16x16x16i8 a[0:3], a0, v1, 2 cbsz:3 abid:2 blgp:7
738 // GFX908: v_mfma_i32_16x16x16i8 a[0:3], a0, v1, 2 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd5,0xd3,0x00,0x03,0x0a,0xea]
739
740 v_mfma_i32_16x16x16i8 a[0:3], a0, a1, 2
741 // GFX908: v_mfma_i32_16x16x16i8 a[0:3], a0, a1, 2 ; encoding: [0x00,0x00,0xd5,0xd3,0x00,0x03,0x0a,0x1a]
742
743 v_mfma_i32_16x16x16i8 a[0:3], a0, a1, 2 cbsz:3 abid:2 blgp:7
744 // GFX908: v_mfma_i32_16x16x16i8 a[0:3], a0, a1, 2 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd5,0xd3,0x00,0x03,0x0a,0xfa]
745
746 v_mfma_f32_32x32x2bf16 a[0:31], v0, v1, a[1:32]
747 // GFX908: v_mfma_f32_32x32x2bf16 a[0:31], v0, v1, a[1:32] ; encoding: [0x00,0x00,0xe8,0xd3,0x00,0x03,0x06,0x04]
748
749 v_mfma_f32_32x32x2bf16 a[0:31], v0, v1, a[1:32] cbsz:3 abid:2 blgp:7
750 // GFX908: v_mfma_f32_32x32x2bf16 a[0:31], v0, v1, a[1:32] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xe8,0xd3,0x00,0x03,0x06,0xe4]
751
752 v_mfma_f32_32x32x2bf16 a[0:31], v0, a1, a[1:32]
753 // GFX908: v_mfma_f32_32x32x2bf16 a[0:31], v0, a1, a[1:32] ; encoding: [0x00,0x00,0xe8,0xd3,0x00,0x03,0x06,0x14]
754
755 v_mfma_f32_32x32x2bf16 a[0:31], v0, a1, a[1:32] cbsz:3 abid:2 blgp:7
756 // GFX908: v_mfma_f32_32x32x2bf16 a[0:31], v0, a1, a[1:32] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xe8,0xd3,0x00,0x03,0x06,0xf4]
757
758 v_mfma_f32_32x32x2bf16 a[0:31], a0, v1, a[1:32]
759 // GFX908: v_mfma_f32_32x32x2bf16 a[0:31], a0, v1, a[1:32] ; encoding: [0x00,0x00,0xe8,0xd3,0x00,0x03,0x06,0x0c]
760
761 v_mfma_f32_32x32x2bf16 a[0:31], a0, v1, a[1:32] cbsz:3 abid:2 blgp:7
762 // GFX908: v_mfma_f32_32x32x2bf16 a[0:31], a0, v1, a[1:32] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xe8,0xd3,0x00,0x03,0x06,0xec]
763
764 v_mfma_f32_32x32x2bf16 a[0:31], a0, a1, a[1:32]
765 // GFX908: v_mfma_f32_32x32x2bf16 a[0:31], a0, a1, a[1:32] ; encoding: [0x00,0x00,0xe8,0xd3,0x00,0x03,0x06,0x1c]
766
767 v_mfma_f32_32x32x2bf16 a[0:31], a0, a1, a[1:32] cbsz:3 abid:2 blgp:7
768 // GFX908: v_mfma_f32_32x32x2bf16 a[0:31], a0, a1, a[1:32] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xe8,0xd3,0x00,0x03,0x06,0xfc]
769
770 v_mfma_f32_32x32x2bf16 a[0:31], v0, v1, -2.0
771 // GFX908: v_mfma_f32_32x32x2bf16 a[0:31], v0, v1, -2.0 ; encoding: [0x00,0x00,0xe8,0xd3,0x00,0x03,0xd6,0x03]
772
773 v_mfma_f32_32x32x2bf16 a[0:31], v0, v1, -2.0 cbsz:3 abid:2 blgp:7
774 // GFX908: v_mfma_f32_32x32x2bf16 a[0:31], v0, v1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xe8,0xd3,0x00,0x03,0xd6,0xe3]
775
776 v_mfma_f32_32x32x2bf16 a[0:31], v0, a1, -2.0
777 // GFX908: v_mfma_f32_32x32x2bf16 a[0:31], v0, a1, -2.0 ; encoding: [0x00,0x00,0xe8,0xd3,0x00,0x03,0xd6,0x13]
778
779 v_mfma_f32_32x32x2bf16 a[0:31], v0, a1, -2.0 cbsz:3 abid:2 blgp:7
780 // GFX908: v_mfma_f32_32x32x2bf16 a[0:31], v0, a1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xe8,0xd3,0x00,0x03,0xd6,0xf3]
781
782 v_mfma_f32_32x32x2bf16 a[0:31], a0, v1, -2.0
783 // GFX908: v_mfma_f32_32x32x2bf16 a[0:31], a0, v1, -2.0 ; encoding: [0x00,0x00,0xe8,0xd3,0x00,0x03,0xd6,0x0b]
784
785 v_mfma_f32_32x32x2bf16 a[0:31], a0, v1, -2.0 cbsz:3 abid:2 blgp:7
786 // GFX908: v_mfma_f32_32x32x2bf16 a[0:31], a0, v1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xe8,0xd3,0x00,0x03,0xd6,0xeb]
787
788 v_mfma_f32_32x32x2bf16 a[0:31], a0, a1, -2.0
789 // GFX908: v_mfma_f32_32x32x2bf16 a[0:31], a0, a1, -2.0 ; encoding: [0x00,0x00,0xe8,0xd3,0x00,0x03,0xd6,0x1b]
790
791 v_mfma_f32_32x32x2bf16 a[0:31], a0, a1, -2.0 cbsz:3 abid:2 blgp:7
792 // GFX908: v_mfma_f32_32x32x2bf16 a[0:31], a0, a1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xe8,0xd3,0x00,0x03,0xd6,0xfb]
793
794 v_mfma_f32_16x16x2bf16 a[0:15], v0, v1, a[1:16]
795 // GFX908: v_mfma_f32_16x16x2bf16 a[0:15], v0, v1, a[1:16] ; encoding: [0x00,0x00,0xe9,0xd3,0x00,0x03,0x06,0x04]
796
797 v_mfma_f32_16x16x2bf16 a[0:15], v0, v1, a[1:16] cbsz:3 abid:2 blgp:7
798 // GFX908: v_mfma_f32_16x16x2bf16 a[0:15], v0, v1, a[1:16] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xe9,0xd3,0x00,0x03,0x06,0xe4]
799
800 v_mfma_f32_16x16x2bf16 a[0:15], v0, a1, a[1:16]
801 // GFX908: v_mfma_f32_16x16x2bf16 a[0:15], v0, a1, a[1:16] ; encoding: [0x00,0x00,0xe9,0xd3,0x00,0x03,0x06,0x14]
802
803 v_mfma_f32_16x16x2bf16 a[0:15], v0, a1, a[1:16] cbsz:3 abid:2 blgp:7
804 // GFX908: v_mfma_f32_16x16x2bf16 a[0:15], v0, a1, a[1:16] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xe9,0xd3,0x00,0x03,0x06,0xf4]
805
806 v_mfma_f32_16x16x2bf16 a[0:15], a0, v1, a[1:16]
807 // GFX908: v_mfma_f32_16x16x2bf16 a[0:15], a0, v1, a[1:16] ; encoding: [0x00,0x00,0xe9,0xd3,0x00,0x03,0x06,0x0c]
808
809 v_mfma_f32_16x16x2bf16 a[0:15], a0, v1, a[1:16] cbsz:3 abid:2 blgp:7
810 // GFX908: v_mfma_f32_16x16x2bf16 a[0:15], a0, v1, a[1:16] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xe9,0xd3,0x00,0x03,0x06,0xec]
811
812 v_mfma_f32_16x16x2bf16 a[0:15], a0, a1, a[1:16]
813 // GFX908: v_mfma_f32_16x16x2bf16 a[0:15], a0, a1, a[1:16] ; encoding: [0x00,0x00,0xe9,0xd3,0x00,0x03,0x06,0x1c]
814
815 v_mfma_f32_16x16x2bf16 a[0:15], a0, a1, a[1:16] cbsz:3 abid:2 blgp:7
816 // GFX908: v_mfma_f32_16x16x2bf16 a[0:15], a0, a1, a[1:16] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xe9,0xd3,0x00,0x03,0x06,0xfc]
817
818 v_mfma_f32_16x16x2bf16 a[0:15], v0, v1, -2.0
819 // GFX908: v_mfma_f32_16x16x2bf16 a[0:15], v0, v1, -2.0 ; encoding: [0x00,0x00,0xe9,0xd3,0x00,0x03,0xd6,0x03]
820
821 v_mfma_f32_16x16x2bf16 a[0:15], v0, v1, -2.0 cbsz:3 abid:2 blgp:7
822 // GFX908: v_mfma_f32_16x16x2bf16 a[0:15], v0, v1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xe9,0xd3,0x00,0x03,0xd6,0xe3]
823
824 v_mfma_f32_16x16x2bf16 a[0:15], v0, a1, -2.0
825 // GFX908: v_mfma_f32_16x16x2bf16 a[0:15], v0, a1, -2.0 ; encoding: [0x00,0x00,0xe9,0xd3,0x00,0x03,0xd6,0x13]
826
827 v_mfma_f32_16x16x2bf16 a[0:15], v0, a1, -2.0 cbsz:3 abid:2 blgp:7
828 // GFX908: v_mfma_f32_16x16x2bf16 a[0:15], v0, a1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xe9,0xd3,0x00,0x03,0xd6,0xf3]
829
830 v_mfma_f32_16x16x2bf16 a[0:15], a0, v1, -2.0
831 // GFX908: v_mfma_f32_16x16x2bf16 a[0:15], a0, v1, -2.0 ; encoding: [0x00,0x00,0xe9,0xd3,0x00,0x03,0xd6,0x0b]
832
833 v_mfma_f32_16x16x2bf16 a[0:15], a0, v1, -2.0 cbsz:3 abid:2 blgp:7
834 // GFX908: v_mfma_f32_16x16x2bf16 a[0:15], a0, v1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xe9,0xd3,0x00,0x03,0xd6,0xeb]
835
836 v_mfma_f32_16x16x2bf16 a[0:15], a0, a1, -2.0
837 // GFX908: v_mfma_f32_16x16x2bf16 a[0:15], a0, a1, -2.0 ; encoding: [0x00,0x00,0xe9,0xd3,0x00,0x03,0xd6,0x1b]
838
839 v_mfma_f32_16x16x2bf16 a[0:15], a0, a1, -2.0 cbsz:3 abid:2 blgp:7
840 // GFX908: v_mfma_f32_16x16x2bf16 a[0:15], a0, a1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xe9,0xd3,0x00,0x03,0xd6,0xfb]
841
842 v_mfma_f32_4x4x2bf16 a[0:3], v0, v1, a[1:4]
843 // GFX908: v_mfma_f32_4x4x2bf16 a[0:3], v0, v1, a[1:4] ; encoding: [0x00,0x00,0xeb,0xd3,0x00,0x03,0x06,0x04]
844
845 v_mfma_f32_4x4x2bf16 a[0:3], v0, v1, a[1:4] cbsz:3 abid:2 blgp:7
846 // GFX908: v_mfma_f32_4x4x2bf16 a[0:3], v0, v1, a[1:4] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xeb,0xd3,0x00,0x03,0x06,0xe4]
847
848 v_mfma_f32_4x4x2bf16 a[0:3], v0, a1, a[1:4]
849 // GFX908: v_mfma_f32_4x4x2bf16 a[0:3], v0, a1, a[1:4] ; encoding: [0x00,0x00,0xeb,0xd3,0x00,0x03,0x06,0x14]
850
851 v_mfma_f32_4x4x2bf16 a[0:3], v0, a1, a[1:4] cbsz:3 abid:2 blgp:7
852 // GFX908: v_mfma_f32_4x4x2bf16 a[0:3], v0, a1, a[1:4] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xeb,0xd3,0x00,0x03,0x06,0xf4]
853
854 v_mfma_f32_4x4x2bf16 a[0:3], a0, v1, a[1:4]
855 // GFX908: v_mfma_f32_4x4x2bf16 a[0:3], a0, v1, a[1:4] ; encoding: [0x00,0x00,0xeb,0xd3,0x00,0x03,0x06,0x0c]
856
857 v_mfma_f32_4x4x2bf16 a[0:3], a0, v1, a[1:4] cbsz:3 abid:2 blgp:7
858 // GFX908: v_mfma_f32_4x4x2bf16 a[0:3], a0, v1, a[1:4] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xeb,0xd3,0x00,0x03,0x06,0xec]
859
860 v_mfma_f32_4x4x2bf16 a[0:3], a0, a1, a[1:4]
861 // GFX908: v_mfma_f32_4x4x2bf16 a[0:3], a0, a1, a[1:4] ; encoding: [0x00,0x00,0xeb,0xd3,0x00,0x03,0x06,0x1c]
862
863 v_mfma_f32_4x4x2bf16 a[0:3], a0, a1, a[1:4] cbsz:3 abid:2 blgp:7
864 // GFX908: v_mfma_f32_4x4x2bf16 a[0:3], a0, a1, a[1:4] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xeb,0xd3,0x00,0x03,0x06,0xfc]
865
866 v_mfma_f32_4x4x2bf16 a[0:3], v0, v1, -2.0
867 // GFX908: v_mfma_f32_4x4x2bf16 a[0:3], v0, v1, -2.0 ; encoding: [0x00,0x00,0xeb,0xd3,0x00,0x03,0xd6,0x03]
868
869 v_mfma_f32_4x4x2bf16 a[0:3], v0, v1, -2.0 cbsz:3 abid:2 blgp:7
870 // GFX908: v_mfma_f32_4x4x2bf16 a[0:3], v0, v1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xeb,0xd3,0x00,0x03,0xd6,0xe3]
871
872 v_mfma_f32_4x4x2bf16 a[0:3], v0, a1, -2.0
873 // GFX908: v_mfma_f32_4x4x2bf16 a[0:3], v0, a1, -2.0 ; encoding: [0x00,0x00,0xeb,0xd3,0x00,0x03,0xd6,0x13]
874
875 v_mfma_f32_4x4x2bf16 a[0:3], v0, a1, -2.0 cbsz:3 abid:2 blgp:7
876 // GFX908: v_mfma_f32_4x4x2bf16 a[0:3], v0, a1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xeb,0xd3,0x00,0x03,0xd6,0xf3]
877
878 v_mfma_f32_4x4x2bf16 a[0:3], a0, v1, -2.0
879 // GFX908: v_mfma_f32_4x4x2bf16 a[0:3], a0, v1, -2.0 ; encoding: [0x00,0x00,0xeb,0xd3,0x00,0x03,0xd6,0x0b]
880
881 v_mfma_f32_4x4x2bf16 a[0:3], a0, v1, -2.0 cbsz:3 abid:2 blgp:7
882 // GFX908: v_mfma_f32_4x4x2bf16 a[0:3], a0, v1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xeb,0xd3,0x00,0x03,0xd6,0xeb]
883
884 v_mfma_f32_4x4x2bf16 a[0:3], a0, a1, -2.0
885 // GFX908: v_mfma_f32_4x4x2bf16 a[0:3], a0, a1, -2.0 ; encoding: [0x00,0x00,0xeb,0xd3,0x00,0x03,0xd6,0x1b]
886
887 v_mfma_f32_4x4x2bf16 a[0:3], a0, a1, -2.0 cbsz:3 abid:2 blgp:7
888 // GFX908: v_mfma_f32_4x4x2bf16 a[0:3], a0, a1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xeb,0xd3,0x00,0x03,0xd6,0xfb]
889
890 v_mfma_f32_32x32x4bf16 a[0:15], v0, v1, a[1:16]
891 // GFX908: v_mfma_f32_32x32x4bf16 a[0:15], v0, v1, a[1:16] ; encoding: [0x00,0x00,0xec,0xd3,0x00,0x03,0x06,0x04]
892
893 v_mfma_f32_32x32x4bf16 a[0:15], v0, v1, a[1:16] cbsz:3 abid:2 blgp:7
894 // GFX908: v_mfma_f32_32x32x4bf16 a[0:15], v0, v1, a[1:16] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xec,0xd3,0x00,0x03,0x06,0xe4]
895
896 v_mfma_f32_32x32x4bf16 a[0:15], v0, a1, a[1:16]
897 // GFX908: v_mfma_f32_32x32x4bf16 a[0:15], v0, a1, a[1:16] ; encoding: [0x00,0x00,0xec,0xd3,0x00,0x03,0x06,0x14]
898
899 v_mfma_f32_32x32x4bf16 a[0:15], v0, a1, a[1:16] cbsz:3 abid:2 blgp:7
900 // GFX908: v_mfma_f32_32x32x4bf16 a[0:15], v0, a1, a[1:16] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xec,0xd3,0x00,0x03,0x06,0xf4]
901
902 v_mfma_f32_32x32x4bf16 a[0:15], a0, v1, a[1:16]
903 // GFX908: v_mfma_f32_32x32x4bf16 a[0:15], a0, v1, a[1:16] ; encoding: [0x00,0x00,0xec,0xd3,0x00,0x03,0x06,0x0c]
904
905 v_mfma_f32_32x32x4bf16 a[0:15], a0, v1, a[1:16] cbsz:3 abid:2 blgp:7
906 // GFX908: v_mfma_f32_32x32x4bf16 a[0:15], a0, v1, a[1:16] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xec,0xd3,0x00,0x03,0x06,0xec]
907
908 v_mfma_f32_32x32x4bf16 a[0:15], a0, a1, a[1:16]
909 // GFX908: v_mfma_f32_32x32x4bf16 a[0:15], a0, a1, a[1:16] ; encoding: [0x00,0x00,0xec,0xd3,0x00,0x03,0x06,0x1c]
910
911 v_mfma_f32_32x32x4bf16 a[0:15], a0, a1, a[1:16] cbsz:3 abid:2 blgp:7
912 // GFX908: v_mfma_f32_32x32x4bf16 a[0:15], a0, a1, a[1:16] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xec,0xd3,0x00,0x03,0x06,0xfc]
913
914 v_mfma_f32_32x32x4bf16 a[0:15], v0, v1, -2.0
915 // GFX908: v_mfma_f32_32x32x4bf16 a[0:15], v0, v1, -2.0 ; encoding: [0x00,0x00,0xec,0xd3,0x00,0x03,0xd6,0x03]
916
917 v_mfma_f32_32x32x4bf16 a[0:15], v0, v1, -2.0 cbsz:3 abid:2 blgp:7
918 // GFX908: v_mfma_f32_32x32x4bf16 a[0:15], v0, v1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xec,0xd3,0x00,0x03,0xd6,0xe3]
919
920 v_mfma_f32_32x32x4bf16 a[0:15], v0, a1, -2.0
921 // GFX908: v_mfma_f32_32x32x4bf16 a[0:15], v0, a1, -2.0 ; encoding: [0x00,0x00,0xec,0xd3,0x00,0x03,0xd6,0x13]
922
923 v_mfma_f32_32x32x4bf16 a[0:15], v0, a1, -2.0 cbsz:3 abid:2 blgp:7
924 // GFX908: v_mfma_f32_32x32x4bf16 a[0:15], v0, a1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xec,0xd3,0x00,0x03,0xd6,0xf3]
925
926 v_mfma_f32_32x32x4bf16 a[0:15], a0, v1, -2.0
927 // GFX908: v_mfma_f32_32x32x4bf16 a[0:15], a0, v1, -2.0 ; encoding: [0x00,0x00,0xec,0xd3,0x00,0x03,0xd6,0x0b]
928
929 v_mfma_f32_32x32x4bf16 a[0:15], a0, v1, -2.0 cbsz:3 abid:2 blgp:7
930 // GFX908: v_mfma_f32_32x32x4bf16 a[0:15], a0, v1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xec,0xd3,0x00,0x03,0xd6,0xeb]
931
932 v_mfma_f32_32x32x4bf16 a[0:15], a0, a1, -2.0
933 // GFX908: v_mfma_f32_32x32x4bf16 a[0:15], a0, a1, -2.0 ; encoding: [0x00,0x00,0xec,0xd3,0x00,0x03,0xd6,0x1b]
934
935 v_mfma_f32_32x32x4bf16 a[0:15], a0, a1, -2.0 cbsz:3 abid:2 blgp:7
936 // GFX908: v_mfma_f32_32x32x4bf16 a[0:15], a0, a1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xec,0xd3,0x00,0x03,0xd6,0xfb]
937
938 v_mfma_f32_16x16x8bf16 a[0:3], v0, v1, a[1:4]
939 // GFX908: v_mfma_f32_16x16x8bf16 a[0:3], v0, v1, a[1:4] ; encoding: [0x00,0x00,0xed,0xd3,0x00,0x03,0x06,0x04]
940
941 v_mfma_f32_16x16x8bf16 a[0:3], v0, v1, a[1:4] cbsz:3 abid:2 blgp:7
942 // GFX908: v_mfma_f32_16x16x8bf16 a[0:3], v0, v1, a[1:4] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xed,0xd3,0x00,0x03,0x06,0xe4]
943
944 v_mfma_f32_16x16x8bf16 a[0:3], v0, a1, a[1:4]
945 // GFX908: v_mfma_f32_16x16x8bf16 a[0:3], v0, a1, a[1:4] ; encoding: [0x00,0x00,0xed,0xd3,0x00,0x03,0x06,0x14]
946
947 v_mfma_f32_16x16x8bf16 a[0:3], v0, a1, a[1:4] cbsz:3 abid:2 blgp:7
948 // GFX908: v_mfma_f32_16x16x8bf16 a[0:3], v0, a1, a[1:4] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xed,0xd3,0x00,0x03,0x06,0xf4]
949
950 v_mfma_f32_16x16x8bf16 a[0:3], a0, v1, a[1:4]
951 // GFX908: v_mfma_f32_16x16x8bf16 a[0:3], a0, v1, a[1:4] ; encoding: [0x00,0x00,0xed,0xd3,0x00,0x03,0x06,0x0c]
952
953 v_mfma_f32_16x16x8bf16 a[0:3], a0, v1, a[1:4] cbsz:3 abid:2 blgp:7
954 // GFX908: v_mfma_f32_16x16x8bf16 a[0:3], a0, v1, a[1:4] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xed,0xd3,0x00,0x03,0x06,0xec]
955
956 v_mfma_f32_16x16x8bf16 a[0:3], a0, a1, a[1:4]
957 // GFX908: v_mfma_f32_16x16x8bf16 a[0:3], a0, a1, a[1:4] ; encoding: [0x00,0x00,0xed,0xd3,0x00,0x03,0x06,0x1c]
958
959 v_mfma_f32_16x16x8bf16 a[0:3], a0, a1, a[1:4] cbsz:3 abid:2 blgp:7
960 // GFX908: v_mfma_f32_16x16x8bf16 a[0:3], a0, a1, a[1:4] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xed,0xd3,0x00,0x03,0x06,0xfc]
961
962 v_mfma_f32_16x16x8bf16 a[0:3], v0, v1, -2.0
963 // GFX908: v_mfma_f32_16x16x8bf16 a[0:3], v0, v1, -2.0 ; encoding: [0x00,0x00,0xed,0xd3,0x00,0x03,0xd6,0x03]
964
965 v_mfma_f32_16x16x8bf16 a[0:3], v0, v1, -2.0 cbsz:3 abid:2 blgp:7
966 // GFX908: v_mfma_f32_16x16x8bf16 a[0:3], v0, v1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xed,0xd3,0x00,0x03,0xd6,0xe3]
967
968 v_mfma_f32_16x16x8bf16 a[0:3], v0, a1, -2.0
969 // GFX908: v_mfma_f32_16x16x8bf16 a[0:3], v0, a1, -2.0 ; encoding: [0x00,0x00,0xed,0xd3,0x00,0x03,0xd6,0x13]
970
971 v_mfma_f32_16x16x8bf16 a[0:3], v0, a1, -2.0 cbsz:3 abid:2 blgp:7
972 // GFX908: v_mfma_f32_16x16x8bf16 a[0:3], v0, a1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xed,0xd3,0x00,0x03,0xd6,0xf3]
973
974 v_mfma_f32_16x16x8bf16 a[0:3], a0, v1, -2.0
975 // GFX908: v_mfma_f32_16x16x8bf16 a[0:3], a0, v1, -2.0 ; encoding: [0x00,0x00,0xed,0xd3,0x00,0x03,0xd6,0x0b]
976
977 v_mfma_f32_16x16x8bf16 a[0:3], a0, v1, -2.0 cbsz:3 abid:2 blgp:7
978 // GFX908: v_mfma_f32_16x16x8bf16 a[0:3], a0, v1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xed,0xd3,0x00,0x03,0xd6,0xeb]
979
980 v_mfma_f32_16x16x8bf16 a[0:3], a0, a1, -2.0
981 // GFX908: v_mfma_f32_16x16x8bf16 a[0:3], a0, a1, -2.0 ; encoding: [0x00,0x00,0xed,0xd3,0x00,0x03,0xd6,0x1b]
982
983 v_mfma_f32_16x16x8bf16 a[0:3], a0, a1, -2.0 cbsz:3 abid:2 blgp:7
984 // GFX908: v_mfma_f32_16x16x8bf16 a[0:3], a0, a1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xed,0xd3,0x00,0x03,0xd6,0xfb]
0 # RUN: llvm-mc -arch=amdgcn -mcpu=gfx908 -show-encoding -disassemble %s | FileCheck -check-prefix=GFX908 %s
1
2 # GFX908: v_accvgpr_read_b32 v2, a0 ; encoding: [0x02,0x00,0xd8,0xd3,0x00,0x01,0x00,0x08]
3 0x02,0x00,0xd8,0xd3,0x00,0x01,0x00,0x08
4
5 # GFX908: v_accvgpr_read_b32 v2, a1 ; encoding: [0x02,0x00,0xd8,0xd3,0x01,0x01,0x00,0x08]
6 0x02,0x00,0xd8,0xd3,0x01,0x01,0x00,0x08
7
8 # GFX908: v_accvgpr_read_b32 v2, a255 ; encoding: [0x02,0x00,0xd8,0xd3,0xff,0x01,0x00,0x08]
9 0x02,0x00,0xd8,0xd3,0xff,0x01,0x00,0x08
10
11 # GFX908: v_accvgpr_write_b32 a2, -2.0 ; encoding: [0x02,0x00,0xd9,0xd3,0xf5,0x00,0x00,0x00]
12 0x02,0x00,0xd9,0xd3,0xf5,0x00,0x00,0x00
13
14 # GFX908: v_accvgpr_write_b32 a2, -2 ; encoding: [0x02,0x00,0xd9,0xd3,0xc2,0x00,0x00,0x00]
15 0x02,0x00,0xd9,0xd3,0xc2,0x00,0x00,0x00
16
17 # GFX908: v_accvgpr_write_b32 a2, v1 ; encoding: [0x02,0x00,0xd9,0xd3,0x01,0x01,0x00,0x00]
18 0x02,0x00,0xd9,0xd3,0x01,0x01,0x00,0x00
19
20 # GFX908: v_mfma_f32_32x32x1f32 a[0:31], v0, v1, a[1:32] ; encoding: [0x00,0x00,0xc0,0xd3,0x00,0x03,0x06,0x04]
21 0x00,0x00,0xc0,0xd3,0x00,0x03,0x06,0x04
22
23 # GFX908: v_mfma_f32_32x32x1f32 a[0:31], v0, v1, a[1:32] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc0,0xd3,0x00,0x03,0x06,0xe4]
24 0x00,0x13,0xc0,0xd3,0x00,0x03,0x06,0xe4
25
26 # GFX908: v_mfma_f32_32x32x1f32 a[0:31], v0, a1, a[1:32] ; encoding: [0x00,0x00,0xc0,0xd3,0x00,0x03,0x06,0x14]
27 0x00,0x00,0xc0,0xd3,0x00,0x03,0x06,0x14
28
29 # GFX908: v_mfma_f32_32x32x1f32 a[0:31], v0, a1, a[1:32] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc0,0xd3,0x00,0x03,0x06,0xf4]
30 0x00,0x13,0xc0,0xd3,0x00,0x03,0x06,0xf4
31
32 # GFX908: v_mfma_f32_32x32x1f32 a[0:31], a0, v1, a[1:32] ; encoding: [0x00,0x00,0xc0,0xd3,0x00,0x03,0x06,0x0c]
33 0x00,0x00,0xc0,0xd3,0x00,0x03,0x06,0x0c
34
35 # GFX908: v_mfma_f32_32x32x1f32 a[0:31], a0, v1, a[1:32] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc0,0xd3,0x00,0x03,0x06,0xec]
36 0x00,0x13,0xc0,0xd3,0x00,0x03,0x06,0xec
37
38 # GFX908: v_mfma_f32_32x32x1f32 a[0:31], a0, a1, a[1:32] ; encoding: [0x00,0x00,0xc0,0xd3,0x00,0x03,0x06,0x1c]
39 0x00,0x00,0xc0,0xd3,0x00,0x03,0x06,0x1c
40
41 # GFX908: v_mfma_f32_32x32x1f32 a[0:31], a0, a1, a[1:32] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc0,0xd3,0x00,0x03,0x06,0xfc]
42 0x00,0x13,0xc0,0xd3,0x00,0x03,0x06,0xfc
43
44 # GFX908: v_mfma_f32_32x32x1f32 a[0:31], v0, v1, -2.0 ; encoding: [0x00,0x00,0xc0,0xd3,0x00,0x03,0xd6,0x03]
45 0x00,0x00,0xc0,0xd3,0x00,0x03,0xd6,0x03
46
47 # GFX908: v_mfma_f32_32x32x1f32 a[0:31], v0, v1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc0,0xd3,0x00,0x03,0xd6,0xe3]
48 0x00,0x13,0xc0,0xd3,0x00,0x03,0xd6,0xe3
49
50 # GFX908: v_mfma_f32_32x32x1f32 a[0:31], v0, a1, -2.0 ; encoding: [0x00,0x00,0xc0,0xd3,0x00,0x03,0xd6,0x13]
51 0x00,0x00,0xc0,0xd3,0x00,0x03,0xd6,0x13
52
53 # GFX908: v_mfma_f32_32x32x1f32 a[0:31], v0, a1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc0,0xd3,0x00,0x03,0xd6,0xf3]
54 0x00,0x13,0xc0,0xd3,0x00,0x03,0xd6,0xf3
55
56 # GFX908: v_mfma_f32_32x32x1f32 a[0:31], a0, v1, -2.0 ; encoding: [0x00,0x00,0xc0,0xd3,0x00,0x03,0xd6,0x0b]
57 0x00,0x00,0xc0,0xd3,0x00,0x03,0xd6,0x0b
58
59 # GFX908: v_mfma_f32_32x32x1f32 a[0:31], a0, v1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc0,0xd3,0x00,0x03,0xd6,0xeb]
60 0x00,0x13,0xc0,0xd3,0x00,0x03,0xd6,0xeb
61
62 # GFX908: v_mfma_f32_32x32x1f32 a[0:31], a0, a1, -2.0 ; encoding: [0x00,0x00,0xc0,0xd3,0x00,0x03,0xd6,0x1b]
63 0x00,0x00,0xc0,0xd3,0x00,0x03,0xd6,0x1b
64
65 # GFX908: v_mfma_f32_32x32x1f32 a[0:31], a0, a1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc0,0xd3,0x00,0x03,0xd6,0xfb]
66 0x00,0x13,0xc0,0xd3,0x00,0x03,0xd6,0xfb
67
68 # GFX908: v_mfma_f32_16x16x1f32 a[0:15], v0, v1, a[1:16] ; encoding: [0x00,0x00,0xc1,0xd3,0x00,0x03,0x06,0x04]
69 0x00,0x00,0xc1,0xd3,0x00,0x03,0x06,0x04
70
71 # GFX908: v_mfma_f32_16x16x1f32 a[0:15], v0, v1, a[1:16] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc1,0xd3,0x00,0x03,0x06,0xe4]
72 0x00,0x13,0xc1,0xd3,0x00,0x03,0x06,0xe4
73
74 # GFX908: v_mfma_f32_16x16x1f32 a[0:15], v0, a1, a[1:16] ; encoding: [0x00,0x00,0xc1,0xd3,0x00,0x03,0x06,0x14]
75 0x00,0x00,0xc1,0xd3,0x00,0x03,0x06,0x14
76
77 # GFX908: v_mfma_f32_16x16x1f32 a[0:15], v0, a1, a[1:16] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc1,0xd3,0x00,0x03,0x06,0xf4]
78 0x00,0x13,0xc1,0xd3,0x00,0x03,0x06,0xf4
79
80 # GFX908: v_mfma_f32_16x16x1f32 a[0:15], a0, v1, a[1:16] ; encoding: [0x00,0x00,0xc1,0xd3,0x00,0x03,0x06,0x0c]
81 0x00,0x00,0xc1,0xd3,0x00,0x03,0x06,0x0c
82
83 # GFX908: v_mfma_f32_16x16x1f32 a[0:15], a0, v1, a[1:16] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc1,0xd3,0x00,0x03,0x06,0xec]
84 0x00,0x13,0xc1,0xd3,0x00,0x03,0x06,0xec
85
86 # GFX908: v_mfma_f32_16x16x1f32 a[0:15], a0, a1, a[1:16] ; encoding: [0x00,0x00,0xc1,0xd3,0x00,0x03,0x06,0x1c]
87 0x00,0x00,0xc1,0xd3,0x00,0x03,0x06,0x1c
88
89 # GFX908: v_mfma_f32_16x16x1f32 a[0:15], a0, a1, a[1:16] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc1,0xd3,0x00,0x03,0x06,0xfc]
90 0x00,0x13,0xc1,0xd3,0x00,0x03,0x06,0xfc
91
92 # GFX908: v_mfma_f32_16x16x1f32 a[0:15], v0, v1, -2.0 ; encoding: [0x00,0x00,0xc1,0xd3,0x00,0x03,0xd6,0x03]
93 0x00,0x00,0xc1,0xd3,0x00,0x03,0xd6,0x03
94
95 # GFX908: v_mfma_f32_16x16x1f32 a[0:15], v0, v1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc1,0xd3,0x00,0x03,0xd6,0xe3]
96 0x00,0x13,0xc1,0xd3,0x00,0x03,0xd6,0xe3
97
98 # GFX908: v_mfma_f32_16x16x1f32 a[0:15], v0, a1, -2.0 ; encoding: [0x00,0x00,0xc1,0xd3,0x00,0x03,0xd6,0x13]
99 0x00,0x00,0xc1,0xd3,0x00,0x03,0xd6,0x13
100
101 # GFX908: v_mfma_f32_16x16x1f32 a[0:15], v0, a1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc1,0xd3,0x00,0x03,0xd6,0xf3]
102 0x00,0x13,0xc1,0xd3,0x00,0x03,0xd6,0xf3
103
104 # GFX908: v_mfma_f32_16x16x1f32 a[0:15], a0, v1, -2.0 ; encoding: [0x00,0x00,0xc1,0xd3,0x00,0x03,0xd6,0x0b]
105 0x00,0x00,0xc1,0xd3,0x00,0x03,0xd6,0x0b
106
107 # GFX908: v_mfma_f32_16x16x1f32 a[0:15], a0, v1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc1,0xd3,0x00,0x03,0xd6,0xeb]
108 0x00,0x13,0xc1,0xd3,0x00,0x03,0xd6,0xeb
109
110 # GFX908: v_mfma_f32_16x16x1f32 a[0:15], a0, a1, -2.0 ; encoding: [0x00,0x00,0xc1,0xd3,0x00,0x03,0xd6,0x1b]
111 0x00,0x00,0xc1,0xd3,0x00,0x03,0xd6,0x1b
112
113 # GFX908: v_mfma_f32_16x16x1f32 a[0:15], a0, a1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc1,0xd3,0x00,0x03,0xd6,0xfb]
114 0x00,0x13,0xc1,0xd3,0x00,0x03,0xd6,0xfb
115
116 # GFX908: v_mfma_f32_4x4x1f32 a[0:3], v0, v1, a[1:4] ; encoding: [0x00,0x00,0xc2,0xd3,0x00,0x03,0x06,0x04]
117 0x00,0x00,0xc2,0xd3,0x00,0x03,0x06,0x04
118
119 # GFX908: v_mfma_f32_4x4x1f32 a[0:3], v0, v1, a[1:4] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc2,0xd3,0x00,0x03,0x06,0xe4]
120 0x00,0x13,0xc2,0xd3,0x00,0x03,0x06,0xe4
121
122 # GFX908: v_mfma_f32_4x4x1f32 a[0:3], v0, a1, a[1:4] ; encoding: [0x00,0x00,0xc2,0xd3,0x00,0x03,0x06,0x14]
123 0x00,0x00,0xc2,0xd3,0x00,0x03,0x06,0x14
124
125 # GFX908: v_mfma_f32_4x4x1f32 a[0:3], v0, a1, a[1:4] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc2,0xd3,0x00,0x03,0x06,0xf4]
126 0x00,0x13,0xc2,0xd3,0x00,0x03,0x06,0xf4
127
128 # GFX908: v_mfma_f32_4x4x1f32 a[0:3], a0, v1, a[1:4] ; encoding: [0x00,0x00,0xc2,0xd3,0x00,0x03,0x06,0x0c]
129 0x00,0x00,0xc2,0xd3,0x00,0x03,0x06,0x0c
130
131 # GFX908: v_mfma_f32_4x4x1f32 a[0:3], a0, v1, a[1:4] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc2,0xd3,0x00,0x03,0x06,0xec]
132 0x00,0x13,0xc2,0xd3,0x00,0x03,0x06,0xec
133
134 # GFX908: v_mfma_f32_4x4x1f32 a[0:3], a0, a1, a[1:4] ; encoding: [0x00,0x00,0xc2,0xd3,0x00,0x03,0x06,0x1c]
135 0x00,0x00,0xc2,0xd3,0x00,0x03,0x06,0x1c
136
137 # GFX908: v_mfma_f32_4x4x1f32 a[0:3], a0, a1, a[1:4] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc2,0xd3,0x00,0x03,0x06,0xfc]
138 0x00,0x13,0xc2,0xd3,0x00,0x03,0x06,0xfc
139
140 # GFX908: v_mfma_f32_4x4x1f32 a[0:3], v0, v1, -2.0 ; encoding: [0x00,0x00,0xc2,0xd3,0x00,0x03,0xd6,0x03]
141 0x00,0x00,0xc2,0xd3,0x00,0x03,0xd6,0x03
142
143 # GFX908: v_mfma_f32_4x4x1f32 a[0:3], v0, v1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc2,0xd3,0x00,0x03,0xd6,0xe3]
144 0x00,0x13,0xc2,0xd3,0x00,0x03,0xd6,0xe3
145
146 # GFX908: v_mfma_f32_4x4x1f32 a[0:3], v0, a1, -2.0 ; encoding: [0x00,0x00,0xc2,0xd3,0x00,0x03,0xd6,0x13]
147 0x00,0x00,0xc2,0xd3,0x00,0x03,0xd6,0x13
148
149 # GFX908: v_mfma_f32_4x4x1f32 a[0:3], v0, a1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc2,0xd3,0x00,0x03,0xd6,0xf3]
150 0x00,0x13,0xc2,0xd3,0x00,0x03,0xd6,0xf3
151
152 # GFX908: v_mfma_f32_4x4x1f32 a[0:3], a0, v1, -2.0 ; encoding: [0x00,0x00,0xc2,0xd3,0x00,0x03,0xd6,0x0b]
153 0x00,0x00,0xc2,0xd3,0x00,0x03,0xd6,0x0b
154
155 # GFX908: v_mfma_f32_4x4x1f32 a[0:3], a0, v1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc2,0xd3,0x00,0x03,0xd6,0xeb]
156 0x00,0x13,0xc2,0xd3,0x00,0x03,0xd6,0xeb
157
158 # GFX908: v_mfma_f32_4x4x1f32 a[0:3], a0, a1, -2.0 ; encoding: [0x00,0x00,0xc2,0xd3,0x00,0x03,0xd6,0x1b]
159 0x00,0x00,0xc2,0xd3,0x00,0x03,0xd6,0x1b
160
161 # GFX908: v_mfma_f32_4x4x1f32 a[0:3], a0, a1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc2,0xd3,0x00,0x03,0xd6,0xfb]
162 0x00,0x13,0xc2,0xd3,0x00,0x03,0xd6,0xfb
163
164 # GFX908: v_mfma_f32_32x32x2f32 a[0:15], v0, v1, a[1:16] ; encoding: [0x00,0x00,0xc4,0xd3,0x00,0x03,0x06,0x04]
165 0x00,0x00,0xc4,0xd3,0x00,0x03,0x06,0x04
166
167 # GFX908: v_mfma_f32_32x32x2f32 a[0:15], v0, v1, a[1:16] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc4,0xd3,0x00,0x03,0x06,0xe4]
168 0x00,0x13,0xc4,0xd3,0x00,0x03,0x06,0xe4
169
170 # GFX908: v_mfma_f32_32x32x2f32 a[0:15], v0, a1, a[1:16] ; encoding: [0x00,0x00,0xc4,0xd3,0x00,0x03,0x06,0x14]
171 0x00,0x00,0xc4,0xd3,0x00,0x03,0x06,0x14
172
173 # GFX908: v_mfma_f32_32x32x2f32 a[0:15], v0, a1, a[1:16] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc4,0xd3,0x00,0x03,0x06,0xf4]
174 0x00,0x13,0xc4,0xd3,0x00,0x03,0x06,0xf4
175
176 # GFX908: v_mfma_f32_32x32x2f32 a[0:15], a0, v1, a[1:16] ; encoding: [0x00,0x00,0xc4,0xd3,0x00,0x03,0x06,0x0c]
177 0x00,0x00,0xc4,0xd3,0x00,0x03,0x06,0x0c
178
179 # GFX908: v_mfma_f32_32x32x2f32 a[0:15], a0, v1, a[1:16] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc4,0xd3,0x00,0x03,0x06,0xec]
180 0x00,0x13,0xc4,0xd3,0x00,0x03,0x06,0xec
181
182 # GFX908: v_mfma_f32_32x32x2f32 a[0:15], a0, a1, a[1:16] ; encoding: [0x00,0x00,0xc4,0xd3,0x00,0x03,0x06,0x1c]
183 0x00,0x00,0xc4,0xd3,0x00,0x03,0x06,0x1c
184
185 # GFX908: v_mfma_f32_32x32x2f32 a[0:15], a0, a1, a[1:16] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc4,0xd3,0x00,0x03,0x06,0xfc]
186 0x00,0x13,0xc4,0xd3,0x00,0x03,0x06,0xfc
187
188 # GFX908: v_mfma_f32_32x32x2f32 a[0:15], v0, v1, -2.0 ; encoding: [0x00,0x00,0xc4,0xd3,0x00,0x03,0xd6,0x03]
189 0x00,0x00,0xc4,0xd3,0x00,0x03,0xd6,0x03
190
191 # GFX908: v_mfma_f32_32x32x2f32 a[0:15], v0, v1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc4,0xd3,0x00,0x03,0xd6,0xe3]
192 0x00,0x13,0xc4,0xd3,0x00,0x03,0xd6,0xe3
193
194 # GFX908: v_mfma_f32_32x32x2f32 a[0:15], v0, a1, -2.0 ; encoding: [0x00,0x00,0xc4,0xd3,0x00,0x03,0xd6,0x13]
195 0x00,0x00,0xc4,0xd3,0x00,0x03,0xd6,0x13
196
197 # GFX908: v_mfma_f32_32x32x2f32 a[0:15], v0, a1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc4,0xd3,0x00,0x03,0xd6,0xf3]
198 0x00,0x13,0xc4,0xd3,0x00,0x03,0xd6,0xf3
199
200 # GFX908: v_mfma_f32_32x32x2f32 a[0:15], a0, v1, -2.0 ; encoding: [0x00,0x00,0xc4,0xd3,0x00,0x03,0xd6,0x0b]
201 0x00,0x00,0xc4,0xd3,0x00,0x03,0xd6,0x0b
202
203 # GFX908: v_mfma_f32_32x32x2f32 a[0:15], a0, v1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc4,0xd3,0x00,0x03,0xd6,0xeb]
204 0x00,0x13,0xc4,0xd3,0x00,0x03,0xd6,0xeb
205
206 # GFX908: v_mfma_f32_32x32x2f32 a[0:15], a0, a1, -2.0 ; encoding: [0x00,0x00,0xc4,0xd3,0x00,0x03,0xd6,0x1b]
207 0x00,0x00,0xc4,0xd3,0x00,0x03,0xd6,0x1b
208
209 # GFX908: v_mfma_f32_32x32x2f32 a[0:15], a0, a1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc4,0xd3,0x00,0x03,0xd6,0xfb]
210 0x00,0x13,0xc4,0xd3,0x00,0x03,0xd6,0xfb
211
212 # GFX908: v_mfma_f32_16x16x4f32 a[0:3], v0, v1, a[1:4] ; encoding: [0x00,0x00,0xc5,0xd3,0x00,0x03,0x06,0x04]
213 0x00,0x00,0xc5,0xd3,0x00,0x03,0x06,0x04
214
215 # GFX908: v_mfma_f32_16x16x4f32 a[0:3], v0, v1, a[1:4] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc5,0xd3,0x00,0x03,0x06,0xe4]
216 0x00,0x13,0xc5,0xd3,0x00,0x03,0x06,0xe4
217
218 # GFX908: v_mfma_f32_16x16x4f32 a[0:3], v0, a1, a[1:4] ; encoding: [0x00,0x00,0xc5,0xd3,0x00,0x03,0x06,0x14]
219 0x00,0x00,0xc5,0xd3,0x00,0x03,0x06,0x14
220
221 # GFX908: v_mfma_f32_16x16x4f32 a[0:3], v0, a1, a[1:4] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc5,0xd3,0x00,0x03,0x06,0xf4]
222 0x00,0x13,0xc5,0xd3,0x00,0x03,0x06,0xf4
223
224 # GFX908: v_mfma_f32_16x16x4f32 a[0:3], a0, v1, a[1:4] ; encoding: [0x00,0x00,0xc5,0xd3,0x00,0x03,0x06,0x0c]
225 0x00,0x00,0xc5,0xd3,0x00,0x03,0x06,0x0c
226
227 # GFX908: v_mfma_f32_16x16x4f32 a[0:3], a0, v1, a[1:4] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc5,0xd3,0x00,0x03,0x06,0xec]
228 0x00,0x13,0xc5,0xd3,0x00,0x03,0x06,0xec
229
230 # GFX908: v_mfma_f32_16x16x4f32 a[0:3], a0, a1, a[1:4] ; encoding: [0x00,0x00,0xc5,0xd3,0x00,0x03,0x06,0x1c]
231 0x00,0x00,0xc5,0xd3,0x00,0x03,0x06,0x1c
232
233 # GFX908: v_mfma_f32_16x16x4f32 a[0:3], a0, a1, a[1:4] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc5,0xd3,0x00,0x03,0x06,0xfc]
234 0x00,0x13,0xc5,0xd3,0x00,0x03,0x06,0xfc
235
236 # GFX908: v_mfma_f32_16x16x4f32 a[0:3], v0, v1, -2.0 ; encoding: [0x00,0x00,0xc5,0xd3,0x00,0x03,0xd6,0x03]
237 0x00,0x00,0xc5,0xd3,0x00,0x03,0xd6,0x03
238
239 # GFX908: v_mfma_f32_16x16x4f32 a[0:3], v0, v1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc5,0xd3,0x00,0x03,0xd6,0xe3]
240 0x00,0x13,0xc5,0xd3,0x00,0x03,0xd6,0xe3
241
242 # GFX908: v_mfma_f32_16x16x4f32 a[0:3], v0, a1, -2.0 ; encoding: [0x00,0x00,0xc5,0xd3,0x00,0x03,0xd6,0x13]
243 0x00,0x00,0xc5,0xd3,0x00,0x03,0xd6,0x13
244
245 # GFX908: v_mfma_f32_16x16x4f32 a[0:3], v0, a1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc5,0xd3,0x00,0x03,0xd6,0xf3]
246 0x00,0x13,0xc5,0xd3,0x00,0x03,0xd6,0xf3
247
248 # GFX908: v_mfma_f32_16x16x4f32 a[0:3], a0, v1, -2.0 ; encoding: [0x00,0x00,0xc5,0xd3,0x00,0x03,0xd6,0x0b]
249 0x00,0x00,0xc5,0xd3,0x00,0x03,0xd6,0x0b
250
251 # GFX908: v_mfma_f32_16x16x4f32 a[0:3], a0, v1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc5,0xd3,0x00,0x03,0xd6,0xeb]
252 0x00,0x13,0xc5,0xd3,0x00,0x03,0xd6,0xeb
253
254 # GFX908: v_mfma_f32_16x16x4f32 a[0:3], a0, a1, -2.0 ; encoding: [0x00,0x00,0xc5,0xd3,0x00,0x03,0xd6,0x1b]
255 0x00,0x00,0xc5,0xd3,0x00,0x03,0xd6,0x1b
256
257 # GFX908: v_mfma_f32_16x16x4f32 a[0:3], a0, a1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc5,0xd3,0x00,0x03,0xd6,0xfb]
258 0x00,0x13,0xc5,0xd3,0x00,0x03,0xd6,0xfb
259
260 # GFX908: v_mfma_f32_32x32x4f16 a[0:31], v[0:1], v[1:2], a[1:32] ; encoding: [0x00,0x00,0xc8,0xd3,0x00,0x03,0x06,0x04]
261 0x00,0x00,0xc8,0xd3,0x00,0x03,0x06,0x04
262
263 # GFX908: v_mfma_f32_32x32x4f16 a[0:31], v[0:1], v[1:2], a[1:32] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc8,0xd3,0x00,0x03,0x06,0xe4]
264 0x00,0x13,0xc8,0xd3,0x00,0x03,0x06,0xe4
265
266 # GFX908: v_mfma_f32_32x32x4f16 a[0:31], v[0:1], a[1:2], a[1:32] ; encoding: [0x00,0x00,0xc8,0xd3,0x00,0x03,0x06,0x14]
267 0x00,0x00,0xc8,0xd3,0x00,0x03,0x06,0x14
268
269 # GFX908: v_mfma_f32_32x32x4f16 a[0:31], v[0:1], a[1:2], a[1:32] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc8,0xd3,0x00,0x03,0x06,0xf4]
270 0x00,0x13,0xc8,0xd3,0x00,0x03,0x06,0xf4
271
272 # GFX908: v_mfma_f32_32x32x4f16 a[0:31], a[0:1], v[1:2], a[1:32] ; encoding: [0x00,0x00,0xc8,0xd3,0x00,0x03,0x06,0x0c]
273 0x00,0x00,0xc8,0xd3,0x00,0x03,0x06,0x0c
274
275 # GFX908: v_mfma_f32_32x32x4f16 a[0:31], a[0:1], v[1:2], a[1:32] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc8,0xd3,0x00,0x03,0x06,0xec]
276 0x00,0x13,0xc8,0xd3,0x00,0x03,0x06,0xec
277
278 # GFX908: v_mfma_f32_32x32x4f16 a[0:31], a[0:1], a[1:2], a[1:32] ; encoding: [0x00,0x00,0xc8,0xd3,0x00,0x03,0x06,0x1c]
279 0x00,0x00,0xc8,0xd3,0x00,0x03,0x06,0x1c
280
281 # GFX908: v_mfma_f32_32x32x4f16 a[0:31], a[0:1], a[1:2], a[1:32] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc8,0xd3,0x00,0x03,0x06,0xfc]
282 0x00,0x13,0xc8,0xd3,0x00,0x03,0x06,0xfc
283
284 # GFX908: v_mfma_f32_32x32x4f16 a[0:31], v[0:1], v[1:2], -2.0 ; encoding: [0x00,0x00,0xc8,0xd3,0x00,0x03,0xd6,0x03]
285 0x00,0x00,0xc8,0xd3,0x00,0x03,0xd6,0x03
286
287 # GFX908: v_mfma_f32_32x32x4f16 a[0:31], v[0:1], v[1:2], -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc8,0xd3,0x00,0x03,0xd6,0xe3]
288 0x00,0x13,0xc8,0xd3,0x00,0x03,0xd6,0xe3
289
290 # GFX908: v_mfma_f32_32x32x4f16 a[0:31], v[0:1], a[1:2], -2.0 ; encoding: [0x00,0x00,0xc8,0xd3,0x00,0x03,0xd6,0x13]
291 0x00,0x00,0xc8,0xd3,0x00,0x03,0xd6,0x13
292
293 # GFX908: v_mfma_f32_32x32x4f16 a[0:31], v[0:1], a[1:2], -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc8,0xd3,0x00,0x03,0xd6,0xf3]
294 0x00,0x13,0xc8,0xd3,0x00,0x03,0xd6,0xf3
295
296 # GFX908: v_mfma_f32_32x32x4f16 a[0:31], a[0:1], v[1:2], -2.0 ; encoding: [0x00,0x00,0xc8,0xd3,0x00,0x03,0xd6,0x0b]
297 0x00,0x00,0xc8,0xd3,0x00,0x03,0xd6,0x0b
298
299 # GFX908: v_mfma_f32_32x32x4f16 a[0:31], a[0:1], v[1:2], -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc8,0xd3,0x00,0x03,0xd6,0xeb]
300 0x00,0x13,0xc8,0xd3,0x00,0x03,0xd6,0xeb
301
302 # GFX908: v_mfma_f32_32x32x4f16 a[0:31], a[0:1], a[1:2], -2.0 ; encoding: [0x00,0x00,0xc8,0xd3,0x00,0x03,0xd6,0x1b]
303 0x00,0x00,0xc8,0xd3,0x00,0x03,0xd6,0x1b
304
305 # GFX908: v_mfma_f32_32x32x4f16 a[0:31], a[0:1], a[1:2], -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc8,0xd3,0x00,0x03,0xd6,0xfb]
306 0x00,0x13,0xc8,0xd3,0x00,0x03,0xd6,0xfb
307
308 # GFX908: v_mfma_f32_16x16x4f16 a[0:15], v[0:1], v[1:2], a[1:16] ; encoding: [0x00,0x00,0xc9,0xd3,0x00,0x03,0x06,0x04]
309 0x00,0x00,0xc9,0xd3,0x00,0x03,0x06,0x04
310
311 # GFX908: v_mfma_f32_16x16x4f16 a[0:15], v[0:1], v[1:2], a[1:16] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc9,0xd3,0x00,0x03,0x06,0xe4]
312 0x00,0x13,0xc9,0xd3,0x00,0x03,0x06,0xe4
313
314 # GFX908: v_mfma_f32_16x16x4f16 a[0:15], v[0:1], a[1:2], a[1:16] ; encoding: [0x00,0x00,0xc9,0xd3,0x00,0x03,0x06,0x14]
315 0x00,0x00,0xc9,0xd3,0x00,0x03,0x06,0x14
316
317 # GFX908: v_mfma_f32_16x16x4f16 a[0:15], v[0:1], a[1:2], a[1:16] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc9,0xd3,0x00,0x03,0x06,0xf4]
318 0x00,0x13,0xc9,0xd3,0x00,0x03,0x06,0xf4
319
320 # GFX908: v_mfma_f32_16x16x4f16 a[0:15], a[0:1], v[1:2], a[1:16] ; encoding: [0x00,0x00,0xc9,0xd3,0x00,0x03,0x06,0x0c]
321 0x00,0x00,0xc9,0xd3,0x00,0x03,0x06,0x0c
322
323 # GFX908: v_mfma_f32_16x16x4f16 a[0:15], a[0:1], v[1:2], a[1:16] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc9,0xd3,0x00,0x03,0x06,0xec]
324 0x00,0x13,0xc9,0xd3,0x00,0x03,0x06,0xec
325
326 # GFX908: v_mfma_f32_16x16x4f16 a[0:15], a[0:1], a[1:2], a[1:16] ; encoding: [0x00,0x00,0xc9,0xd3,0x00,0x03,0x06,0x1c]
327 0x00,0x00,0xc9,0xd3,0x00,0x03,0x06,0x1c
328
329 # GFX908: v_mfma_f32_16x16x4f16 a[0:15], a[0:1], a[1:2], a[1:16] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc9,0xd3,0x00,0x03,0x06,0xfc]
330 0x00,0x13,0xc9,0xd3,0x00,0x03,0x06,0xfc
331
332 # GFX908: v_mfma_f32_16x16x4f16 a[0:15], v[0:1], v[1:2], -2.0 ; encoding: [0x00,0x00,0xc9,0xd3,0x00,0x03,0xd6,0x03]
333 0x00,0x00,0xc9,0xd3,0x00,0x03,0xd6,0x03
334
335 # GFX908: v_mfma_f32_16x16x4f16 a[0:15], v[0:1], v[1:2], -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc9,0xd3,0x00,0x03,0xd6,0xe3]
336 0x00,0x13,0xc9,0xd3,0x00,0x03,0xd6,0xe3
337
338 # GFX908: v_mfma_f32_16x16x4f16 a[0:15], v[0:1], a[1:2], -2.0 ; encoding: [0x00,0x00,0xc9,0xd3,0x00,0x03,0xd6,0x13]
339 0x00,0x00,0xc9,0xd3,0x00,0x03,0xd6,0x13
340
341 # GFX908: v_mfma_f32_16x16x4f16 a[0:15], v[0:1], a[1:2], -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc9,0xd3,0x00,0x03,0xd6,0xf3]
342 0x00,0x13,0xc9,0xd3,0x00,0x03,0xd6,0xf3
343
344 # GFX908: v_mfma_f32_16x16x4f16 a[0:15], a[0:1], v[1:2], -2.0 ; encoding: [0x00,0x00,0xc9,0xd3,0x00,0x03,0xd6,0x0b]
345 0x00,0x00,0xc9,0xd3,0x00,0x03,0xd6,0x0b
346
347 # GFX908: v_mfma_f32_16x16x4f16 a[0:15], a[0:1], v[1:2], -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc9,0xd3,0x00,0x03,0xd6,0xeb]
348 0x00,0x13,0xc9,0xd3,0x00,0x03,0xd6,0xeb
349
350 # GFX908: v_mfma_f32_16x16x4f16 a[0:15], a[0:1], a[1:2], -2.0 ; encoding: [0x00,0x00,0xc9,0xd3,0x00,0x03,0xd6,0x1b]
351 0x00,0x00,0xc9,0xd3,0x00,0x03,0xd6,0x1b
352
353 # GFX908: v_mfma_f32_16x16x4f16 a[0:15], a[0:1], a[1:2], -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xc9,0xd3,0x00,0x03,0xd6,0xfb]
354 0x00,0x13,0xc9,0xd3,0x00,0x03,0xd6,0xfb
355
356 # GFX908: v_mfma_f32_4x4x4f16 a[0:3], v[0:1], v[1:2], a[1:4] ; encoding: [0x00,0x00,0xca,0xd3,0x00,0x03,0x06,0x04]
357 0x00,0x00,0xca,0xd3,0x00,0x03,0x06,0x04
358
359 # GFX908: v_mfma_f32_4x4x4f16 a[0:3], v[0:1], v[1:2], a[1:4] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xca,0xd3,0x00,0x03,0x06,0xe4]
360 0x00,0x13,0xca,0xd3,0x00,0x03,0x06,0xe4
361
362 # GFX908: v_mfma_f32_4x4x4f16 a[0:3], v[0:1], a[1:2], a[1:4] ; encoding: [0x00,0x00,0xca,0xd3,0x00,0x03,0x06,0x14]
363 0x00,0x00,0xca,0xd3,0x00,0x03,0x06,0x14
364
365 # GFX908: v_mfma_f32_4x4x4f16 a[0:3], v[0:1], a[1:2], a[1:4] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xca,0xd3,0x00,0x03,0x06,0xf4]
366 0x00,0x13,0xca,0xd3,0x00,0x03,0x06,0xf4
367
368 # GFX908: v_mfma_f32_4x4x4f16 a[0:3], a[0:1], v[1:2], a[1:4] ; encoding: [0x00,0x00,0xca,0xd3,0x00,0x03,0x06,0x0c]
369 0x00,0x00,0xca,0xd3,0x00,0x03,0x06,0x0c
370
371 # GFX908: v_mfma_f32_4x4x4f16 a[0:3], a[0:1], v[1:2], a[1:4] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xca,0xd3,0x00,0x03,0x06,0xec]
372 0x00,0x13,0xca,0xd3,0x00,0x03,0x06,0xec
373
374 # GFX908: v_mfma_f32_4x4x4f16 a[0:3], a[0:1], a[1:2], a[1:4] ; encoding: [0x00,0x00,0xca,0xd3,0x00,0x03,0x06,0x1c]
375 0x00,0x00,0xca,0xd3,0x00,0x03,0x06,0x1c
376
377 # GFX908: v_mfma_f32_4x4x4f16 a[0:3], a[0:1], a[1:2], a[1:4] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xca,0xd3,0x00,0x03,0x06,0xfc]
378 0x00,0x13,0xca,0xd3,0x00,0x03,0x06,0xfc
379
380 # GFX908: v_mfma_f32_4x4x4f16 a[0:3], v[0:1], v[1:2], -2.0 ; encoding: [0x00,0x00,0xca,0xd3,0x00,0x03,0xd6,0x03]
381 0x00,0x00,0xca,0xd3,0x00,0x03,0xd6,0x03
382
383 # GFX908: v_mfma_f32_4x4x4f16 a[0:3], v[0:1], v[1:2], -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xca,0xd3,0x00,0x03,0xd6,0xe3]
384 0x00,0x13,0xca,0xd3,0x00,0x03,0xd6,0xe3
385
386 # GFX908: v_mfma_f32_4x4x4f16 a[0:3], v[0:1], a[1:2], -2.0 ; encoding: [0x00,0x00,0xca,0xd3,0x00,0x03,0xd6,0x13]
387 0x00,0x00,0xca,0xd3,0x00,0x03,0xd6,0x13
388
389 # GFX908: v_mfma_f32_4x4x4f16 a[0:3], v[0:1], a[1:2], -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xca,0xd3,0x00,0x03,0xd6,0xf3]
390 0x00,0x13,0xca,0xd3,0x00,0x03,0xd6,0xf3
391
392 # GFX908: v_mfma_f32_4x4x4f16 a[0:3], a[0:1], v[1:2], -2.0 ; encoding: [0x00,0x00,0xca,0xd3,0x00,0x03,0xd6,0x0b]
393 0x00,0x00,0xca,0xd3,0x00,0x03,0xd6,0x0b
394
395 # GFX908: v_mfma_f32_4x4x4f16 a[0:3], a[0:1], v[1:2], -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xca,0xd3,0x00,0x03,0xd6,0xeb]
396 0x00,0x13,0xca,0xd3,0x00,0x03,0xd6,0xeb
397
398 # GFX908: v_mfma_f32_4x4x4f16 a[0:3], a[0:1], a[1:2], -2.0 ; encoding: [0x00,0x00,0xca,0xd3,0x00,0x03,0xd6,0x1b]
399 0x00,0x00,0xca,0xd3,0x00,0x03,0xd6,0x1b
400
401 # GFX908: v_mfma_f32_4x4x4f16 a[0:3], a[0:1], a[1:2], -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xca,0xd3,0x00,0x03,0xd6,0xfb]
402 0x00,0x13,0xca,0xd3,0x00,0x03,0xd6,0xfb
403
404 # GFX908: v_mfma_f32_32x32x8f16 a[0:15], v[0:1], v[1:2], a[1:16] ; encoding: [0x00,0x00,0xcc,0xd3,0x00,0x03,0x06,0x04]
405 0x00,0x00,0xcc,0xd3,0x00,0x03,0x06,0x04
406
407 # GFX908: v_mfma_f32_32x32x8f16 a[0:15], v[0:1], v[1:2], a[1:16] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xcc,0xd3,0x00,0x03,0x06,0xe4]
408 0x00,0x13,0xcc,0xd3,0x00,0x03,0x06,0xe4
409
410 # GFX908: v_mfma_f32_32x32x8f16 a[0:15], v[0:1], a[1:2], a[1:16] ; encoding: [0x00,0x00,0xcc,0xd3,0x00,0x03,0x06,0x14]
411 0x00,0x00,0xcc,0xd3,0x00,0x03,0x06,0x14
412
413 # GFX908: v_mfma_f32_32x32x8f16 a[0:15], v[0:1], a[1:2], a[1:16] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xcc,0xd3,0x00,0x03,0x06,0xf4]
414 0x00,0x13,0xcc,0xd3,0x00,0x03,0x06,0xf4
415
416 # GFX908: v_mfma_f32_32x32x8f16 a[0:15], a[0:1], v[1:2], a[1:16] ; encoding: [0x00,0x00,0xcc,0xd3,0x00,0x03,0x06,0x0c]
417 0x00,0x00,0xcc,0xd3,0x00,0x03,0x06,0x0c
418
419 # GFX908: v_mfma_f32_32x32x8f16 a[0:15], a[0:1], v[1:2], a[1:16] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xcc,0xd3,0x00,0x03,0x06,0xec]
420 0x00,0x13,0xcc,0xd3,0x00,0x03,0x06,0xec
421
422 # GFX908: v_mfma_f32_32x32x8f16 a[0:15], a[0:1], a[1:2], a[1:16] ; encoding: [0x00,0x00,0xcc,0xd3,0x00,0x03,0x06,0x1c]
423 0x00,0x00,0xcc,0xd3,0x00,0x03,0x06,0x1c
424
425 # GFX908: v_mfma_f32_32x32x8f16 a[0:15], a[0:1], a[1:2], a[1:16] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xcc,0xd3,0x00,0x03,0x06,0xfc]
426 0x00,0x13,0xcc,0xd3,0x00,0x03,0x06,0xfc
427
428 # GFX908: v_mfma_f32_32x32x8f16 a[0:15], v[0:1], v[1:2], -2.0 ; encoding: [0x00,0x00,0xcc,0xd3,0x00,0x03,0xd6,0x03]
429 0x00,0x00,0xcc,0xd3,0x00,0x03,0xd6,0x03
430
431 # GFX908: v_mfma_f32_32x32x8f16 a[0:15], v[0:1], v[1:2], -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xcc,0xd3,0x00,0x03,0xd6,0xe3]
432 0x00,0x13,0xcc,0xd3,0x00,0x03,0xd6,0xe3
433
434 # GFX908: v_mfma_f32_32x32x8f16 a[0:15], v[0:1], a[1:2], -2.0 ; encoding: [0x00,0x00,0xcc,0xd3,0x00,0x03,0xd6,0x13]
435 0x00,0x00,0xcc,0xd3,0x00,0x03,0xd6,0x13
436
437 # GFX908: v_mfma_f32_32x32x8f16 a[0:15], v[0:1], a[1:2], -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xcc,0xd3,0x00,0x03,0xd6,0xf3]
438 0x00,0x13,0xcc,0xd3,0x00,0x03,0xd6,0xf3
439
440 # GFX908: v_mfma_f32_32x32x8f16 a[0:15], a[0:1], v[1:2], -2.0 ; encoding: [0x00,0x00,0xcc,0xd3,0x00,0x03,0xd6,0x0b]
441 0x00,0x00,0xcc,0xd3,0x00,0x03,0xd6,0x0b
442
443 # GFX908: v_mfma_f32_32x32x8f16 a[0:15], a[0:1], v[1:2], -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xcc,0xd3,0x00,0x03,0xd6,0xeb]
444 0x00,0x13,0xcc,0xd3,0x00,0x03,0xd6,0xeb
445
446 # GFX908: v_mfma_f32_32x32x8f16 a[0:15], a[0:1], a[1:2], -2.0 ; encoding: [0x00,0x00,0xcc,0xd3,0x00,0x03,0xd6,0x1b]
447 0x00,0x00,0xcc,0xd3,0x00,0x03,0xd6,0x1b
448
449 # GFX908: v_mfma_f32_32x32x8f16 a[0:15], a[0:1], a[1:2], -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xcc,0xd3,0x00,0x03,0xd6,0xfb]
450 0x00,0x13,0xcc,0xd3,0x00,0x03,0xd6,0xfb
451
452 # GFX908: v_mfma_f32_16x16x16f16 a[0:3], v[0:1], v[1:2], a[1:4] ; encoding: [0x00,0x00,0xcd,0xd3,0x00,0x03,0x06,0x04]
453 0x00,0x00,0xcd,0xd3,0x00,0x03,0x06,0x04
454
455 # GFX908: v_mfma_f32_16x16x16f16 a[0:3], v[0:1], v[1:2], a[1:4] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xcd,0xd3,0x00,0x03,0x06,0xe4]
456 0x00,0x13,0xcd,0xd3,0x00,0x03,0x06,0xe4
457
458 # GFX908: v_mfma_f32_16x16x16f16 a[0:3], v[0:1], a[1:2], a[1:4] ; encoding: [0x00,0x00,0xcd,0xd3,0x00,0x03,0x06,0x14]
459 0x00,0x00,0xcd,0xd3,0x00,0x03,0x06,0x14
460
461 # GFX908: v_mfma_f32_16x16x16f16 a[0:3], v[0:1], a[1:2], a[1:4] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xcd,0xd3,0x00,0x03,0x06,0xf4]
462 0x00,0x13,0xcd,0xd3,0x00,0x03,0x06,0xf4
463
464 # GFX908: v_mfma_f32_16x16x16f16 a[0:3], a[0:1], v[1:2], a[1:4] ; encoding: [0x00,0x00,0xcd,0xd3,0x00,0x03,0x06,0x0c]
465 0x00,0x00,0xcd,0xd3,0x00,0x03,0x06,0x0c
466
467 # GFX908: v_mfma_f32_16x16x16f16 a[0:3], a[0:1], v[1:2], a[1:4] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xcd,0xd3,0x00,0x03,0x06,0xec]
468 0x00,0x13,0xcd,0xd3,0x00,0x03,0x06,0xec
469
470 # GFX908: v_mfma_f32_16x16x16f16 a[0:3], a[0:1], a[1:2], a[1:4] ; encoding: [0x00,0x00,0xcd,0xd3,0x00,0x03,0x06,0x1c]
471 0x00,0x00,0xcd,0xd3,0x00,0x03,0x06,0x1c
472
473 # GFX908: v_mfma_f32_16x16x16f16 a[0:3], a[0:1], a[1:2], a[1:4] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xcd,0xd3,0x00,0x03,0x06,0xfc]
474 0x00,0x13,0xcd,0xd3,0x00,0x03,0x06,0xfc
475
476 # GFX908: v_mfma_f32_16x16x16f16 a[0:3], v[0:1], v[1:2], -2.0 ; encoding: [0x00,0x00,0xcd,0xd3,0x00,0x03,0xd6,0x03]
477 0x00,0x00,0xcd,0xd3,0x00,0x03,0xd6,0x03
478
479 # GFX908: v_mfma_f32_16x16x16f16 a[0:3], v[0:1], v[1:2], -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xcd,0xd3,0x00,0x03,0xd6,0xe3]
480 0x00,0x13,0xcd,0xd3,0x00,0x03,0xd6,0xe3
481
482 # GFX908: v_mfma_f32_16x16x16f16 a[0:3], v[0:1], a[1:2], -2.0 ; encoding: [0x00,0x00,0xcd,0xd3,0x00,0x03,0xd6,0x13]
483 0x00,0x00,0xcd,0xd3,0x00,0x03,0xd6,0x13
484
485 # GFX908: v_mfma_f32_16x16x16f16 a[0:3], v[0:1], a[1:2], -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xcd,0xd3,0x00,0x03,0xd6,0xf3]
486 0x00,0x13,0xcd,0xd3,0x00,0x03,0xd6,0xf3
487
488 # GFX908: v_mfma_f32_16x16x16f16 a[0:3], a[0:1], v[1:2], -2.0 ; encoding: [0x00,0x00,0xcd,0xd3,0x00,0x03,0xd6,0x0b]
489 0x00,0x00,0xcd,0xd3,0x00,0x03,0xd6,0x0b
490
491 # GFX908: v_mfma_f32_16x16x16f16 a[0:3], a[0:1], v[1:2], -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xcd,0xd3,0x00,0x03,0xd6,0xeb]
492 0x00,0x13,0xcd,0xd3,0x00,0x03,0xd6,0xeb
493
494 # GFX908: v_mfma_f32_16x16x16f16 a[0:3], a[0:1], a[1:2], -2.0 ; encoding: [0x00,0x00,0xcd,0xd3,0x00,0x03,0xd6,0x1b]
495 0x00,0x00,0xcd,0xd3,0x00,0x03,0xd6,0x1b
496
497 # GFX908: v_mfma_f32_16x16x16f16 a[0:3], a[0:1], a[1:2], -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xcd,0xd3,0x00,0x03,0xd6,0xfb]
498 0x00,0x13,0xcd,0xd3,0x00,0x03,0xd6,0xfb
499
500 # GFX908: v_mfma_i32_32x32x4i8 a[0:31], v0, v1, a[1:32] ; encoding: [0x00,0x00,0xd0,0xd3,0x00,0x03,0x06,0x04]
501 0x00,0x00,0xd0,0xd3,0x00,0x03,0x06,0x04
502
503 # GFX908: v_mfma_i32_32x32x4i8 a[0:31], v0, v1, a[1:32] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd0,0xd3,0x00,0x03,0x06,0xe4]
504 0x00,0x13,0xd0,0xd3,0x00,0x03,0x06,0xe4
505
506 # GFX908: v_mfma_i32_32x32x4i8 a[0:31], v0, a1, a[1:32] ; encoding: [0x00,0x00,0xd0,0xd3,0x00,0x03,0x06,0x14]
507 0x00,0x00,0xd0,0xd3,0x00,0x03,0x06,0x14
508
509 # GFX908: v_mfma_i32_32x32x4i8 a[0:31], v0, a1, a[1:32] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd0,0xd3,0x00,0x03,0x06,0xf4]
510 0x00,0x13,0xd0,0xd3,0x00,0x03,0x06,0xf4
511
512 # GFX908: v_mfma_i32_32x32x4i8 a[0:31], a0, v1, a[1:32] ; encoding: [0x00,0x00,0xd0,0xd3,0x00,0x03,0x06,0x0c]
513 0x00,0x00,0xd0,0xd3,0x00,0x03,0x06,0x0c
514
515 # GFX908: v_mfma_i32_32x32x4i8 a[0:31], a0, v1, a[1:32] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd0,0xd3,0x00,0x03,0x06,0xec]
516 0x00,0x13,0xd0,0xd3,0x00,0x03,0x06,0xec
517
518 # GFX908: v_mfma_i32_32x32x4i8 a[0:31], a0, a1, a[1:32] ; encoding: [0x00,0x00,0xd0,0xd3,0x00,0x03,0x06,0x1c]
519 0x00,0x00,0xd0,0xd3,0x00,0x03,0x06,0x1c
520
521 # GFX908: v_mfma_i32_32x32x4i8 a[0:31], a0, a1, a[1:32] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd0,0xd3,0x00,0x03,0x06,0xfc]
522 0x00,0x13,0xd0,0xd3,0x00,0x03,0x06,0xfc
523
524 # GFX908: v_mfma_i32_32x32x4i8 a[0:31], v0, v1, 2 ; encoding: [0x00,0x00,0xd0,0xd3,0x00,0x03,0x0a,0x02]
525 0x00,0x00,0xd0,0xd3,0x00,0x03,0x0a,0x02
526
527 # GFX908: v_mfma_i32_32x32x4i8 a[0:31], v0, v1, 2 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd0,0xd3,0x00,0x03,0x0a,0xe2]
528 0x00,0x13,0xd0,0xd3,0x00,0x03,0x0a,0xe2
529
530 # GFX908: v_mfma_i32_32x32x4i8 a[0:31], v0, a1, 2 ; encoding: [0x00,0x00,0xd0,0xd3,0x00,0x03,0x0a,0x12]
531 0x00,0x00,0xd0,0xd3,0x00,0x03,0x0a,0x12
532
533 # GFX908: v_mfma_i32_32x32x4i8 a[0:31], v0, a1, 2 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd0,0xd3,0x00,0x03,0x0a,0xf2]
534 0x00,0x13,0xd0,0xd3,0x00,0x03,0x0a,0xf2
535
536 # GFX908: v_mfma_i32_32x32x4i8 a[0:31], a0, v1, 2 ; encoding: [0x00,0x00,0xd0,0xd3,0x00,0x03,0x0a,0x0a]
537 0x00,0x00,0xd0,0xd3,0x00,0x03,0x0a,0x0a
538
539 # GFX908: v_mfma_i32_32x32x4i8 a[0:31], a0, v1, 2 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd0,0xd3,0x00,0x03,0x0a,0xea]
540 0x00,0x13,0xd0,0xd3,0x00,0x03,0x0a,0xea
541
542 # GFX908: v_mfma_i32_32x32x4i8 a[0:31], a0, a1, 2 ; encoding: [0x00,0x00,0xd0,0xd3,0x00,0x03,0x0a,0x1a]
543 0x00,0x00,0xd0,0xd3,0x00,0x03,0x0a,0x1a
544
545 # GFX908: v_mfma_i32_32x32x4i8 a[0:31], a0, a1, 2 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd0,0xd3,0x00,0x03,0x0a,0xfa]
546 0x00,0x13,0xd0,0xd3,0x00,0x03,0x0a,0xfa
547
548 # GFX908: v_mfma_i32_16x16x4i8 a[0:15], v0, v1, a[1:16] ; encoding: [0x00,0x00,0xd1,0xd3,0x00,0x03,0x06,0x04]
549 0x00,0x00,0xd1,0xd3,0x00,0x03,0x06,0x04
550
551 # GFX908: v_mfma_i32_16x16x4i8 a[0:15], v0, v1, a[1:16] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd1,0xd3,0x00,0x03,0x06,0xe4]
552 0x00,0x13,0xd1,0xd3,0x00,0x03,0x06,0xe4
553
554 # GFX908: v_mfma_i32_16x16x4i8 a[0:15], v0, a1, a[1:16] ; encoding: [0x00,0x00,0xd1,0xd3,0x00,0x03,0x06,0x14]
555 0x00,0x00,0xd1,0xd3,0x00,0x03,0x06,0x14
556
557 # GFX908: v_mfma_i32_16x16x4i8 a[0:15], v0, a1, a[1:16] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd1,0xd3,0x00,0x03,0x06,0xf4]
558 0x00,0x13,0xd1,0xd3,0x00,0x03,0x06,0xf4
559
560 # GFX908: v_mfma_i32_16x16x4i8 a[0:15], a0, v1, a[1:16] ; encoding: [0x00,0x00,0xd1,0xd3,0x00,0x03,0x06,0x0c]
561 0x00,0x00,0xd1,0xd3,0x00,0x03,0x06,0x0c
562
563 # GFX908: v_mfma_i32_16x16x4i8 a[0:15], a0, v1, a[1:16] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd1,0xd3,0x00,0x03,0x06,0xec]
564 0x00,0x13,0xd1,0xd3,0x00,0x03,0x06,0xec
565
566 # GFX908: v_mfma_i32_16x16x4i8 a[0:15], a0, a1, a[1:16] ; encoding: [0x00,0x00,0xd1,0xd3,0x00,0x03,0x06,0x1c]
567 0x00,0x00,0xd1,0xd3,0x00,0x03,0x06,0x1c
568
569 # GFX908: v_mfma_i32_16x16x4i8 a[0:15], a0, a1, a[1:16] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd1,0xd3,0x00,0x03,0x06,0xfc]
570 0x00,0x13,0xd1,0xd3,0x00,0x03,0x06,0xfc
571
572 # GFX908: v_mfma_i32_16x16x4i8 a[0:15], v0, v1, 2 ; encoding: [0x00,0x00,0xd1,0xd3,0x00,0x03,0x0a,0x02]
573 0x00,0x00,0xd1,0xd3,0x00,0x03,0x0a,0x02
574
575 # GFX908: v_mfma_i32_16x16x4i8 a[0:15], v0, v1, 2 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd1,0xd3,0x00,0x03,0x0a,0xe2]
576 0x00,0x13,0xd1,0xd3,0x00,0x03,0x0a,0xe2
577
578 # GFX908: v_mfma_i32_16x16x4i8 a[0:15], v0, a1, 2 ; encoding: [0x00,0x00,0xd1,0xd3,0x00,0x03,0x0a,0x12]
579 0x00,0x00,0xd1,0xd3,0x00,0x03,0x0a,0x12
580
581 # GFX908: v_mfma_i32_16x16x4i8 a[0:15], v0, a1, 2 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd1,0xd3,0x00,0x03,0x0a,0xf2]
582 0x00,0x13,0xd1,0xd3,0x00,0x03,0x0a,0xf2
583
584 # GFX908: v_mfma_i32_16x16x4i8 a[0:15], a0, v1, 2 ; encoding: [0x00,0x00,0xd1,0xd3,0x00,0x03,0x0a,0x0a]
585 0x00,0x00,0xd1,0xd3,0x00,0x03,0x0a,0x0a
586
587 # GFX908: v_mfma_i32_16x16x4i8 a[0:15], a0, v1, 2 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd1,0xd3,0x00,0x03,0x0a,0xea]
588 0x00,0x13,0xd1,0xd3,0x00,0x03,0x0a,0xea
589
590 # GFX908: v_mfma_i32_16x16x4i8 a[0:15], a0, a1, 2 ; encoding: [0x00,0x00,0xd1,0xd3,0x00,0x03,0x0a,0x1a]
591 0x00,0x00,0xd1,0xd3,0x00,0x03,0x0a,0x1a
592
593 # GFX908: v_mfma_i32_16x16x4i8 a[0:15], a0, a1, 2 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd1,0xd3,0x00,0x03,0x0a,0xfa]
594 0x00,0x13,0xd1,0xd3,0x00,0x03,0x0a,0xfa
595
596 # GFX908: v_mfma_i32_4x4x4i8 a[0:3], v0, v1, a[1:4] ; encoding: [0x00,0x00,0xd2,0xd3,0x00,0x03,0x06,0x04]
597 0x00,0x00,0xd2,0xd3,0x00,0x03,0x06,0x04
598
599 # GFX908: v_mfma_i32_4x4x4i8 a[0:3], v0, v1, a[1:4] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd2,0xd3,0x00,0x03,0x06,0xe4]
600 0x00,0x13,0xd2,0xd3,0x00,0x03,0x06,0xe4
601
602 # GFX908: v_mfma_i32_4x4x4i8 a[0:3], v0, a1, a[1:4] ; encoding: [0x00,0x00,0xd2,0xd3,0x00,0x03,0x06,0x14]
603 0x00,0x00,0xd2,0xd3,0x00,0x03,0x06,0x14
604
605 # GFX908: v_mfma_i32_4x4x4i8 a[0:3], v0, a1, a[1:4] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd2,0xd3,0x00,0x03,0x06,0xf4]
606 0x00,0x13,0xd2,0xd3,0x00,0x03,0x06,0xf4
607
608 # GFX908: v_mfma_i32_4x4x4i8 a[0:3], a0, v1, a[1:4] ; encoding: [0x00,0x00,0xd2,0xd3,0x00,0x03,0x06,0x0c]
609 0x00,0x00,0xd2,0xd3,0x00,0x03,0x06,0x0c
610
611 # GFX908: v_mfma_i32_4x4x4i8 a[0:3], a0, v1, a[1:4] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd2,0xd3,0x00,0x03,0x06,0xec]
612 0x00,0x13,0xd2,0xd3,0x00,0x03,0x06,0xec
613
614 # GFX908: v_mfma_i32_4x4x4i8 a[0:3], a0, a1, a[1:4] ; encoding: [0x00,0x00,0xd2,0xd3,0x00,0x03,0x06,0x1c]
615 0x00,0x00,0xd2,0xd3,0x00,0x03,0x06,0x1c
616
617 # GFX908: v_mfma_i32_4x4x4i8 a[0:3], a0, a1, a[1:4] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd2,0xd3,0x00,0x03,0x06,0xfc]
618 0x00,0x13,0xd2,0xd3,0x00,0x03,0x06,0xfc
619
620 # GFX908: v_mfma_i32_4x4x4i8 a[0:3], v0, v1, 2 ; encoding: [0x00,0x00,0xd2,0xd3,0x00,0x03,0x0a,0x02]
621 0x00,0x00,0xd2,0xd3,0x00,0x03,0x0a,0x02
622
623 # GFX908: v_mfma_i32_4x4x4i8 a[0:3], v0, v1, 2 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd2,0xd3,0x00,0x03,0x0a,0xe2]
624 0x00,0x13,0xd2,0xd3,0x00,0x03,0x0a,0xe2
625
626 # GFX908: v_mfma_i32_4x4x4i8 a[0:3], v0, a1, 2 ; encoding: [0x00,0x00,0xd2,0xd3,0x00,0x03,0x0a,0x12]
627 0x00,0x00,0xd2,0xd3,0x00,0x03,0x0a,0x12
628
629 # GFX908: v_mfma_i32_4x4x4i8 a[0:3], v0, a1, 2 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd2,0xd3,0x00,0x03,0x0a,0xf2]
630 0x00,0x13,0xd2,0xd3,0x00,0x03,0x0a,0xf2
631
632 # GFX908: v_mfma_i32_4x4x4i8 a[0:3], a0, v1, 2 ; encoding: [0x00,0x00,0xd2,0xd3,0x00,0x03,0x0a,0x0a]
633 0x00,0x00,0xd2,0xd3,0x00,0x03,0x0a,0x0a
634
635 # GFX908: v_mfma_i32_4x4x4i8 a[0:3], a0, v1, 2 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd2,0xd3,0x00,0x03,0x0a,0xea]
636 0x00,0x13,0xd2,0xd3,0x00,0x03,0x0a,0xea
637
638 # GFX908: v_mfma_i32_4x4x4i8 a[0:3], a0, a1, 2 ; encoding: [0x00,0x00,0xd2,0xd3,0x00,0x03,0x0a,0x1a]
639 0x00,0x00,0xd2,0xd3,0x00,0x03,0x0a,0x1a
640
641 # GFX908: v_mfma_i32_4x4x4i8 a[0:3], a0, a1, 2 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd2,0xd3,0x00,0x03,0x0a,0xfa]
642 0x00,0x13,0xd2,0xd3,0x00,0x03,0x0a,0xfa
643
644 # GFX908: v_mfma_i32_32x32x8i8 a[0:15], v0, v1, a[1:16] ; encoding: [0x00,0x00,0xd4,0xd3,0x00,0x03,0x06,0x04]
645 0x00,0x00,0xd4,0xd3,0x00,0x03,0x06,0x04
646
647 # GFX908: v_mfma_i32_32x32x8i8 a[0:15], v0, v1, a[1:16] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd4,0xd3,0x00,0x03,0x06,0xe4]
648 0x00,0x13,0xd4,0xd3,0x00,0x03,0x06,0xe4
649
650 # GFX908: v_mfma_i32_32x32x8i8 a[0:15], v0, a1, a[1:16] ; encoding: [0x00,0x00,0xd4,0xd3,0x00,0x03,0x06,0x14]
651 0x00,0x00,0xd4,0xd3,0x00,0x03,0x06,0x14
652
653 # GFX908: v_mfma_i32_32x32x8i8 a[0:15], v0, a1, a[1:16] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd4,0xd3,0x00,0x03,0x06,0xf4]
654 0x00,0x13,0xd4,0xd3,0x00,0x03,0x06,0xf4
655
656 # GFX908: v_mfma_i32_32x32x8i8 a[0:15], a0, v1, a[1:16] ; encoding: [0x00,0x00,0xd4,0xd3,0x00,0x03,0x06,0x0c]
657 0x00,0x00,0xd4,0xd3,0x00,0x03,0x06,0x0c
658
659 # GFX908: v_mfma_i32_32x32x8i8 a[0:15], a0, v1, a[1:16] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd4,0xd3,0x00,0x03,0x06,0xec]
660 0x00,0x13,0xd4,0xd3,0x00,0x03,0x06,0xec
661
662 # GFX908: v_mfma_i32_32x32x8i8 a[0:15], a0, a1, a[1:16] ; encoding: [0x00,0x00,0xd4,0xd3,0x00,0x03,0x06,0x1c]
663 0x00,0x00,0xd4,0xd3,0x00,0x03,0x06,0x1c
664
665 # GFX908: v_mfma_i32_32x32x8i8 a[0:15], a0, a1, a[1:16] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd4,0xd3,0x00,0x03,0x06,0xfc]
666 0x00,0x13,0xd4,0xd3,0x00,0x03,0x06,0xfc
667
668 # GFX908: v_mfma_i32_32x32x8i8 a[0:15], v0, v1, 2 ; encoding: [0x00,0x00,0xd4,0xd3,0x00,0x03,0x0a,0x02]
669 0x00,0x00,0xd4,0xd3,0x00,0x03,0x0a,0x02
670
671 # GFX908: v_mfma_i32_32x32x8i8 a[0:15], v0, v1, 2 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd4,0xd3,0x00,0x03,0x0a,0xe2]
672 0x00,0x13,0xd4,0xd3,0x00,0x03,0x0a,0xe2
673
674 # GFX908: v_mfma_i32_32x32x8i8 a[0:15], v0, a1, 2 ; encoding: [0x00,0x00,0xd4,0xd3,0x00,0x03,0x0a,0x12]
675 0x00,0x00,0xd4,0xd3,0x00,0x03,0x0a,0x12
676
677 # GFX908: v_mfma_i32_32x32x8i8 a[0:15], v0, a1, 2 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd4,0xd3,0x00,0x03,0x0a,0xf2]
678 0x00,0x13,0xd4,0xd3,0x00,0x03,0x0a,0xf2
679
680 # GFX908: v_mfma_i32_32x32x8i8 a[0:15], a0, v1, 2 ; encoding: [0x00,0x00,0xd4,0xd3,0x00,0x03,0x0a,0x0a]
681 0x00,0x00,0xd4,0xd3,0x00,0x03,0x0a,0x0a
682
683 # GFX908: v_mfma_i32_32x32x8i8 a[0:15], a0, v1, 2 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd4,0xd3,0x00,0x03,0x0a,0xea]
684 0x00,0x13,0xd4,0xd3,0x00,0x03,0x0a,0xea
685
686 # GFX908: v_mfma_i32_32x32x8i8 a[0:15], a0, a1, 2 ; encoding: [0x00,0x00,0xd4,0xd3,0x00,0x03,0x0a,0x1a]
687 0x00,0x00,0xd4,0xd3,0x00,0x03,0x0a,0x1a
688
689 # GFX908: v_mfma_i32_32x32x8i8 a[0:15], a0, a1, 2 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd4,0xd3,0x00,0x03,0x0a,0xfa]
690 0x00,0x13,0xd4,0xd3,0x00,0x03,0x0a,0xfa
691
692 # GFX908: v_mfma_i32_16x16x16i8 a[0:3], v0, v1, a[1:4] ; encoding: [0x00,0x00,0xd5,0xd3,0x00,0x03,0x06,0x04]
693 0x00,0x00,0xd5,0xd3,0x00,0x03,0x06,0x04
694
695 # GFX908: v_mfma_i32_16x16x16i8 a[0:3], v0, v1, a[1:4] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd5,0xd3,0x00,0x03,0x06,0xe4]
696 0x00,0x13,0xd5,0xd3,0x00,0x03,0x06,0xe4
697
698 # GFX908: v_mfma_i32_16x16x16i8 a[0:3], v0, a1, a[1:4] ; encoding: [0x00,0x00,0xd5,0xd3,0x00,0x03,0x06,0x14]
699 0x00,0x00,0xd5,0xd3,0x00,0x03,0x06,0x14
700
701 # GFX908: v_mfma_i32_16x16x16i8 a[0:3], v0, a1, a[1:4] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd5,0xd3,0x00,0x03,0x06,0xf4]
702 0x00,0x13,0xd5,0xd3,0x00,0x03,0x06,0xf4
703
704 # GFX908: v_mfma_i32_16x16x16i8 a[0:3], a0, v1, a[1:4] ; encoding: [0x00,0x00,0xd5,0xd3,0x00,0x03,0x06,0x0c]
705 0x00,0x00,0xd5,0xd3,0x00,0x03,0x06,0x0c
706
707 # GFX908: v_mfma_i32_16x16x16i8 a[0:3], a0, v1, a[1:4] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd5,0xd3,0x00,0x03,0x06,0xec]
708 0x00,0x13,0xd5,0xd3,0x00,0x03,0x06,0xec
709
710 # GFX908: v_mfma_i32_16x16x16i8 a[0:3], a0, a1, a[1:4] ; encoding: [0x00,0x00,0xd5,0xd3,0x00,0x03,0x06,0x1c]
711 0x00,0x00,0xd5,0xd3,0x00,0x03,0x06,0x1c
712
713 # GFX908: v_mfma_i32_16x16x16i8 a[0:3], a0, a1, a[1:4] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd5,0xd3,0x00,0x03,0x06,0xfc]
714 0x00,0x13,0xd5,0xd3,0x00,0x03,0x06,0xfc
715
716 # GFX908: v_mfma_i32_16x16x16i8 a[0:3], v0, v1, 2 ; encoding: [0x00,0x00,0xd5,0xd3,0x00,0x03,0x0a,0x02]
717 0x00,0x00,0xd5,0xd3,0x00,0x03,0x0a,0x02
718
719 # GFX908: v_mfma_i32_16x16x16i8 a[0:3], v0, v1, 2 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd5,0xd3,0x00,0x03,0x0a,0xe2]
720 0x00,0x13,0xd5,0xd3,0x00,0x03,0x0a,0xe2
721
722 # GFX908: v_mfma_i32_16x16x16i8 a[0:3], v0, a1, 2 ; encoding: [0x00,0x00,0xd5,0xd3,0x00,0x03,0x0a,0x12]
723 0x00,0x00,0xd5,0xd3,0x00,0x03,0x0a,0x12
724
725 # GFX908: v_mfma_i32_16x16x16i8 a[0:3], v0, a1, 2 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd5,0xd3,0x00,0x03,0x0a,0xf2]
726 0x00,0x13,0xd5,0xd3,0x00,0x03,0x0a,0xf2
727
728 # GFX908: v_mfma_i32_16x16x16i8 a[0:3], a0, v1, 2 ; encoding: [0x00,0x00,0xd5,0xd3,0x00,0x03,0x0a,0x0a]
729 0x00,0x00,0xd5,0xd3,0x00,0x03,0x0a,0x0a
730
731 # GFX908: v_mfma_i32_16x16x16i8 a[0:3], a0, v1, 2 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd5,0xd3,0x00,0x03,0x0a,0xea]
732 0x00,0x13,0xd5,0xd3,0x00,0x03,0x0a,0xea
733
734 # GFX908: v_mfma_i32_16x16x16i8 a[0:3], a0, a1, 2 ; encoding: [0x00,0x00,0xd5,0xd3,0x00,0x03,0x0a,0x1a]
735 0x00,0x00,0xd5,0xd3,0x00,0x03,0x0a,0x1a
736
737 # GFX908: v_mfma_i32_16x16x16i8 a[0:3], a0, a1, 2 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xd5,0xd3,0x00,0x03,0x0a,0xfa]
738 0x00,0x13,0xd5,0xd3,0x00,0x03,0x0a,0xfa
739
740 # GFX908: v_mfma_f32_32x32x2bf16 a[0:31], v0, v1, a[1:32] ; encoding: [0x00,0x00,0xe8,0xd3,0x00,0x03,0x06,0x04]
741 0x00,0x00,0xe8,0xd3,0x00,0x03,0x06,0x04
742
743 # GFX908: v_mfma_f32_32x32x2bf16 a[0:31], v0, v1, a[1:32] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xe8,0xd3,0x00,0x03,0x06,0xe4]
744 0x00,0x13,0xe8,0xd3,0x00,0x03,0x06,0xe4
745
746 # GFX908: v_mfma_f32_32x32x2bf16 a[0:31], v0, a1, a[1:32] ; encoding: [0x00,0x00,0xe8,0xd3,0x00,0x03,0x06,0x14]
747 0x00,0x00,0xe8,0xd3,0x00,0x03,0x06,0x14
748
749 # GFX908: v_mfma_f32_32x32x2bf16 a[0:31], v0, a1, a[1:32] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xe8,0xd3,0x00,0x03,0x06,0xf4]
750 0x00,0x13,0xe8,0xd3,0x00,0x03,0x06,0xf4
751
752 # GFX908: v_mfma_f32_32x32x2bf16 a[0:31], a0, v1, a[1:32] ; encoding: [0x00,0x00,0xe8,0xd3,0x00,0x03,0x06,0x0c]
753 0x00,0x00,0xe8,0xd3,0x00,0x03,0x06,0x0c
754
755 # GFX908: v_mfma_f32_32x32x2bf16 a[0:31], a0, v1, a[1:32] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xe8,0xd3,0x00,0x03,0x06,0xec]
756 0x00,0x13,0xe8,0xd3,0x00,0x03,0x06,0xec
757
758 # GFX908: v_mfma_f32_32x32x2bf16 a[0:31], a0, a1, a[1:32] ; encoding: [0x00,0x00,0xe8,0xd3,0x00,0x03,0x06,0x1c]
759 0x00,0x00,0xe8,0xd3,0x00,0x03,0x06,0x1c
760
761 # GFX908: v_mfma_f32_32x32x2bf16 a[0:31], a0, a1, a[1:32] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xe8,0xd3,0x00,0x03,0x06,0xfc]
762 0x00,0x13,0xe8,0xd3,0x00,0x03,0x06,0xfc
763
764 # GFX908: v_mfma_f32_32x32x2bf16 a[0:31], v0, v1, -2.0 ; encoding: [0x00,0x00,0xe8,0xd3,0x00,0x03,0xd6,0x03]
765 0x00,0x00,0xe8,0xd3,0x00,0x03,0xd6,0x03
766
767 # GFX908: v_mfma_f32_32x32x2bf16 a[0:31], v0, v1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xe8,0xd3,0x00,0x03,0xd6,0xe3]
768 0x00,0x13,0xe8,0xd3,0x00,0x03,0xd6,0xe3
769
770 # GFX908: v_mfma_f32_32x32x2bf16 a[0:31], v0, a1, -2.0 ; encoding: [0x00,0x00,0xe8,0xd3,0x00,0x03,0xd6,0x13]
771 0x00,0x00,0xe8,0xd3,0x00,0x03,0xd6,0x13
772
773 # GFX908: v_mfma_f32_32x32x2bf16 a[0:31], v0, a1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xe8,0xd3,0x00,0x03,0xd6,0xf3]
774 0x00,0x13,0xe8,0xd3,0x00,0x03,0xd6,0xf3
775
776 # GFX908: v_mfma_f32_32x32x2bf16 a[0:31], a0, v1, -2.0 ; encoding: [0x00,0x00,0xe8,0xd3,0x00,0x03,0xd6,0x0b]
777 0x00,0x00,0xe8,0xd3,0x00,0x03,0xd6,0x0b
778
779 # GFX908: v_mfma_f32_32x32x2bf16 a[0:31], a0, v1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xe8,0xd3,0x00,0x03,0xd6,0xeb]
780 0x00,0x13,0xe8,0xd3,0x00,0x03,0xd6,0xeb
781
782 # GFX908: v_mfma_f32_32x32x2bf16 a[0:31], a0, a1, -2.0 ; encoding: [0x00,0x00,0xe8,0xd3,0x00,0x03,0xd6,0x1b]
783 0x00,0x00,0xe8,0xd3,0x00,0x03,0xd6,0x1b
784
785 # GFX908: v_mfma_f32_32x32x2bf16 a[0:31], a0, a1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xe8,0xd3,0x00,0x03,0xd6,0xfb]
786 0x00,0x13,0xe8,0xd3,0x00,0x03,0xd6,0xfb
787
788 # GFX908: v_mfma_f32_16x16x2bf16 a[0:15], v0, v1, a[1:16] ; encoding: [0x00,0x00,0xe9,0xd3,0x00,0x03,0x06,0x04]
789 0x00,0x00,0xe9,0xd3,0x00,0x03,0x06,0x04
790
791 # GFX908: v_mfma_f32_16x16x2bf16 a[0:15], v0, v1, a[1:16] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xe9,0xd3,0x00,0x03,0x06,0xe4]
792 0x00,0x13,0xe9,0xd3,0x00,0x03,0x06,0xe4
793
794 # GFX908: v_mfma_f32_16x16x2bf16 a[0:15], v0, a1, a[1:16] ; encoding: [0x00,0x00,0xe9,0xd3,0x00,0x03,0x06,0x14]
795 0x00,0x00,0xe9,0xd3,0x00,0x03,0x06,0x14
796
797 # GFX908: v_mfma_f32_16x16x2bf16 a[0:15], v0, a1, a[1:16] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xe9,0xd3,0x00,0x03,0x06,0xf4]
798 0x00,0x13,0xe9,0xd3,0x00,0x03,0x06,0xf4
799
800 # GFX908: v_mfma_f32_16x16x2bf16 a[0:15], a0, v1, a[1:16] ; encoding: [0x00,0x00,0xe9,0xd3,0x00,0x03,0x06,0x0c]
801 0x00,0x00,0xe9,0xd3,0x00,0x03,0x06,0x0c
802
803 # GFX908: v_mfma_f32_16x16x2bf16 a[0:15], a0, v1, a[1:16] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xe9,0xd3,0x00,0x03,0x06,0xec]
804 0x00,0x13,0xe9,0xd3,0x00,0x03,0x06,0xec
805
806 # GFX908: v_mfma_f32_16x16x2bf16 a[0:15], a0, a1, a[1:16] ; encoding: [0x00,0x00,0xe9,0xd3,0x00,0x03,0x06,0x1c]
807 0x00,0x00,0xe9,0xd3,0x00,0x03,0x06,0x1c
808
809 # GFX908: v_mfma_f32_16x16x2bf16 a[0:15], a0, a1, a[1:16] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xe9,0xd3,0x00,0x03,0x06,0xfc]
810 0x00,0x13,0xe9,0xd3,0x00,0x03,0x06,0xfc
811
812 # GFX908: v_mfma_f32_16x16x2bf16 a[0:15], v0, v1, -2.0 ; encoding: [0x00,0x00,0xe9,0xd3,0x00,0x03,0xd6,0x03]
813 0x00,0x00,0xe9,0xd3,0x00,0x03,0xd6,0x03
814
815 # GFX908: v_mfma_f32_16x16x2bf16 a[0:15], v0, v1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xe9,0xd3,0x00,0x03,0xd6,0xe3]
816 0x00,0x13,0xe9,0xd3,0x00,0x03,0xd6,0xe3
817
818 # GFX908: v_mfma_f32_16x16x2bf16 a[0:15], v0, a1, -2.0 ; encoding: [0x00,0x00,0xe9,0xd3,0x00,0x03,0xd6,0x13]
819 0x00,0x00,0xe9,0xd3,0x00,0x03,0xd6,0x13
820
821 # GFX908: v_mfma_f32_16x16x2bf16 a[0:15], v0, a1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xe9,0xd3,0x00,0x03,0xd6,0xf3]
822 0x00,0x13,0xe9,0xd3,0x00,0x03,0xd6,0xf3
823
824 # GFX908: v_mfma_f32_16x16x2bf16 a[0:15], a0, v1, -2.0 ; encoding: [0x00,0x00,0xe9,0xd3,0x00,0x03,0xd6,0x0b]
825 0x00,0x00,0xe9,0xd3,0x00,0x03,0xd6,0x0b
826
827 # GFX908: v_mfma_f32_16x16x2bf16 a[0:15], a0, v1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xe9,0xd3,0x00,0x03,0xd6,0xeb]
828 0x00,0x13,0xe9,0xd3,0x00,0x03,0xd6,0xeb
829
830 # GFX908: v_mfma_f32_16x16x2bf16 a[0:15], a0, a1, -2.0 ; encoding: [0x00,0x00,0xe9,0xd3,0x00,0x03,0xd6,0x1b]
831 0x00,0x00,0xe9,0xd3,0x00,0x03,0xd6,0x1b
832
833 # GFX908: v_mfma_f32_16x16x2bf16 a[0:15], a0, a1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xe9,0xd3,0x00,0x03,0xd6,0xfb]
834 0x00,0x13,0xe9,0xd3,0x00,0x03,0xd6,0xfb
835
836 # GFX908: v_mfma_f32_4x4x2bf16 a[0:3], v0, v1, a[1:4] ; encoding: [0x00,0x00,0xeb,0xd3,0x00,0x03,0x06,0x04]
837 0x00,0x00,0xeb,0xd3,0x00,0x03,0x06,0x04
838
839 # GFX908: v_mfma_f32_4x4x2bf16 a[0:3], v0, v1, a[1:4] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xeb,0xd3,0x00,0x03,0x06,0xe4]
840 0x00,0x13,0xeb,0xd3,0x00,0x03,0x06,0xe4
841
842 # GFX908: v_mfma_f32_4x4x2bf16 a[0:3], v0, a1, a[1:4] ; encoding: [0x00,0x00,0xeb,0xd3,0x00,0x03,0x06,0x14]
843 0x00,0x00,0xeb,0xd3,0x00,0x03,0x06,0x14
844
845 # GFX908: v_mfma_f32_4x4x2bf16 a[0:3], v0, a1, a[1:4] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xeb,0xd3,0x00,0x03,0x06,0xf4]
846 0x00,0x13,0xeb,0xd3,0x00,0x03,0x06,0xf4
847
848 # GFX908: v_mfma_f32_4x4x2bf16 a[0:3], a0, v1, a[1:4] ; encoding: [0x00,0x00,0xeb,0xd3,0x00,0x03,0x06,0x0c]
849 0x00,0x00,0xeb,0xd3,0x00,0x03,0x06,0x0c
850
851 # GFX908: v_mfma_f32_4x4x2bf16 a[0:3], a0, v1, a[1:4] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xeb,0xd3,0x00,0x03,0x06,0xec]
852 0x00,0x13,0xeb,0xd3,0x00,0x03,0x06,0xec
853
854 # GFX908: v_mfma_f32_4x4x2bf16 a[0:3], a0, a1, a[1:4] ; encoding: [0x00,0x00,0xeb,0xd3,0x00,0x03,0x06,0x1c]
855 0x00,0x00,0xeb,0xd3,0x00,0x03,0x06,0x1c
856
857 # GFX908: v_mfma_f32_4x4x2bf16 a[0:3], a0, a1, a[1:4] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xeb,0xd3,0x00,0x03,0x06,0xfc]
858 0x00,0x13,0xeb,0xd3,0x00,0x03,0x06,0xfc
859
860 # GFX908: v_mfma_f32_4x4x2bf16 a[0:3], v0, v1, -2.0 ; encoding: [0x00,0x00,0xeb,0xd3,0x00,0x03,0xd6,0x03]
861 0x00,0x00,0xeb,0xd3,0x00,0x03,0xd6,0x03
862
863 # GFX908: v_mfma_f32_4x4x2bf16 a[0:3], v0, v1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xeb,0xd3,0x00,0x03,0xd6,0xe3]
864 0x00,0x13,0xeb,0xd3,0x00,0x03,0xd6,0xe3
865
866 # GFX908: v_mfma_f32_4x4x2bf16 a[0:3], v0, a1, -2.0 ; encoding: [0x00,0x00,0xeb,0xd3,0x00,0x03,0xd6,0x13]
867 0x00,0x00,0xeb,0xd3,0x00,0x03,0xd6,0x13
868
869 # GFX908: v_mfma_f32_4x4x2bf16 a[0:3], v0, a1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xeb,0xd3,0x00,0x03,0xd6,0xf3]
870 0x00,0x13,0xeb,0xd3,0x00,0x03,0xd6,0xf3
871
872 # GFX908: v_mfma_f32_4x4x2bf16 a[0:3], a0, v1, -2.0 ; encoding: [0x00,0x00,0xeb,0xd3,0x00,0x03,0xd6,0x0b]
873 0x00,0x00,0xeb,0xd3,0x00,0x03,0xd6,0x0b
874
875 # GFX908: v_mfma_f32_4x4x2bf16 a[0:3], a0, v1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xeb,0xd3,0x00,0x03,0xd6,0xeb]
876 0x00,0x13,0xeb,0xd3,0x00,0x03,0xd6,0xeb
877
878 # GFX908: v_mfma_f32_4x4x2bf16 a[0:3], a0, a1, -2.0 ; encoding: [0x00,0x00,0xeb,0xd3,0x00,0x03,0xd6,0x1b]
879 0x00,0x00,0xeb,0xd3,0x00,0x03,0xd6,0x1b
880
881 # GFX908: v_mfma_f32_4x4x2bf16 a[0:3], a0, a1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xeb,0xd3,0x00,0x03,0xd6,0xfb]
882 0x00,0x13,0xeb,0xd3,0x00,0x03,0xd6,0xfb
883
884 # GFX908: v_mfma_f32_32x32x4bf16 a[0:15], v0, v1, a[1:16] ; encoding: [0x00,0x00,0xec,0xd3,0x00,0x03,0x06,0x04]
885 0x00,0x00,0xec,0xd3,0x00,0x03,0x06,0x04
886
887 # GFX908: v_mfma_f32_32x32x4bf16 a[0:15], v0, v1, a[1:16] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xec,0xd3,0x00,0x03,0x06,0xe4]
888 0x00,0x13,0xec,0xd3,0x00,0x03,0x06,0xe4
889
890 # GFX908: v_mfma_f32_32x32x4bf16 a[0:15], v0, a1, a[1:16] ; encoding: [0x00,0x00,0xec,0xd3,0x00,0x03,0x06,0x14]
891 0x00,0x00,0xec,0xd3,0x00,0x03,0x06,0x14
892
893 # GFX908: v_mfma_f32_32x32x4bf16 a[0:15], v0, a1, a[1:16] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xec,0xd3,0x00,0x03,0x06,0xf4]
894 0x00,0x13,0xec,0xd3,0x00,0x03,0x06,0xf4
895
896 # GFX908: v_mfma_f32_32x32x4bf16 a[0:15], a0, v1, a[1:16] ; encoding: [0x00,0x00,0xec,0xd3,0x00,0x03,0x06,0x0c]
897 0x00,0x00,0xec,0xd3,0x00,0x03,0x06,0x0c
898
899 # GFX908: v_mfma_f32_32x32x4bf16 a[0:15], a0, v1, a[1:16] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xec,0xd3,0x00,0x03,0x06,0xec]
900 0x00,0x13,0xec,0xd3,0x00,0x03,0x06,0xec
901
902 # GFX908: v_mfma_f32_32x32x4bf16 a[0:15], a0, a1, a[1:16] ; encoding: [0x00,0x00,0xec,0xd3,0x00,0x03,0x06,0x1c]
903 0x00,0x00,0xec,0xd3,0x00,0x03,0x06,0x1c
904
905 # GFX908: v_mfma_f32_32x32x4bf16 a[0:15], a0, a1, a[1:16] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xec,0xd3,0x00,0x03,0x06,0xfc]
906 0x00,0x13,0xec,0xd3,0x00,0x03,0x06,0xfc
907
908 # GFX908: v_mfma_f32_32x32x4bf16 a[0:15], v0, v1, -2.0 ; encoding: [0x00,0x00,0xec,0xd3,0x00,0x03,0xd6,0x03]
909 0x00,0x00,0xec,0xd3,0x00,0x03,0xd6,0x03
910
911 # GFX908: v_mfma_f32_32x32x4bf16 a[0:15], v0, v1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xec,0xd3,0x00,0x03,0xd6,0xe3]
912 0x00,0x13,0xec,0xd3,0x00,0x03,0xd6,0xe3
913
914 # GFX908: v_mfma_f32_32x32x4bf16 a[0:15], v0, a1, -2.0 ; encoding: [0x00,0x00,0xec,0xd3,0x00,0x03,0xd6,0x13]
915 0x00,0x00,0xec,0xd3,0x00,0x03,0xd6,0x13
916
917 # GFX908: v_mfma_f32_32x32x4bf16 a[0:15], v0, a1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xec,0xd3,0x00,0x03,0xd6,0xf3]
918 0x00,0x13,0xec,0xd3,0x00,0x03,0xd6,0xf3
919
920 # GFX908: v_mfma_f32_32x32x4bf16 a[0:15], a0, v1, -2.0 ; encoding: [0x00,0x00,0xec,0xd3,0x00,0x03,0xd6,0x0b]
921 0x00,0x00,0xec,0xd3,0x00,0x03,0xd6,0x0b
922
923 # GFX908: v_mfma_f32_32x32x4bf16 a[0:15], a0, v1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xec,0xd3,0x00,0x03,0xd6,0xeb]
924 0x00,0x13,0xec,0xd3,0x00,0x03,0xd6,0xeb
925
926 # GFX908: v_mfma_f32_32x32x4bf16 a[0:15], a0, a1, -2.0 ; encoding: [0x00,0x00,0xec,0xd3,0x00,0x03,0xd6,0x1b]
927 0x00,0x00,0xec,0xd3,0x00,0x03,0xd6,0x1b
928
929 # GFX908: v_mfma_f32_32x32x4bf16 a[0:15], a0, a1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xec,0xd3,0x00,0x03,0xd6,0xfb]
930 0x00,0x13,0xec,0xd3,0x00,0x03,0xd6,0xfb
931
932 # GFX908: v_mfma_f32_16x16x8bf16 a[0:3], v0, v1, a[1:4] ; encoding: [0x00,0x00,0xed,0xd3,0x00,0x03,0x06,0x04]
933 0x00,0x00,0xed,0xd3,0x00,0x03,0x06,0x04
934
935 # GFX908: v_mfma_f32_16x16x8bf16 a[0:3], v0, v1, a[1:4] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xed,0xd3,0x00,0x03,0x06,0xe4]
936 0x00,0x13,0xed,0xd3,0x00,0x03,0x06,0xe4
937
938 # GFX908: v_mfma_f32_16x16x8bf16 a[0:3], v0, a1, a[1:4] ; encoding: [0x00,0x00,0xed,0xd3,0x00,0x03,0x06,0x14]
939 0x00,0x00,0xed,0xd3,0x00,0x03,0x06,0x14
940
941 # GFX908: v_mfma_f32_16x16x8bf16 a[0:3], v0, a1, a[1:4] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xed,0xd3,0x00,0x03,0x06,0xf4]
942 0x00,0x13,0xed,0xd3,0x00,0x03,0x06,0xf4
943
944 # GFX908: v_mfma_f32_16x16x8bf16 a[0:3], a0, v1, a[1:4] ; encoding: [0x00,0x00,0xed,0xd3,0x00,0x03,0x06,0x0c]
945 0x00,0x00,0xed,0xd3,0x00,0x03,0x06,0x0c
946
947 # GFX908: v_mfma_f32_16x16x8bf16 a[0:3], a0, v1, a[1:4] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xed,0xd3,0x00,0x03,0x06,0xec]
948 0x00,0x13,0xed,0xd3,0x00,0x03,0x06,0xec
949
950 # GFX908: v_mfma_f32_16x16x8bf16 a[0:3], a0, a1, a[1:4] ; encoding: [0x00,0x00,0xed,0xd3,0x00,0x03,0x06,0x1c]
951 0x00,0x00,0xed,0xd3,0x00,0x03,0x06,0x1c
952
953 # GFX908: v_mfma_f32_16x16x8bf16 a[0:3], a0, a1, a[1:4] cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xed,0xd3,0x00,0x03,0x06,0xfc]
954 0x00,0x13,0xed,0xd3,0x00,0x03,0x06,0xfc
955
956 # GFX908: v_mfma_f32_16x16x8bf16 a[0:3], v0, v1, -2.0 ; encoding: [0x00,0x00,0xed,0xd3,0x00,0x03,0xd6,0x03]
957 0x00,0x00,0xed,0xd3,0x00,0x03,0xd6,0x03
958
959 # GFX908: v_mfma_f32_16x16x8bf16 a[0:3], v0, v1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xed,0xd3,0x00,0x03,0xd6,0xe3]
960 0x00,0x13,0xed,0xd3,0x00,0x03,0xd6,0xe3
961
962 # GFX908: v_mfma_f32_16x16x8bf16 a[0:3], v0, a1, -2.0 ; encoding: [0x00,0x00,0xed,0xd3,0x00,0x03,0xd6,0x13]
963 0x00,0x00,0xed,0xd3,0x00,0x03,0xd6,0x13
964
965 # GFX908: v_mfma_f32_16x16x8bf16 a[0:3], v0, a1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xed,0xd3,0x00,0x03,0xd6,0xf3]
966 0x00,0x13,0xed,0xd3,0x00,0x03,0xd6,0xf3
967
968 # GFX908: v_mfma_f32_16x16x8bf16 a[0:3], a0, v1, -2.0 ; encoding: [0x00,0x00,0xed,0xd3,0x00,0x03,0xd6,0x0b]
969 0x00,0x00,0xed,0xd3,0x00,0x03,0xd6,0x0b
970
971 # GFX908: v_mfma_f32_16x16x8bf16 a[0:3], a0, v1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xed,0xd3,0x00,0x03,0xd6,0xeb]
972 0x00,0x13,0xed,0xd3,0x00,0x03,0xd6,0xeb
973
974 # GFX908: v_mfma_f32_16x16x8bf16 a[0:3], a0, a1, -2.0 ; encoding: [0x00,0x00,0xed,0xd3,0x00,0x03,0xd6,0x1b]
975 0x00,0x00,0xed,0xd3,0x00,0x03,0xd6,0x1b
976
977 # GFX908: v_mfma_f32_16x16x8bf16 a[0:3], a0, a1, -2.0 cbsz:3 abid:2 blgp:7 ; encoding: [0x00,0x13,0xed,0xd3,0x00,0x03,0xd6,0xfb]
978 0x00,0x13,0xed,0xd3,0x00,0x03,0xd6,0xfb