@@ -371,7 +371,7 @@ let Predicates = [HasAMXTRANSPOSE, In64BitMode] in {
371371} // HasAMXTILE, HasAMXTRANSPOSE
372372
373373multiclass m_tcvtrowd2ps {
374- let Predicates = [HasAMXAVX512, In64BitMode] in {
374+ let Predicates = [HasAMXAVX512, HasAVX10_2_512, In64BitMode] in {
375375 let SchedRW = [WriteSystem] in {
376376 def rri : Ii8<0x7, MRMSrcReg, (outs VR512:$dst),
377377 (ins TILE:$src1, i32u8imm:$src2),
@@ -382,12 +382,12 @@ multiclass m_tcvtrowd2ps {
382382 "tcvtrowd2ps\t{$src2, $src1, $dst|$dst, $src1, $src2}",
383383 []>, T8,XS, EVEX, VVVV, EVEX_V512;
384384 }
385- } // HasAMXAVX512, In64BitMode
385+ } // HasAMXAVX512, HasAVX10_2_512, In64BitMode
386386}
387387
388388defm TCVTROWD2PS : m_tcvtrowd2ps;
389389
390- let Predicates = [HasAMXAVX512, In64BitMode] in {
390+ let Predicates = [HasAMXAVX512, HasAVX10_2_512, In64BitMode] in {
391391 let SchedRW = [WriteSystem] in {
392392 let usesCustomInserter = 1 in {
393393 def PTCVTROWD2PSrri : PseudoI<(outs VR512:$dst), (ins u8imm:$src1, i32u8imm:$src2),
@@ -451,7 +451,7 @@ let Predicates = [HasAMXAVX512, In64BitMode] in {
451451
452452multiclass AMXAVX512_BASE<bits<8> Opcode1, bits<8> Opcode2, string Opstr,
453453 Prefix P1, Prefix P2> {
454- let Predicates = [HasAMXAVX512, In64BitMode], SchedRW = [WriteSystem] in {
454+ let Predicates = [HasAMXAVX512, HasAVX10_2_512, In64BitMode], SchedRW = [WriteSystem] in {
455455 let OpPrefix = P1 in
456456 def rre : I<Opcode1, MRMSrcReg4VOp3, (outs VR512:$dst),
457457 (ins TILE:$src1, GR32:$src2),
@@ -490,7 +490,7 @@ multiclass m_tilemovrow {
490490 "tilemovrow\t{$src2, $src1, $dst|$dst, $src1, $src2}",
491491 []>, T8,PD, EVEX, VVVV, EVEX_V512;
492492 }
493- } // HasAMXAVX512, In64BitMode
493+ } // HasAMXAVX512, HasAVX10_2_512, In64BitMode
494494}
495495
496496defm TILEMOVROW : m_tilemovrow;
0 commit comments