X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=lib%2FTarget%2FHexagon%2FHexagonInstrFormatsV4.td;h=29973e7d3be3d0e6e1287693c4c81f90d1e12398;hb=108fb3202af6f500073cdbb7be32c25d7a273a2e;hp=bd5e4493d7c2a3bd1e5813309923daba3b8b1b29;hpb=d410eaba04211d53a523a518a5e315eb24c1072f;p=oota-llvm.git diff --git a/lib/Target/Hexagon/HexagonInstrFormatsV4.td b/lib/Target/Hexagon/HexagonInstrFormatsV4.td index bd5e4493d7c..29973e7d3be 100644 --- a/lib/Target/Hexagon/HexagonInstrFormatsV4.td +++ b/lib/Target/Hexagon/HexagonInstrFormatsV4.td @@ -11,11 +11,25 @@ // //===----------------------------------------------------------------------===// +//----------------------------------------------------------------------------// +// 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 { + : InstHexagon { bits<5> rd; bits<5> rs; bits<13> imm13; @@ -24,7 +38,7 @@ class NVInst_V4 pattern> // Definition of Post increment new value store. class NVInstPost_V4 pattern, string cstr> - : InstHexagon { + : InstHexagon { bits<5> rd; bits<5> rs; bits<5> rt; @@ -32,15 +46,18 @@ class NVInstPost_V4 pattern, } // Post increment ST Instruction. -class NVInstPI_V4 pattern, - string cstr> - : NVInstPost_V4 { - let rt{0-4} = 0; -} +let mayStore = 1 in +class NVInstPI_V4 pattern = [], + string cstr = ""> + : NVInstPost_V4; class MEMInst_V4 pattern> - : InstHexagon { + : InstHexagon { bits<5> rd; bits<5> rs; bits<6> imm6; } + +let isCodeGenOnly = 1 in +class EXTENDERInst pattern = []> + : InstHexagon;