[Libclc-dev] [PATCH] libclc: Fix mad24/mul24 definitions.
Aaron Watry
awatry at gmail.com
Thu Jul 11 09:02:00 PDT 2013
clc/integer/integer-gentype.inc is really clc/integer/gentype.inc
And shifting by integer amounts requires that we cast that integer to the
appropriate GENTYPE first.
Signed-off-by: Aaron Watry <awatry at gmail.com>
---
generic/include/clc/integer/mad24.h | 2 +-
generic/include/clc/integer/mul24.h | 2 +-
generic/lib/integer/mad24.cl | 2 +-
generic/lib/integer/mul24.cl | 2 +-
generic/lib/integer/mul24.inc | 4 ++--
5 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/generic/include/clc/integer/mad24.h b/generic/include/clc/integer/mad24.h
index 0c120fa..3508bf3 100644
--- a/generic/include/clc/integer/mad24.h
+++ b/generic/include/clc/integer/mad24.h
@@ -1,3 +1,3 @@
#define __CLC_BODY <clc/integer/mad24.inc>
-#include <clc/integer/integer-gentype.inc>
+#include <clc/integer/gentype.inc>
#undef __CLC_BODY
diff --git a/generic/include/clc/integer/mul24.h b/generic/include/clc/integer/mul24.h
index 4f97098..b6dd322 100644
--- a/generic/include/clc/integer/mul24.h
+++ b/generic/include/clc/integer/mul24.h
@@ -1,3 +1,3 @@
#define __CLC_BODY <clc/integer/mul24.inc>
-#include <clc/integer/integer-gentype.inc>
+#include <clc/integer/gentype.inc>
#undef __CLC_BODY
diff --git a/generic/lib/integer/mad24.cl b/generic/lib/integer/mad24.cl
index e29e99f..54d3010 100644
--- a/generic/lib/integer/mad24.cl
+++ b/generic/lib/integer/mad24.cl
@@ -1,4 +1,4 @@
#include <clc/clc.h>
#define __CLC_BODY <mad24.inc>
-#include <clc/integer/integer-gentype.inc>
+#include <clc/integer/gentype.inc>
diff --git a/generic/lib/integer/mul24.cl b/generic/lib/integer/mul24.cl
index 8aedca6..145a55d 100644
--- a/generic/lib/integer/mul24.cl
+++ b/generic/lib/integer/mul24.cl
@@ -1,4 +1,4 @@
#include <clc/clc.h>
#define __CLC_BODY <mul24.inc>
-#include <clc/integer/integer-gentype.inc>
+#include <clc/integer/gentype.inc>
diff --git a/generic/lib/integer/mul24.inc b/generic/lib/integer/mul24.inc
index 95a2f1d..bdd30b4 100644
--- a/generic/lib/integer/mul24.inc
+++ b/generic/lib/integer/mul24.inc
@@ -2,10 +2,10 @@
// We need to use shifts here in order to mantain the sign bit for signed
// integers. The compiler should optimize this to (x & 0x00FFFFFF) for
// unsigned integers.
-#define CONVERT_TO_24BIT(x) (((x) << 8) >> 8)
+#define CONVERT_TO_24BIT(x, y) (((x) << (y)8) >> (y)8)
_CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE mul24(__CLC_GENTYPE x, __CLC_GENTYPE y){
- return CONVERT_TO_24BIT(x) * CONVERT_TO_24BIT(y);
+ return CONVERT_TO_24BIT(x, __CLC_GENTYPE) * CONVERT_TO_24BIT(y, __CLC_GENTYPE);
}
#undef CONVERT_TO_24BIT
--
1.8.1.2
More information about the Libclc-dev
mailing list