brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.0 KiB · 2fde2b0 Raw
38 lines · plain
1//===-- SPIRVInstrFormats.td - SPIR-V Instruction Formats --*- tablegen -*-===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8 9def StringImm: Operand<i32>{10  let PrintMethod="printStringImm";11}12 13class Op<bits<16> Opcode, dag outs, dag ins, string asmstr, list<dag> pattern = []>14  : Instruction {15  field bits<16> Inst;16 17  let Inst = Opcode;18 19  let Namespace = "SPIRV";20  let DecoderNamespace = "SPIRV";21 22  dag OutOperandList = outs;23  dag InOperandList = ins;24  let AsmString = asmstr;25  let Pattern = pattern;26}27 28class UnknownOp<dag outs, dag ins, string asmstr, list<dag> pattern = []>29    : Op<0, outs, ins, asmstr, pattern> {30  let isPseudo = 1;31}32 33// Pseudo instructions34class Pseudo<dag outs, dag ins> : Op<0, outs, ins, ""> {35  let isPseudo = 1;36  let hasSideEffects = 0;37}38