]> CyberLeo.Net >> Repos - FreeBSD/stable/9.git/blob - contrib/llvm/lib/Target/PTX/PTXInstrFormats.td
Copy head to stable/9 as part of 9.0-RELEASE release cycle.
[FreeBSD/stable/9.git] / contrib / llvm / lib / Target / PTX / PTXInstrFormats.td
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 //===----------------------------------------------------------------------===//
9
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 RegPred, i32imm),
13                                      (ops (i1 zero_reg), (i32 0))>;
14
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   }
24 }