Home | History | Annotate | Download | only in Misc
      1 // REQUIRES: amdgpu-registered-target
      2 // RUN: %clang_cc1 -x cl -cl-std=CL %s -verify -triple r600-unknown-unknown -target-cpu cayman
      3 // RUN: %clang_cc1 -x cl -cl-std=CL1.1 %s -verify -triple r600-unknown-unknown -target-cpu cayman
      4 // RUN: %clang_cc1 -x cl -cl-std=CL1.2 %s -verify -triple r600-unknown-unknown -target-cpu cayman
      5 // RUN: %clang_cc1 -x cl -cl-std=CL2.0 %s -verify -triple r600-unknown-unknown -target-cpu cayman
      6 // RUN: %clang_cc1 -x cl -cl-std=CL %s -verify -triple r600-unknown-unknown -Wpedantic-core-features -DTEST_CORE_FEATURES -target-cpu cayman
      7 // RUN: %clang_cc1 -x cl -cl-std=CL1.1 %s -verify -triple r600-unknown-unknown -Wpedantic-core-features -DTEST_CORE_FEATURES -target-cpu cayman
      8 // RUN: %clang_cc1 -x cl -cl-std=CL1.2 %s -verify -triple r600-unknown-unknown -Wpedantic-core-features -DTEST_CORE_FEATURES -target-cpu cayman
      9 // RUN: %clang_cc1 -x cl -cl-std=CL2.0 %s -verify -triple r600-unknown-unknown -Wpedantic-core-features -DTEST_CORE_FEATURES -target-cpu cayman
     10 // RUN: %clang_cc1 -x cl -cl-std=CL %s -verify -triple r600-unknown-unknown -target-cpu cypress
     11 // RUN: %clang_cc1 -x cl -cl-std=CL1.1 %s -verify -triple r600-unknown-unknown -target-cpu cypress
     12 // RUN: %clang_cc1 -x cl -cl-std=CL1.2 %s -verify -triple r600-unknown-unknown -target-cpu cypress
     13 // RUN: %clang_cc1 -x cl -cl-std=CL2.0 %s -verify -triple r600-unknown-unknown -target-cpu cypress
     14 // RUN: %clang_cc1 -x cl -cl-std=CL %s -verify -triple r600-unknown-unknown -Wpedantic-core-features -DTEST_CORE_FEATURES -target-cpu cypress
     15 // RUN: %clang_cc1 -x cl -cl-std=CL1.1 %s -verify -triple r600-unknown-unknown -Wpedantic-core-features -DTEST_CORE_FEATURES -target-cpu cypress
     16 // RUN: %clang_cc1 -x cl -cl-std=CL1.2 %s -verify -triple r600-unknown-unknown -Wpedantic-core-features -DTEST_CORE_FEATURES -target-cpu cypress
     17 // RUN: %clang_cc1 -x cl -cl-std=CL2.0 %s -verify -triple r600-unknown-unknown -Wpedantic-core-features -DTEST_CORE_FEATURES -target-cpu cypress
     18 // RUN: %clang_cc1 -x cl -cl-std=CL %s -verify -triple r600-unknown-unknown -target-cpu turks
     19 // RUN: %clang_cc1 -x cl -cl-std=CL1.1 %s -verify -triple r600-unknown-unknown -target-cpu turks
     20 // RUN: %clang_cc1 -x cl -cl-std=CL1.2 %s -verify -triple r600-unknown-unknown -target-cpu turks
     21 // RUN: %clang_cc1 -x cl -cl-std=CL2.0 %s -verify -triple r600-unknown-unknown -target-cpu turks
     22 // RUN: %clang_cc1 -x cl -cl-std=CL %s -verify -triple r600-unknown-unknown -Wpedantic-core-features -DTEST_CORE_FEATURES -target-cpu turks
     23 // RUN: %clang_cc1 -x cl -cl-std=CL1.1 %s -verify -triple r600-unknown-unknown -Wpedantic-core-features -DTEST_CORE_FEATURES -target-cpu turks
     24 // RUN: %clang_cc1 -x cl -cl-std=CL1.2 %s -verify -triple r600-unknown-unknown -Wpedantic-core-features -DTEST_CORE_FEATURES -target-cpu turks
     25 // RUN: %clang_cc1 -x cl -cl-std=CL2.0 %s -verify -triple r600-unknown-unknown -Wpedantic-core-features -DTEST_CORE_FEATURES -target-cpu turks
     26 
     27 // Extensions in all versions
     28 #ifndef cl_clang_storage_class_specifiers
     29 #error "Missing cl_clang_storage_class_specifiers define"
     30 #endif
     31 #pragma OPENCL EXTENSION cl_clang_storage_class_specifiers: enable
     32 
     33 #ifdef cl_khr_fp16
     34 #error "Incorrect cl_khr_fp16 define"
     35 #endif
     36 #pragma OPENCL EXTENSION cl_khr_fp16: enable
     37 // expected-warning@-1{{unsupported OpenCL extension 'cl_khr_fp16' - ignoring}}
     38 
     39 #ifdef cl_khr_int64_base_atomics
     40 #error "Incorrect cl_khr_int64_base_atomics define"
     41 #endif
     42 #pragma OPENCL EXTENSION cl_khr_int64_base_atomics: enable
     43 // expected-warning@-1{{unsupported OpenCL extension 'cl_khr_int64_base_atomics' - ignoring}}
     44 
     45 #ifdef cl_khr_int64_extended_atomics
     46 #error "Incorrect cl_khr_int64_extended_atomics define"
     47 #endif
     48 #pragma OPENCL EXTENSION cl_khr_int64_extended_atomics: enable
     49 // expected-warning@-1{{unsupported OpenCL extension 'cl_khr_int64_extended_atomics' - ignoring}}
     50 
     51 #ifdef cl_khr_gl_sharing
     52 #error "Incorrect cl_khr_gl_sharing define"
     53 #endif
     54 #pragma OPENCL EXTENSION cl_khr_gl_sharing: enable
     55 // expected-warning@-1{{unsupported OpenCL extension 'cl_khr_gl_sharing' - ignoring}}
     56 
     57 #ifndef cl_khr_icd
     58 #error "Missing cl_khr_icd define"
     59 #endif
     60 #pragma OPENCL EXTENSION cl_khr_icd: enable
     61 
     62 // Core features in CL 1.1
     63 
     64 #ifndef cl_khr_byte_addressable_store
     65 #error "Missing cl_khr_byte_addressable_store define"
     66 #endif
     67 #pragma OPENCL EXTENSION cl_khr_byte_addressable_store: enable
     68 #if (__OPENCL_C_VERSION__ >= 110) && defined TEST_CORE_FEATURES
     69 // expected-warning@-2{{OpenCL extension 'cl_khr_byte_addressable_store' is core feature or supported optional core feature - ignoring}}
     70 #endif
     71 
     72 #ifndef cl_khr_global_int32_base_atomics
     73 #error "Missing cl_khr_global_int32_base_atomics define"
     74 #endif
     75 #pragma OPENCL EXTENSION cl_khr_global_int32_base_atomics: enable
     76 #if (__OPENCL_C_VERSION__ >= 110) && defined TEST_CORE_FEATURES
     77 // expected-warning@-2{{OpenCL extension 'cl_khr_global_int32_base_atomics' is core feature or supported optional core feature - ignoring}}
     78 #endif
     79 
     80 #ifndef cl_khr_global_int32_extended_atomics
     81 #error "Missing cl_khr_global_int32_extended_atomics define"
     82 #endif
     83 #pragma OPENCL EXTENSION cl_khr_global_int32_extended_atomics: enable
     84 #if (__OPENCL_C_VERSION__ >= 110) && defined TEST_CORE_FEATURES
     85 // expected-warning@-2{{OpenCL extension 'cl_khr_global_int32_extended_atomics' is core feature or supported optional core feature - ignoring}}
     86 #endif
     87 
     88 #ifndef cl_khr_local_int32_base_atomics
     89 #error "Missing cl_khr_local_int32_base_atomics define"
     90 #endif
     91 #pragma OPENCL EXTENSION cl_khr_local_int32_base_atomics: enable
     92 #if (__OPENCL_C_VERSION__ >= 110) && defined TEST_CORE_FEATURES
     93 // expected-warning@-2{{OpenCL extension 'cl_khr_local_int32_base_atomics' is core feature or supported optional core feature - ignoring}}
     94 #endif
     95 
     96 #ifndef cl_khr_local_int32_extended_atomics
     97 #error "Missing cl_khr_local_int32_extended_atomics define"
     98 #endif
     99 #pragma OPENCL EXTENSION cl_khr_local_int32_extended_atomics: enable
    100 #if (__OPENCL_C_VERSION__ >= 110) && defined TEST_CORE_FEATURES
    101 // expected-warning@-2{{OpenCL extension 'cl_khr_local_int32_extended_atomics' is core feature or supported optional core feature - ignoring}}
    102 #endif
    103 
    104 // Deprecated abvoe 1.0
    105 #ifdef cl_khr_select_fprounding_mode
    106 #error "Incorrect cl_khr_select_fprounding_mode define"
    107 #endif
    108 #pragma OPENCL EXTENSION cl_khr_select_fprounding_mode: enable
    109 // expected-warning@-1{{unsupported OpenCL extension 'cl_khr_select_fprounding_mode' - ignoring}}
    110 
    111 
    112 // Core feature in CL 1.2
    113 #ifdef __HAS_FP64__
    114 #ifndef cl_khr_fp64
    115 #error "Missing cl_khr_fp64 define"
    116 #endif
    117 #pragma OPENCL EXTENSION cl_khr_fp64: enable
    118 #if (__OPENCL_C_VERSION__ >= 120) && defined TEST_CORE_FEATURES
    119 // expected-warning@-2{{OpenCL extension 'cl_khr_fp64' is core feature or supported optional core feature - ignoring}}
    120 #endif
    121 #else
    122 #ifdef cl_khr_fp64
    123 #error "Incorrect cl_khr_fp64 define"
    124 #endif
    125 #pragma OPENCL EXTENSION cl_khr_fp64: enable
    126 // expected-warning@-1{{unsupported OpenCL extension 'cl_khr_fp64' - ignoring}}
    127 #endif // __HAS_FP64__
    128 
    129 //Core feature in CL 2.0
    130 #ifdef cl_khr_3d_image_writes
    131 #error "Incorrect cl_khr_3d_image_writes define"
    132 #endif
    133 #pragma OPENCL EXTENSION cl_khr_3d_image_writes: enable
    134 // expected-warning@-1{{unsupported OpenCL extension 'cl_khr_3d_image_writes' - ignoring}}
    135 
    136 
    137 #ifdef cl_khr_gl_event
    138 #error "Incorrect cl_khr_gl_event define"
    139 #endif
    140 #pragma OPENCL EXTENSION cl_khr_gl_event: enable
    141 // expected-warning@-1{{unsupported OpenCL extension 'cl_khr_gl_event' - ignoring}}
    142 
    143 #ifdef cl_khr_d3d10_sharing
    144 #error "Incorrect cl_khr_d3d10_sharing define"
    145 #endif
    146 #pragma OPENCL EXTENSION cl_khr_d3d10_sharing: enable
    147 // expected-warning@-1{{unsupported OpenCL extension 'cl_khr_d3d10_sharing' - ignoring}}
    148 
    149 #ifdef cl_khr_context_abort
    150 #error "Incorrect cl_context_abort define"
    151 #endif
    152 #pragma OPENCL EXTENSION cl_khr_context_abort: enable
    153 // expected-warning@-1{{unsupported OpenCL extension 'cl_khr_context_abort' - ignoring}}
    154 
    155 #ifdef cl_khr_d3d11_sharing
    156 #error "Incorrect cl_khr_d3d11_sharing define"
    157 #endif
    158 #pragma OPENCL EXTENSION cl_khr_d3d11_sharing: enable
    159 // expected-warning@-1{{unsupported OpenCL extension 'cl_khr_d3d11_sharing' - ignoring}}
    160 
    161 #ifdef cl_khr_dx9_media_sharing
    162 #error "Incorrect cl_khr_dx9_media_sharing define"
    163 #endif
    164 #pragma OPENCL EXTENSION cl_khr_dx9_media_sharing: enable
    165 // expected-warning@-1{{unsupported OpenCL extension 'cl_khr_dx9_media_sharing' - ignoring}}
    166 
    167 #ifdef cl_khr_image2d_from_buffer
    168 #error "Incorrect cl_khr_image2d_from_buffer define"
    169 #endif
    170 #pragma OPENCL EXTENSION cl_khr_image2d_from_buffer: enable
    171 // expected-warning@-1{{unsupported OpenCL extension 'cl_khr_image2d_from_buffer' - ignoring}}
    172 
    173 #ifdef cl_khr_initialize_memory
    174 #error "Incorrect cl_khr_initialize_memory define"
    175 #endif
    176 #pragma OPENCL EXTENSION cl_khr_initialize_memory: enable
    177 // expected-warning@-1{{unsupported OpenCL extension 'cl_khr_initialize_memory' - ignoring}}
    178 
    179 #ifdef cl_khr_gl_depth_images
    180 #error "Incorrect cl_khr_gl_depth_images define"
    181 #endif
    182 #pragma OPENCL EXTENSION cl_khr_gl_depth_images: enable
    183 // expected-warning@-1{{unsupported OpenCL extension 'cl_khr_gl_depth_images' - ignoring}}
    184 
    185 #ifdef cl_khr_gl_msaa_sharing
    186 #error "Incorrect cl_khr_gl_msaa_sharing define"
    187 #endif
    188 #pragma OPENCL EXTENSION cl_khr_gl_msaa_sharing: enable
    189 // expected-warning@-1{{unsupported OpenCL extension 'cl_khr_gl_msaa_sharing' - ignoring}}
    190 
    191 #ifdef cl_khr_spir
    192 #error "Incorrect cl_khr_spir define"
    193 #endif
    194 #pragma OPENCL EXTENSION cl_khr_spir: enable
    195 // expected-warning@-1{{unsupported OpenCL extension 'cl_khr_spir' - ignoring}}
    196 
    197 #ifdef cl_khr_egl_event
    198 #error "Incorrect cl_khr_egl_event define"
    199 #endif
    200 #pragma OPENCL EXTENSION cl_khr_egl_event: enable
    201 // expected-warning@-1{{unsupported OpenCL extension 'cl_khr_egl_event' - ignoring}}
    202 
    203 #ifdef cl_khr_egl_image
    204 #error "Incorrect cl_khr_egl_image define"
    205 #endif
    206 #pragma OPENCL EXTENSION cl_khr_egl_image: enable
    207 // expected-warning@-1{{unsupported OpenCL extension 'cl_khr_egl_image' - ignoring}}
    208 
    209 #ifdef cl_khr_srgb_image_writes
    210 #error "Incorrect cl_khr_srgb_image_writes define"
    211 #endif
    212 #pragma OPENCL EXTENSION cl_khr_srgb_image_writes: enable
    213 // expected-warning@-1{{unsupported OpenCL extension 'cl_khr_srgb_image_writes' - ignoring}}
    214 
    215 #ifdef cl_khr_subgroups
    216 #error "Incorrect cl_khr_subgroups define"
    217 #endif
    218 #pragma OPENCL EXTENSION cl_khr_subgroups: enable
    219 // expected-warning@-1{{unsupported OpenCL extension 'cl_khr_subgroups' - ignoring}}
    220 
    221 #ifdef cl_khr_terminate_context
    222 #error "Incorrect cl_khr_terminate_context define"
    223 #endif
    224 #pragma OPENCL EXTENSION cl_khr_terminate_context: enable
    225 // expected-warning@-1{{unsupported OpenCL extension 'cl_khr_terminate_context' - ignoring}}
    226