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