-
Notifications
You must be signed in to change notification settings - Fork 15.2k
[OpenCL] Add declarations for version 1.1 of cl_intel_subgroups_short #146647
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
[OpenCL] Add declarations for version 1.1 of cl_intel_subgroups_short #146647
Conversation
`cl_intel_subgroups_short` version 1.1 adds vec16 types for block reads and writes. Ref: KhronosGroup/OpenCL-Docs#906 Co-authored-by: Victor Mustya <[email protected]>
|
@llvm/pr-subscribers-backend-x86 @llvm/pr-subscribers-clang Author: Mészáros Gergely (Maetveis) Changes
Full diff: https://github.com/llvm/llvm-project/pull/146647.diff 1 Files Affected:
diff --git a/clang/lib/Headers/opencl-c.h b/clang/lib/Headers/opencl-c.h
index 8d8ef497cec49..19ce6999a0fde 100644
--- a/clang/lib/Headers/opencl-c.h
+++ b/clang/lib/Headers/opencl-c.h
@@ -17617,6 +17617,7 @@ ushort __ovld __conv intel_sub_group_block_read_us(read_only image2d_t, int
ushort2 __ovld __conv intel_sub_group_block_read_us2(read_only image2d_t, int2);
ushort4 __ovld __conv intel_sub_group_block_read_us4(read_only image2d_t, int2);
ushort8 __ovld __conv intel_sub_group_block_read_us8(read_only image2d_t, int2);
+ushort16 __ovld __conv intel_sub_group_block_read_us16(read_only image2d_t, int2);
#endif // defined(__opencl_c_images)
#if defined(__opencl_c_read_write_images)
@@ -17624,18 +17625,21 @@ ushort __ovld __conv intel_sub_group_block_read_us(read_write image2d_t, in
ushort2 __ovld __conv intel_sub_group_block_read_us2(read_write image2d_t, int2);
ushort4 __ovld __conv intel_sub_group_block_read_us4(read_write image2d_t, int2);
ushort8 __ovld __conv intel_sub_group_block_read_us8(read_write image2d_t, int2);
+ushort16 __ovld __conv intel_sub_group_block_read_us16(read_write image2d_t, int2);
#endif // defined(__opencl_c_read_write_images)
ushort __ovld __conv intel_sub_group_block_read_us( const __global ushort* p );
ushort2 __ovld __conv intel_sub_group_block_read_us2( const __global ushort* p );
ushort4 __ovld __conv intel_sub_group_block_read_us4( const __global ushort* p );
ushort8 __ovld __conv intel_sub_group_block_read_us8( const __global ushort* p );
+ushort16 __ovld __conv intel_sub_group_block_read_us16(const __global ushort* p);
#if defined(__opencl_c_images)
void __ovld __conv intel_sub_group_block_write_us(write_only image2d_t, int2, ushort);
void __ovld __conv intel_sub_group_block_write_us2(write_only image2d_t, int2, ushort2);
void __ovld __conv intel_sub_group_block_write_us4(write_only image2d_t, int2, ushort4);
void __ovld __conv intel_sub_group_block_write_us8(write_only image2d_t, int2, ushort8);
+void __ovld __conv intel_sub_group_block_write_us16(write_only image2d_t, int2, ushort16);
#endif // defined(__opencl_c_images)
#if defined(__opencl_c_read_write_images)
@@ -17643,12 +17647,14 @@ void __ovld __conv intel_sub_group_block_write_us(read_write image2d_t, i
void __ovld __conv intel_sub_group_block_write_us2(read_write image2d_t, int2, ushort2);
void __ovld __conv intel_sub_group_block_write_us4(read_write image2d_t, int2, ushort4);
void __ovld __conv intel_sub_group_block_write_us8(read_write image2d_t, int2, ushort8);
+void __ovld __conv intel_sub_group_block_write_us16(read_write image2d_t, int2, ushort16);
#endif // defined(__opencl_c_read_write_images)
void __ovld __conv intel_sub_group_block_write_us( __global ushort* p, ushort data );
void __ovld __conv intel_sub_group_block_write_us2( __global ushort* p, ushort2 data );
void __ovld __conv intel_sub_group_block_write_us4( __global ushort* p, ushort4 data );
void __ovld __conv intel_sub_group_block_write_us8( __global ushort* p, ushort8 data );
+void __ovld __conv intel_sub_group_block_write_us16( __global ushort* p, ushort16 data );
#endif // cl_intel_subgroups_short
#ifdef cl_intel_device_side_avc_motion_estimation
|
You can test this locally with the following command:git-clang-format --diff HEAD~1 HEAD --extensions h -- clang/lib/Headers/opencl-c.hView the diff from clang-format here.diff --git a/clang/lib/Headers/opencl-c.h b/clang/lib/Headers/opencl-c.h
index 19ce6999a..9322d62be 100644
--- a/clang/lib/Headers/opencl-c.h
+++ b/clang/lib/Headers/opencl-c.h
@@ -17617,7 +17617,8 @@ ushort __ovld __conv intel_sub_group_block_read_us(read_only image2d_t, int
ushort2 __ovld __conv intel_sub_group_block_read_us2(read_only image2d_t, int2);
ushort4 __ovld __conv intel_sub_group_block_read_us4(read_only image2d_t, int2);
ushort8 __ovld __conv intel_sub_group_block_read_us8(read_only image2d_t, int2);
-ushort16 __ovld __conv intel_sub_group_block_read_us16(read_only image2d_t, int2);
+ushort16 __ovld __conv intel_sub_group_block_read_us16(read_only image2d_t,
+ int2);
#endif // defined(__opencl_c_images)
#if defined(__opencl_c_read_write_images)
@@ -17625,21 +17626,24 @@ ushort __ovld __conv intel_sub_group_block_read_us(read_write image2d_t, in
ushort2 __ovld __conv intel_sub_group_block_read_us2(read_write image2d_t, int2);
ushort4 __ovld __conv intel_sub_group_block_read_us4(read_write image2d_t, int2);
ushort8 __ovld __conv intel_sub_group_block_read_us8(read_write image2d_t, int2);
-ushort16 __ovld __conv intel_sub_group_block_read_us16(read_write image2d_t, int2);
+ushort16 __ovld __conv intel_sub_group_block_read_us16(read_write image2d_t,
+ int2);
#endif // defined(__opencl_c_read_write_images)
ushort __ovld __conv intel_sub_group_block_read_us( const __global ushort* p );
ushort2 __ovld __conv intel_sub_group_block_read_us2( const __global ushort* p );
ushort4 __ovld __conv intel_sub_group_block_read_us4( const __global ushort* p );
ushort8 __ovld __conv intel_sub_group_block_read_us8( const __global ushort* p );
-ushort16 __ovld __conv intel_sub_group_block_read_us16(const __global ushort* p);
+ushort16 __ovld __conv
+intel_sub_group_block_read_us16(const __global ushort *p);
#if defined(__opencl_c_images)
void __ovld __conv intel_sub_group_block_write_us(write_only image2d_t, int2, ushort);
void __ovld __conv intel_sub_group_block_write_us2(write_only image2d_t, int2, ushort2);
void __ovld __conv intel_sub_group_block_write_us4(write_only image2d_t, int2, ushort4);
void __ovld __conv intel_sub_group_block_write_us8(write_only image2d_t, int2, ushort8);
-void __ovld __conv intel_sub_group_block_write_us16(write_only image2d_t, int2, ushort16);
+void __ovld __conv intel_sub_group_block_write_us16(write_only image2d_t, int2,
+ ushort16);
#endif // defined(__opencl_c_images)
#if defined(__opencl_c_read_write_images)
@@ -17647,14 +17651,16 @@ void __ovld __conv intel_sub_group_block_write_us(read_write image2d_t, i
void __ovld __conv intel_sub_group_block_write_us2(read_write image2d_t, int2, ushort2);
void __ovld __conv intel_sub_group_block_write_us4(read_write image2d_t, int2, ushort4);
void __ovld __conv intel_sub_group_block_write_us8(read_write image2d_t, int2, ushort8);
-void __ovld __conv intel_sub_group_block_write_us16(read_write image2d_t, int2, ushort16);
+void __ovld __conv intel_sub_group_block_write_us16(read_write image2d_t, int2,
+ ushort16);
#endif // defined(__opencl_c_read_write_images)
void __ovld __conv intel_sub_group_block_write_us( __global ushort* p, ushort data );
void __ovld __conv intel_sub_group_block_write_us2( __global ushort* p, ushort2 data );
void __ovld __conv intel_sub_group_block_write_us4( __global ushort* p, ushort4 data );
void __ovld __conv intel_sub_group_block_write_us8( __global ushort* p, ushort8 data );
-void __ovld __conv intel_sub_group_block_write_us16( __global ushort* p, ushort16 data );
+void __ovld __conv intel_sub_group_block_write_us16(__global ushort *p,
+ ushort16 data);
#endif // cl_intel_subgroups_short
#ifdef cl_intel_device_side_avc_motion_estimation
|
The formatting matches what's currently in the file (which is not formatted with clang-format), I would rather not reformat only the changed lines. |
That sounds perfectly reasonable to me, so LGTM. I'll leave the approving review to someone from Intel. |
|
@michalpaszkowski can you review or know who might be comfortable reviewing this? |
michalpaszkowski
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Maetveis LGTM! Thanks for the PR!
cl_intel_subgroups_shortversion 1.1 adds vec16 types for block reads and writes.Ref: KhronosGroup/OpenCL-Docs#906