Skip to content

Commit 27ce513

Browse files
authored
[AMDGPU] Add Clang builtins for amdgcn s_ttrace intrinsics (#88076)
1 parent 86df55e commit 27ce513

File tree

3 files changed

+27
-0
lines changed

3 files changed

+27
-0
lines changed

clang/include/clang/Basic/BuiltinsAMDGPU.def

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ BUILTIN(__builtin_amdgcn_s_waitcnt, "vIi", "n")
6161
BUILTIN(__builtin_amdgcn_s_sendmsg, "vIiUi", "n")
6262
BUILTIN(__builtin_amdgcn_s_sendmsghalt, "vIiUi", "n")
6363
BUILTIN(__builtin_amdgcn_s_barrier, "v", "n")
64+
BUILTIN(__builtin_amdgcn_s_ttracedata, "vi", "n")
6465
BUILTIN(__builtin_amdgcn_wave_barrier, "v", "n")
6566
BUILTIN(__builtin_amdgcn_sched_barrier, "vIi", "n")
6667
BUILTIN(__builtin_amdgcn_sched_group_barrier, "vIiIiIi", "n")
@@ -267,6 +268,7 @@ TARGET_BUILTIN(__builtin_amdgcn_dot4_f32_bf8_bf8, "fUiUif", "nc", "dot11-insts")
267268
TARGET_BUILTIN(__builtin_amdgcn_permlane16, "UiUiUiUiUiIbIb", "nc", "gfx10-insts")
268269
TARGET_BUILTIN(__builtin_amdgcn_permlanex16, "UiUiUiUiUiIbIb", "nc", "gfx10-insts")
269270
TARGET_BUILTIN(__builtin_amdgcn_mov_dpp8, "UiUiIUi", "nc", "gfx10-insts")
271+
TARGET_BUILTIN(__builtin_amdgcn_s_ttracedata_imm, "vIs", "n", "gfx10-insts")
270272

271273
//===----------------------------------------------------------------------===//
272274
// Raytracing builtins.

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

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -235,3 +235,25 @@ unsigned test_s_get_barrier_state(int a)
235235
unsigned State = __builtin_amdgcn_s_get_barrier_state(a);
236236
return State;
237237
}
238+
239+
// CHECK-LABEL: @test_s_ttracedata(
240+
// CHECK-NEXT: entry:
241+
// CHECK-NEXT: call void @llvm.amdgcn.s.ttracedata(i32 1)
242+
// CHECK-NEXT: ret void
243+
//
244+
void test_s_ttracedata()
245+
{
246+
__builtin_amdgcn_s_ttracedata(1);
247+
}
248+
249+
// CHECK-LABEL: @test_s_ttracedata_imm(
250+
// CHECK-NEXT: entry:
251+
// CHECK-NEXT: call void @llvm.amdgcn.s.ttracedata.imm(i16 1)
252+
// CHECK-NEXT: ret void
253+
//
254+
void test_s_ttracedata_imm()
255+
{
256+
__builtin_amdgcn_s_ttracedata_imm(1);
257+
}
258+
259+

llvm/include/llvm/IR/IntrinsicsAMDGPU.td

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1887,9 +1887,12 @@ def int_amdgcn_s_setprio :
18871887
IntrHasSideEffects]>;
18881888

18891889
def int_amdgcn_s_ttracedata :
1890+
ClangBuiltin<"__builtin_amdgcn_s_ttracedata">,
18901891
DefaultAttrsIntrinsic<[], [llvm_i32_ty],
18911892
[IntrNoMem, IntrHasSideEffects]>;
1893+
18921894
def int_amdgcn_s_ttracedata_imm :
1895+
ClangBuiltin<"__builtin_amdgcn_s_ttracedata_imm">,
18931896
DefaultAttrsIntrinsic<[], [llvm_i16_ty],
18941897
[IntrNoMem, IntrHasSideEffects, ImmArg<ArgIndex<0>>]>;
18951898

0 commit comments

Comments
 (0)