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
10class 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
29class 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