Home | History | Annotate | Download | only in PTX
      1 //===-- PTXRegisterInfo.td - PTX Register defs -------------*- tablegen -*-===//
      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 //===----------------------------------------------------------------------===//
     11 //  Declarations that describe the PTX register file
     12 //===----------------------------------------------------------------------===//
     13 
     14 class PTXReg<string n> : Register<n> {
     15   let Namespace = "PTX";
     16 }
     17 
     18 //===----------------------------------------------------------------------===//
     19 //  Registers
     20 //===----------------------------------------------------------------------===//
     21 
     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
     24 // these warnings.
     25 def DUMMY_REG : PTXReg<"R0">;
     26 
     27 //===----------------------------------------------------------------------===//
     28 //  Register classes
     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)>;
     36 
     37