• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
15class 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.
26def DUMMY_REG : PTXReg<"R0">;
27
28//===----------------------------------------------------------------------===//
29//  Register classes
30//===----------------------------------------------------------------------===//
31def RegPred : RegisterClass<"PTX", [i1], 8, (add DUMMY_REG)>;
32def RegI16 : RegisterClass<"PTX", [i16], 16, (add DUMMY_REG)>;
33def RegI32 : RegisterClass<"PTX", [i32], 32, (add DUMMY_REG)>;
34def RegI64 : RegisterClass<"PTX", [i64], 64, (add DUMMY_REG)>;
35def RegF32 : RegisterClass<"PTX", [f32], 32, (add DUMMY_REG)>;
36def RegF64 : RegisterClass<"PTX", [f64], 64, (add DUMMY_REG)>;
37
38