From f99d54498a1237fd75788cd0a65e826b1b68174b Mon Sep 17 00:00:00 2001 From: Sanjiv Gupta Date: Wed, 19 Nov 2008 09:02:07 +0000 Subject: Pointer width for PIC16 is 16 bits. Modify getMemCpy, getMemMove and getMemSet accordingly. llvm-svn: 59613 --- clang/lib/CodeGen/CodeGenModule.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'clang/lib/CodeGen/CodeGenModule.cpp') diff --git a/clang/lib/CodeGen/CodeGenModule.cpp b/clang/lib/CodeGen/CodeGenModule.cpp index dd46f91d743a..7ea52deb2ad4 100644 --- a/clang/lib/CodeGen/CodeGenModule.cpp +++ b/clang/lib/CodeGen/CodeGenModule.cpp @@ -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; } -- cgit v1.2.3