Implement sub_sat builtin. Patch by Lei Mou!
[lldb.git] / libclc / generic / include / clc / clc.h
1 #ifndef cl_clang_storage_class_specifiers
2 #error Implementation requires cl_clang_storage_class_specifiers extension!
3 #endif
4
5 #pragma OPENCL EXTENSION cl_clang_storage_class_specifiers : enable
6
7 #ifdef cl_khr_fp64
8 #pragma OPENCL EXTENSION cl_khr_fp64 : enable
9 #endif
10
11 /* Function Attributes */
12 #include <clc/clcfunc.h>
13
14 /* Pattern Macro Definitions */
15 #include <clc/clcmacro.h>
16
17 /* 6.1 Supported Data Types */
18 #include <clc/clctypes.h>
19
20 /* 6.2.3 Explicit Conversions */
21 #include <clc/convert.h>
22
23 /* 6.2.4.2 Reinterpreting Types Using as_type() and as_typen() */
24 #include <clc/as_type.h>
25
26 /* 6.11.1 Work-Item Functions */
27 #include <clc/workitem/get_global_size.h>
28 #include <clc/workitem/get_global_id.h>
29 #include <clc/workitem/get_local_size.h>
30 #include <clc/workitem/get_local_id.h>
31 #include <clc/workitem/get_num_groups.h>
32 #include <clc/workitem/get_group_id.h>
33
34 /* 6.11.2 Math Functions */
35 #include <clc/math/cos.h>
36 #include <clc/math/exp.h>
37 #include <clc/math/exp2.h>
38 #include <clc/math/fabs.h>
39 #include <clc/math/fma.h>
40 #include <clc/math/hypot.h>
41 #include <clc/math/log.h>
42 #include <clc/math/log2.h>
43 #include <clc/math/mad.h>
44 #include <clc/math/pow.h>
45 #include <clc/math/sin.h>
46 #include <clc/math/sqrt.h>
47 #include <clc/math/native_cos.h>
48 #include <clc/math/native_divide.h>
49 #include <clc/math/native_exp.h>
50 #include <clc/math/native_exp2.h>
51 #include <clc/math/native_log.h>
52 #include <clc/math/native_log2.h>
53 #include <clc/math/native_sin.h>
54 #include <clc/math/native_sqrt.h>
55
56 /* 6.11.3 Integer Functions */
57 #include <clc/integer/abs.h>
58 #include <clc/integer/abs_diff.h>
59 #include <clc/integer/add_sat.h>
60 #include <clc/integer/sub_sat.h>
61
62 /* 6.11.5 Geometric Functions */
63 #include <clc/geometric/cross.h>
64 #include <clc/geometric/dot.h>
65 #include <clc/geometric/length.h>
66 #include <clc/geometric/normalize.h>
67
68 /* 6.11.6 Relational Functions */
69 #include <clc/relational/select.h>
70
71 /* 6.11.8 Synchronization Functions */
72 #include <clc/synchronization/cl_mem_fence_flags.h>
73 #include <clc/synchronization/barrier.h>
74
75 #pragma OPENCL EXTENSION all : disable