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