1//These 2 defines only change when switching between data sizes or base types to 2//keep this file manageable. 3#define __CLC_GENSIZE 8 4#define __CLC_SCALAR_GENTYPE char 5 6#define __CLC_GENTYPE char 7#define __CLC_U_GENTYPE uchar 8#define __CLC_S_GENTYPE char 9#define __CLC_SCALAR 1 10#define __CLC_VECSIZE 11#include __CLC_BODY 12#undef __CLC_VECSIZE 13#undef __CLC_SCALAR 14#undef __CLC_GENTYPE 15#undef __CLC_U_GENTYPE 16#undef __CLC_S_GENTYPE 17 18#define __CLC_GENTYPE char2 19#define __CLC_U_GENTYPE uchar2 20#define __CLC_S_GENTYPE char2 21#define __CLC_VECSIZE 2 22#include __CLC_BODY 23#undef __CLC_VECSIZE 24#undef __CLC_GENTYPE 25#undef __CLC_U_GENTYPE 26#undef __CLC_S_GENTYPE 27 28#define __CLC_GENTYPE char3 29#define __CLC_U_GENTYPE uchar3 30#define __CLC_S_GENTYPE char3 31#define __CLC_VECSIZE 3 32#include __CLC_BODY 33#undef __CLC_VECSIZE 34#undef __CLC_GENTYPE 35#undef __CLC_U_GENTYPE 36#undef __CLC_S_GENTYPE 37 38#define __CLC_GENTYPE char4 39#define __CLC_U_GENTYPE uchar4 40#define __CLC_S_GENTYPE char4 41#define __CLC_VECSIZE 4 42#include __CLC_BODY 43#undef __CLC_VECSIZE 44#undef __CLC_GENTYPE 45#undef __CLC_U_GENTYPE 46#undef __CLC_S_GENTYPE 47 48#define __CLC_GENTYPE char8 49#define __CLC_U_GENTYPE uchar8 50#define __CLC_S_GENTYPE char8 51#define __CLC_VECSIZE 8 52#include __CLC_BODY 53#undef __CLC_VECSIZE 54#undef __CLC_GENTYPE 55#undef __CLC_U_GENTYPE 56#undef __CLC_S_GENTYPE 57 58#define __CLC_GENTYPE char16 59#define __CLC_U_GENTYPE uchar16 60#define __CLC_S_GENTYPE char16 61#define __CLC_VECSIZE 16 62#include __CLC_BODY 63#undef __CLC_VECSIZE 64#undef __CLC_GENTYPE 65#undef __CLC_U_GENTYPE 66#undef __CLC_S_GENTYPE 67 68#undef __CLC_SCALAR_GENTYPE 69#define __CLC_SCALAR_GENTYPE uchar 70 71#define __CLC_GENTYPE uchar 72#define __CLC_U_GENTYPE uchar 73#define __CLC_S_GENTYPE char 74#define __CLC_SCALAR 1 75#define __CLC_VECSIZE 76#include __CLC_BODY 77#undef __CLC_VECSIZE 78#undef __CLC_SCALAR 79#undef __CLC_GENTYPE 80#undef __CLC_U_GENTYPE 81#undef __CLC_S_GENTYPE 82 83#define __CLC_GENTYPE uchar2 84#define __CLC_U_GENTYPE uchar2 85#define __CLC_S_GENTYPE char2 86#define __CLC_VECSIZE 2 87#include __CLC_BODY 88#undef __CLC_VECSIZE 89#undef __CLC_GENTYPE 90#undef __CLC_U_GENTYPE 91#undef __CLC_S_GENTYPE 92 93#define __CLC_GENTYPE uchar3 94#define __CLC_U_GENTYPE uchar3 95#define __CLC_S_GENTYPE char3 96#define __CLC_VECSIZE 3 97#include __CLC_BODY 98#undef __CLC_VECSIZE 99#undef __CLC_GENTYPE 100#undef __CLC_U_GENTYPE 101#undef __CLC_S_GENTYPE 102 103#define __CLC_GENTYPE uchar4 104#define __CLC_U_GENTYPE uchar4 105#define __CLC_S_GENTYPE char4 106#define __CLC_VECSIZE 4 107#include __CLC_BODY 108#undef __CLC_VECSIZE 109#undef __CLC_GENTYPE 110#undef __CLC_U_GENTYPE 111#undef __CLC_S_GENTYPE 112 113#define __CLC_GENTYPE uchar8 114#define __CLC_U_GENTYPE uchar8 115#define __CLC_S_GENTYPE char8 116#define __CLC_VECSIZE 8 117#include __CLC_BODY 118#undef __CLC_VECSIZE 119#undef __CLC_GENTYPE 120#undef __CLC_U_GENTYPE 121#undef __CLC_S_GENTYPE 122 123#define __CLC_GENTYPE uchar16 124#define __CLC_U_GENTYPE uchar16 125#define __CLC_S_GENTYPE char16 126#define __CLC_VECSIZE 16 127#include __CLC_BODY 128#undef __CLC_VECSIZE 129#undef __CLC_GENTYPE 130#undef __CLC_U_GENTYPE 131#undef __CLC_S_GENTYPE 132 133#undef __CLC_GENSIZE 134#define __CLC_GENSIZE 16 135#undef __CLC_SCALAR_GENTYPE 136#define __CLC_SCALAR_GENTYPE short 137 138#define __CLC_GENTYPE short 139#define __CLC_U_GENTYPE ushort 140#define __CLC_S_GENTYPE short 141#define __CLC_SCALAR 1 142#define __CLC_VECSIZE 143#include __CLC_BODY 144#undef __CLC_VECSIZE 145#undef __CLC_SCALAR 146#undef __CLC_GENTYPE 147#undef __CLC_U_GENTYPE 148#undef __CLC_S_GENTYPE 149 150#define __CLC_GENTYPE short2 151#define __CLC_U_GENTYPE ushort2 152#define __CLC_S_GENTYPE short2 153#define __CLC_VECSIZE 2 154#include __CLC_BODY 155#undef __CLC_VECSIZE 156#undef __CLC_GENTYPE 157#undef __CLC_U_GENTYPE 158#undef __CLC_S_GENTYPE 159 160#define __CLC_GENTYPE short3 161#define __CLC_U_GENTYPE ushort3 162#define __CLC_S_GENTYPE short3 163#define __CLC_VECSIZE 3 164#include __CLC_BODY 165#undef __CLC_VECSIZE 166#undef __CLC_GENTYPE 167#undef __CLC_U_GENTYPE 168#undef __CLC_S_GENTYPE 169 170#define __CLC_GENTYPE short4 171#define __CLC_U_GENTYPE ushort4 172#define __CLC_S_GENTYPE short4 173#define __CLC_VECSIZE 4 174#include __CLC_BODY 175#undef __CLC_VECSIZE 176#undef __CLC_GENTYPE 177#undef __CLC_U_GENTYPE 178#undef __CLC_S_GENTYPE 179 180#define __CLC_GENTYPE short8 181#define __CLC_U_GENTYPE ushort8 182#define __CLC_S_GENTYPE short8 183#define __CLC_VECSIZE 8 184#include __CLC_BODY 185#undef __CLC_VECSIZE 186#undef __CLC_GENTYPE 187#undef __CLC_U_GENTYPE 188#undef __CLC_S_GENTYPE 189 190#define __CLC_GENTYPE short16 191#define __CLC_U_GENTYPE ushort16 192#define __CLC_S_GENTYPE short16 193#define __CLC_VECSIZE 16 194#include __CLC_BODY 195#undef __CLC_VECSIZE 196#undef __CLC_GENTYPE 197#undef __CLC_U_GENTYPE 198#undef __CLC_S_GENTYPE 199 200#undef __CLC_SCALAR_GENTYPE 201#define __CLC_SCALAR_GENTYPE ushort 202 203#define __CLC_GENTYPE ushort 204#define __CLC_U_GENTYPE ushort 205#define __CLC_S_GENTYPE short 206#define __CLC_SCALAR 1 207#define __CLC_VECSIZE 208#include __CLC_BODY 209#undef __CLC_VECSIZE 210#undef __CLC_SCALAR 211#undef __CLC_GENTYPE 212#undef __CLC_U_GENTYPE 213#undef __CLC_S_GENTYPE 214 215#define __CLC_GENTYPE ushort2 216#define __CLC_U_GENTYPE ushort2 217#define __CLC_S_GENTYPE short2 218#define __CLC_VECSIZE 2 219#include __CLC_BODY 220#undef __CLC_VECSIZE 221#undef __CLC_GENTYPE 222#undef __CLC_U_GENTYPE 223#undef __CLC_S_GENTYPE 224 225#define __CLC_GENTYPE ushort3 226#define __CLC_U_GENTYPE ushort3 227#define __CLC_S_GENTYPE short3 228#define __CLC_VECSIZE 3 229#include __CLC_BODY 230#undef __CLC_VECSIZE 231#undef __CLC_GENTYPE 232#undef __CLC_U_GENTYPE 233#undef __CLC_S_GENTYPE 234 235#define __CLC_GENTYPE ushort4 236#define __CLC_U_GENTYPE ushort4 237#define __CLC_S_GENTYPE short4 238#define __CLC_VECSIZE 4 239#include __CLC_BODY 240#undef __CLC_VECSIZE 241#undef __CLC_GENTYPE 242#undef __CLC_U_GENTYPE 243#undef __CLC_S_GENTYPE 244 245#define __CLC_GENTYPE ushort8 246#define __CLC_U_GENTYPE ushort8 247#define __CLC_S_GENTYPE short8 248#define __CLC_VECSIZE 8 249#include __CLC_BODY 250#undef __CLC_VECSIZE 251#undef __CLC_GENTYPE 252#undef __CLC_U_GENTYPE 253#undef __CLC_S_GENTYPE 254 255#define __CLC_GENTYPE ushort16 256#define __CLC_U_GENTYPE ushort16 257#define __CLC_S_GENTYPE short16 258#define __CLC_VECSIZE 16 259#include __CLC_BODY 260#undef __CLC_VECSIZE 261#undef __CLC_GENTYPE 262#undef __CLC_U_GENTYPE 263#undef __CLC_S_GENTYPE 264 265#undef __CLC_GENSIZE 266#define __CLC_GENSIZE 32 267#undef __CLC_SCALAR_GENTYPE 268#define __CLC_SCALAR_GENTYPE int 269 270#define __CLC_GENTYPE int 271#define __CLC_U_GENTYPE uint 272#define __CLC_S_GENTYPE int 273#define __CLC_SCALAR 1 274#define __CLC_VECSIZE 275#include __CLC_BODY 276#undef __CLC_VECSIZE 277#undef __CLC_SCALAR 278#undef __CLC_GENTYPE 279#undef __CLC_U_GENTYPE 280#undef __CLC_S_GENTYPE 281 282#define __CLC_GENTYPE int2 283#define __CLC_U_GENTYPE uint2 284#define __CLC_S_GENTYPE int2 285#define __CLC_VECSIZE 2 286#include __CLC_BODY 287#undef __CLC_VECSIZE 288#undef __CLC_GENTYPE 289#undef __CLC_U_GENTYPE 290#undef __CLC_S_GENTYPE 291 292#define __CLC_GENTYPE int3 293#define __CLC_U_GENTYPE uint3 294#define __CLC_S_GENTYPE int3 295#define __CLC_VECSIZE 3 296#include __CLC_BODY 297#undef __CLC_VECSIZE 298#undef __CLC_GENTYPE 299#undef __CLC_U_GENTYPE 300#undef __CLC_S_GENTYPE 301 302#define __CLC_GENTYPE int4 303#define __CLC_U_GENTYPE uint4 304#define __CLC_S_GENTYPE int4 305#define __CLC_VECSIZE 4 306#include __CLC_BODY 307#undef __CLC_VECSIZE 308#undef __CLC_GENTYPE 309#undef __CLC_U_GENTYPE 310#undef __CLC_S_GENTYPE 311 312#define __CLC_GENTYPE int8 313#define __CLC_U_GENTYPE uint8 314#define __CLC_S_GENTYPE int8 315#define __CLC_VECSIZE 8 316#include __CLC_BODY 317#undef __CLC_VECSIZE 318#undef __CLC_GENTYPE 319#undef __CLC_U_GENTYPE 320#undef __CLC_S_GENTYPE 321 322#define __CLC_GENTYPE int16 323#define __CLC_U_GENTYPE uint16 324#define __CLC_S_GENTYPE int16 325#define __CLC_VECSIZE 16 326#include __CLC_BODY 327#undef __CLC_VECSIZE 328#undef __CLC_GENTYPE 329#undef __CLC_U_GENTYPE 330#undef __CLC_S_GENTYPE 331 332#undef __CLC_SCALAR_GENTYPE 333#define __CLC_SCALAR_GENTYPE uint 334 335#define __CLC_GENTYPE uint 336#define __CLC_U_GENTYPE uint 337#define __CLC_S_GENTYPE int 338#define __CLC_SCALAR 1 339#define __CLC_VECSIZE 340#include __CLC_BODY 341#undef __CLC_VECSIZE 342#undef __CLC_SCALAR 343#undef __CLC_GENTYPE 344#undef __CLC_U_GENTYPE 345#undef __CLC_S_GENTYPE 346 347#define __CLC_GENTYPE uint2 348#define __CLC_U_GENTYPE uint2 349#define __CLC_S_GENTYPE int2 350#define __CLC_VECSIZE 2 351#include __CLC_BODY 352#undef __CLC_VECSIZE 353#undef __CLC_GENTYPE 354#undef __CLC_U_GENTYPE 355#undef __CLC_S_GENTYPE 356 357#define __CLC_GENTYPE uint3 358#define __CLC_U_GENTYPE uint3 359#define __CLC_S_GENTYPE int3 360#define __CLC_VECSIZE 3 361#include __CLC_BODY 362#undef __CLC_VECSIZE 363#undef __CLC_GENTYPE 364#undef __CLC_U_GENTYPE 365#undef __CLC_S_GENTYPE 366 367#define __CLC_GENTYPE uint4 368#define __CLC_U_GENTYPE uint4 369#define __CLC_S_GENTYPE int4 370#define __CLC_VECSIZE 4 371#include __CLC_BODY 372#undef __CLC_VECSIZE 373#undef __CLC_GENTYPE 374#undef __CLC_U_GENTYPE 375#undef __CLC_S_GENTYPE 376 377#define __CLC_GENTYPE uint8 378#define __CLC_U_GENTYPE uint8 379#define __CLC_S_GENTYPE int8 380#define __CLC_VECSIZE 8 381#include __CLC_BODY 382#undef __CLC_VECSIZE 383#undef __CLC_GENTYPE 384#undef __CLC_U_GENTYPE 385#undef __CLC_S_GENTYPE 386 387#define __CLC_GENTYPE uint16 388#define __CLC_U_GENTYPE uint16 389#define __CLC_S_GENTYPE int16 390#define __CLC_VECSIZE 16 391#include __CLC_BODY 392#undef __CLC_VECSIZE 393#undef __CLC_GENTYPE 394#undef __CLC_U_GENTYPE 395#undef __CLC_S_GENTYPE 396 397#undef __CLC_GENSIZE 398#define __CLC_GENSIZE 64 399#undef __CLC_SCALAR_GENTYPE 400#define __CLC_SCALAR_GENTYPE long 401 402#define __CLC_GENTYPE long 403#define __CLC_U_GENTYPE ulong 404#define __CLC_S_GENTYPE long 405#define __CLC_SCALAR 1 406#define __CLC_VECSIZE 407#include __CLC_BODY 408#undef __CLC_VECSIZE 409#undef __CLC_SCALAR 410#undef __CLC_GENTYPE 411#undef __CLC_U_GENTYPE 412#undef __CLC_S_GENTYPE 413 414#define __CLC_GENTYPE long2 415#define __CLC_U_GENTYPE ulong2 416#define __CLC_S_GENTYPE long2 417#define __CLC_VECSIZE 2 418#include __CLC_BODY 419#undef __CLC_VECSIZE 420#undef __CLC_GENTYPE 421#undef __CLC_U_GENTYPE 422#undef __CLC_S_GENTYPE 423 424#define __CLC_GENTYPE long3 425#define __CLC_U_GENTYPE ulong3 426#define __CLC_S_GENTYPE long3 427#define __CLC_VECSIZE 3 428#include __CLC_BODY 429#undef __CLC_VECSIZE 430#undef __CLC_GENTYPE 431#undef __CLC_U_GENTYPE 432#undef __CLC_S_GENTYPE 433 434#define __CLC_GENTYPE long4 435#define __CLC_U_GENTYPE ulong4 436#define __CLC_S_GENTYPE long4 437#define __CLC_VECSIZE 4 438#include __CLC_BODY 439#undef __CLC_VECSIZE 440#undef __CLC_GENTYPE 441#undef __CLC_U_GENTYPE 442#undef __CLC_S_GENTYPE 443 444#define __CLC_GENTYPE long8 445#define __CLC_U_GENTYPE ulong8 446#define __CLC_S_GENTYPE long8 447#define __CLC_VECSIZE 8 448#include __CLC_BODY 449#undef __CLC_VECSIZE 450#undef __CLC_GENTYPE 451#undef __CLC_U_GENTYPE 452#undef __CLC_S_GENTYPE 453 454#define __CLC_GENTYPE long16 455#define __CLC_U_GENTYPE ulong16 456#define __CLC_S_GENTYPE long16 457#define __CLC_VECSIZE 16 458#include __CLC_BODY 459#undef __CLC_VECSIZE 460#undef __CLC_GENTYPE 461#undef __CLC_U_GENTYPE 462#undef __CLC_S_GENTYPE 463 464#undef __CLC_SCALAR_GENTYPE 465#define __CLC_SCALAR_GENTYPE ulong 466 467#define __CLC_GENTYPE ulong 468#define __CLC_U_GENTYPE ulong 469#define __CLC_S_GENTYPE long 470#define __CLC_SCALAR 1 471#define __CLC_VECSIZE 472#include __CLC_BODY 473#undef __CLC_VECSIZE 474#undef __CLC_SCALAR 475#undef __CLC_GENTYPE 476#undef __CLC_U_GENTYPE 477#undef __CLC_S_GENTYPE 478 479#define __CLC_GENTYPE ulong2 480#define __CLC_U_GENTYPE ulong2 481#define __CLC_S_GENTYPE long2 482#define __CLC_VECSIZE 2 483#include __CLC_BODY 484#undef __CLC_VECSIZE 485#undef __CLC_GENTYPE 486#undef __CLC_U_GENTYPE 487#undef __CLC_S_GENTYPE 488 489#define __CLC_GENTYPE ulong3 490#define __CLC_U_GENTYPE ulong3 491#define __CLC_S_GENTYPE long3 492#define __CLC_VECSIZE 3 493#include __CLC_BODY 494#undef __CLC_VECSIZE 495#undef __CLC_GENTYPE 496#undef __CLC_U_GENTYPE 497#undef __CLC_S_GENTYPE 498 499#define __CLC_GENTYPE ulong4 500#define __CLC_U_GENTYPE ulong4 501#define __CLC_S_GENTYPE long4 502#define __CLC_VECSIZE 4 503#include __CLC_BODY 504#undef __CLC_VECSIZE 505#undef __CLC_GENTYPE 506#undef __CLC_U_GENTYPE 507#undef __CLC_S_GENTYPE 508 509#define __CLC_GENTYPE ulong8 510#define __CLC_U_GENTYPE ulong8 511#define __CLC_S_GENTYPE long8 512#define __CLC_VECSIZE 8 513#include __CLC_BODY 514#undef __CLC_VECSIZE 515#undef __CLC_GENTYPE 516#undef __CLC_U_GENTYPE 517#undef __CLC_S_GENTYPE 518 519#define __CLC_GENTYPE ulong16 520#define __CLC_U_GENTYPE ulong16 521#define __CLC_S_GENTYPE long16 522#define __CLC_VECSIZE 16 523#include __CLC_BODY 524#undef __CLC_VECSIZE 525#undef __CLC_GENTYPE 526#undef __CLC_U_GENTYPE 527#undef __CLC_S_GENTYPE 528 529#undef __CLC_GENSIZE 530#undef __CLC_SCALAR_GENTYPE 531#undef __CLC_BODY 532