@@ -2916,7 +2916,7 @@ multiclass sme2_multi_vec_array_vg4_index_64b<string mnemonic, bits<3> op,
29162916}
29172917
29182918// FMLAL (multiple and indexed vector, FP8 to FP16)
2919- class sme2_multi_vec_array_vg24_index_16b <bits<2> sz, bit vg4, bits<3> op,
2919+ class sme2_fp8_fmlal_vg24_index_za16 <bits<2> sz, bit vg4, bits<3> op,
29202920 RegisterOperand multi_vector_ty, string mnemonic>
29212921 : I<(outs MatrixOp16:$ZAda),
29222922 (ins MatrixOp16:$_ZAda, MatrixIndexGPR32Op8_11:$Rv, uimm2s2range:$imm2,
@@ -2939,11 +2939,12 @@ class sme2_multi_vec_array_vg24_index_16b<bits<2> sz, bit vg4, bits<3> op,
29392939 let Inst{3-2} = i{1-0};
29402940 let Inst{1-0} = imm2;
29412941
2942+ let Uses = [FPMR, FPCR];
29422943 let Constraints = "$ZAda = $_ZAda";
29432944}
29442945
29452946multiclass sme2_fp8_fmlal_index_za16_vgx2<string mnemonic, SDPatternOperator intrinsic> {
2946- def NAME : sme2_multi_vec_array_vg24_index_16b <0b10, 0b0, 0b111, ZZ_b_mul_r, mnemonic>, SMEPseudo2Instr<NAME, 1> {
2947+ def NAME : sme2_fp8_fmlal_vg24_index_za16 <0b10, 0b0, 0b111, ZZ_b_mul_r, mnemonic>, SMEPseudo2Instr<NAME, 1> {
29472948 bits<4> Zn;
29482949 let Inst{9-6} = Zn;
29492950 }
@@ -2957,7 +2958,7 @@ multiclass sme2_fp8_fmlal_index_za16_vgx2<string mnemonic, SDPatternOperator int
29572958}
29582959
29592960multiclass sme2_fp8_fmlal_index_za16_vgx4<string mnemonic, SDPatternOperator intrinsic> {
2960- def NAME: sme2_multi_vec_array_vg24_index_16b <0b10, 0b1, 0b110, ZZZZ_b_mul_r, mnemonic>, SMEPseudo2Instr<NAME, 1> {
2961+ def NAME: sme2_fp8_fmlal_vg24_index_za16 <0b10, 0b1, 0b110, ZZZZ_b_mul_r, mnemonic>, SMEPseudo2Instr<NAME, 1> {
29612962 bits<3> Zn;
29622963 let Inst{9-7} = Zn;
29632964 let Inst{6} = 0b0;
0 commit comments