diff options
author | Sanjiv Gupta <sanjiv.gupta@microchip.com> | 2009-01-13 19:18:47 +0000 |
---|---|---|
committer | Sanjiv Gupta <sanjiv.gupta@microchip.com> | 2009-01-13 19:18:47 +0000 |
commit | 1b0469411628d8f2d6a234016481bf9aafb14362 (patch) | |
tree | 30bbccda2d01f35e7a44dee659778411baf564a5 /lib/Target/PIC16/PIC16InstrInfo.cpp | |
parent | a1f50e2c2cad12dd8fe7ef80e394ee7a96654021 (diff) | |
download | llvm-1b0469411628d8f2d6a234016481bf9aafb14362.tar.gz llvm-1b0469411628d8f2d6a234016481bf9aafb14362.tar.bz2 llvm-1b0469411628d8f2d6a234016481bf9aafb14362.tar.xz |
Checking in conditionals, function call, arrays and libcalls implementation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62174 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/PIC16/PIC16InstrInfo.cpp')
-rw-r--r-- | lib/Target/PIC16/PIC16InstrInfo.cpp | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/lib/Target/PIC16/PIC16InstrInfo.cpp b/lib/Target/PIC16/PIC16InstrInfo.cpp index bce7d261ef..5fe5dacee8 100644 --- a/lib/Target/PIC16/PIC16InstrInfo.cpp +++ b/lib/Target/PIC16/PIC16InstrInfo.cpp @@ -125,20 +125,29 @@ bool PIC16InstrInfo::copyRegToReg (MachineBasicBlock &MBB, const TargetRegisterClass *SrcRC) const { if (DestRC == PIC16::FSR16RegisterClass) { BuildMI(MBB, I, get(PIC16::copy_fsr), DestReg).addReg(SrcReg); + return true; + } + + if (DestRC == PIC16::GPRRegisterClass) { + BuildMI(MBB, I, get(PIC16::copy_w), DestReg).addReg(SrcReg); + return true; } - return true; + // Not yet supported. + return false; } bool PIC16InstrInfo::isMoveInstr(const MachineInstr &MI, unsigned &SrcReg, unsigned &DestReg) const { - if (MI.getOpcode() == PIC16::copy_fsr) { + if (MI.getOpcode() == PIC16::copy_fsr + || MI.getOpcode() == PIC16::copy_w) { DestReg = MI.getOperand(0).getReg(); SrcReg = MI.getOperand(1).getReg(); return true; } + return false; } |