Fixed some bugs.
[llvm/zpu.git] / lib / Target / PTX / PTXInstrFormats.td
blobe4e099987e8dece7d0541fc98d39d6769df0e7e6
1 //===- PTXInstrFormats.td - PTX Instruction Formats ----------*- tblgen -*-===//
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 //===----------------------------------------------------------------------===//
10 // PTX Predicate operand, default to (0, 0) = (zero-reg, always).
11 // Leave PrintMethod empty; predicate printing is defined elsewhere.
12 def pred : PredicateOperand<OtherVT, (ops Preds, i32imm),
13                                      (ops (i1 zero_reg), (i32 0))>;
15 let Namespace = "PTX" in {
16   class InstPTX<dag oops, dag iops, string asmstr, list<dag> pattern>
17     : Instruction {
18       dag OutOperandList = oops;
19       dag InOperandList = !con(iops, (ins pred:$_p));
20       let AsmString = asmstr; // Predicate printing is defined elsewhere.
21       let Pattern = pattern;
22       let isPredicable = 1;
23   }