1#include <clc/clc.h> 2 3// From clz.ll 4_CLC_DECL char __clc_clz_s8(char); 5_CLC_DECL uchar __clc_clz_u8(uchar); 6_CLC_DECL short __clc_clz_s16(short); 7_CLC_DECL ushort __clc_clz_u16(ushort); 8_CLC_DECL int __clc_clz_s32(int); 9_CLC_DECL uint __clc_clz_u32(uint); 10_CLC_DECL long __clc_clz_s64(long); 11_CLC_DECL ulong __clc_clz_u64(ulong); 12 13_CLC_OVERLOAD _CLC_DEF char clz(char x) { 14 return __clc_clz_s8(x); 15} 16 17_CLC_OVERLOAD _CLC_DEF uchar clz(uchar x) { 18 return __clc_clz_u8(x); 19} 20 21_CLC_OVERLOAD _CLC_DEF short clz(short x) { 22 return __clc_clz_s16(x); 23} 24 25_CLC_OVERLOAD _CLC_DEF ushort clz(ushort x) { 26 return __clc_clz_u16(x); 27} 28 29_CLC_OVERLOAD _CLC_DEF int clz(int x) { 30 return __clc_clz_s32(x); 31} 32 33_CLC_OVERLOAD _CLC_DEF uint clz(uint x) { 34 return __clc_clz_u32(x); 35} 36 37_CLC_OVERLOAD _CLC_DEF long clz(long x) { 38 return __clc_clz_s64(x); 39} 40 41_CLC_OVERLOAD _CLC_DEF ulong clz(ulong x) { 42 return __clc_clz_u64(x); 43} 44 45_CLC_UNARY_VECTORIZE(_CLC_OVERLOAD _CLC_DEF, char, clz, char) 46_CLC_UNARY_VECTORIZE(_CLC_OVERLOAD _CLC_DEF, uchar, clz, uchar) 47_CLC_UNARY_VECTORIZE(_CLC_OVERLOAD _CLC_DEF, short, clz, short) 48_CLC_UNARY_VECTORIZE(_CLC_OVERLOAD _CLC_DEF, ushort, clz, ushort) 49_CLC_UNARY_VECTORIZE(_CLC_OVERLOAD _CLC_DEF, int, clz, int) 50_CLC_UNARY_VECTORIZE(_CLC_OVERLOAD _CLC_DEF, uint, clz, uint) 51_CLC_UNARY_VECTORIZE(_CLC_OVERLOAD _CLC_DEF, long, clz, long) 52_CLC_UNARY_VECTORIZE(_CLC_OVERLOAD _CLC_DEF, ulong, clz, ulong) 53