================ @@ -0,0 +1,276 @@ +//===-- RISCVInstrInfoXsfmm.td - SiFive matrix multiply ----*- tablegen -*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// +// +// This file describes the Xsfmm* vendor extensions defined by SiFive. +// +//===----------------------------------------------------------------------===// + +def XSfmmVTypeAsmOperand : AsmOperandClass { + let Name = "XSfmmVType"; + let ParserMethod = "parseXSfmmVType"; + let DiagnosticType = "InvalidXSfmmVType"; + let RenderMethod = "addVTypeIOperands"; +} + +def XSfmmVTypeOp : RISCVOp { + let ParserMatchClass = XSfmmVTypeAsmOperand; + let PrintMethod = "printXSfmmVType"; + let OperandType = "OPERAND_XSFMM_VTYPE"; + let MCOperandPredicate = [{ + int64_t Imm; + if (!MCOp.evaluateAsConstantImm(Imm)) + return false; + if (!isUInt<32>(Imm)) + return false; + return RISCVVType::isValidXSfmmVType(Imm); + }]; +} + +let hasSideEffects = 1, mayLoad = 0, mayStore = 0 in +class RVInstSetSingle<dag outs, dag ins, bits<5> rs2, string opcodestr, ---------------- preames wrote:
All the classes should be prefixed with Sf https://github.com/llvm/llvm-project/pull/133031 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits