Skip to content

Commit e21b0b0

Browse files
authored
[AMDGPU] Remove gws feature from GFX12 (#78711)
This was already done for LLVM. This patch just updates the Clang builtin handling to match.
1 parent 9774746 commit e21b0b0

File tree

3 files changed

+32
-20
lines changed

3 files changed

+32
-20
lines changed

clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12-err.cl

Lines changed: 8 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -2,23 +2,12 @@
22

33
// RUN: %clang_cc1 -triple amdgcn-unknown-unknown -target-cpu gfx1200 -verify -S -emit-llvm -o - %s
44

5-
kernel void builtins_amdgcn_s_barrier_signal_err(global int* in, global int* out, int barrier) {
6-
7-
__builtin_amdgcn_s_barrier_signal(barrier); // expected-error {{'__builtin_amdgcn_s_barrier_signal' must be a constant integer}}
8-
__builtin_amdgcn_s_barrier_wait(-1);
9-
*out = *in;
10-
}
11-
12-
kernel void builtins_amdgcn_s_barrier_wait_err(global int* in, global int* out, int barrier) {
13-
14-
__builtin_amdgcn_s_barrier_signal(-1);
15-
__builtin_amdgcn_s_barrier_wait(barrier); // expected-error {{'__builtin_amdgcn_s_barrier_wait' must be a constant integer}}
16-
*out = *in;
17-
}
18-
19-
kernel void builtins_amdgcn_s_barrier_signal_isfirst_err(global int* in, global int* out, int barrier) {
20-
21-
__builtin_amdgcn_s_barrier_signal_isfirst(barrier); // expected-error {{'__builtin_amdgcn_s_barrier_signal_isfirst' must be a constant integer}}
22-
__builtin_amdgcn_s_barrier_wait(-1);
23-
*out = *in;
5+
typedef unsigned int uint;
6+
7+
kernel void test_builtins_amdgcn_gws_insts(uint a, uint b) {
8+
__builtin_amdgcn_ds_gws_init(a, b); // expected-error {{'__builtin_amdgcn_ds_gws_init' needs target feature gws}}
9+
__builtin_amdgcn_ds_gws_barrier(a, b); // expected-error {{'__builtin_amdgcn_ds_gws_barrier' needs target feature gws}}
10+
__builtin_amdgcn_ds_gws_sema_v(a); // expected-error {{'__builtin_amdgcn_ds_gws_sema_v' needs target feature gws}}
11+
__builtin_amdgcn_ds_gws_sema_br(a, b); // expected-error {{'__builtin_amdgcn_ds_gws_sema_br' needs target feature gws}}
12+
__builtin_amdgcn_ds_gws_sema_p(a); // expected-error {{'__builtin_amdgcn_ds_gws_sema_p' needs target feature gws}}
2413
}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
// REQUIRES: amdgpu-registered-target
2+
3+
// RUN: %clang_cc1 -triple amdgcn-unknown-unknown -target-cpu gfx1200 -verify -S -emit-llvm -o - %s
4+
5+
kernel void builtins_amdgcn_s_barrier_signal_err(global int* in, global int* out, int barrier) {
6+
7+
__builtin_amdgcn_s_barrier_signal(barrier); // expected-error {{'__builtin_amdgcn_s_barrier_signal' must be a constant integer}}
8+
__builtin_amdgcn_s_barrier_wait(-1);
9+
*out = *in;
10+
}
11+
12+
kernel void builtins_amdgcn_s_barrier_wait_err(global int* in, global int* out, int barrier) {
13+
14+
__builtin_amdgcn_s_barrier_signal(-1);
15+
__builtin_amdgcn_s_barrier_wait(barrier); // expected-error {{'__builtin_amdgcn_s_barrier_wait' must be a constant integer}}
16+
*out = *in;
17+
}
18+
19+
kernel void builtins_amdgcn_s_barrier_signal_isfirst_err(global int* in, global int* out, int barrier) {
20+
21+
__builtin_amdgcn_s_barrier_signal_isfirst(barrier); // expected-error {{'__builtin_amdgcn_s_barrier_signal_isfirst' must be a constant integer}}
22+
__builtin_amdgcn_s_barrier_wait(-1);
23+
*out = *in;
24+
}

llvm/lib/TargetParser/TargetParser.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -294,7 +294,6 @@ void AMDGPU::fillAMDGPUFeatureMap(StringRef GPU, const Triple &T,
294294
Features["gfx12-insts"] = true;
295295
Features["atomic-fadd-rtn-insts"] = true;
296296
Features["image-insts"] = true;
297-
Features["gws"] = true;
298297
break;
299298
case GK_GFX1151:
300299
case GK_GFX1150:

0 commit comments

Comments
 (0)