//==- HexagonInstrFormats.td - Hexagon Instruction Formats --*- tablegen -*-==// // // The LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// // // This file describes the Hexagon V4 instruction classes in TableGen format. // //===----------------------------------------------------------------------===// //----------------------------------------------------------------------------// // Hexagon Intruction Flags + // // *** Must match BaseInfo.h *** //----------------------------------------------------------------------------// def TypeMEMOP : Type<9>; def TypeNV : Type<10>; def TypePREFIX : Type<30>; //----------------------------------------------------------------------------// // Intruction Classes Definitions + //----------------------------------------------------------------------------// // // NV type instructions. // class NVInst_V4 pattern> : InstHexagon { bits<5> rd; bits<5> rs; bits<13> imm13; } // Definition of Post increment new value store. class NVInstPost_V4 pattern, string cstr> : InstHexagon { bits<5> rd; bits<5> rs; bits<5> rt; bits<13> imm13; } // Post increment ST Instruction. class NVInstPI_V4 pattern, string cstr> : NVInstPost_V4 { let rt{0-4} = 0; } class MEMInst_V4 pattern> : InstHexagon { bits<5> rd; bits<5> rs; bits<6> imm6; } class Immext pattern> : InstHexagon { let isCodeGenOnly = 1; bits<26> imm26; }