
//===----------------------------------------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//

// Autogenerated by gen-libclc-test.py

// RUN: %clang -emit-llvm -S -o - %s | FileCheck %s

#include <libspirv/spirv_types.h>

// CHECK-NOT: declare {{.*}} @_Z
// CHECK-NOT: call {{[^ ]*}} bitcast
#ifdef cl_khr_fp16
__attribute__((overloadable)) void
test___spirv_ocl_vstore_halfn(__clc_vec8_fp32_t args_0, __clc_size_t args_1,
                              __clc_fp16_t __global *args_2) {
  __spirv_ocl_vstore_halfn(args_0, args_1, args_2);
}

#endif
#ifdef cl_khr_fp16
#ifdef cl_khr_fp64
__attribute__((overloadable)) void
test___spirv_ocl_vstore_halfn(__clc_vec8_fp64_t args_0, __clc_size_t args_1,
                              __clc_fp16_t __global *args_2) {
  __spirv_ocl_vstore_halfn(args_0, args_1, args_2);
}

#endif
#endif
#ifdef cl_khr_fp16
__attribute__((overloadable)) void
test___spirv_ocl_vstore_halfn(__clc_vec8_fp32_t args_0, __clc_size_t args_1,
                              __clc_fp16_t __local *args_2) {
  __spirv_ocl_vstore_halfn(args_0, args_1, args_2);
}

#endif
#ifdef cl_khr_fp16
#ifdef cl_khr_fp64
__attribute__((overloadable)) void
test___spirv_ocl_vstore_halfn(__clc_vec8_fp64_t args_0, __clc_size_t args_1,
                              __clc_fp16_t __local *args_2) {
  __spirv_ocl_vstore_halfn(args_0, args_1, args_2);
}

#endif
#endif
#ifdef cl_khr_fp16
__attribute__((overloadable)) void
test___spirv_ocl_vstore_halfn(__clc_vec8_fp32_t args_0, __clc_size_t args_1,
                              __clc_fp16_t *args_2) {
  __spirv_ocl_vstore_halfn(args_0, args_1, args_2);
}

#endif
#ifdef cl_khr_fp16
#ifdef cl_khr_fp64
__attribute__((overloadable)) void
test___spirv_ocl_vstore_halfn(__clc_vec8_fp64_t args_0, __clc_size_t args_1,
                              __clc_fp16_t *args_2) {
  __spirv_ocl_vstore_halfn(args_0, args_1, args_2);
}

#endif
#endif
#ifdef cl_khr_fp16
__attribute__((overloadable)) void
test___spirv_ocl_vstore_halfn(__clc_vec16_fp32_t args_0, __clc_size_t args_1,
                              __clc_fp16_t __global *args_2) {
  __spirv_ocl_vstore_halfn(args_0, args_1, args_2);
}

#endif
#ifdef cl_khr_fp16
#ifdef cl_khr_fp64
__attribute__((overloadable)) void
test___spirv_ocl_vstore_halfn(__clc_vec16_fp64_t args_0, __clc_size_t args_1,
                              __clc_fp16_t __global *args_2) {
  __spirv_ocl_vstore_halfn(args_0, args_1, args_2);
}

#endif
#endif
#ifdef cl_khr_fp16
__attribute__((overloadable)) void
test___spirv_ocl_vstore_halfn(__clc_vec16_fp32_t args_0, __clc_size_t args_1,
                              __clc_fp16_t __local *args_2) {
  __spirv_ocl_vstore_halfn(args_0, args_1, args_2);
}

#endif
#ifdef cl_khr_fp16
#ifdef cl_khr_fp64
__attribute__((overloadable)) void
test___spirv_ocl_vstore_halfn(__clc_vec16_fp64_t args_0, __clc_size_t args_1,
                              __clc_fp16_t __local *args_2) {
  __spirv_ocl_vstore_halfn(args_0, args_1, args_2);
}

#endif
#endif
#ifdef cl_khr_fp16
__attribute__((overloadable)) void
test___spirv_ocl_vstore_halfn(__clc_vec16_fp32_t args_0, __clc_size_t args_1,
                              __clc_fp16_t *args_2) {
  __spirv_ocl_vstore_halfn(args_0, args_1, args_2);
}

#endif
#ifdef cl_khr_fp16
#ifdef cl_khr_fp64
__attribute__((overloadable)) void
test___spirv_ocl_vstore_halfn(__clc_vec16_fp64_t args_0, __clc_size_t args_1,
                              __clc_fp16_t *args_2) {
  __spirv_ocl_vstore_halfn(args_0, args_1, args_2);
}

#endif
#endif
#ifdef cl_khr_fp16
__attribute__((overloadable)) void
test___spirv_ocl_vstore_halfn(__clc_vec2_fp32_t args_0, __clc_size_t args_1,
                              __clc_fp16_t __global *args_2) {
  __spirv_ocl_vstore_halfn(args_0, args_1, args_2);
}

#endif
#ifdef cl_khr_fp16
#ifdef cl_khr_fp64
__attribute__((overloadable)) void
test___spirv_ocl_vstore_halfn(__clc_vec2_fp64_t args_0, __clc_size_t args_1,
                              __clc_fp16_t __global *args_2) {
  __spirv_ocl_vstore_halfn(args_0, args_1, args_2);
}

#endif
#endif
#ifdef cl_khr_fp16
__attribute__((overloadable)) void
test___spirv_ocl_vstore_halfn(__clc_vec2_fp32_t args_0, __clc_size_t args_1,
                              __clc_fp16_t __local *args_2) {
  __spirv_ocl_vstore_halfn(args_0, args_1, args_2);
}

#endif
#ifdef cl_khr_fp16
#ifdef cl_khr_fp64
__attribute__((overloadable)) void
test___spirv_ocl_vstore_halfn(__clc_vec2_fp64_t args_0, __clc_size_t args_1,
                              __clc_fp16_t __local *args_2) {
  __spirv_ocl_vstore_halfn(args_0, args_1, args_2);
}

#endif
#endif
#ifdef cl_khr_fp16
__attribute__((overloadable)) void
test___spirv_ocl_vstore_halfn(__clc_vec2_fp32_t args_0, __clc_size_t args_1,
                              __clc_fp16_t *args_2) {
  __spirv_ocl_vstore_halfn(args_0, args_1, args_2);
}

#endif
#ifdef cl_khr_fp16
#ifdef cl_khr_fp64
__attribute__((overloadable)) void
test___spirv_ocl_vstore_halfn(__clc_vec2_fp64_t args_0, __clc_size_t args_1,
                              __clc_fp16_t *args_2) {
  __spirv_ocl_vstore_halfn(args_0, args_1, args_2);
}

#endif
#endif
#ifdef cl_khr_fp16
__attribute__((overloadable)) void
test___spirv_ocl_vstore_halfn(__clc_vec3_fp32_t args_0, __clc_size_t args_1,
                              __clc_fp16_t __global *args_2) {
  __spirv_ocl_vstore_halfn(args_0, args_1, args_2);
}

#endif
#ifdef cl_khr_fp16
#ifdef cl_khr_fp64
__attribute__((overloadable)) void
test___spirv_ocl_vstore_halfn(__clc_vec3_fp64_t args_0, __clc_size_t args_1,
                              __clc_fp16_t __global *args_2) {
  __spirv_ocl_vstore_halfn(args_0, args_1, args_2);
}

#endif
#endif
#ifdef cl_khr_fp16
__attribute__((overloadable)) void
test___spirv_ocl_vstore_halfn(__clc_vec3_fp32_t args_0, __clc_size_t args_1,
                              __clc_fp16_t __local *args_2) {
  __spirv_ocl_vstore_halfn(args_0, args_1, args_2);
}

#endif
#ifdef cl_khr_fp16
#ifdef cl_khr_fp64
__attribute__((overloadable)) void
test___spirv_ocl_vstore_halfn(__clc_vec3_fp64_t args_0, __clc_size_t args_1,
                              __clc_fp16_t __local *args_2) {
  __spirv_ocl_vstore_halfn(args_0, args_1, args_2);
}

#endif
#endif
#ifdef cl_khr_fp16
__attribute__((overloadable)) void
test___spirv_ocl_vstore_halfn(__clc_vec3_fp32_t args_0, __clc_size_t args_1,
                              __clc_fp16_t *args_2) {
  __spirv_ocl_vstore_halfn(args_0, args_1, args_2);
}

#endif
#ifdef cl_khr_fp16
#ifdef cl_khr_fp64
__attribute__((overloadable)) void
test___spirv_ocl_vstore_halfn(__clc_vec3_fp64_t args_0, __clc_size_t args_1,
                              __clc_fp16_t *args_2) {
  __spirv_ocl_vstore_halfn(args_0, args_1, args_2);
}

#endif
#endif
#ifdef cl_khr_fp16
__attribute__((overloadable)) void
test___spirv_ocl_vstore_halfn(__clc_vec4_fp32_t args_0, __clc_size_t args_1,
                              __clc_fp16_t __global *args_2) {
  __spirv_ocl_vstore_halfn(args_0, args_1, args_2);
}

#endif
#ifdef cl_khr_fp16
#ifdef cl_khr_fp64
__attribute__((overloadable)) void
test___spirv_ocl_vstore_halfn(__clc_vec4_fp64_t args_0, __clc_size_t args_1,
                              __clc_fp16_t __global *args_2) {
  __spirv_ocl_vstore_halfn(args_0, args_1, args_2);
}

#endif
#endif
#ifdef cl_khr_fp16
__attribute__((overloadable)) void
test___spirv_ocl_vstore_halfn(__clc_vec4_fp32_t args_0, __clc_size_t args_1,
                              __clc_fp16_t __local *args_2) {
  __spirv_ocl_vstore_halfn(args_0, args_1, args_2);
}

#endif
#ifdef cl_khr_fp16
#ifdef cl_khr_fp64
__attribute__((overloadable)) void
test___spirv_ocl_vstore_halfn(__clc_vec4_fp64_t args_0, __clc_size_t args_1,
                              __clc_fp16_t __local *args_2) {
  __spirv_ocl_vstore_halfn(args_0, args_1, args_2);
}

#endif
#endif
#ifdef cl_khr_fp16
__attribute__((overloadable)) void
test___spirv_ocl_vstore_halfn(__clc_vec4_fp32_t args_0, __clc_size_t args_1,
                              __clc_fp16_t *args_2) {
  __spirv_ocl_vstore_halfn(args_0, args_1, args_2);
}

#endif
#ifdef cl_khr_fp16
#ifdef cl_khr_fp64
__attribute__((overloadable)) void
test___spirv_ocl_vstore_halfn(__clc_vec4_fp64_t args_0, __clc_size_t args_1,
                              __clc_fp16_t *args_2) {
  __spirv_ocl_vstore_halfn(args_0, args_1, args_2);
}

#endif
#endif
