]> granicus.if.org Git - clang/commitdiff
Pointer width for PIC16 is 16 bits. Modify getMemCpy, getMemMove and getMemSet accord...
authorSanjiv Gupta <sanjiv.gupta@microchip.com>
Wed, 19 Nov 2008 09:02:07 +0000 (09:02 +0000)
committerSanjiv Gupta <sanjiv.gupta@microchip.com>
Wed, 19 Nov 2008 09:02:07 +0000 (09:02 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59613 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/CodeGenModule.cpp

index dd46f91d743af047ac7ebc28c7526124f2aba92f..7ea52deb2ad44c6057c9f720203b15d6616540aa 100644 (file)
@@ -760,6 +760,7 @@ llvm::Function *CodeGenModule::getMemCpyFn() {
   llvm::Intrinsic::ID IID;
   switch (Context.Target.getPointerWidth(0)) {
   default: assert(0 && "Unknown ptr width");
+  case 16: IID = llvm::Intrinsic::memcpy_i16; break;
   case 32: IID = llvm::Intrinsic::memcpy_i32; break;
   case 64: IID = llvm::Intrinsic::memcpy_i64; break;
   }
@@ -771,6 +772,7 @@ llvm::Function *CodeGenModule::getMemMoveFn() {
   llvm::Intrinsic::ID IID;
   switch (Context.Target.getPointerWidth(0)) {
   default: assert(0 && "Unknown ptr width");
+  case 16: IID = llvm::Intrinsic::memmove_i16; break;
   case 32: IID = llvm::Intrinsic::memmove_i32; break;
   case 64: IID = llvm::Intrinsic::memmove_i64; break;
   }
@@ -782,6 +784,7 @@ llvm::Function *CodeGenModule::getMemSetFn() {
   llvm::Intrinsic::ID IID;
   switch (Context.Target.getPointerWidth(0)) {
   default: assert(0 && "Unknown ptr width");
+  case 16: IID = llvm::Intrinsic::memset_i16; break;
   case 32: IID = llvm::Intrinsic::memset_i32; break;
   case 64: IID = llvm::Intrinsic::memset_i64; break;
   }