//===- PIC16RegisterInfo.td - PIC16 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 PIC16 register file //===----------------------------------------------------------------------===// class PIC16Reg : Register { let Namespace = "PIC16"; } // PIC16 Registers. def W : PIC16Reg<"W">; def FSR0 : PIC16Reg<"FSR0">; def FSR1 : PIC16Reg<"FSR1">; def BS : PIC16Reg<"BS">; def PCLATH : PIC16Reg<"PCLATH">; def STATUS : PIC16Reg<"STATUS">; // PIC16 Register classes. def GPR : RegisterClass<"PIC16", [i8], 8, [W]>; def FSR16 : RegisterClass<"PIC16", [i16], 8, [FSR0, FSR1]>; def BSR : RegisterClass<"PIC16", [i8], 8, [BS]>; def PCLATHR : RegisterClass<"PIC16", [i8], 8, [PCLATH]>; def STATUSR : RegisterClass<"PIC16", [i8], 8, [STATUS]>;