[Hexagon] Adding basic disassembler.
[oota-llvm.git] / lib / Target / Hexagon / HexagonInstrFormats.td
index 105734349321986e2370dd5ed7939363f82453ea..cc27c4c8ed8526f3ddff9784eca94c5d3b514760 100644 (file)
@@ -92,12 +92,18 @@ class InstHexagon<dag outs, dag ins, string asmstr, list<dag> pattern,
   let AsmString = asmstr;
   let Pattern = pattern;
   let Constraints = cstr;
-  let Itinerary = itin;
-  let Size = 4;
-
-  // *** Must match MCTargetDesc/HexagonBaseInfo.h ***
-
-  // Instruction type according to the ISA.
+  let Itinerary = itin;\r
+  let Size = 4;\r
+\r
+  // SoftFail is a field the disassembler can use to provide a way for\r
+  // instructions to not match without killing the whole decode process. It is\r
+  // mainly used for ARM, but Tablegen expects this field to exist or it fails\r
+  // to build the decode table.\r
+  field bits<32> SoftFail = 0;\r
+\r
+  // *** Must match MCTargetDesc/HexagonBaseInfo.h ***\r
+\r
+  // Instruction type according to the ISA.\r
   IType Type = type;
   let TSFlags{4-0} = Type.Value;
 
@@ -186,6 +192,7 @@ class InstHexagon<dag outs, dag ins, string asmstr, list<dag> pattern,
                                     "");
   let PNewValue = !if(isPredicatedNew, "new", "");
   let NValueST = !if(isNVStore, "true", "false");
+  let isCodeGenOnly = 1;
 
   // *** Must match MCTargetDesc/HexagonBaseInfo.h ***
 }