Fix algorithms based on 64 bit datatypes for older NV cards
authorjsteube <jens.steube@gmail.com>
Tue, 19 Jan 2016 20:27:39 +0000 (21:27 +0100)
committerjsteube <jens.steube@gmail.com>
Tue, 19 Jan 2016 20:27:39 +0000 (21:27 +0100)
OpenCL/types_ocl.c

index c68ab90..137f67e 100644 (file)
@@ -282,6 +282,7 @@ static inline u32x rotl32 (const u32x a, const u32 n)
   return rotate (a, n);
 }
 
+#if CUDA_ARCH >= 350
 static inline u64 rotr64 (const u64 a, const u32 n)
 {
   u32 il;
@@ -309,6 +310,12 @@ static inline u64 rotr64 (const u64 a, const u32 n)
 
   return r;
 }
+#else
+static inline u64 rotr64 (const u64 a, const u32 n)
+{
+  return rotate (a, (u64) 64 - n);
+}
+#endif
 
 static inline u64 rotl64 (const u64 a, const u32 n)
 {