1 /* This testcase is part of GDB
, the GNU debugger.
3 Copyright
2010-
2019 Free Software Foundation
, Inc.
5 This program is free software
; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation
; either version 3 of the License, or
8 (at your option
) any later version.
10 This program is distributed in the hope that it will be useful
,
11 but WITHOUT ANY WARRANTY
; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
15 You should have received a copy of the GNU General Public License
16 along with this program. If not
, see
<http
://www.gnu.org
/licenses
/>.
18 Contributed by Ken Werner
<ken.werner
@de.ibm.com
> */
20 __constant int opencl_version
= __OPENCL_VERSION__
;
22 #ifdef HAVE_cl_khr_fp64
23 #pragma OPENCL EXTENSION cl_khr_fp64
: enable
24 __constant int have_cl_khr_fp64
= 1;
26 __constant int have_cl_khr_fp64
= 0;
29 #ifdef HAVE_cl_khr_fp16
30 #pragma OPENCL EXTENSION cl_khr_fp16
: enable
31 __constant int have_cl_khr_fp16
= 1;
33 __constant int have_cl_khr_fp16
= 0;
36 __kernel void testkernel
(__global int
*data
)
41 char2 c2
= (char2) (1, 2);
43 char3 c3
= (char3) (1, 2, 3);
45 char4 c4
= (char4) (1, 2, 3, 4);
46 char8 c8
= (char8) (1, 2, 3, 4, 5, 6, 7, 8);
47 char16 c16
= (char16)(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16);
50 uchar2 uc2
= (uchar2) (1, 2);
52 uchar3 uc3
= (uchar3) (1, 2, 3);
54 uchar4 uc4
= (uchar4) (1, 2, 3, 4);
55 uchar8 uc8
= (uchar8) (1, 2, 3, 4, 5, 6, 7, 8);
56 uchar16 uc16
= (uchar16)(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16);
59 short2 s2
= (short2) (-1, -
2);
61 short3 s3
= (short3) (-1, -
2, -
3);
63 short4 s4
= (short4) (-1, -
2, -
3, -
4);
64 short8 s8
= (short8) (-1, -
2, -
3, -
4, -
5, -
6, -
7, -
8);
65 short16 s16
= (short16)(-1, -
2, -
3, -
4, -
5, -
6, -
7, -
8, -
9, -
10, -
11, -
12, -
13, -
14, -
15, -
16);
68 ushort2 us2
= (ushort2) (1, 2);
70 ushort3 us3
= (ushort3) (1, 2, 3);
72 ushort4 us4
= (ushort4) (1, 2, 3, 4);
73 ushort8 us8
= (ushort8) (1, 2, 3, 4, 5, 6, 7, 8);
74 ushort16 us16
= (ushort16)(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16);
77 int2 i2
= (int2) (-1, -
2);
79 int3 i3
= (int3) (-1, -
2, -
3);
81 int4 i4
= (int4) (-1, -
2, -
3, -
4);
82 int8 i8
= (int8) (-1, -
2, -
3, -
4, -
5, -
6, -
7, -
8);
83 int16 i16
= (int16)(-1, -
2, -
3, -
4, -
5, -
6, -
7, -
8, -
9, -
10, -
11, -
12, -
13, -
14, -
15, -
16);
86 uint2 ui2
= (uint2) (1, 2);
88 uint3 ui3
= (uint3) (1, 2, 3);
90 uint4 ui4
= (uint4) (1, 2, 3, 4);
91 uint8 ui8
= (uint8) (1, 2, 3, 4, 5, 6, 7, 8);
92 uint16 ui16
= (uint16)(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16);
95 long2 l2
= (long2) (-1, -
2);
97 long3 l3
= (long3) (-1, -
2, -
3);
99 long4 l4
= (long4) (-1, -
2, -
3, -
4);
100 long8 l8
= (long8) (-1, -
2, -
3, -
4, -
5, -
6, -
7, -
8);
101 long16 l16
= (long16)(-1, -
2, -
3, -
4, -
5, -
6, -
7, -
8, -
9, -
10, -
11, -
12, -
13, -
14, -
15, -
16);
104 ulong2 ul2
= (ulong2) (1, 2);
105 #ifdef CL_VERSION_1_1
106 ulong3 ul3
= (ulong3) (1, 2, 3);
108 ulong4 ul4
= (ulong4) (1, 2, 3, 4);
109 ulong8 ul8
= (ulong8) (1, 2, 3, 4, 5, 6, 7, 8);
110 ulong16 ul16
= (ulong16)(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16);
115 half2 h2
= (half2) (1.0
, 2.0);
116 #ifdef CL_VERSION_1_1
117 half3 h3
= (half3) (1.0
, 2.0, 3.0);
119 half4 h4
= (half4) (1.0
, 2.0, 3.0, 4.0);
120 half8 h8
= (half8) (1.0
, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0);
121 half16 h16
= (half16)(1.0
, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0);
125 float2 f2
= (float2) (1.0
, 2.0);
126 #ifdef CL_VERSION_1_1
127 float3 f3
= (float3) (1.0
, 2.0, 3.0);
129 float4 f4
= (float4) (1.0
, 2.0, 3.0, 4.0);
130 float8 f8
= (float8) (1.0
, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0);
131 float16 f16
= (float16)(1.0
, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0);
135 double2 d2
= (double2) (1.0
, 2.0);
136 #ifdef CL_VERSION_1_1
137 double3 d3
= (double3) (1.0
, 2.0, 3.0);
139 double4 d4
= (double4) (1.0
, 2.0, 3.0, 4.0);
140 double8 d8
= (double8) (1.0
, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0);
141 double16 d16
= (double16)(1.0
, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0);
146 data
[get_global_id
(0)] = 1;