1 // RUN
: c-index-test -test-print-type %s -cl-std
=CL2.0 -target spir | FileCheck %s
3 #pragma OPENCL EXTENSION cl_khr_fp16
: enable
4 #pragma OPENCL EXTENSION cl_khr_fp64
: enable
6 typedef half half4 __attribute__
((ext_vector_type(4)));
7 typedef float float4 __attribute__
((ext_vector_type(4)));
8 typedef double double4 __attribute__
((ext_vector_type(4)));
10 void kernel testFloatTypes
() {
19 // CHECK
: VarDecl
=scalarHalf
:11:8 (Definition){{( \
(invalid\
))?
}} [type
=__private half
] [typekind
=Half
] [isPOD
=1]
20 // CHECK
: VarDecl
=vectorHalf
:12:9 (Definition) [type
=__private half4
] [typekind
=Elaborated
] [canonicaltype
=half __private __attribute__
((ext_vector_type(4)))] [canonicaltypekind
=ExtVector
] [isPOD
=1]
21 // CHECK
: VarDecl
=scalarFloat
:13:9 (Definition) [type
=__private float
] [typekind
=Float
] [isPOD
=1]
22 // CHECK
: VarDecl
=vectorFloat
:14:10 (Definition) [type
=__private float4
] [typekind
=Elaborated
] [canonicaltype
=float __private __attribute__
((ext_vector_type(4)))] [canonicaltypekind
=ExtVector
] [isPOD
=1]
23 // CHECK
: VarDecl
=scalarDouble
:15:10 (Definition){{( \
(invalid\
))?
}} [type
=__private double
] [typekind
=Double
] [isPOD
=1]
24 // CHECK
: VarDecl
=vectorDouble
:16:11 (Definition){{( \
(invalid\
))?
}} [type
=__private double4
] [typekind
=Elaborated
] [canonicaltype
=double __private __attribute__
((ext_vector_type(4)))] [canonicaltypekind
=ExtVector
] [isPOD
=1]
26 #pragma OPENCL EXTENSION cl_khr_gl_msaa_sharing
: enable
28 void kernel OCLImage1dROTest
(read_only image1d_t scalarOCLImage1dRO
);
29 void kernel OCLImage1dArrayROTest
(read_only image1d_array_t scalarOCLImage1dArrayRO
);
30 void kernel OCLImage1dBufferROTest
(read_only image1d_buffer_t scalarOCLImage1dBufferRO
);
31 void kernel OCLImage2dROTest
(read_only image2d_t scalarOCLImage2dRO
);
32 void kernel OCLImage2dArrayROTest
(read_only image2d_array_t scalarOCLImage2dArrayRO
);
33 void kernel OCLImage2dDepthROTest
(read_only image2d_depth_t scalarOCLImage2dDepthRO
);
34 void kernel OCLImage2dArrayDepthROTest
(read_only image2d_array_depth_t scalarOCLImage2dArrayDepthRO
);
35 void kernel OCLImage2dMSAAROTest
(read_only image2d_msaa_t scalarOCLImage2dMSAARO
);
36 void kernel OCLImage2dArrayMSAAROTest
(read_only image2d_array_msaa_t scalarOCLImage2dArrayMSAARO
);
37 void kernel OCLImage2dMSAADepthROTest
(read_only image2d_msaa_depth_t scalarOCLImage2dMSAADepthRO
);
38 void kernel OCLImage2dArrayMSAADepthROTest
(read_only image2d_array_msaa_depth_t scalarOCLImage2dArrayMSAADepthRO
);
39 void kernel OCLImage3dROTest
(read_only image3d_t scalarOCLImage3dRO
);
41 // CHECK
: ParmDecl
=scalarOCLImage1dRO
:28:50 (Definition) [type
=__private __read_only image1d_t
] [typekind
=OCLImage1dRO
] [isPOD
=1]
42 // CHECK
: ParmDecl
=scalarOCLImage1dArrayRO
:29:61 (Definition) [type
=__private __read_only image1d_array_t
] [typekind
=OCLImage1dArrayRO
] [isPOD
=1]
43 // CHECK
: ParmDecl
=scalarOCLImage1dBufferRO
:30:63 (Definition) [type
=__private __read_only image1d_buffer_t
] [typekind
=OCLImage1dBufferRO
] [isPOD
=1]
44 // CHECK
: ParmDecl
=scalarOCLImage2dRO
:31:50 (Definition) [type
=__private __read_only image2d_t
] [typekind
=OCLImage2dRO
] [isPOD
=1]
45 // CHECK
: ParmDecl
=scalarOCLImage2dArrayRO
:32:61 (Definition) [type
=__private __read_only image2d_array_t
] [typekind
=OCLImage2dArrayRO
] [isPOD
=1]
46 // CHECK
: ParmDecl
=scalarOCLImage2dDepthRO
:33:61 (Definition) [type
=__private __read_only image2d_depth_t
] [typekind
=OCLImage2dDepthRO
] [isPOD
=1]
47 // CHECK
: ParmDecl
=scalarOCLImage2dArrayDepthRO
:34:72 (Definition) [type
=__private __read_only image2d_array_depth_t
] [typekind
=OCLImage2dArrayDepthRO
] [isPOD
=1]
48 // CHECK
: ParmDecl
=scalarOCLImage2dMSAARO
:35:59 (Definition){{( \
(invalid\
))?
}} [type
=__private __read_only image2d_msaa_t
] [typekind
=OCLImage2dMSAARO
] [isPOD
=1]
49 // CHECK
: ParmDecl
=scalarOCLImage2dArrayMSAARO
:36:70 (Definition){{( \
(invalid\
))?
}} [type
=__private __read_only image2d_array_msaa_t
] [typekind
=OCLImage2dArrayMSAARO
] [isPOD
=1]
50 // CHECK
: ParmDecl
=scalarOCLImage2dMSAADepthRO
:37:70 (Definition){{( \
(invalid\
))?
}} [type
=__private __read_only image2d_msaa_depth_t
] [typekind
=OCLImage2dMSAADepthRO
] [isPOD
=1]
51 // CHECK
: ParmDecl
=scalarOCLImage2dArrayMSAADepthRO
:38:81 (Definition){{( \
(invalid\
))?
}} [type
=__private __read_only image2d_array_msaa_depth_t
] [typekind
=OCLImage2dArrayMSAADepthRO
] [isPOD
=1]
52 // CHECK
: ParmDecl
=scalarOCLImage3dRO
:39:50 (Definition) [type
=__private __read_only image3d_t
] [typekind
=OCLImage3dRO
] [isPOD
=1]
54 void kernel OCLImage1dWOTest
(write_only image1d_t scalarOCLImage1dWO
);
55 void kernel OCLImage1dArrayWOTest
(write_only image1d_array_t scalarOCLImage1dArrayWO
);
56 void kernel OCLImage1dBufferWOTest
(write_only image1d_buffer_t scalarOCLImage1dBufferWO
);
57 void kernel OCLImage2dWOTest
(write_only image2d_t scalarOCLImage2dWO
);
58 void kernel OCLImage2dArrayWOTest
(write_only image2d_array_t scalarOCLImage2dArrayWO
);
59 void kernel OCLImage2dDepthWOTest
(write_only image2d_depth_t scalarOCLImage2dDepthWO
);
60 void kernel OCLImage2dArrayDepthWOTest
(write_only image2d_array_depth_t scalarOCLImage2dArrayDepthWO
);
61 void kernel OCLImage2dMSAAWOTest
(write_only image2d_msaa_t scalarOCLImage2dMSAAWO
);
62 void kernel OCLImage2dArrayMSAAWOTest
(write_only image2d_array_msaa_t scalarOCLImage2dArrayMSAAWO
);
63 void kernel OCLImage2dMSAADepthWOTest
(write_only image2d_msaa_depth_t scalarOCLImage2dMSAADepthWO
);
64 void kernel OCLImage2dArrayMSAADepthWOTest
(write_only image2d_array_msaa_depth_t scalarOCLImage2dArrayMSAADepthWO
);
65 void kernel OCLImage3dWOTest
(write_only image3d_t scalarOCLImage3dWO
);
67 // CHECK
: ParmDecl
=scalarOCLImage1dWO
:54:51 (Definition) [type
=__private __write_only image1d_t
] [typekind
=OCLImage1dWO
] [isPOD
=1]
68 // CHECK
: ParmDecl
=scalarOCLImage1dArrayWO
:55:62 (Definition) [type
=__private __write_only image1d_array_t
] [typekind
=OCLImage1dArrayWO
] [isPOD
=1]
69 // CHECK
: ParmDecl
=scalarOCLImage1dBufferWO
:56:64 (Definition) [type
=__private __write_only image1d_buffer_t
] [typekind
=OCLImage1dBufferWO
] [isPOD
=1]
70 // CHECK
: ParmDecl
=scalarOCLImage2dWO
:57:51 (Definition) [type
=__private __write_only image2d_t
] [typekind
=OCLImage2dWO
] [isPOD
=1]
71 // CHECK
: ParmDecl
=scalarOCLImage2dArrayWO
:58:62 (Definition) [type
=__private __write_only image2d_array_t
] [typekind
=OCLImage2dArrayWO
] [isPOD
=1]
72 // CHECK
: ParmDecl
=scalarOCLImage2dDepthWO
:59:62 (Definition) [type
=__private __write_only image2d_depth_t
] [typekind
=OCLImage2dDepthWO
] [isPOD
=1]
73 // CHECK
: ParmDecl
=scalarOCLImage2dArrayDepthWO
:60:73 (Definition) [type
=__private __write_only image2d_array_depth_t
] [typekind
=OCLImage2dArrayDepthWO
] [isPOD
=1]
74 // CHECK
: ParmDecl
=scalarOCLImage2dMSAAWO
:61:60 (Definition){{( \
(invalid\
))?
}} [type
=__private __write_only image2d_msaa_t
] [typekind
=OCLImage2dMSAAWO
] [isPOD
=1]
75 // CHECK
: ParmDecl
=scalarOCLImage2dArrayMSAAWO
:62:71 (Definition){{( \
(invalid\
))?
}} [type
=__private __write_only image2d_array_msaa_t
] [typekind
=OCLImage2dArrayMSAAWO
] [isPOD
=1]
76 // CHECK
: ParmDecl
=scalarOCLImage2dMSAADepthWO
:63:71 (Definition){{( \
(invalid\
))?
}} [type
=__private __write_only image2d_msaa_depth_t
] [typekind
=OCLImage2dMSAADepthWO
] [isPOD
=1]
77 // CHECK
: ParmDecl
=scalarOCLImage2dArrayMSAADepthWO
:64:82 (Definition){{( \
(invalid\
))?
}} [type
=__private __write_only image2d_array_msaa_depth_t
] [typekind
=OCLImage2dArrayMSAADepthWO
] [isPOD
=1]
78 // CHECK
: ParmDecl
=scalarOCLImage3dWO
:65:51 (Definition){{( \
(invalid\
))?
}} [type
=__private __write_only image3d_t
] [typekind
=OCLImage3dWO
] [isPOD
=1]
80 void kernel OCLImage1dRWTest
(read_write image1d_t scalarOCLImage1dRW
);
81 void kernel OCLImage1dArrayRWTest
(read_write image1d_array_t scalarOCLImage1dArrayRW
);
82 void kernel OCLImage1dBufferRWTest
(read_write image1d_buffer_t scalarOCLImage1dBufferRW
);
83 void kernel OCLImage2dRWTest
(read_write image2d_t scalarOCLImage2dRW
);
84 void kernel OCLImage2dArrayRWTest
(read_write image2d_array_t scalarOCLImage2dArrayRW
);
85 void kernel OCLImage2dDepthRWTest
(read_write image2d_depth_t scalarOCLImage2dDepthRW
);
86 void kernel OCLImage2dArrayDepthRWTest
(read_write image2d_array_depth_t scalarOCLImage2dArrayDepthRW
);
87 void kernel OCLImage2dMSAARWTest
(read_write image2d_msaa_t scalarOCLImage2dMSAARW
);
88 void kernel OCLImage2dArrayMSAARWTest
(read_write image2d_array_msaa_t scalarOCLImage2dArrayMSAARW
);
89 void kernel OCLImage2dMSAADepthRWTest
(read_write image2d_msaa_depth_t scalarOCLImage2dMSAADepthRW
);
90 void kernel OCLImage2dArrayMSAADepthRWTest
(read_write image2d_array_msaa_depth_t scalarOCLImage2dArrayMSAADepthRW
);
91 void kernel OCLImage3dRWTest
(read_write image3d_t scalarOCLImage3dRW
);
93 // CHECK
: ParmDecl
=scalarOCLImage1dRW
:80:51 (Definition) [type
=__private __read_write image1d_t
] [typekind
=OCLImage1dRW
] [isPOD
=1]
94 // CHECK
: ParmDecl
=scalarOCLImage1dArrayRW
:81:62 (Definition) [type
=__private __read_write image1d_array_t
] [typekind
=OCLImage1dArrayRW
] [isPOD
=1]
95 // CHECK
: ParmDecl
=scalarOCLImage1dBufferRW
:82:64 (Definition) [type
=__private __read_write image1d_buffer_t
] [typekind
=OCLImage1dBufferRW
] [isPOD
=1]
96 // CHECK
: ParmDecl
=scalarOCLImage2dRW
:83:51 (Definition) [type
=__private __read_write image2d_t
] [typekind
=OCLImage2dRW
] [isPOD
=1]
97 // CHECK
: ParmDecl
=scalarOCLImage2dArrayRW
:84:62 (Definition) [type
=__private __read_write image2d_array_t
] [typekind
=OCLImage2dArrayRW
] [isPOD
=1]
98 // CHECK
: ParmDecl
=scalarOCLImage2dDepthRW
:85:62 (Definition) [type
=__private __read_write image2d_depth_t
] [typekind
=OCLImage2dDepthRW
] [isPOD
=1]
99 // CHECK
: ParmDecl
=scalarOCLImage2dArrayDepthRW
:86:73 (Definition) [type
=__private __read_write image2d_array_depth_t
] [typekind
=OCLImage2dArrayDepthRW
] [isPOD
=1]
100 // CHECK
: ParmDecl
=scalarOCLImage2dMSAARW
:87:60 (Definition){{( \
(invalid\
))?
}} [type
=__private __read_write image2d_msaa_t
] [typekind
=OCLImage2dMSAARW
] [isPOD
=1]
101 // CHECK
: ParmDecl
=scalarOCLImage2dArrayMSAARW
:88:71 (Definition){{( \
(invalid\
))?
}} [type
=__private __read_write image2d_array_msaa_t
] [typekind
=OCLImage2dArrayMSAARW
] [isPOD
=1]
102 // CHECK
: ParmDecl
=scalarOCLImage2dMSAADepthRW
:89:71 (Definition){{( \
(invalid\
))?
}} [type
=__private __read_write image2d_msaa_depth_t
] [typekind
=OCLImage2dMSAADepthRW
] [isPOD
=1]
103 // CHECK
: ParmDecl
=scalarOCLImage2dArrayMSAADepthRW
:90:82 (Definition){{( \
(invalid\
))?
}} [type
=__private __read_write image2d_array_msaa_depth_t
] [typekind
=OCLImage2dArrayMSAADepthRW
] [isPOD
=1]
104 // CHECK
: ParmDecl
=scalarOCLImage3dRW
:91:51 (Definition) [type
=__private __read_write image3d_t
] [typekind
=OCLImage3dRW
] [isPOD
=1]
106 void kernel intPipeTestRO
(read_only pipe int scalarPipe
);
107 void kernel intPipeTestWO
(write_only pipe int scalarPipe
);
109 // CHECK
: ParmDecl
=scalarPipe
:106:46 (Definition) [type
=__private read_only pipe int
] [typekind
=Pipe
] [isPOD
=0]
110 // CHECK
: ParmDecl
=scalarPipe
:107:47 (Definition) [type
=__private write_only pipe int
] [typekind
=Pipe
] [isPOD
=0]
112 #define CLK_ADDRESS_CLAMP_TO_EDGE
2
113 #define CLK_NORMALIZED_COORDS_TRUE
1
114 #define CLK_FILTER_NEAREST
0x10
116 void kernel testMiscOpenCLTypes
() {
117 const sampler_t scalarOCLSampler
= CLK_NORMALIZED_COORDS_TRUE | CLK_ADDRESS_CLAMP_TO_EDGE | CLK_FILTER_NEAREST
;
118 clk_event_t scalarOCLEvent
;
119 queue_t scalarOCLQueue
;
120 reserve_id_t scalarOCLReserveID
;
123 // CHECK
: VarDecl
=scalarOCLSampler
:117:19 (Definition) [type
=const sampler_t
] [typekind
=Elaborated
] const
[canonicaltype
=const sampler_t
] [canonicaltypekind
=OCLSampler
] [isPOD
=1]
124 // CHECK
: VarDecl
=scalarOCLEvent
:118:15 (Definition) [type
=__private clk_event_t
] [typekind
=Elaborated
] [canonicaltype
=__private clk_event_t
] [canonicaltypekind
=Unexposed
] [isPOD
=1]
125 // CHECK
: VarDecl
=scalarOCLQueue
:119:11 (Definition) [type
=__private queue_t
] [typekind
=Elaborated
] [canonicaltype
=__private queue_t
] [canonicaltypekind
=OCLQueue
] [isPOD
=1]
126 // CHECK
: VarDecl
=scalarOCLReserveID
:120:16 (Definition) [type
=__private reserve_id_t
] [typekind
=Elaborated
] [canonicaltype
=__private reserve_id_t
] [canonicaltypekind
=OCLReserveID
] [isPOD
=1]
128 #pragma OPENCL EXTENSION cl_intel_device_side_avc_motion_estimation
: enable
130 void kernel testExtOpenCLTypes
() {
131 intel_sub_group_avc_mce_payload_t mce_payload
;
134 // CHECK
: VarDecl
=mce_payload
:131:37 (Definition){{( \
(invalid\
))?
}} [type
=__private intel_sub_group_avc_mce_payload_t
] [typekind
=Elaborated
] [canonicaltype
=__private intel_sub_group_avc_mce_payload_t
] [canonicaltypekind
=OCLIntelSubgroupAVCMcePayload
] [isPOD
=1]