Fix __builtin_amdgcn_workgroup_size_x/y/z return type
authorYaxun (Sam) Liu <yaxun.liu@amd.com>
Fri, 3 Apr 2020 13:24:58 +0000 (09:24 -0400)
committerYaxun (Sam) Liu <yaxun.liu@amd.com>
Fri, 3 Apr 2020 13:56:30 +0000 (09:56 -0400)
https://reviews.llvm.org/D77390

clang/include/clang/Basic/BuiltinsAMDGPU.def
clang/test/CodeGenOpenCL/builtins-amdgcn.cl

index e5b256c..b42c8a7 100644 (file)
@@ -33,9 +33,9 @@ BUILTIN(__builtin_amdgcn_workitem_id_x, "Ui", "nc")
 BUILTIN(__builtin_amdgcn_workitem_id_y, "Ui", "nc")
 BUILTIN(__builtin_amdgcn_workitem_id_z, "Ui", "nc")
 
-BUILTIN(__builtin_amdgcn_workgroup_size_x, "Ui", "nc")
-BUILTIN(__builtin_amdgcn_workgroup_size_y, "Ui", "nc")
-BUILTIN(__builtin_amdgcn_workgroup_size_z, "Ui", "nc")
+BUILTIN(__builtin_amdgcn_workgroup_size_x, "Us", "nc")
+BUILTIN(__builtin_amdgcn_workgroup_size_y, "Us", "nc")
+BUILTIN(__builtin_amdgcn_workgroup_size_z, "Us", "nc")
 
 BUILTIN(__builtin_amdgcn_mbcnt_hi, "UiUiUi", "nc")
 BUILTIN(__builtin_amdgcn_mbcnt_lo, "UiUiUi", "nc")
index 9d7916c..8f2f149 100644 (file)
@@ -538,7 +538,7 @@ void test_get_local_id(int d, global int *out)
 void test_get_workgroup_size(int d, global int *out)
 {
        switch (d) {
-       case 0: *out = __builtin_amdgcn_workgroup_size_x(); break;
+       case 0: *out = __builtin_amdgcn_workgroup_size_x() + 1; break;
        case 1: *out = __builtin_amdgcn_workgroup_size_y(); break;
        case 2: *out = __builtin_amdgcn_workgroup_size_z(); break;
        default: *out = 0;