22// REQUIRES: amdgpu-registered-target
33// RUN: %clang_cc1 -triple amdgcn-unknown-unknown -target-cpu verde -emit-llvm -o - %s | FileCheck %s
44
5- typedef char i8 ;
6- typedef short i16 ;
7- typedef int i32 ;
8- typedef int i64 __attribute__((ext_vector_type (2 )));
9- typedef int i96 __attribute__((ext_vector_type (3 )));
10- typedef int i128 __attribute__((ext_vector_type (4 )));
5+ typedef unsigned char u8 ;
6+ typedef unsigned short u16 ;
7+ typedef unsigned int u32 ;
8+ typedef unsigned int v2u32 __attribute__((ext_vector_type (2 )));
9+ typedef unsigned int v3u32 __attribute__((ext_vector_type (3 )));
10+ typedef unsigned int v4u32 __attribute__((ext_vector_type (4 )));
1111
1212// CHECK-LABEL: @test_amdgcn_raw_ptr_buffer_store_b8(
1313// CHECK-NEXT: entry:
1414// CHECK-NEXT: tail call void @llvm.amdgcn.raw.ptr.buffer.store.i8(i8 [[VDATA:%.*]], ptr addrspace(8) [[RSRC:%.*]], i32 0, i32 0, i32 0)
1515// CHECK-NEXT: ret void
1616//
17- void test_amdgcn_raw_ptr_buffer_store_b8 (i8 vdata , __amdgpu_buffer_rsrc_t rsrc , int offset , int soffset ) {
17+ void test_amdgcn_raw_ptr_buffer_store_b8 (u8 vdata , __amdgpu_buffer_rsrc_t rsrc , int offset , int soffset ) {
1818 __builtin_amdgcn_raw_buffer_store_b8 (vdata , rsrc , /*offset=*/ 0 , /*soffset=*/ 0 , /*aux=*/ 0 );
1919}
2020
@@ -23,7 +23,7 @@ void test_amdgcn_raw_ptr_buffer_store_b8(i8 vdata, __amdgpu_buffer_rsrc_t rsrc,
2323// CHECK-NEXT: tail call void @llvm.amdgcn.raw.ptr.buffer.store.i16(i16 [[VDATA:%.*]], ptr addrspace(8) [[RSRC:%.*]], i32 0, i32 0, i32 0)
2424// CHECK-NEXT: ret void
2525//
26- void test_amdgcn_raw_ptr_buffer_store_b16 (i16 vdata , __amdgpu_buffer_rsrc_t rsrc , int offset , int soffset ) {
26+ void test_amdgcn_raw_ptr_buffer_store_b16 (u16 vdata , __amdgpu_buffer_rsrc_t rsrc , int offset , int soffset ) {
2727 __builtin_amdgcn_raw_buffer_store_b16 (vdata , rsrc , /*offset=*/ 0 , /*soffset=*/ 0 , /*aux=*/ 0 );
2828}
2929
@@ -32,7 +32,7 @@ void test_amdgcn_raw_ptr_buffer_store_b16(i16 vdata, __amdgpu_buffer_rsrc_t rsrc
3232// CHECK-NEXT: tail call void @llvm.amdgcn.raw.ptr.buffer.store.i32(i32 [[VDATA:%.*]], ptr addrspace(8) [[RSRC:%.*]], i32 0, i32 0, i32 0)
3333// CHECK-NEXT: ret void
3434//
35- void test_amdgcn_raw_ptr_buffer_store_b32 (i32 vdata , __amdgpu_buffer_rsrc_t rsrc , int offset , int soffset ) {
35+ void test_amdgcn_raw_ptr_buffer_store_b32 (u32 vdata , __amdgpu_buffer_rsrc_t rsrc , int offset , int soffset ) {
3636 __builtin_amdgcn_raw_buffer_store_b32 (vdata , rsrc , /*offset=*/ 0 , /*soffset=*/ 0 , /*aux=*/ 0 );
3737}
3838
@@ -41,7 +41,7 @@ void test_amdgcn_raw_ptr_buffer_store_b32(i32 vdata, __amdgpu_buffer_rsrc_t rsrc
4141// CHECK-NEXT: tail call void @llvm.amdgcn.raw.ptr.buffer.store.v2i32(<2 x i32> [[VDATA:%.*]], ptr addrspace(8) [[RSRC:%.*]], i32 0, i32 0, i32 0)
4242// CHECK-NEXT: ret void
4343//
44- void test_amdgcn_raw_ptr_buffer_store_b64 (i64 vdata , __amdgpu_buffer_rsrc_t rsrc , int offset , int soffset ) {
44+ void test_amdgcn_raw_ptr_buffer_store_b64 (v2u32 vdata , __amdgpu_buffer_rsrc_t rsrc , int offset , int soffset ) {
4545 __builtin_amdgcn_raw_buffer_store_b64 (vdata , rsrc , /*offset=*/ 0 , /*soffset=*/ 0 , /*aux=*/ 0 );
4646}
4747
@@ -50,7 +50,7 @@ void test_amdgcn_raw_ptr_buffer_store_b64(i64 vdata, __amdgpu_buffer_rsrc_t rsrc
5050// CHECK-NEXT: tail call void @llvm.amdgcn.raw.ptr.buffer.store.v3i32(<3 x i32> [[VDATA:%.*]], ptr addrspace(8) [[RSRC:%.*]], i32 0, i32 0, i32 0)
5151// CHECK-NEXT: ret void
5252//
53- void test_amdgcn_raw_ptr_buffer_store_b96 (i96 vdata , __amdgpu_buffer_rsrc_t rsrc , int offset , int soffset ) {
53+ void test_amdgcn_raw_ptr_buffer_store_b96 (v3u32 vdata , __amdgpu_buffer_rsrc_t rsrc , int offset , int soffset ) {
5454 __builtin_amdgcn_raw_buffer_store_b96 (vdata , rsrc , /*offset=*/ 0 , /*soffset=*/ 0 , /*aux=*/ 0 );
5555}
5656
@@ -59,7 +59,7 @@ void test_amdgcn_raw_ptr_buffer_store_b96(i96 vdata, __amdgpu_buffer_rsrc_t rsrc
5959// CHECK-NEXT: tail call void @llvm.amdgcn.raw.ptr.buffer.store.v4i32(<4 x i32> [[VDATA:%.*]], ptr addrspace(8) [[RSRC:%.*]], i32 0, i32 0, i32 0)
6060// CHECK-NEXT: ret void
6161//
62- void test_amdgcn_raw_ptr_buffer_store_b128 (i128 vdata , __amdgpu_buffer_rsrc_t rsrc , int offset , int soffset ) {
62+ void test_amdgcn_raw_ptr_buffer_store_b128 (v4u32 vdata , __amdgpu_buffer_rsrc_t rsrc , int offset , int soffset ) {
6363 __builtin_amdgcn_raw_buffer_store_b128 (vdata , rsrc , /*offset=*/ 0 , /*soffset=*/ 0 , /*aux=*/ 0 );
6464}
6565
@@ -68,7 +68,7 @@ void test_amdgcn_raw_ptr_buffer_store_b128(i128 vdata, __amdgpu_buffer_rsrc_t rs
6868// CHECK-NEXT: tail call void @llvm.amdgcn.raw.ptr.buffer.store.i8(i8 [[VDATA:%.*]], ptr addrspace(8) [[RSRC:%.*]], i32 [[OFFSET:%.*]], i32 0, i32 0)
6969// CHECK-NEXT: ret void
7070//
71- void test_amdgcn_raw_ptr_buffer_store_b8_non_const_offset (i8 vdata , __amdgpu_buffer_rsrc_t rsrc , int offset , int soffset ) {
71+ void test_amdgcn_raw_ptr_buffer_store_b8_non_const_offset (u8 vdata , __amdgpu_buffer_rsrc_t rsrc , int offset , int soffset ) {
7272 __builtin_amdgcn_raw_buffer_store_b8 (vdata , rsrc , offset , /*soffset=*/ 0 , /*aux=*/ 0 );
7373}
7474
@@ -77,7 +77,7 @@ void test_amdgcn_raw_ptr_buffer_store_b8_non_const_offset(i8 vdata, __amdgpu_buf
7777// CHECK-NEXT: tail call void @llvm.amdgcn.raw.ptr.buffer.store.i16(i16 [[VDATA:%.*]], ptr addrspace(8) [[RSRC:%.*]], i32 [[OFFSET:%.*]], i32 0, i32 0)
7878// CHECK-NEXT: ret void
7979//
80- void test_amdgcn_raw_ptr_buffer_store_b16_non_const_offset (i16 vdata , __amdgpu_buffer_rsrc_t rsrc , int offset , int soffset ) {
80+ void test_amdgcn_raw_ptr_buffer_store_b16_non_const_offset (u16 vdata , __amdgpu_buffer_rsrc_t rsrc , int offset , int soffset ) {
8181 __builtin_amdgcn_raw_buffer_store_b16 (vdata , rsrc , offset , /*soffset=*/ 0 , /*aux=*/ 0 );
8282}
8383
@@ -86,7 +86,7 @@ void test_amdgcn_raw_ptr_buffer_store_b16_non_const_offset(i16 vdata, __amdgpu_b
8686// CHECK-NEXT: tail call void @llvm.amdgcn.raw.ptr.buffer.store.i32(i32 [[VDATA:%.*]], ptr addrspace(8) [[RSRC:%.*]], i32 [[OFFSET:%.*]], i32 0, i32 0)
8787// CHECK-NEXT: ret void
8888//
89- void test_amdgcn_raw_ptr_buffer_store_b32_non_const_offset (i32 vdata , __amdgpu_buffer_rsrc_t rsrc , int offset , int soffset ) {
89+ void test_amdgcn_raw_ptr_buffer_store_b32_non_const_offset (u32 vdata , __amdgpu_buffer_rsrc_t rsrc , int offset , int soffset ) {
9090 __builtin_amdgcn_raw_buffer_store_b32 (vdata , rsrc , offset , /*soffset=*/ 0 , /*aux=*/ 0 );
9191}
9292
@@ -95,7 +95,7 @@ void test_amdgcn_raw_ptr_buffer_store_b32_non_const_offset(i32 vdata, __amdgpu_b
9595// CHECK-NEXT: tail call void @llvm.amdgcn.raw.ptr.buffer.store.v2i32(<2 x i32> [[VDATA:%.*]], ptr addrspace(8) [[RSRC:%.*]], i32 [[OFFSET:%.*]], i32 0, i32 0)
9696// CHECK-NEXT: ret void
9797//
98- void test_amdgcn_raw_ptr_buffer_store_b64_non_const_offset (i64 vdata , __amdgpu_buffer_rsrc_t rsrc , int offset , int soffset ) {
98+ void test_amdgcn_raw_ptr_buffer_store_b64_non_const_offset (v2u32 vdata , __amdgpu_buffer_rsrc_t rsrc , int offset , int soffset ) {
9999 __builtin_amdgcn_raw_buffer_store_b64 (vdata , rsrc , offset , /*soffset=*/ 0 , /*aux=*/ 0 );
100100}
101101
@@ -104,7 +104,7 @@ void test_amdgcn_raw_ptr_buffer_store_b64_non_const_offset(i64 vdata, __amdgpu_b
104104// CHECK-NEXT: tail call void @llvm.amdgcn.raw.ptr.buffer.store.v3i32(<3 x i32> [[VDATA:%.*]], ptr addrspace(8) [[RSRC:%.*]], i32 [[OFFSET:%.*]], i32 0, i32 0)
105105// CHECK-NEXT: ret void
106106//
107- void test_amdgcn_raw_ptr_buffer_store_b96_non_const_offset (i96 vdata , __amdgpu_buffer_rsrc_t rsrc , int offset , int soffset ) {
107+ void test_amdgcn_raw_ptr_buffer_store_b96_non_const_offset (v3u32 vdata , __amdgpu_buffer_rsrc_t rsrc , int offset , int soffset ) {
108108 __builtin_amdgcn_raw_buffer_store_b96 (vdata , rsrc , offset , /*soffset=*/ 0 , /*aux=*/ 0 );
109109}
110110
@@ -113,7 +113,7 @@ void test_amdgcn_raw_ptr_buffer_store_b96_non_const_offset(i96 vdata, __amdgpu_b
113113// CHECK-NEXT: tail call void @llvm.amdgcn.raw.ptr.buffer.store.v4i32(<4 x i32> [[VDATA:%.*]], ptr addrspace(8) [[RSRC:%.*]], i32 [[OFFSET:%.*]], i32 0, i32 0)
114114// CHECK-NEXT: ret void
115115//
116- void test_amdgcn_raw_ptr_buffer_store_b128_non_const_offset (i128 vdata , __amdgpu_buffer_rsrc_t rsrc , int offset , int soffset ) {
116+ void test_amdgcn_raw_ptr_buffer_store_b128_non_const_offset (v4u32 vdata , __amdgpu_buffer_rsrc_t rsrc , int offset , int soffset ) {
117117 __builtin_amdgcn_raw_buffer_store_b128 (vdata , rsrc , offset , /*soffset=*/ 0 , /*aux=*/ 0 );
118118}
119119
@@ -122,7 +122,7 @@ void test_amdgcn_raw_ptr_buffer_store_b128_non_const_offset(i128 vdata, __amdgpu
122122// CHECK-NEXT: tail call void @llvm.amdgcn.raw.ptr.buffer.store.i8(i8 [[VDATA:%.*]], ptr addrspace(8) [[RSRC:%.*]], i32 0, i32 [[SOFFSET:%.*]], i32 0)
123123// CHECK-NEXT: ret void
124124//
125- void test_amdgcn_raw_ptr_buffer_store_b8_non_const_soffset (i8 vdata , __amdgpu_buffer_rsrc_t rsrc , int offset , int soffset ) {
125+ void test_amdgcn_raw_ptr_buffer_store_b8_non_const_soffset (u8 vdata , __amdgpu_buffer_rsrc_t rsrc , int offset , int soffset ) {
126126 __builtin_amdgcn_raw_buffer_store_b8 (vdata , rsrc , /*offset=*/ 0 , soffset , /*aux=*/ 0 );
127127}
128128
@@ -131,7 +131,7 @@ void test_amdgcn_raw_ptr_buffer_store_b8_non_const_soffset(i8 vdata, __amdgpu_bu
131131// CHECK-NEXT: tail call void @llvm.amdgcn.raw.ptr.buffer.store.i16(i16 [[VDATA:%.*]], ptr addrspace(8) [[RSRC:%.*]], i32 0, i32 [[SOFFSET:%.*]], i32 0)
132132// CHECK-NEXT: ret void
133133//
134- void test_amdgcn_raw_ptr_buffer_store_b16_non_const_soffset (i16 vdata , __amdgpu_buffer_rsrc_t rsrc , int offset , int soffset ) {
134+ void test_amdgcn_raw_ptr_buffer_store_b16_non_const_soffset (u16 vdata , __amdgpu_buffer_rsrc_t rsrc , int offset , int soffset ) {
135135 __builtin_amdgcn_raw_buffer_store_b16 (vdata , rsrc , /*offset=*/ 0 , soffset , /*aux=*/ 0 );
136136}
137137
@@ -140,7 +140,7 @@ void test_amdgcn_raw_ptr_buffer_store_b16_non_const_soffset(i16 vdata, __amdgpu_
140140// CHECK-NEXT: tail call void @llvm.amdgcn.raw.ptr.buffer.store.i32(i32 [[VDATA:%.*]], ptr addrspace(8) [[RSRC:%.*]], i32 0, i32 [[SOFFSET:%.*]], i32 0)
141141// CHECK-NEXT: ret void
142142//
143- void test_amdgcn_raw_ptr_buffer_store_b32_non_const_soffset (i32 vdata , __amdgpu_buffer_rsrc_t rsrc , int offset , int soffset ) {
143+ void test_amdgcn_raw_ptr_buffer_store_b32_non_const_soffset (u32 vdata , __amdgpu_buffer_rsrc_t rsrc , int offset , int soffset ) {
144144 __builtin_amdgcn_raw_buffer_store_b32 (vdata , rsrc , /*offset=*/ 0 , soffset , /*aux=*/ 0 );
145145}
146146
@@ -149,7 +149,7 @@ void test_amdgcn_raw_ptr_buffer_store_b32_non_const_soffset(i32 vdata, __amdgpu_
149149// CHECK-NEXT: tail call void @llvm.amdgcn.raw.ptr.buffer.store.v2i32(<2 x i32> [[VDATA:%.*]], ptr addrspace(8) [[RSRC:%.*]], i32 0, i32 [[SOFFSET:%.*]], i32 0)
150150// CHECK-NEXT: ret void
151151//
152- void test_amdgcn_raw_ptr_buffer_store_b64_non_const_soffset (i64 vdata , __amdgpu_buffer_rsrc_t rsrc , int offset , int soffset ) {
152+ void test_amdgcn_raw_ptr_buffer_store_b64_non_const_soffset (v2u32 vdata , __amdgpu_buffer_rsrc_t rsrc , int offset , int soffset ) {
153153 __builtin_amdgcn_raw_buffer_store_b64 (vdata , rsrc , /*offset=*/ 0 , soffset , /*aux=*/ 0 );
154154}
155155
@@ -158,7 +158,7 @@ void test_amdgcn_raw_ptr_buffer_store_b64_non_const_soffset(i64 vdata, __amdgpu_
158158// CHECK-NEXT: tail call void @llvm.amdgcn.raw.ptr.buffer.store.v3i32(<3 x i32> [[VDATA:%.*]], ptr addrspace(8) [[RSRC:%.*]], i32 0, i32 [[SOFFSET:%.*]], i32 0)
159159// CHECK-NEXT: ret void
160160//
161- void test_amdgcn_raw_ptr_buffer_store_b96_non_const_soffset (i96 vdata , __amdgpu_buffer_rsrc_t rsrc , int offset , int soffset ) {
161+ void test_amdgcn_raw_ptr_buffer_store_b96_non_const_soffset (v3u32 vdata , __amdgpu_buffer_rsrc_t rsrc , int offset , int soffset ) {
162162 __builtin_amdgcn_raw_buffer_store_b96 (vdata , rsrc , /*offset=*/ 0 , soffset , /*aux=*/ 0 );
163163}
164164
@@ -167,6 +167,6 @@ void test_amdgcn_raw_ptr_buffer_store_b96_non_const_soffset(i96 vdata, __amdgpu_
167167// CHECK-NEXT: tail call void @llvm.amdgcn.raw.ptr.buffer.store.v4i32(<4 x i32> [[VDATA:%.*]], ptr addrspace(8) [[RSRC:%.*]], i32 0, i32 [[SOFFSET:%.*]], i32 0)
168168// CHECK-NEXT: ret void
169169//
170- void test_amdgcn_raw_ptr_buffer_store_b128_non_const_soffset (i128 vdata , __amdgpu_buffer_rsrc_t rsrc , int offset , int soffset ) {
170+ void test_amdgcn_raw_ptr_buffer_store_b128_non_const_soffset (v4u32 vdata , __amdgpu_buffer_rsrc_t rsrc , int offset , int soffset ) {
171171 __builtin_amdgcn_raw_buffer_store_b128 (vdata , rsrc , /*offset=*/ 0 , soffset , /*aux=*/ 0 );
172172}
0 commit comments