================ @@ -10753,10 +10758,45 @@ class sve2_fp8_down_cvt_single<bits<2> opc, string mnemonic, let Inst{5} = 0b0; let Inst{4-0} = Zd; let Uses = [FPMR, FPCR]; + + let mayLoad = 1; + let mayStore = 0; } -multiclass sve2_fp8_down_cvt_single<bits<2> opc, string mnemonic, RegisterOperand src> { +multiclass sve2_fp8_down_cvt_single<bits<2> opc, string mnemonic, RegisterOperand src, + ValueType ty, SDPatternOperator op> { def NAME : sve2_fp8_down_cvt_single<opc, mnemonic, ZPR8, src>; + + def : Pat<(nxv16i8 (op ty:$Zn1, ty:$Zn2)), + (!cast<Instruction>(NAME) (REG_SEQUENCE ZPR2Mul2, $Zn1, zsub0, $Zn2, zsub1))>; +} + +class sve2_fp8_down_cvt_single_top<bits<2> opc, string mnemonic, RegisterOperand src_ty> ---------------- momchil-velikov wrote:
It's not like the encodings are going to change so we are worried about extra maintenance burden due to duplication. https://github.com/llvm/llvm-project/pull/118124 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits