//===-- SPIRVInstrFormats.td - SPIR-V Instruction Formats --*- 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 // //===----------------------------------------------------------------------===// def StringImm: Operand<i32>{ let PrintMethod="printStringImm"; } class Op<bits<16> Opcode, dag outs, dag ins, string asmstr, list<dag> pattern = []> : Instruction { field bits<16> Inst; let Inst = Opcode; let Namespace = "SPIRV"; let DecoderNamespace = "SPIRV"; dag OutOperandList = outs; dag InOperandList = ins; let AsmString = asmstr; let Pattern = pattern; } // Pseudo instructions class Pseudo<dag outs, dag ins> : Op<0, outs, ins, ""> { let isPseudo = 1; }