Skip to content

Commit 7257261

Browse files
authored
[NVPTX] Fix generic address in st.bulk intrinsic (llvm#130740)
This PR fixes an oversight from the previous change (PR llvm#128856) that introduced the `st.bulk` intrinsic where `llvm_global_ptr_ty` was used instead of `llvm_ptr_ty` for generic addressing. PTX Spec Reference: https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#data-movement-and-conversion-instructions-st-bulk
1 parent adae90e commit 7257261

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

llvm/include/llvm/IR/IntrinsicsNVVM.td

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5274,7 +5274,7 @@ foreach shape = ["16x64b", "16x128b", "16x256b", "32x32b", "16x32bx2"] in {
52745274
//
52755275

52765276
def int_nvvm_st_bulk: DefaultAttrsIntrinsic<[],
5277-
[llvm_global_ptr_ty, llvm_i64_ty, llvm_i64_ty],
5277+
[llvm_ptr_ty, llvm_i64_ty, llvm_i64_ty],
52785278
[IntrArgMemOnly, IntrWriteMem,
52795279
WriteOnly<ArgIndex<0>>, NoCapture<ArgIndex<0>>, ImmArg<ArgIndex<2>>]>;
52805280

llvm/test/CodeGen/NVPTX/st_bulk.ll

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
; RUN: %if ptxas-12.8 %{ llc < %s -mtriple=nvptx64 -mcpu=sm_100 -mattr=+ptx86 | %ptxas-verify -arch=sm_100 %}
55
; RUN: %if ptxas-12.8 %{ llc < %s -mtriple=nvptx64 -mcpu=sm_100 -mattr=+ptx86 --nvptx-short-ptr | %ptxas-verify -arch=sm_100 %}
66

7-
declare void @llvm.nvvm.st.bulk(ptr addrspace(1), i64, i64)
8-
define void @st_bulk(ptr addrspace(1) %dest_addr, i64 %size) {
7+
declare void @llvm.nvvm.st.bulk(ptr, i64, i64)
8+
define void @st_bulk(ptr %dest_addr, i64 %size) {
99
; CHECK-LABEL: st_bulk(
1010
; CHECK: {
1111
; CHECK-NEXT: .reg .b64 %rd<3>;
@@ -15,7 +15,7 @@ define void @st_bulk(ptr addrspace(1) %dest_addr, i64 %size) {
1515
; CHECK-NEXT: ld.param.u64 %rd2, [st_bulk_param_1];
1616
; CHECK-NEXT: st.bulk [%rd1], %rd2, 0;
1717
; CHECK-NEXT: ret;
18-
call void @llvm.nvvm.st.bulk(ptr addrspace(1) %dest_addr, i64 %size, i64 0)
18+
call void @llvm.nvvm.st.bulk(ptr %dest_addr, i64 %size, i64 0)
1919
ret void
2020
}
2121

0 commit comments

Comments
 (0)