diff options
author | Tom Stellard <thomas.stellard@amd.com> | 2013-06-26 18:21:44 +0000 |
---|---|---|
committer | Tom Stellard <thomas.stellard@amd.com> | 2013-06-26 18:21:44 +0000 |
commit | b05141061f4f14eb497f0ee1a578fb30fb220c4d (patch) | |
tree | d03c899e37beb53d3c1c0c17937a710361b9c2c8 /generic/include/clc/integer | |
parent | a8b6a9c793b7b3e0fd39fe63445b88f23cee3fa3 (diff) |
libclc: Implement the min(vec, scalar) version of the min builtin.
Checks if the current GENTYPE is scalar, and if not, then defines a separate
implementation of the function which casts the second arg to vector before
proceeding.
Patch by: Aaron Watry
git-svn-id: https://llvm.org/svn/llvm-project/libclc/trunk@185002 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'generic/include/clc/integer')
-rw-r--r-- | generic/include/clc/integer/gentype.inc | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/generic/include/clc/integer/gentype.inc b/generic/include/clc/integer/gentype.inc index dd7d061..95a37d5 100644 --- a/generic/include/clc/integer/gentype.inc +++ b/generic/include/clc/integer/gentype.inc @@ -1,4 +1,8 @@ +//These 2 defines only change when switching between data sizes or base types to +//keep this file manageable. #define GENSIZE 8 +#define SCALAR_GENTYPE char + #define GENTYPE char #define UGENTYPE uchar #define SGENTYPE char @@ -49,6 +53,9 @@ #undef UGENTYPE #undef SGENTYPE +#undef SCALAR_GENTYPE +#define SCALAR_GENTYPE uchar + #define GENTYPE uchar #define UGENTYPE uchar #define SGENTYPE char @@ -101,6 +108,8 @@ #undef GENSIZE #define GENSIZE 16 +#undef SCALAR_GENTYPE +#define SCALAR_GENTYPE short #define GENTYPE short #define UGENTYPE ushort @@ -152,6 +161,9 @@ #undef UGENTYPE #undef SGENTYPE +#undef SCALAR_GENTYPE +#define SCALAR_GENTYPE ushort + #define GENTYPE ushort #define UGENTYPE ushort #define SGENTYPE short @@ -204,6 +216,8 @@ #undef GENSIZE #define GENSIZE 32 +#undef SCALAR_GENTYPE +#define SCALAR_GENTYPE int #define GENTYPE int #define UGENTYPE uint @@ -255,6 +269,9 @@ #undef UGENTYPE #undef SGENTYPE +#undef SCALAR_GENTYPE +#define SCALAR_GENTYPE uint + #define GENTYPE uint #define UGENTYPE uint #define SGENTYPE int @@ -307,6 +324,8 @@ #undef GENSIZE #define GENSIZE 64 +#undef SCALAR_GENTYPE +#define SCALAR_GENTYPE long #define GENTYPE long #define UGENTYPE ulong @@ -358,6 +377,9 @@ #undef UGENTYPE #undef SGENTYPE +#undef SCALAR_GENTYPE +#define SCALAR_GENTYPE ulong + #define GENTYPE ulong #define UGENTYPE ulong #define SGENTYPE long @@ -409,4 +431,5 @@ #undef SGENTYPE #undef GENSIZE +#undef SCALAR_GENTYPE #undef BODY |