Skip to content

Commit c97c48e

Browse files
authored
[SYCL] Change UConvert arg type to unsigned and SConvert arg type to signed (#19316)
To align with SPIR-V spec and SPV-IR in SPIRV-LLVM-Translator.
1 parent a9aeafa commit c97c48e

File tree

98 files changed

+235
-1441
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

98 files changed

+235
-1441
lines changed

clang/lib/Sema/SPIRVBuiltins.td

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -803,7 +803,7 @@ foreach rnd = ["", "_rte", "_rtn", "_rtp", "_rtz"] in {
803803
}
804804

805805
foreach sat = ["", "_sat"] in {
806-
foreach InType = TLAllInts.List in {
806+
foreach InType = TLUnsignedInts.List in {
807807
foreach OutType = TLUnsignedInts.List in {
808808
if !ne(OutType.ElementSize, InType.ElementSize) then {
809809
def : SPVBuiltin<"UConvert_R" # OutType.Name # sat, [OutType, InType], Attr.Const>;
@@ -814,6 +814,8 @@ foreach sat = ["", "_sat"] in {
814814
}
815815
}
816816
}
817+
}
818+
foreach InType = TLSignedInts.List in {
817819
foreach OutType = TLSignedInts.List in {
818820
if !ne(OutType.ElementSize, InType.ElementSize) then {
819821
def : SPVBuiltin<"SConvert_R" # OutType.Name # sat, [OutType, InType], Attr.Const>;
Lines changed: 232 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,232 @@
1+
// RUN: %clang_cc1 -triple=spirv64 -fdeclare-spirv-builtins -emit-llvm %s -o - | FileCheck %s
2+
3+
template <bool, typename If, typename Else> struct conditional_t {
4+
using T = If;
5+
};
6+
7+
template <typename If, typename Else> struct conditional_t<false, If, Else> {
8+
using T = Else;
9+
};
10+
11+
#define DEFINE_TEST_CONVERT_N(Op, N, DstTy, DstTyName, SrcTy, SrcTyName) \
12+
namespace Op##DstTyName##SrcTyName { \
13+
using DTy##N = \
14+
conditional_t<N == 1, DstTy, \
15+
DstTy __attribute__((ext_vector_type(N)))>::T; \
16+
using STy##N = \
17+
conditional_t<N == 1, SrcTy, \
18+
SrcTy __attribute__((ext_vector_type(N)))>::T; \
19+
DTy##N test_##Name##DstTyName(STy##N v) { \
20+
return __spirv_##Op##Convert_R##DstTyName(v); \
21+
} \
22+
STy##N test_##Name##SrcTyName(DTy##N v) { \
23+
return __spirv_##Op##Convert_R##SrcTyName(v); \
24+
} \
25+
}
26+
27+
#define DEFINE_TEST_CONVERT(Op, DstTy, DstTySpvName, SrcTy, SrcTySpvName) \
28+
DEFINE_TEST_CONVERT_N(Op, 1, DstTy, DstTySpvName, SrcTy, SrcTySpvName) \
29+
DEFINE_TEST_CONVERT_N(Op, 2, DstTy, DstTySpvName##2, SrcTy, SrcTySpvName##2) \
30+
DEFINE_TEST_CONVERT_N(Op, 3, DstTy, DstTySpvName##3, SrcTy, SrcTySpvName##3) \
31+
DEFINE_TEST_CONVERT_N(Op, 4, DstTy, DstTySpvName##4, SrcTy, SrcTySpvName##4) \
32+
DEFINE_TEST_CONVERT_N(Op, 8, DstTy, DstTySpvName##8, SrcTy, SrcTySpvName##8) \
33+
DEFINE_TEST_CONVERT_N(Op, 16, DstTy, DstTySpvName##16, SrcTy, \
34+
SrcTySpvName##16)
35+
36+
DEFINE_TEST_CONVERT(S, char, char, short, short)
37+
DEFINE_TEST_CONVERT(S, char, char, int, int)
38+
DEFINE_TEST_CONVERT(S, char, char, long, long)
39+
DEFINE_TEST_CONVERT(S, signed char, schar, int, int)
40+
DEFINE_TEST_CONVERT(S, signed char, schar, short, short)
41+
DEFINE_TEST_CONVERT(S, signed char, schar, long, long)
42+
DEFINE_TEST_CONVERT(S, short, short, int, int)
43+
DEFINE_TEST_CONVERT(S, short, short, long, long)
44+
DEFINE_TEST_CONVERT(S, int, int, long, long)
45+
46+
DEFINE_TEST_CONVERT(U, unsigned char, uchar, unsigned short, ushort)
47+
DEFINE_TEST_CONVERT(U, unsigned char, uchar, unsigned int, uint)
48+
DEFINE_TEST_CONVERT(U, unsigned char, uchar, unsigned long, ulong)
49+
DEFINE_TEST_CONVERT(U, unsigned short, ushort, unsigned int, uint)
50+
DEFINE_TEST_CONVERT(U, unsigned short, ushort, unsigned long, ulong)
51+
DEFINE_TEST_CONVERT(U, unsigned int, uint, unsigned long, ulong)
52+
53+
// CHECK: call {{.*}} signext i8 @_Z22__spirv_SConvert_Rchars
54+
// CHECK: call {{.*}} signext i16 @_Z23__spirv_SConvert_Rshortc
55+
// CHECK: call {{.*}} <2 x i8> @_Z23__spirv_SConvert_Rchar2Dv2_s
56+
// CHECK: call {{.*}} <2 x i16> @_Z24__spirv_SConvert_Rshort2Dv2_c
57+
// CHECK: call {{.*}} <3 x i8> @_Z23__spirv_SConvert_Rchar3Dv3_s
58+
// CHECK: call {{.*}} <3 x i16> @_Z24__spirv_SConvert_Rshort3Dv3_c
59+
// CHECK: call {{.*}} <4 x i8> @_Z23__spirv_SConvert_Rchar4Dv4_s
60+
// CHECK: call {{.*}} <4 x i16> @_Z24__spirv_SConvert_Rshort4Dv4_c
61+
// CHECK: call {{.*}} <8 x i8> @_Z23__spirv_SConvert_Rchar8Dv8_s
62+
// CHECK: call {{.*}} <8 x i16> @_Z24__spirv_SConvert_Rshort8Dv8_c
63+
// CHECK: call {{.*}} <16 x i8> @_Z24__spirv_SConvert_Rchar16Dv16_s
64+
// CHECK: call {{.*}} <16 x i16> @_Z25__spirv_SConvert_Rshort16Dv16_c
65+
// CHECK: call {{.*}} signext i8 @_Z22__spirv_SConvert_Rchari
66+
// CHECK: call {{.*}} i32 @_Z21__spirv_SConvert_Rintc
67+
// CHECK: call {{.*}} <2 x i8> @_Z23__spirv_SConvert_Rchar2Dv2_i
68+
// CHECK: call {{.*}} <2 x i32> @_Z22__spirv_SConvert_Rint2Dv2_c
69+
// CHECK: call {{.*}} <3 x i8> @_Z23__spirv_SConvert_Rchar3Dv3_i
70+
// CHECK: call {{.*}} <3 x i32> @_Z22__spirv_SConvert_Rint3Dv3_c
71+
// CHECK: call {{.*}} <4 x i8> @_Z23__spirv_SConvert_Rchar4Dv4_i
72+
// CHECK: call {{.*}} <4 x i32> @_Z22__spirv_SConvert_Rint4Dv4_c
73+
// CHECK: call {{.*}} <8 x i8> @_Z23__spirv_SConvert_Rchar8Dv8_i
74+
// CHECK: call {{.*}} <8 x i32> @_Z22__spirv_SConvert_Rint8Dv8_c
75+
// CHECK: call {{.*}} <16 x i8> @_Z24__spirv_SConvert_Rchar16Dv16_i
76+
// CHECK: call {{.*}} <16 x i32> @_Z23__spirv_SConvert_Rint16Dv16_c
77+
// CHECK: call {{.*}} signext i8 @_Z22__spirv_SConvert_Rcharl
78+
// CHECK: call {{.*}} i64 @_Z22__spirv_SConvert_Rlongc
79+
// CHECK: call {{.*}} <2 x i8> @_Z23__spirv_SConvert_Rchar2Dv2_l
80+
// CHECK: call {{.*}} <2 x i64> @_Z23__spirv_SConvert_Rlong2Dv2_c
81+
// CHECK: call {{.*}} <3 x i8> @_Z23__spirv_SConvert_Rchar3Dv3_l
82+
// CHECK: call {{.*}} <3 x i64> @_Z23__spirv_SConvert_Rlong3Dv3_c
83+
// CHECK: call {{.*}} <4 x i8> @_Z23__spirv_SConvert_Rchar4Dv4_l
84+
// CHECK: call {{.*}} <4 x i64> @_Z23__spirv_SConvert_Rlong4Dv4_c
85+
// CHECK: call {{.*}} <8 x i8> @_Z23__spirv_SConvert_Rchar8Dv8_l
86+
// CHECK: call {{.*}} <8 x i64> @_Z23__spirv_SConvert_Rlong8Dv8_c
87+
// CHECK: call {{.*}} <16 x i8> @_Z24__spirv_SConvert_Rchar16Dv16_l
88+
// CHECK: call {{.*}} <16 x i64> @_Z24__spirv_SConvert_Rlong16Dv16_c
89+
// CHECK: call {{.*}} signext i8 @_Z23__spirv_SConvert_Rschari
90+
// CHECK: call {{.*}} i32 @_Z21__spirv_SConvert_Rinta
91+
// CHECK: call {{.*}} <2 x i8> @_Z24__spirv_SConvert_Rschar2Dv2_i
92+
// CHECK: call {{.*}} <2 x i32> @_Z22__spirv_SConvert_Rint2Dv2_a
93+
// CHECK: call {{.*}} <3 x i8> @_Z24__spirv_SConvert_Rschar3Dv3_i
94+
// CHECK: call {{.*}} <3 x i32> @_Z22__spirv_SConvert_Rint3Dv3_a
95+
// CHECK: call {{.*}} <4 x i8> @_Z24__spirv_SConvert_Rschar4Dv4_i
96+
// CHECK: call {{.*}} <4 x i32> @_Z22__spirv_SConvert_Rint4Dv4_a
97+
// CHECK: call {{.*}} <8 x i8> @_Z24__spirv_SConvert_Rschar8Dv8_i
98+
// CHECK: call {{.*}} <8 x i32> @_Z22__spirv_SConvert_Rint8Dv8_a
99+
// CHECK: call {{.*}} <16 x i8> @_Z25__spirv_SConvert_Rschar16Dv16_i
100+
// CHECK: call {{.*}} <16 x i32> @_Z23__spirv_SConvert_Rint16Dv16_a
101+
// CHECK: call {{.*}} signext i8 @_Z23__spirv_SConvert_Rschars
102+
// CHECK: call {{.*}} signext i16 @_Z23__spirv_SConvert_Rshorta
103+
// CHECK: call {{.*}} <2 x i8> @_Z24__spirv_SConvert_Rschar2Dv2_s
104+
// CHECK: call {{.*}} <2 x i16> @_Z24__spirv_SConvert_Rshort2Dv2_a
105+
// CHECK: call {{.*}} <3 x i8> @_Z24__spirv_SConvert_Rschar3Dv3_s
106+
// CHECK: call {{.*}} <3 x i16> @_Z24__spirv_SConvert_Rshort3Dv3_a
107+
// CHECK: call {{.*}} <4 x i8> @_Z24__spirv_SConvert_Rschar4Dv4_s
108+
// CHECK: call {{.*}} <4 x i16> @_Z24__spirv_SConvert_Rshort4Dv4_a
109+
// CHECK: call {{.*}} <8 x i8> @_Z24__spirv_SConvert_Rschar8Dv8_s
110+
// CHECK: call {{.*}} <8 x i16> @_Z24__spirv_SConvert_Rshort8Dv8_a
111+
// CHECK: call {{.*}} <16 x i8> @_Z25__spirv_SConvert_Rschar16Dv16_s
112+
// CHECK: call {{.*}} <16 x i16> @_Z25__spirv_SConvert_Rshort16Dv16_a
113+
// CHECK: call {{.*}} signext i8 @_Z23__spirv_SConvert_Rscharl
114+
// CHECK: call {{.*}} i64 @_Z22__spirv_SConvert_Rlonga
115+
// CHECK: call {{.*}} <2 x i8> @_Z24__spirv_SConvert_Rschar2Dv2_l
116+
// CHECK: call {{.*}} <2 x i64> @_Z23__spirv_SConvert_Rlong2Dv2_a
117+
// CHECK: call {{.*}} <3 x i8> @_Z24__spirv_SConvert_Rschar3Dv3_l
118+
// CHECK: call {{.*}} <3 x i64> @_Z23__spirv_SConvert_Rlong3Dv3_a
119+
// CHECK: call {{.*}} <4 x i8> @_Z24__spirv_SConvert_Rschar4Dv4_l
120+
// CHECK: call {{.*}} <4 x i64> @_Z23__spirv_SConvert_Rlong4Dv4_a
121+
// CHECK: call {{.*}} <8 x i8> @_Z24__spirv_SConvert_Rschar8Dv8_l
122+
// CHECK: call {{.*}} <8 x i64> @_Z23__spirv_SConvert_Rlong8Dv8_a
123+
// CHECK: call {{.*}} <16 x i8> @_Z25__spirv_SConvert_Rschar16Dv16_l
124+
// CHECK: call {{.*}} <16 x i64> @_Z24__spirv_SConvert_Rlong16Dv16_a
125+
// CHECK: call {{.*}} signext i16 @_Z23__spirv_SConvert_Rshorti
126+
// CHECK: call {{.*}} i32 @_Z21__spirv_SConvert_Rints
127+
// CHECK: call {{.*}} <2 x i16> @_Z24__spirv_SConvert_Rshort2Dv2_i
128+
// CHECK: call {{.*}} <2 x i32> @_Z22__spirv_SConvert_Rint2Dv2_s
129+
// CHECK: call {{.*}} <3 x i16> @_Z24__spirv_SConvert_Rshort3Dv3_i
130+
// CHECK: call {{.*}} <3 x i32> @_Z22__spirv_SConvert_Rint3Dv3_s
131+
// CHECK: call {{.*}} <4 x i16> @_Z24__spirv_SConvert_Rshort4Dv4_i
132+
// CHECK: call {{.*}} <4 x i32> @_Z22__spirv_SConvert_Rint4Dv4_s
133+
// CHECK: call {{.*}} <8 x i16> @_Z24__spirv_SConvert_Rshort8Dv8_i
134+
// CHECK: call {{.*}} <8 x i32> @_Z22__spirv_SConvert_Rint8Dv8_s
135+
// CHECK: call {{.*}} <16 x i16> @_Z25__spirv_SConvert_Rshort16Dv16_i
136+
// CHECK: call {{.*}} <16 x i32> @_Z23__spirv_SConvert_Rint16Dv16_s
137+
// CHECK: call {{.*}} signext i16 @_Z23__spirv_SConvert_Rshortl
138+
// CHECK: call {{.*}} i64 @_Z22__spirv_SConvert_Rlongs
139+
// CHECK: call {{.*}} <2 x i16> @_Z24__spirv_SConvert_Rshort2Dv2_l
140+
// CHECK: call {{.*}} <2 x i64> @_Z23__spirv_SConvert_Rlong2Dv2_s
141+
// CHECK: call {{.*}} <3 x i16> @_Z24__spirv_SConvert_Rshort3Dv3_l
142+
// CHECK: call {{.*}} <3 x i64> @_Z23__spirv_SConvert_Rlong3Dv3_s
143+
// CHECK: call {{.*}} <4 x i16> @_Z24__spirv_SConvert_Rshort4Dv4_l
144+
// CHECK: call {{.*}} <4 x i64> @_Z23__spirv_SConvert_Rlong4Dv4_s
145+
// CHECK: call {{.*}} <8 x i16> @_Z24__spirv_SConvert_Rshort8Dv8_l
146+
// CHECK: call {{.*}} <8 x i64> @_Z23__spirv_SConvert_Rlong8Dv8_s
147+
// CHECK: call {{.*}} <16 x i16> @_Z25__spirv_SConvert_Rshort16Dv16_l
148+
// CHECK: call {{.*}} <16 x i64> @_Z24__spirv_SConvert_Rlong16Dv16_s
149+
// CHECK: call {{.*}} i32 @_Z21__spirv_SConvert_Rintl
150+
// CHECK: call {{.*}} i64 @_Z22__spirv_SConvert_Rlongi
151+
// CHECK: call {{.*}} <2 x i32> @_Z22__spirv_SConvert_Rint2Dv2_l
152+
// CHECK: call {{.*}} <2 x i64> @_Z23__spirv_SConvert_Rlong2Dv2_i
153+
// CHECK: call {{.*}} <3 x i32> @_Z22__spirv_SConvert_Rint3Dv3_l
154+
// CHECK: call {{.*}} <3 x i64> @_Z23__spirv_SConvert_Rlong3Dv3_i
155+
// CHECK: call {{.*}} <4 x i32> @_Z22__spirv_SConvert_Rint4Dv4_l
156+
// CHECK: call {{.*}} <4 x i64> @_Z23__spirv_SConvert_Rlong4Dv4_i
157+
// CHECK: call {{.*}} <8 x i32> @_Z22__spirv_SConvert_Rint8Dv8_l
158+
// CHECK: call {{.*}} <8 x i64> @_Z23__spirv_SConvert_Rlong8Dv8_i
159+
// CHECK: call {{.*}} <16 x i32> @_Z23__spirv_SConvert_Rint16Dv16_l
160+
// CHECK: call {{.*}} <16 x i64> @_Z24__spirv_SConvert_Rlong16Dv16_i
161+
// CHECK: call {{.*}} zeroext i8 @_Z23__spirv_UConvert_Ruchart
162+
// CHECK: call {{.*}} zeroext i16 @_Z24__spirv_UConvert_Rushorth
163+
// CHECK: call {{.*}} <2 x i8> @_Z24__spirv_UConvert_Ruchar2Dv2_t
164+
// CHECK: call {{.*}} <2 x i16> @_Z25__spirv_UConvert_Rushort2Dv2_h
165+
// CHECK: call {{.*}} <3 x i8> @_Z24__spirv_UConvert_Ruchar3Dv3_t
166+
// CHECK: call {{.*}} <3 x i16> @_Z25__spirv_UConvert_Rushort3Dv3_h
167+
// CHECK: call {{.*}} <4 x i8> @_Z24__spirv_UConvert_Ruchar4Dv4_t
168+
// CHECK: call {{.*}} <4 x i16> @_Z25__spirv_UConvert_Rushort4Dv4_h
169+
// CHECK: call {{.*}} <8 x i8> @_Z24__spirv_UConvert_Ruchar8Dv8_t
170+
// CHECK: call {{.*}} <8 x i16> @_Z25__spirv_UConvert_Rushort8Dv8_h
171+
// CHECK: call {{.*}} <16 x i8> @_Z25__spirv_UConvert_Ruchar16Dv16_t
172+
// CHECK: call {{.*}} <16 x i16> @_Z26__spirv_UConvert_Rushort16Dv16_h
173+
// CHECK: call {{.*}} zeroext i8 @_Z23__spirv_UConvert_Rucharj
174+
// CHECK: call {{.*}} i32 @_Z22__spirv_UConvert_Ruinth
175+
// CHECK: call {{.*}} <2 x i8> @_Z24__spirv_UConvert_Ruchar2Dv2_j
176+
// CHECK: call {{.*}} <2 x i32> @_Z23__spirv_UConvert_Ruint2Dv2_h
177+
// CHECK: call {{.*}} <3 x i8> @_Z24__spirv_UConvert_Ruchar3Dv3_j
178+
// CHECK: call {{.*}} <3 x i32> @_Z23__spirv_UConvert_Ruint3Dv3_h
179+
// CHECK: call {{.*}} <4 x i8> @_Z24__spirv_UConvert_Ruchar4Dv4_j
180+
// CHECK: call {{.*}} <4 x i32> @_Z23__spirv_UConvert_Ruint4Dv4_h
181+
// CHECK: call {{.*}} <8 x i8> @_Z24__spirv_UConvert_Ruchar8Dv8_j
182+
// CHECK: call {{.*}} <8 x i32> @_Z23__spirv_UConvert_Ruint8Dv8_h
183+
// CHECK: call {{.*}} <16 x i8> @_Z25__spirv_UConvert_Ruchar16Dv16_j
184+
// CHECK: call {{.*}} <16 x i32> @_Z24__spirv_UConvert_Ruint16Dv16_h
185+
// CHECK: call {{.*}} zeroext i8 @_Z23__spirv_UConvert_Rucharm
186+
// CHECK: call {{.*}} i64 @_Z23__spirv_UConvert_Rulongh
187+
// CHECK: call {{.*}} <2 x i8> @_Z24__spirv_UConvert_Ruchar2Dv2_m
188+
// CHECK: call {{.*}} <2 x i64> @_Z24__spirv_UConvert_Rulong2Dv2_h
189+
// CHECK: call {{.*}} <3 x i8> @_Z24__spirv_UConvert_Ruchar3Dv3_m
190+
// CHECK: call {{.*}} <3 x i64> @_Z24__spirv_UConvert_Rulong3Dv3_h
191+
// CHECK: call {{.*}} <4 x i8> @_Z24__spirv_UConvert_Ruchar4Dv4_m
192+
// CHECK: call {{.*}} <4 x i64> @_Z24__spirv_UConvert_Rulong4Dv4_h
193+
// CHECK: call {{.*}} <8 x i8> @_Z24__spirv_UConvert_Ruchar8Dv8_m
194+
// CHECK: call {{.*}} <8 x i64> @_Z24__spirv_UConvert_Rulong8Dv8_h
195+
// CHECK: call {{.*}} <16 x i8> @_Z25__spirv_UConvert_Ruchar16Dv16_m
196+
// CHECK: call {{.*}} <16 x i64> @_Z25__spirv_UConvert_Rulong16Dv16_h
197+
// CHECK: call {{.*}} zeroext i16 @_Z24__spirv_UConvert_Rushortj
198+
// CHECK: call {{.*}} i32 @_Z22__spirv_UConvert_Ruintt
199+
// CHECK: call {{.*}} <2 x i16> @_Z25__spirv_UConvert_Rushort2Dv2_j
200+
// CHECK: call {{.*}} <2 x i32> @_Z23__spirv_UConvert_Ruint2Dv2_t
201+
// CHECK: call {{.*}} <3 x i16> @_Z25__spirv_UConvert_Rushort3Dv3_j
202+
// CHECK: call {{.*}} <3 x i32> @_Z23__spirv_UConvert_Ruint3Dv3_t
203+
// CHECK: call {{.*}} <4 x i16> @_Z25__spirv_UConvert_Rushort4Dv4_j
204+
// CHECK: call {{.*}} <4 x i32> @_Z23__spirv_UConvert_Ruint4Dv4_t
205+
// CHECK: call {{.*}} <8 x i16> @_Z25__spirv_UConvert_Rushort8Dv8_j
206+
// CHECK: call {{.*}} <8 x i32> @_Z23__spirv_UConvert_Ruint8Dv8_t
207+
// CHECK: call {{.*}} <16 x i16> @_Z26__spirv_UConvert_Rushort16Dv16_j
208+
// CHECK: call {{.*}} <16 x i32> @_Z24__spirv_UConvert_Ruint16Dv16_t
209+
// CHECK: call {{.*}} zeroext i16 @_Z24__spirv_UConvert_Rushortm
210+
// CHECK: call {{.*}} i64 @_Z23__spirv_UConvert_Rulongt
211+
// CHECK: call {{.*}} <2 x i16> @_Z25__spirv_UConvert_Rushort2Dv2_m
212+
// CHECK: call {{.*}} <2 x i64> @_Z24__spirv_UConvert_Rulong2Dv2_t
213+
// CHECK: call {{.*}} <3 x i16> @_Z25__spirv_UConvert_Rushort3Dv3_m
214+
// CHECK: call {{.*}} <3 x i64> @_Z24__spirv_UConvert_Rulong3Dv3_t
215+
// CHECK: call {{.*}} <4 x i16> @_Z25__spirv_UConvert_Rushort4Dv4_m
216+
// CHECK: call {{.*}} <4 x i64> @_Z24__spirv_UConvert_Rulong4Dv4_t
217+
// CHECK: call {{.*}} <8 x i16> @_Z25__spirv_UConvert_Rushort8Dv8_m
218+
// CHECK: call {{.*}} <8 x i64> @_Z24__spirv_UConvert_Rulong8Dv8_t
219+
// CHECK: call {{.*}} <16 x i16> @_Z26__spirv_UConvert_Rushort16Dv16_m
220+
// CHECK: call {{.*}} <16 x i64> @_Z25__spirv_UConvert_Rulong16Dv16_t
221+
// CHECK: call {{.*}} i32 @_Z22__spirv_UConvert_Ruintm
222+
// CHECK: call {{.*}} i64 @_Z23__spirv_UConvert_Rulongj
223+
// CHECK: call {{.*}} <2 x i32> @_Z23__spirv_UConvert_Ruint2Dv2_m
224+
// CHECK: call {{.*}} <2 x i64> @_Z24__spirv_UConvert_Rulong2Dv2_j
225+
// CHECK: call {{.*}} <3 x i32> @_Z23__spirv_UConvert_Ruint3Dv3_m
226+
// CHECK: call {{.*}} <3 x i64> @_Z24__spirv_UConvert_Rulong3Dv3_j
227+
// CHECK: call {{.*}} <4 x i32> @_Z23__spirv_UConvert_Ruint4Dv4_m
228+
// CHECK: call {{.*}} <4 x i64> @_Z24__spirv_UConvert_Rulong4Dv4_j
229+
// CHECK: call {{.*}} <8 x i32> @_Z23__spirv_UConvert_Ruint8Dv8_m
230+
// CHECK: call {{.*}} <8 x i64> @_Z24__spirv_UConvert_Rulong8Dv8_j
231+
// CHECK: call {{.*}} <16 x i32> @_Z24__spirv_UConvert_Ruint16Dv16_m
232+
// CHECK: call {{.*}} <16 x i64> @_Z25__spirv_UConvert_Rulong16Dv16_j

libclc/test/binding/core/SConvert_Rchar.cl

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -20,27 +20,12 @@ test___spirv_SConvert_Rchar(__clc_int16_t args_0) {
2020
return __spirv_SConvert_Rchar(args_0);
2121
}
2222

23-
__attribute__((overloadable)) __clc_int8_t
24-
test___spirv_SConvert_Rchar(__clc_uint16_t args_0) {
25-
return __spirv_SConvert_Rchar(args_0);
26-
}
27-
2823
__attribute__((overloadable)) __clc_int8_t
2924
test___spirv_SConvert_Rchar(__clc_int32_t args_0) {
3025
return __spirv_SConvert_Rchar(args_0);
3126
}
3227

33-
__attribute__((overloadable)) __clc_int8_t
34-
test___spirv_SConvert_Rchar(__clc_uint32_t args_0) {
35-
return __spirv_SConvert_Rchar(args_0);
36-
}
37-
3828
__attribute__((overloadable)) __clc_int8_t
3929
test___spirv_SConvert_Rchar(__clc_int64_t args_0) {
4030
return __spirv_SConvert_Rchar(args_0);
4131
}
42-
43-
__attribute__((overloadable)) __clc_int8_t
44-
test___spirv_SConvert_Rchar(__clc_uint64_t args_0) {
45-
return __spirv_SConvert_Rchar(args_0);
46-
}

libclc/test/binding/core/SConvert_Rchar16.cl

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -20,27 +20,12 @@ test___spirv_SConvert_Rchar16(__clc_vec16_int16_t args_0) {
2020
return __spirv_SConvert_Rchar16(args_0);
2121
}
2222

23-
__attribute__((overloadable)) __clc_vec16_int8_t
24-
test___spirv_SConvert_Rchar16(__clc_vec16_uint16_t args_0) {
25-
return __spirv_SConvert_Rchar16(args_0);
26-
}
27-
2823
__attribute__((overloadable)) __clc_vec16_int8_t
2924
test___spirv_SConvert_Rchar16(__clc_vec16_int32_t args_0) {
3025
return __spirv_SConvert_Rchar16(args_0);
3126
}
3227

33-
__attribute__((overloadable)) __clc_vec16_int8_t
34-
test___spirv_SConvert_Rchar16(__clc_vec16_uint32_t args_0) {
35-
return __spirv_SConvert_Rchar16(args_0);
36-
}
37-
3828
__attribute__((overloadable)) __clc_vec16_int8_t
3929
test___spirv_SConvert_Rchar16(__clc_vec16_int64_t args_0) {
4030
return __spirv_SConvert_Rchar16(args_0);
4131
}
42-
43-
__attribute__((overloadable)) __clc_vec16_int8_t
44-
test___spirv_SConvert_Rchar16(__clc_vec16_uint64_t args_0) {
45-
return __spirv_SConvert_Rchar16(args_0);
46-
}

libclc/test/binding/core/SConvert_Rchar16_sat.cl

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -20,27 +20,12 @@ test___spirv_SConvert_Rchar16_sat(__clc_vec16_int16_t args_0) {
2020
return __spirv_SConvert_Rchar16_sat(args_0);
2121
}
2222

23-
__attribute__((overloadable)) __clc_vec16_int8_t
24-
test___spirv_SConvert_Rchar16_sat(__clc_vec16_uint16_t args_0) {
25-
return __spirv_SConvert_Rchar16_sat(args_0);
26-
}
27-
2823
__attribute__((overloadable)) __clc_vec16_int8_t
2924
test___spirv_SConvert_Rchar16_sat(__clc_vec16_int32_t args_0) {
3025
return __spirv_SConvert_Rchar16_sat(args_0);
3126
}
3227

33-
__attribute__((overloadable)) __clc_vec16_int8_t
34-
test___spirv_SConvert_Rchar16_sat(__clc_vec16_uint32_t args_0) {
35-
return __spirv_SConvert_Rchar16_sat(args_0);
36-
}
37-
3828
__attribute__((overloadable)) __clc_vec16_int8_t
3929
test___spirv_SConvert_Rchar16_sat(__clc_vec16_int64_t args_0) {
4030
return __spirv_SConvert_Rchar16_sat(args_0);
4131
}
42-
43-
__attribute__((overloadable)) __clc_vec16_int8_t
44-
test___spirv_SConvert_Rchar16_sat(__clc_vec16_uint64_t args_0) {
45-
return __spirv_SConvert_Rchar16_sat(args_0);
46-
}

libclc/test/binding/core/SConvert_Rchar2.cl

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -20,27 +20,12 @@ test___spirv_SConvert_Rchar2(__clc_vec2_int16_t args_0) {
2020
return __spirv_SConvert_Rchar2(args_0);
2121
}
2222

23-
__attribute__((overloadable)) __clc_vec2_int8_t
24-
test___spirv_SConvert_Rchar2(__clc_vec2_uint16_t args_0) {
25-
return __spirv_SConvert_Rchar2(args_0);
26-
}
27-
2823
__attribute__((overloadable)) __clc_vec2_int8_t
2924
test___spirv_SConvert_Rchar2(__clc_vec2_int32_t args_0) {
3025
return __spirv_SConvert_Rchar2(args_0);
3126
}
3227

33-
__attribute__((overloadable)) __clc_vec2_int8_t
34-
test___spirv_SConvert_Rchar2(__clc_vec2_uint32_t args_0) {
35-
return __spirv_SConvert_Rchar2(args_0);
36-
}
37-
3828
__attribute__((overloadable)) __clc_vec2_int8_t
3929
test___spirv_SConvert_Rchar2(__clc_vec2_int64_t args_0) {
4030
return __spirv_SConvert_Rchar2(args_0);
4131
}
42-
43-
__attribute__((overloadable)) __clc_vec2_int8_t
44-
test___spirv_SConvert_Rchar2(__clc_vec2_uint64_t args_0) {
45-
return __spirv_SConvert_Rchar2(args_0);
46-
}

libclc/test/binding/core/SConvert_Rchar2_sat.cl

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -20,27 +20,12 @@ test___spirv_SConvert_Rchar2_sat(__clc_vec2_int16_t args_0) {
2020
return __spirv_SConvert_Rchar2_sat(args_0);
2121
}
2222

23-
__attribute__((overloadable)) __clc_vec2_int8_t
24-
test___spirv_SConvert_Rchar2_sat(__clc_vec2_uint16_t args_0) {
25-
return __spirv_SConvert_Rchar2_sat(args_0);
26-
}
27-
2823
__attribute__((overloadable)) __clc_vec2_int8_t
2924
test___spirv_SConvert_Rchar2_sat(__clc_vec2_int32_t args_0) {
3025
return __spirv_SConvert_Rchar2_sat(args_0);
3126
}
3227

33-
__attribute__((overloadable)) __clc_vec2_int8_t
34-
test___spirv_SConvert_Rchar2_sat(__clc_vec2_uint32_t args_0) {
35-
return __spirv_SConvert_Rchar2_sat(args_0);
36-
}
37-
3828
__attribute__((overloadable)) __clc_vec2_int8_t
3929
test___spirv_SConvert_Rchar2_sat(__clc_vec2_int64_t args_0) {
4030
return __spirv_SConvert_Rchar2_sat(args_0);
4131
}
42-
43-
__attribute__((overloadable)) __clc_vec2_int8_t
44-
test___spirv_SConvert_Rchar2_sat(__clc_vec2_uint64_t args_0) {
45-
return __spirv_SConvert_Rchar2_sat(args_0);
46-
}

0 commit comments

Comments
 (0)