summaryrefslogtreecommitdiff
path: root/lib/Target/PTX/PTXRegisterInfo.td
blob: 6ed6d3fe385f98b63f7a35478187c9661930ad3b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37

//===- PTXRegisterInfo.td - PTX Register defs ----------------*- tblgen -*-===//
//
//                     The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//

//===----------------------------------------------------------------------===//
//  Declarations that describe the PTX register file
//===----------------------------------------------------------------------===//

class PTXReg<string n> : Register<n> {
  let Namespace = "PTX";
}

//===----------------------------------------------------------------------===//
//  Registers
//===----------------------------------------------------------------------===//

// The generated register info code throws warnings for empty register classes
// (e.g. zero-length arrays), so we use a dummy register here just to prevent
// these warnings.
def DUMMY_REG : PTXReg<"R0">;

//===----------------------------------------------------------------------===//
//  Register classes
//===----------------------------------------------------------------------===//
def RegPred : RegisterClass<"PTX", [i1], 8, (add DUMMY_REG)>;
def RegI16 : RegisterClass<"PTX", [i16], 16, (add DUMMY_REG)>;
def RegI32 : RegisterClass<"PTX", [i32], 32, (add DUMMY_REG)>;
def RegI64 : RegisterClass<"PTX", [i64], 64, (add DUMMY_REG)>;
def RegF32 : RegisterClass<"PTX", [f32], 32, (add DUMMY_REG)>;
def RegF64 : RegisterClass<"PTX", [f64], 64, (add DUMMY_REG)>;