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