================ @@ -305,6 +305,21 @@ multiclass sme_outer_product_fp32<bit S, bits<2> sz, ZPRRegOp zpr_ty, string mne def : SME_ZA_Tile_TwoPred_TwoVec_Pat<NAME, op, timm32_0_3, nxv4i1, nxv4f32>; } +multiclass sme2_fp8_fmopa_za32<string mnemonic, SDPatternOperator intrinsic> { + def NAME : sme_fp_outer_product_inst<0, 0b01, 0b00, TileOp32, ZPR8, mnemonic>, SMEPseudo2Instr<NAME, 1> { + bits<2> ZAda; + let Inst{1-0} = ZAda; + let Inst{2} = 0b0; + ---------------- CarolineConcatto wrote:
nit: Can you do this: .... ``` let Uses = [FPMR, FPCR]; let mayStore = 1 let mayLoad = 1 } def NAME # _PSEUDO : sme_outer_product_pseudo<ZPR8, SMEMatrixTileS>, SMEPseudo2Instr<NAME, 0>; ``` So it is similar to what is being done for previous instructions. https://github.com/llvm/llvm-project/pull/118115 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits