Added a more function PIC16 backend. However to get this working a patch in
ExpandIntegerOperand (LegalizeIntegerTypes.cpp) is needed which is yet to be reworked and submitted. 

llvm-svn: 59617
diff --git a/llvm/lib/Target/PIC16/PIC16Subtarget.cpp b/llvm/lib/Target/PIC16/PIC16Subtarget.cpp
index b7ebf94..db8a5d8 100644
--- a/llvm/lib/Target/PIC16/PIC16Subtarget.cpp
+++ b/llvm/lib/Target/PIC16/PIC16Subtarget.cpp
@@ -11,14 +11,14 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "PIC16.h"
 #include "PIC16Subtarget.h"
 #include "PIC16GenSubtarget.inc"
+
 using namespace llvm;
 
-PIC16Subtarget::PIC16Subtarget(const TargetMachine &TM, const Module &M, 
-                               const std::string &FS) 
-  :IsPIC16Old(false)
+PIC16Subtarget::PIC16Subtarget(const Module &M, const std::string &FS, 
+                               bool Cooper)
+  :IsCooper(Cooper)
 {
   std::string CPU = "generic";