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