Skip to content

[SYCL] Change UConvert arg type to unsigned and SConvert arg type to signed #19316

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 4 commits into
base: sycl
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion clang/lib/Sema/SPIRVBuiltins.td
Original file line number Diff line number Diff line change
Expand Up @@ -803,7 +803,7 @@ foreach rnd = ["", "_rte", "_rtn", "_rtp", "_rtz"] in {
}

foreach sat = ["", "_sat"] in {
foreach InType = TLAllInts.List in {
foreach InType = TLUnsignedInts.List in {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you please add a clang test for the change?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you please add a clang test for the change?

done in 587306a

foreach OutType = TLUnsignedInts.List in {
if !ne(OutType.ElementSize, InType.ElementSize) then {
def : SPVBuiltin<"UConvert_R" # OutType.Name # sat, [OutType, InType], Attr.Const>;
Expand All @@ -814,6 +814,8 @@ foreach sat = ["", "_sat"] in {
}
}
}
}
foreach InType = TLSignedInts.List in {
foreach OutType = TLSignedInts.List in {
if !ne(OutType.ElementSize, InType.ElementSize) then {
def : SPVBuiltin<"SConvert_R" # OutType.Name # sat, [OutType, InType], Attr.Const>;
Expand Down
1 change: 1 addition & 0 deletions libclc/test/.clang-format
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
DisableFormat: true
15 changes: 0 additions & 15 deletions libclc/test/binding/core/SConvert_Rchar.cl
Original file line number Diff line number Diff line change
Expand Up @@ -20,27 +20,12 @@ test___spirv_SConvert_Rchar(__clc_int16_t args_0) {
return __spirv_SConvert_Rchar(args_0);
}

__attribute__((overloadable)) __clc_int8_t
test___spirv_SConvert_Rchar(__clc_uint16_t args_0) {
return __spirv_SConvert_Rchar(args_0);
}

__attribute__((overloadable)) __clc_int8_t
test___spirv_SConvert_Rchar(__clc_int32_t args_0) {
return __spirv_SConvert_Rchar(args_0);
}

__attribute__((overloadable)) __clc_int8_t
test___spirv_SConvert_Rchar(__clc_uint32_t args_0) {
return __spirv_SConvert_Rchar(args_0);
}

__attribute__((overloadable)) __clc_int8_t
test___spirv_SConvert_Rchar(__clc_int64_t args_0) {
return __spirv_SConvert_Rchar(args_0);
}

__attribute__((overloadable)) __clc_int8_t
test___spirv_SConvert_Rchar(__clc_uint64_t args_0) {
return __spirv_SConvert_Rchar(args_0);
}
15 changes: 0 additions & 15 deletions libclc/test/binding/core/SConvert_Rchar16.cl
Original file line number Diff line number Diff line change
Expand Up @@ -20,27 +20,12 @@ test___spirv_SConvert_Rchar16(__clc_vec16_int16_t args_0) {
return __spirv_SConvert_Rchar16(args_0);
}

__attribute__((overloadable)) __clc_vec16_int8_t
test___spirv_SConvert_Rchar16(__clc_vec16_uint16_t args_0) {
return __spirv_SConvert_Rchar16(args_0);
}

__attribute__((overloadable)) __clc_vec16_int8_t
test___spirv_SConvert_Rchar16(__clc_vec16_int32_t args_0) {
return __spirv_SConvert_Rchar16(args_0);
}

__attribute__((overloadable)) __clc_vec16_int8_t
test___spirv_SConvert_Rchar16(__clc_vec16_uint32_t args_0) {
return __spirv_SConvert_Rchar16(args_0);
}

__attribute__((overloadable)) __clc_vec16_int8_t
test___spirv_SConvert_Rchar16(__clc_vec16_int64_t args_0) {
return __spirv_SConvert_Rchar16(args_0);
}

__attribute__((overloadable)) __clc_vec16_int8_t
test___spirv_SConvert_Rchar16(__clc_vec16_uint64_t args_0) {
return __spirv_SConvert_Rchar16(args_0);
}
15 changes: 0 additions & 15 deletions libclc/test/binding/core/SConvert_Rchar16_sat.cl
Original file line number Diff line number Diff line change
Expand Up @@ -20,27 +20,12 @@ test___spirv_SConvert_Rchar16_sat(__clc_vec16_int16_t args_0) {
return __spirv_SConvert_Rchar16_sat(args_0);
}

__attribute__((overloadable)) __clc_vec16_int8_t
test___spirv_SConvert_Rchar16_sat(__clc_vec16_uint16_t args_0) {
return __spirv_SConvert_Rchar16_sat(args_0);
}

__attribute__((overloadable)) __clc_vec16_int8_t
test___spirv_SConvert_Rchar16_sat(__clc_vec16_int32_t args_0) {
return __spirv_SConvert_Rchar16_sat(args_0);
}

__attribute__((overloadable)) __clc_vec16_int8_t
test___spirv_SConvert_Rchar16_sat(__clc_vec16_uint32_t args_0) {
return __spirv_SConvert_Rchar16_sat(args_0);
}

__attribute__((overloadable)) __clc_vec16_int8_t
test___spirv_SConvert_Rchar16_sat(__clc_vec16_int64_t args_0) {
return __spirv_SConvert_Rchar16_sat(args_0);
}

__attribute__((overloadable)) __clc_vec16_int8_t
test___spirv_SConvert_Rchar16_sat(__clc_vec16_uint64_t args_0) {
return __spirv_SConvert_Rchar16_sat(args_0);
}
15 changes: 0 additions & 15 deletions libclc/test/binding/core/SConvert_Rchar2.cl
Original file line number Diff line number Diff line change
Expand Up @@ -20,27 +20,12 @@ test___spirv_SConvert_Rchar2(__clc_vec2_int16_t args_0) {
return __spirv_SConvert_Rchar2(args_0);
}

__attribute__((overloadable)) __clc_vec2_int8_t
test___spirv_SConvert_Rchar2(__clc_vec2_uint16_t args_0) {
return __spirv_SConvert_Rchar2(args_0);
}

__attribute__((overloadable)) __clc_vec2_int8_t
test___spirv_SConvert_Rchar2(__clc_vec2_int32_t args_0) {
return __spirv_SConvert_Rchar2(args_0);
}

__attribute__((overloadable)) __clc_vec2_int8_t
test___spirv_SConvert_Rchar2(__clc_vec2_uint32_t args_0) {
return __spirv_SConvert_Rchar2(args_0);
}

__attribute__((overloadable)) __clc_vec2_int8_t
test___spirv_SConvert_Rchar2(__clc_vec2_int64_t args_0) {
return __spirv_SConvert_Rchar2(args_0);
}

__attribute__((overloadable)) __clc_vec2_int8_t
test___spirv_SConvert_Rchar2(__clc_vec2_uint64_t args_0) {
return __spirv_SConvert_Rchar2(args_0);
}
15 changes: 0 additions & 15 deletions libclc/test/binding/core/SConvert_Rchar2_sat.cl
Original file line number Diff line number Diff line change
Expand Up @@ -20,27 +20,12 @@ test___spirv_SConvert_Rchar2_sat(__clc_vec2_int16_t args_0) {
return __spirv_SConvert_Rchar2_sat(args_0);
}

__attribute__((overloadable)) __clc_vec2_int8_t
test___spirv_SConvert_Rchar2_sat(__clc_vec2_uint16_t args_0) {
return __spirv_SConvert_Rchar2_sat(args_0);
}

__attribute__((overloadable)) __clc_vec2_int8_t
test___spirv_SConvert_Rchar2_sat(__clc_vec2_int32_t args_0) {
return __spirv_SConvert_Rchar2_sat(args_0);
}

__attribute__((overloadable)) __clc_vec2_int8_t
test___spirv_SConvert_Rchar2_sat(__clc_vec2_uint32_t args_0) {
return __spirv_SConvert_Rchar2_sat(args_0);
}

__attribute__((overloadable)) __clc_vec2_int8_t
test___spirv_SConvert_Rchar2_sat(__clc_vec2_int64_t args_0) {
return __spirv_SConvert_Rchar2_sat(args_0);
}

__attribute__((overloadable)) __clc_vec2_int8_t
test___spirv_SConvert_Rchar2_sat(__clc_vec2_uint64_t args_0) {
return __spirv_SConvert_Rchar2_sat(args_0);
}
15 changes: 0 additions & 15 deletions libclc/test/binding/core/SConvert_Rchar3.cl
Original file line number Diff line number Diff line change
Expand Up @@ -20,27 +20,12 @@ test___spirv_SConvert_Rchar3(__clc_vec3_int16_t args_0) {
return __spirv_SConvert_Rchar3(args_0);
}

__attribute__((overloadable)) __clc_vec3_int8_t
test___spirv_SConvert_Rchar3(__clc_vec3_uint16_t args_0) {
return __spirv_SConvert_Rchar3(args_0);
}

__attribute__((overloadable)) __clc_vec3_int8_t
test___spirv_SConvert_Rchar3(__clc_vec3_int32_t args_0) {
return __spirv_SConvert_Rchar3(args_0);
}

__attribute__((overloadable)) __clc_vec3_int8_t
test___spirv_SConvert_Rchar3(__clc_vec3_uint32_t args_0) {
return __spirv_SConvert_Rchar3(args_0);
}

__attribute__((overloadable)) __clc_vec3_int8_t
test___spirv_SConvert_Rchar3(__clc_vec3_int64_t args_0) {
return __spirv_SConvert_Rchar3(args_0);
}

__attribute__((overloadable)) __clc_vec3_int8_t
test___spirv_SConvert_Rchar3(__clc_vec3_uint64_t args_0) {
return __spirv_SConvert_Rchar3(args_0);
}
15 changes: 0 additions & 15 deletions libclc/test/binding/core/SConvert_Rchar3_sat.cl
Original file line number Diff line number Diff line change
Expand Up @@ -20,27 +20,12 @@ test___spirv_SConvert_Rchar3_sat(__clc_vec3_int16_t args_0) {
return __spirv_SConvert_Rchar3_sat(args_0);
}

__attribute__((overloadable)) __clc_vec3_int8_t
test___spirv_SConvert_Rchar3_sat(__clc_vec3_uint16_t args_0) {
return __spirv_SConvert_Rchar3_sat(args_0);
}

__attribute__((overloadable)) __clc_vec3_int8_t
test___spirv_SConvert_Rchar3_sat(__clc_vec3_int32_t args_0) {
return __spirv_SConvert_Rchar3_sat(args_0);
}

__attribute__((overloadable)) __clc_vec3_int8_t
test___spirv_SConvert_Rchar3_sat(__clc_vec3_uint32_t args_0) {
return __spirv_SConvert_Rchar3_sat(args_0);
}

__attribute__((overloadable)) __clc_vec3_int8_t
test___spirv_SConvert_Rchar3_sat(__clc_vec3_int64_t args_0) {
return __spirv_SConvert_Rchar3_sat(args_0);
}

__attribute__((overloadable)) __clc_vec3_int8_t
test___spirv_SConvert_Rchar3_sat(__clc_vec3_uint64_t args_0) {
return __spirv_SConvert_Rchar3_sat(args_0);
}
15 changes: 0 additions & 15 deletions libclc/test/binding/core/SConvert_Rchar4.cl
Original file line number Diff line number Diff line change
Expand Up @@ -20,27 +20,12 @@ test___spirv_SConvert_Rchar4(__clc_vec4_int16_t args_0) {
return __spirv_SConvert_Rchar4(args_0);
}

__attribute__((overloadable)) __clc_vec4_int8_t
test___spirv_SConvert_Rchar4(__clc_vec4_uint16_t args_0) {
return __spirv_SConvert_Rchar4(args_0);
}

__attribute__((overloadable)) __clc_vec4_int8_t
test___spirv_SConvert_Rchar4(__clc_vec4_int32_t args_0) {
return __spirv_SConvert_Rchar4(args_0);
}

__attribute__((overloadable)) __clc_vec4_int8_t
test___spirv_SConvert_Rchar4(__clc_vec4_uint32_t args_0) {
return __spirv_SConvert_Rchar4(args_0);
}

__attribute__((overloadable)) __clc_vec4_int8_t
test___spirv_SConvert_Rchar4(__clc_vec4_int64_t args_0) {
return __spirv_SConvert_Rchar4(args_0);
}

__attribute__((overloadable)) __clc_vec4_int8_t
test___spirv_SConvert_Rchar4(__clc_vec4_uint64_t args_0) {
return __spirv_SConvert_Rchar4(args_0);
}
15 changes: 0 additions & 15 deletions libclc/test/binding/core/SConvert_Rchar4_sat.cl
Original file line number Diff line number Diff line change
Expand Up @@ -20,27 +20,12 @@ test___spirv_SConvert_Rchar4_sat(__clc_vec4_int16_t args_0) {
return __spirv_SConvert_Rchar4_sat(args_0);
}

__attribute__((overloadable)) __clc_vec4_int8_t
test___spirv_SConvert_Rchar4_sat(__clc_vec4_uint16_t args_0) {
return __spirv_SConvert_Rchar4_sat(args_0);
}

__attribute__((overloadable)) __clc_vec4_int8_t
test___spirv_SConvert_Rchar4_sat(__clc_vec4_int32_t args_0) {
return __spirv_SConvert_Rchar4_sat(args_0);
}

__attribute__((overloadable)) __clc_vec4_int8_t
test___spirv_SConvert_Rchar4_sat(__clc_vec4_uint32_t args_0) {
return __spirv_SConvert_Rchar4_sat(args_0);
}

__attribute__((overloadable)) __clc_vec4_int8_t
test___spirv_SConvert_Rchar4_sat(__clc_vec4_int64_t args_0) {
return __spirv_SConvert_Rchar4_sat(args_0);
}

__attribute__((overloadable)) __clc_vec4_int8_t
test___spirv_SConvert_Rchar4_sat(__clc_vec4_uint64_t args_0) {
return __spirv_SConvert_Rchar4_sat(args_0);
}
15 changes: 0 additions & 15 deletions libclc/test/binding/core/SConvert_Rchar8.cl
Original file line number Diff line number Diff line change
Expand Up @@ -20,27 +20,12 @@ test___spirv_SConvert_Rchar8(__clc_vec8_int16_t args_0) {
return __spirv_SConvert_Rchar8(args_0);
}

__attribute__((overloadable)) __clc_vec8_int8_t
test___spirv_SConvert_Rchar8(__clc_vec8_uint16_t args_0) {
return __spirv_SConvert_Rchar8(args_0);
}

__attribute__((overloadable)) __clc_vec8_int8_t
test___spirv_SConvert_Rchar8(__clc_vec8_int32_t args_0) {
return __spirv_SConvert_Rchar8(args_0);
}

__attribute__((overloadable)) __clc_vec8_int8_t
test___spirv_SConvert_Rchar8(__clc_vec8_uint32_t args_0) {
return __spirv_SConvert_Rchar8(args_0);
}

__attribute__((overloadable)) __clc_vec8_int8_t
test___spirv_SConvert_Rchar8(__clc_vec8_int64_t args_0) {
return __spirv_SConvert_Rchar8(args_0);
}

__attribute__((overloadable)) __clc_vec8_int8_t
test___spirv_SConvert_Rchar8(__clc_vec8_uint64_t args_0) {
return __spirv_SConvert_Rchar8(args_0);
}
15 changes: 0 additions & 15 deletions libclc/test/binding/core/SConvert_Rchar8_sat.cl
Original file line number Diff line number Diff line change
Expand Up @@ -20,27 +20,12 @@ test___spirv_SConvert_Rchar8_sat(__clc_vec8_int16_t args_0) {
return __spirv_SConvert_Rchar8_sat(args_0);
}

__attribute__((overloadable)) __clc_vec8_int8_t
test___spirv_SConvert_Rchar8_sat(__clc_vec8_uint16_t args_0) {
return __spirv_SConvert_Rchar8_sat(args_0);
}

__attribute__((overloadable)) __clc_vec8_int8_t
test___spirv_SConvert_Rchar8_sat(__clc_vec8_int32_t args_0) {
return __spirv_SConvert_Rchar8_sat(args_0);
}

__attribute__((overloadable)) __clc_vec8_int8_t
test___spirv_SConvert_Rchar8_sat(__clc_vec8_uint32_t args_0) {
return __spirv_SConvert_Rchar8_sat(args_0);
}

__attribute__((overloadable)) __clc_vec8_int8_t
test___spirv_SConvert_Rchar8_sat(__clc_vec8_int64_t args_0) {
return __spirv_SConvert_Rchar8_sat(args_0);
}

__attribute__((overloadable)) __clc_vec8_int8_t
test___spirv_SConvert_Rchar8_sat(__clc_vec8_uint64_t args_0) {
return __spirv_SConvert_Rchar8_sat(args_0);
}
15 changes: 0 additions & 15 deletions libclc/test/binding/core/SConvert_Rchar_sat.cl
Original file line number Diff line number Diff line change
Expand Up @@ -20,27 +20,12 @@ test___spirv_SConvert_Rchar_sat(__clc_int16_t args_0) {
return __spirv_SConvert_Rchar_sat(args_0);
}

__attribute__((overloadable)) __clc_int8_t
test___spirv_SConvert_Rchar_sat(__clc_uint16_t args_0) {
return __spirv_SConvert_Rchar_sat(args_0);
}

__attribute__((overloadable)) __clc_int8_t
test___spirv_SConvert_Rchar_sat(__clc_int32_t args_0) {
return __spirv_SConvert_Rchar_sat(args_0);
}

__attribute__((overloadable)) __clc_int8_t
test___spirv_SConvert_Rchar_sat(__clc_uint32_t args_0) {
return __spirv_SConvert_Rchar_sat(args_0);
}

__attribute__((overloadable)) __clc_int8_t
test___spirv_SConvert_Rchar_sat(__clc_int64_t args_0) {
return __spirv_SConvert_Rchar_sat(args_0);
}

__attribute__((overloadable)) __clc_int8_t
test___spirv_SConvert_Rchar_sat(__clc_uint64_t args_0) {
return __spirv_SConvert_Rchar_sat(args_0);
}
15 changes: 0 additions & 15 deletions libclc/test/binding/core/SConvert_Rint.cl
Original file line number Diff line number Diff line change
Expand Up @@ -20,27 +20,12 @@ test___spirv_SConvert_Rint(__clc_int8_t args_0) {
return __spirv_SConvert_Rint(args_0);
}

__attribute__((overloadable)) __clc_int32_t
test___spirv_SConvert_Rint(__clc_uint8_t args_0) {
return __spirv_SConvert_Rint(args_0);
}

__attribute__((overloadable)) __clc_int32_t
test___spirv_SConvert_Rint(__clc_int16_t args_0) {
return __spirv_SConvert_Rint(args_0);
}

__attribute__((overloadable)) __clc_int32_t
test___spirv_SConvert_Rint(__clc_uint16_t args_0) {
return __spirv_SConvert_Rint(args_0);
}

__attribute__((overloadable)) __clc_int32_t
test___spirv_SConvert_Rint(__clc_int64_t args_0) {
return __spirv_SConvert_Rint(args_0);
}

__attribute__((overloadable)) __clc_int32_t
test___spirv_SConvert_Rint(__clc_uint64_t args_0) {
return __spirv_SConvert_Rint(args_0);
}
Loading