[Libclc-dev] [PATCH] libclc: Fix mad24/mul24 definitions.
Aaron Watry
awatry at gmail.com
Thu Jul 11 19:00:18 PDT 2013
I guess I didn't make it explicit... That include file doesn't exist
in upstream libclc as near as I can tell... Just in your/my clone of
the repository.
--Aaron
On Thu, Jul 11, 2013 at 5:13 PM, Tom Stellard <tom at stellard.net> wrote:
> On Thu, Jul 11, 2013 at 11:02:00AM -0500, Aaron Watry wrote:
>> clc/integer/integer-gentype.inc is really clc/integer/gentype.inc
>>
>
> integer-gentype.inc contains only 32-bit types, which is all that is
> needed for mad24 and mul24. I guess the name is a little confusing.
> Maybe it should be renamed to integer32.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
>>
>>
>> _______________________________________________
>> Libclc-dev mailing list
>> Libclc-dev at pcc.me.uk
>> http://www.pcc.me.uk/cgi-bin/mailman/listinfo/libclc-dev
More information about the Libclc-dev
mailing list