| // RUN: %clang_cc1 -triple spir-unknown-unknown -cl-std=CL3.0 -fdeclare-opencl-builtins -verify -fsyntax-only %s |
| |
| // Keep this test header-free so it exercises OpenCLBuiltins.td instead of |
| // declarations from opencl-c.h. |
| |
| typedef unsigned int uint; |
| typedef unsigned short ushort; |
| typedef unsigned char uchar; |
| typedef unsigned long ulong; |
| |
| void test_block_prefetch_ui(const __global uint *in) { |
| intel_sub_group_block_prefetch_ui(in); |
| intel_sub_group_block_prefetch_ui2(in); |
| intel_sub_group_block_prefetch_ui4(in); |
| intel_sub_group_block_prefetch_ui8(in); |
| } |
| |
| void test_block_prefetch_us(const __global ushort *in) { |
| intel_sub_group_block_prefetch_us(in); |
| intel_sub_group_block_prefetch_us2(in); |
| intel_sub_group_block_prefetch_us4(in); |
| intel_sub_group_block_prefetch_us8(in); |
| intel_sub_group_block_prefetch_us16(in); |
| } |
| |
| void test_block_prefetch_uc(const __global uchar *in) { |
| intel_sub_group_block_prefetch_uc(in); |
| intel_sub_group_block_prefetch_uc2(in); |
| intel_sub_group_block_prefetch_uc4(in); |
| intel_sub_group_block_prefetch_uc8(in); |
| intel_sub_group_block_prefetch_uc16(in); |
| } |
| |
| void test_block_prefetch_ul(const __global ulong *in) { |
| intel_sub_group_block_prefetch_ul(in); |
| intel_sub_group_block_prefetch_ul2(in); |
| intel_sub_group_block_prefetch_ul4(in); |
| intel_sub_group_block_prefetch_ul8(in); |
| } |
| |
| void test_block_prefetch_ui16_rejected(const __global uint *in) { |
| intel_sub_group_block_prefetch_ui16(in); // expected-error{{use of undeclared identifier 'intel_sub_group_block_prefetch_ui16'}} |
| } |
| |
| void test_block_prefetch_ul16_rejected(const __global ulong *in) { |
| intel_sub_group_block_prefetch_ul16(in); // expected-error{{use of undeclared identifier 'intel_sub_group_block_prefetch_ul16'}} |
| } |