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