//===- 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)>;