Home | History | Annotate | Download | only in BPF
      1 //===-- BPFInstrFormats.td - BPF Instruction Formats -------*- tablegen -*-===//
      2 //
      3 //                     The LLVM Compiler Infrastructure
      4 //
      5 // This file is distributed under the University of Illinois Open Source
      6 // License. See LICENSE.TXT for details.
      7 //
      8 //===----------------------------------------------------------------------===//
      9 
     10 class InstBPF<dag outs, dag ins, string asmstr, list<dag> pattern>
     11   : Instruction {
     12   field bits<64> Inst;
     13   field bits<64> SoftFail = 0;
     14   let Size = 8;
     15 
     16   let Namespace = "BPF";
     17   let DecoderNamespace = "BPF";
     18 
     19   bits<3> BPFClass;
     20   let Inst{58-56} = BPFClass;
     21 
     22   dag OutOperandList = outs;
     23   dag InOperandList = ins;
     24   let AsmString = asmstr;
     25   let Pattern = pattern;
     26 }
     27 
     28 // Pseudo instructions
     29 class Pseudo<dag outs, dag ins, string asmstr, list<dag> pattern>
     30   : InstBPF<outs, ins, asmstr, pattern> {
     31   let Inst{63-0} = 0;
     32   let isPseudo = 1;
     33 }
     34