[PATCH] D45780: [CUDA] added missing __ldg(const signed char *)

Artem Belevich via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Apr 18 11:31:46 PDT 2018


tra created this revision.
tra added a reviewer: jlebar.
Herald added a subscriber: sanjoy.

Until now we only had variants for 'char' and 'unsigned char'. In C++ 'char' 'unsigned char' and 'signed char' are three different types and we need overloads for all of them.


https://reviews.llvm.org/D45780

Files:
  clang/lib/Headers/__clang_cuda_intrinsics.h


Index: clang/lib/Headers/__clang_cuda_intrinsics.h
===================================================================
--- clang/lib/Headers/__clang_cuda_intrinsics.h
+++ clang/lib/Headers/__clang_cuda_intrinsics.h
@@ -277,6 +277,9 @@
 inline __device__ unsigned char __ldg(const unsigned char *ptr) {
   return __nvvm_ldg_uc(ptr);
 }
+inline __device__ signed char __ldg(const signed char *ptr) {
+  return __nvvm_ldg_uc((const unsigned char *)ptr);
+}
 inline __device__ unsigned short __ldg(const unsigned short *ptr) {
   return __nvvm_ldg_us(ptr);
 }


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D45780.142970.patch
Type: text/x-patch
Size: 556 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20180418/3014b6aa/attachment.bin>


More information about the cfe-commits mailing list