6ed6d3fe385f98b63f7a35478187c9661930ad3b
[oota-llvm.git] / lib / Target / PTX / PTXRegisterInfo.td
1
2 //===- PTXRegisterInfo.td - PTX Register defs ----------------*- tblgen -*-===//
3 //
4 //                     The LLVM Compiler Infrastructure
5 //
6 // This file is distributed under the University of Illinois Open Source
7 // License. See LICENSE.TXT for details.
8 //
9 //===----------------------------------------------------------------------===//
10
11 //===----------------------------------------------------------------------===//
12 //  Declarations that describe the PTX register file
13 //===----------------------------------------------------------------------===//
14
15 class PTXReg<string n> : Register<n> {
16   let Namespace = "PTX";
17 }
18
19 //===----------------------------------------------------------------------===//
20 //  Registers
21 //===----------------------------------------------------------------------===//
22
23 // The generated register info code throws warnings for empty register classes
24 // (e.g. zero-length arrays), so we use a dummy register here just to prevent
25 // these warnings.
26 def DUMMY_REG : PTXReg<"R0">;
27
28 //===----------------------------------------------------------------------===//
29 //  Register classes
30 //===----------------------------------------------------------------------===//
31 def RegPred : RegisterClass<"PTX", [i1], 8, (add DUMMY_REG)>;
32 def RegI16 : RegisterClass<"PTX", [i16], 16, (add DUMMY_REG)>;
33 def RegI32 : RegisterClass<"PTX", [i32], 32, (add DUMMY_REG)>;
34 def RegI64 : RegisterClass<"PTX", [i64], 64, (add DUMMY_REG)>;
35 def RegF32 : RegisterClass<"PTX", [f32], 32, (add DUMMY_REG)>;
36 def RegF64 : RegisterClass<"PTX", [f64], 64, (add DUMMY_REG)>;
37