gdb/python: New method to access list of register groups
[binutils-gdb.git] / gdb / testsuite / gdb.opencl / datatypes.exp
1 # Copyright 2010-2020 Free Software Foundation, Inc.
2
3 # This program is free software; you can redistribute it and/or modify
4 # it under the terms of the GNU General Public License as published by
5 # the Free Software Foundation; either version 3 of the License, or
6 # (at your option) any later version.
7 #
8 # This program is distributed in the hope that it will be useful,
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 # GNU General Public License for more details.
12 #
13 # You should have received a copy of the GNU General Public License
14 # along with this program. If not, see <http://www.gnu.org/licenses/>. */
15 #
16 # Contributed by Ken Werner <ken.werner@de.ibm.com>.
17 #
18 # Tests OpenCL data types.
19
20 load_lib opencl.exp
21
22 if { [skip_opencl_tests] } {
23 unsupported "OpenCL support not detected"
24 return 0
25 }
26
27 set testfile "datatypes"
28 set clprogram [remote_download target ${srcdir}/${subdir}/${testfile}.cl]
29
30 # Compile the generic OpenCL host app
31 if { [gdb_compile_opencl_hostapp "${clprogram}" "${testfile}" "" ] != "" } {
32 untested "failed to compile"
33 return -1
34 }
35
36 gdb_exit
37 gdb_start
38
39 # Manually switch the language to opencl
40 gdb_test_no_output "set language opencl" "no prompt when setting the language to opencl"
41
42 # Check OpenCL data types (GDB)
43 gdb_test "whatis bool" "type = bool"
44 gdb_test "p sizeof(bool)" " = 1"
45
46 gdb_test "whatis char" "type = char"
47 gdb_test "p sizeof(char)" " = 1"
48 gdb_test "whatis char2" "type = char2"
49 gdb_test "p sizeof(char2)" " = 2"
50 gdb_test "whatis char3" "type = char3"
51 gdb_test "p sizeof(char3)" " = 4"
52 gdb_test "whatis char4" "type = char4"
53 gdb_test "p sizeof(char4)" " = 4"
54 gdb_test "whatis char8" "type = char8"
55 gdb_test "p sizeof(char8)" " = 8"
56 gdb_test "whatis char16" "type = char16"
57 gdb_test "p sizeof(char16)" " = 16"
58
59 gdb_test "whatis unsigned char" "type = unsigned char"
60 gdb_test "p sizeof(unsigned char)" " = 1"
61 gdb_test "whatis uchar" "type = uchar"
62 gdb_test "p sizeof(uchar)" " = 1"
63 gdb_test "whatis uchar2" "type = uchar2"
64 gdb_test "p sizeof(uchar2)" " = 2"
65 gdb_test "whatis uchar3" "type = uchar3"
66 gdb_test "p sizeof(uchar3)" " = 4"
67 gdb_test "whatis uchar4" "type = uchar4"
68 gdb_test "p sizeof(uchar4)" " = 4"
69 gdb_test "whatis uchar8" "type = uchar8"
70 gdb_test "p sizeof(uchar8)" " = 8"
71 gdb_test "whatis uchar16" "type = uchar16"
72 gdb_test "p sizeof(uchar16)" " = 16"
73
74 gdb_test "whatis short" "type = short"
75 gdb_test "p sizeof(short)" " = 2"
76 gdb_test "whatis short2" "type = short2"
77 gdb_test "p sizeof(short2)" " = 4"
78 gdb_test "whatis short3" "type = short3"
79 gdb_test "p sizeof(short3)" " = 8"
80 gdb_test "whatis short4" "type = short4"
81 gdb_test "p sizeof(short4)" " = 8"
82 gdb_test "whatis short8" "type = short8"
83 gdb_test "p sizeof(short8)" " = 16"
84 gdb_test "whatis short16" "type = short16"
85 gdb_test "p sizeof(short16)" " = 32"
86
87 gdb_test "whatis unsigned short" "type = unsigned short"
88 gdb_test "p sizeof(unsigned short)" " = 2"
89 gdb_test "whatis ushort" "type = ushort"
90 gdb_test "p sizeof(ushort)" " = 2"
91 gdb_test "whatis ushort2" "type = ushort2"
92 gdb_test "p sizeof(ushort2)" " = 4"
93 gdb_test "whatis ushort3" "type = ushort3"
94 gdb_test "p sizeof(ushort3)" " = 8"
95 gdb_test "whatis ushort4" "type = ushort4"
96 gdb_test "p sizeof(ushort4)" " = 8"
97 gdb_test "whatis ushort8" "type = ushort8"
98 gdb_test "p sizeof(ushort8)" " = 16"
99 gdb_test "whatis ushort16" "type = ushort16"
100 gdb_test "p sizeof(ushort16)" " = 32"
101
102 gdb_test "whatis int" "type = int"
103 gdb_test "p sizeof(int)" " = 4"
104 gdb_test "whatis int2" "type = int2"
105 gdb_test "p sizeof(int2)" " = 8"
106 gdb_test "whatis int3" "type = int3"
107 gdb_test "p sizeof(int3)" " = 16"
108 gdb_test "whatis int4" "type = int4"
109 gdb_test "p sizeof(int4)" " = 16"
110 gdb_test "whatis int8" "type = int8"
111 gdb_test "p sizeof(int8)" " = 32"
112 gdb_test "whatis int16" "type = int16"
113 gdb_test "p sizeof(int16)" " = 64"
114
115 gdb_test "whatis unsigned int" "type = unsigned int"
116 gdb_test "p sizeof(unsigned int)" " = 4"
117 gdb_test "whatis uint" "type = uint"
118 gdb_test "p sizeof(uint)" " = 4"
119 gdb_test "whatis uint2" "type = uint2"
120 gdb_test "p sizeof(uint2)" " = 8"
121 gdb_test "whatis uint3" "type = uint3"
122 gdb_test "p sizeof(uint3)" " = 16"
123 gdb_test "whatis uint4" "type = uint4"
124 gdb_test "p sizeof(uint4)" " = 16"
125 gdb_test "whatis uint8" "type = uint8"
126 gdb_test "p sizeof(uint8)" " = 32"
127 gdb_test "whatis uint16" "type = uint16"
128 gdb_test "p sizeof(uint16)" " = 64"
129
130 gdb_test "whatis long" "type = long"
131 gdb_test "p sizeof(long)" " = 8"
132 gdb_test "whatis long2" "type = long2"
133 gdb_test "p sizeof(long2)" " = 16"
134 gdb_test "whatis long3" "type = long3"
135 gdb_test "p sizeof(long3)" " = 32"
136 gdb_test "whatis long4" "type = long4"
137 gdb_test "p sizeof(long4)" " = 32"
138 gdb_test "whatis long8" "type = long8"
139 gdb_test "p sizeof(long8)" " = 64"
140 gdb_test "whatis long16" "type = long16"
141 gdb_test "p sizeof(long16)" " = 128"
142
143 gdb_test "whatis unsigned long" "type = unsigned long"
144 gdb_test "p sizeof(unsigned long)" " = 8"
145 gdb_test "whatis ulong" "type = ulong"
146 gdb_test "p sizeof(ulong)" " = 8"
147 gdb_test "whatis ulong2" "type = ulong2"
148 gdb_test "p sizeof(ulong2)" " = 16"
149 gdb_test "whatis ulong3" "type = ulong3"
150 gdb_test "p sizeof(ulong3)" " = 32"
151 gdb_test "whatis ulong4" "type = ulong4"
152 gdb_test "p sizeof(ulong4)" " = 32"
153 gdb_test "whatis ulong8" "type = ulong8"
154 gdb_test "p sizeof(ulong8)" " = 64"
155 gdb_test "whatis ulong16" "type = ulong16"
156 gdb_test "p sizeof(ulong16)" " = 128"
157
158 gdb_test "whatis half" "type = half"
159 gdb_test "p sizeof(half)" " = 2"
160 gdb_test "whatis half2" "type = half2"
161 gdb_test "p sizeof(half2)" " = 4"
162 gdb_test "whatis half3" "type = half3"
163 gdb_test "p sizeof(half3)" " = 8"
164 gdb_test "whatis half4" "type = half4"
165 gdb_test "p sizeof(half4)" " = 8"
166 gdb_test "whatis half8" "type = half8"
167 gdb_test "p sizeof(half8)" " = 16"
168 gdb_test "whatis half16" "type = half16"
169 gdb_test "p sizeof(half16)" " = 32"
170
171 gdb_test "whatis float" "type = float"
172 gdb_test "p sizeof(float)" " = 4"
173 gdb_test "whatis float2" "type = float2"
174 gdb_test "p sizeof(float2)" " = 8"
175 gdb_test "whatis float3" "type = float3"
176 gdb_test "p sizeof(float3)" " = 16"
177 gdb_test "whatis float4" "type = float4"
178 gdb_test "p sizeof(float4)" " = 16"
179 gdb_test "whatis float8" "type = float8"
180 gdb_test "p sizeof(float8)" " = 32"
181 gdb_test "whatis float16" "type = float16"
182 gdb_test "p sizeof(float16)" " = 64"
183
184 gdb_test "whatis double" "type = double"
185 gdb_test "p sizeof(double)" " = 8"
186 gdb_test "whatis double2" "type = double2"
187 gdb_test "p sizeof(double2)" " = 16"
188 gdb_test "whatis double3" "type = double3"
189 gdb_test "p sizeof(double3)" " = 32"
190 gdb_test "whatis double4" "type = double4"
191 gdb_test "p sizeof(double4)" " = 32"
192 gdb_test "whatis double8" "type = double8"
193 gdb_test "p sizeof(double8)" " = 64"
194 gdb_test "whatis double16" "type = double16"
195 gdb_test "p sizeof(double16)" " = 128"
196
197 # Set the language back to the default: "auto; currently c"
198 gdb_test_no_output "set language c" "no prompt when setting the language to c"
199 gdb_test_no_output "set language auto" "no prompt when setting the language to auto"
200
201 # Load the OpenCL app
202 gdb_reinitialize_dir $srcdir/$subdir
203 gdb_load ${objdir}/${subdir}/${testfile}
204
205 # Set breakpoint at the OpenCL kernel
206 gdb_test "tbreak testkernel" \
207 "" \
208 "Set pending breakpoint" \
209 ".*Function \"testkernel\" not defined.*Make breakpoint pending.*y or \\\[n\\\]. $" \
210 "y"
211
212 gdb_run_cmd
213 gdb_test "" ".*reakpoint.*1.*testkernel.*" "run"
214
215 # Continue to the marker
216 gdb_breakpoint [gdb_get_line_number "marker" "${clprogram}"]
217 gdb_continue_to_breakpoint "marker"
218
219 # Check if the language was switched to opencl
220 gdb_test "show language" "The current source language is \"auto; currently opencl\"\."
221
222 # Retrieve some information about the OpenCL version and the availability of extensions
223 set opencl_version [get_integer_valueof "opencl_version" 0]
224 set have_cl_khr_fp64 [get_integer_valueof "have_cl_khr_fp64" 0]
225 set have_cl_khr_fp16 [get_integer_valueof "have_cl_khr_fp16" 0]
226
227 # Check OpenCL data types (DWARF)
228 gdb_test "whatis b" "type = bool"
229 gdb_test "p sizeof(b)" " = 1"
230 gdb_test "print b" " = (false|0)"
231
232 gdb_test "whatis c" "type = char"
233 gdb_test "p sizeof(c)" " = 1"
234 gdb_test "print/d c" " = 1"
235 gdb_test "whatis c2" "type = char2"
236 gdb_test "p sizeof(c2)" " = 2"
237 gdb_test "print c2" " = \\{1, 2\\}"
238 if { ${opencl_version} >= 110 } {
239 gdb_test "whatis c3" "type = char3"
240 gdb_test "p sizeof(c3)" " = 4"
241 gdb_test "print c3" " = \\{1, 2, 3\\}"
242 }
243 gdb_test "whatis c4" "type = char4"
244 gdb_test "p sizeof(c4)" " = 4"
245 gdb_test "print c4" " = \\{1, 2, 3, 4\\}"
246 gdb_test "whatis c8" "type = char8"
247 gdb_test "p sizeof(c8)" " = 8"
248 gdb_test "print c8" " = \\{1, 2, 3, 4, 5, 6, 7, 8\\}"
249 gdb_test "whatis c16" "type = char16"
250 gdb_test "p sizeof(c16)" " = 16"
251 gdb_test "print c16" " = \\{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16\\}"
252
253 gdb_test "whatis uc" "type = uchar"
254 gdb_test "p sizeof(uc)" " = 1"
255 gdb_test "print/d uc" " = 1"
256 gdb_test "whatis uc2" "type = uchar2"
257 gdb_test "p sizeof(uc2)" " = 2"
258 gdb_test "print uc2" " = \\{1, 2\\}"
259 if { ${opencl_version} >= 110 } {
260 gdb_test "whatis uc3" "type = uchar3"
261 gdb_test "p sizeof(uc3)" " = 4"
262 gdb_test "print uc3" " = \\{1, 2, 3\\}"
263 }
264 gdb_test "whatis uc4" "type = uchar4"
265 gdb_test "p sizeof(uc4)" " = 4"
266 gdb_test "print uc4" " = \\{1, 2, 3, 4\\}"
267 gdb_test "whatis uc8" "type = uchar8"
268 gdb_test "p sizeof(uc8)" " = 8"
269 gdb_test "print uc8" " = \\{1, 2, 3, 4, 5, 6, 7, 8\\}"
270 gdb_test "whatis uc16" "type = uchar16"
271 gdb_test "p sizeof(uc16)" " = 16"
272 gdb_test "print uc16" " = \\{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16\\}"
273
274 gdb_test "whatis s" "type = short"
275 gdb_test "p sizeof(s)" " = 2"
276 gdb_test "print s" " = -1"
277 gdb_test "whatis s2" "type = short2"
278 gdb_test "p sizeof(s2)" " = 4"
279 gdb_test "print s2" " = \\{-1, -2\\}"
280 if { ${opencl_version} >= 110 } {
281 gdb_test "whatis s3" "type = short3"
282 gdb_test "p sizeof(s3)" " = 8"
283 gdb_test "print s3" " = \\{-1, -2, -3\\}"
284 }
285 gdb_test "whatis s4" "type = short4"
286 gdb_test "p sizeof(s4)" " = 8"
287 gdb_test "print s4" " = \\{-1, -2, -3, -4\\}"
288 gdb_test "whatis s8" "type = short8"
289 gdb_test "p sizeof(s8)" " = 16"
290 gdb_test "print s8" " = \\{-1, -2, -3, -4, -5, -6, -7, -8\\}"
291 gdb_test "whatis s16" "type = short16"
292 gdb_test "p sizeof(s16)" " = 32"
293 gdb_test "print s16" " = \\{-1, -2, -3, -4, -5, -6, -7, -8, -9, -10, -11, -12, -13, -14, -15, -16\\}"
294
295 gdb_test "whatis us" "type = ushort"
296 gdb_test "p sizeof(us)" " = 2"
297 gdb_test "print us" " = 1"
298 gdb_test "whatis us2" "type = ushort2"
299 gdb_test "p sizeof(us2)" " = 4"
300 gdb_test "print us2" " = \\{1, 2\\}"
301 if { ${opencl_version} >= 110 } {
302 gdb_test "whatis us3" "type = ushort3"
303 gdb_test "p sizeof(us3)" " = 8"
304 gdb_test "print us3" " = \\{1, 2, 3\\}"
305 }
306 gdb_test "whatis us4" "type = ushort4"
307 gdb_test "p sizeof(us4)" " = 8"
308 gdb_test "print us4" " = \\{1, 2, 3, 4\\}"
309 gdb_test "whatis us8" "type = ushort8"
310 gdb_test "p sizeof(us8)" " = 16"
311 gdb_test "print us8" " = \\{1, 2, 3, 4, 5, 6, 7, 8\\}"
312 gdb_test "whatis us16" "type = ushort16"
313 gdb_test "p sizeof(us16)" " = 32"
314 gdb_test "print us16" " = \\{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16\\}"
315
316 gdb_test "whatis i" "type = int"
317 gdb_test "p sizeof(i)" " = 4"
318 gdb_test "print i" " = -1"
319 gdb_test "whatis i2" "type = int2"
320 gdb_test "p sizeof(i2)" " = 8"
321 gdb_test "print i2" " = \\{-1, -2\\}"
322 if { ${opencl_version} >= 110 } {
323 gdb_test "whatis i3" "type = int3"
324 gdb_test "p sizeof(i3)" " = 16"
325 gdb_test "print i3" " = \\{-1, -2, -3\\}"
326 }
327 gdb_test "whatis i4" "type = int4"
328 gdb_test "p sizeof(i4)" " = 16"
329 gdb_test "print i4" " = \\{-1, -2, -3, -4\\}"
330 gdb_test "whatis i8" "type = int8"
331 gdb_test "p sizeof(i8)" " = 32"
332 gdb_test "print i8" " = \\{-1, -2, -3, -4, -5, -6, -7, -8\\}"
333 gdb_test "whatis i16" "type = int16"
334 gdb_test "p sizeof(i16)" " = 64"
335 gdb_test "print i16" " = \\{-1, -2, -3, -4, -5, -6, -7, -8, -9, -10, -11, -12, -13, -14, -15, -16\\}"
336
337 gdb_test "whatis ui" "type = uint"
338 gdb_test "p sizeof(ui)" " = 4"
339 gdb_test "print ui" " = 1"
340 gdb_test "whatis ui2" "type = uint2"
341 gdb_test "p sizeof(ui2)" " = 8"
342 gdb_test "print ui2" " = \\{1, 2\\}"
343 if { ${opencl_version} >= 110 } {
344 gdb_test "whatis ui3" "type = uint3"
345 gdb_test "p sizeof(ui3)" " = 16"
346 gdb_test "print ui3" " = \\{1, 2, 3\\}"
347 }
348 gdb_test "whatis ui4" "type = uint4"
349 gdb_test "p sizeof(ui4)" " = 16"
350 gdb_test "print ui4" " = \\{1, 2, 3, 4\\}"
351 gdb_test "whatis ui8" "type = uint8"
352 gdb_test "p sizeof(ui8)" " = 32"
353 gdb_test "print ui8" " = \\{1, 2, 3, 4, 5, 6, 7, 8\\}"
354 gdb_test "whatis ui16" "type = uint16"
355 gdb_test "p sizeof(ui16)" " = 64"
356 gdb_test "print ui16" " = \\{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16\\}"
357
358 gdb_test "whatis l" "type = long"
359 gdb_test "p sizeof(l)" " = 8"
360 gdb_test "print l" " = -1"
361 gdb_test "whatis l2" "type = long2"
362 gdb_test "p sizeof(l2)" " = 16"
363 gdb_test "print l2" " = \\{-1, -2\\}"
364 if { ${opencl_version} >= 110 } {
365 gdb_test "whatis l3" "type = long3"
366 gdb_test "p sizeof(l3)" " = 32"
367 gdb_test "print l3" " = \\{-1, -2, -3\\}"
368 }
369 gdb_test "whatis l4" "type = long4"
370 gdb_test "p sizeof(l4)" " = 32"
371 gdb_test "print l4" " = \\{-1, -2, -3, -4\\}"
372 gdb_test "whatis l8" "type = long8"
373 gdb_test "p sizeof(l8)" " = 64"
374 gdb_test "print l8" " = \\{-1, -2, -3, -4, -5, -6, -7, -8\\}"
375 gdb_test "whatis l16" "type = long16"
376 gdb_test "p sizeof(l16)" " = 128"
377 gdb_test "print l16" " = \\{-1, -2, -3, -4, -5, -6, -7, -8, -9, -10, -11, -12, -13, -14, -15, -16\\}"
378
379 gdb_test "whatis ul" "type = ulong"
380 gdb_test "p sizeof(ul)" " = 8"
381 gdb_test "print ul" " = 1"
382 gdb_test "whatis ul2" "type = ulong2"
383 gdb_test "p sizeof(ul2)" " = 16"
384 gdb_test "print ul2" " = \\{1, 2\\}"
385 if { ${opencl_version} >= 110 } {
386 gdb_test "whatis ul3" "type = ulong3"
387 gdb_test "p sizeof(ul3)" " = 32"
388 gdb_test "print ul3" " = \\{1, 2, 3\\}"
389 }
390 gdb_test "whatis ul4" "type = ulong4"
391 gdb_test "p sizeof(ul4)" " = 32"
392 gdb_test "print ul4" " = \\{1, 2, 3, 4\\}"
393 gdb_test "whatis ul8" "type = ulong8"
394 gdb_test "p sizeof(ul8)" " = 64"
395 gdb_test "print ul8" " = \\{1, 2, 3, 4, 5, 6, 7, 8\\}"
396 gdb_test "whatis ul16" "type = ulong16"
397 gdb_test "p sizeof(ul16)" " = 128"
398 gdb_test "print ul16" " = \\{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16\\}"
399
400 gdb_test "whatis ph" "type = half \\*"
401 gdb_test "whatis *ph" "type = half"
402 gdb_test "p sizeof(*ph)" " = 2"
403
404 if { ${have_cl_khr_fp16} } {
405 gdb_test "whatis h" "type = half"
406 gdb_test "p sizeof(h)" " = 2"
407 gdb_test "print h" " = 1"
408 gdb_test "whatis h2" "type = half2"
409 gdb_test "p sizeof(h2)" " = 4"
410 gdb_test "print h2" " = \\{1, 2\\}"
411 if { ${opencl_version} >= 110 } {
412 gdb_test "whatis h3" "type = half3"
413 gdb_test "p sizeof(h3)" " = 8"
414 gdb_test "print h3" " = \\{1, 2, 3\\}"
415 }
416 gdb_test "whatis h4" "type = half4"
417 gdb_test "p sizeof(h4)" " = 8"
418 gdb_test "print h4" " = \\{1, 2, 3, 4\\}"
419 gdb_test "whatis h8" "type = half8"
420 gdb_test "p sizeof(h8)" " = 16"
421 gdb_test "print h8" " = \\{1, 2, 3, 4, 5, 6, 7, 8\\}"
422 gdb_test "whatis h16" "type = half16"
423 gdb_test "p sizeof(h16)" " = 16"
424 gdb_test "print h16" " = \\{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16\\}"
425 }
426
427 gdb_test "whatis f" "type = float"
428 gdb_test "p sizeof(f)" " = 4"
429 gdb_test "print f" " = 1"
430 gdb_test "whatis f2" "type = float2"
431 gdb_test "p sizeof(f2)" " = 8"
432 gdb_test "print f2" " = \\{1, 2\\}"
433 if { ${opencl_version} >= 110 } {
434 gdb_test "whatis f3" "type = float3"
435 gdb_test "p sizeof(f3)" " = 16"
436 gdb_test "print f3" " = \\{1, 2, 3\\}"
437 }
438 gdb_test "whatis f4" "type = float4"
439 gdb_test "p sizeof(f4)" " = 16"
440 gdb_test "print f4" " = \\{1, 2, 3, 4\\}"
441 gdb_test "whatis f8" "type = float8"
442 gdb_test "p sizeof(f8)" " = 32"
443 gdb_test "print f8" " = \\{1, 2, 3, 4, 5, 6, 7, 8\\}"
444 gdb_test "whatis f16" "type = float16"
445 gdb_test "p sizeof(f16)" " = 64"
446 gdb_test "print f16" " = \\{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16\\}"
447
448 if { ${have_cl_khr_fp64} } {
449 gdb_test "whatis d" "type = double"
450 gdb_test "p sizeof(d)" " = 8"
451 gdb_test "print d" " = 1"
452 gdb_test "whatis d2" "type = double2"
453 gdb_test "p sizeof(d2)" " = 16"
454 gdb_test "print d2" " = \\{1, 2\\}"
455 if { ${opencl_version} >= 110 } {
456 gdb_test "whatis d3" "type = double3"
457 gdb_test "p sizeof(d3)" " = 32"
458 gdb_test "print d3" " = \\{1, 2, 3\\}"
459 }
460 gdb_test "whatis d4" "type = double4"
461 gdb_test "p sizeof(d4)" " = 32"
462 gdb_test "print d4" " = \\{1, 2, 3, 4\\}"
463 gdb_test "whatis d8" "type = double8"
464 gdb_test "p sizeof(d8)" " = 64"
465 gdb_test "print d8" " = \\{1, 2, 3, 4, 5, 6, 7, 8\\}"
466 gdb_test "whatis d16" "type = double16"
467 gdb_test "p sizeof(d16)" " = 128"
468 gdb_test "print d16" " = \\{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16\\}"
469 }
470
471 # Delete the OpenCL program source
472 remote_file target delete ${clprogram}