@@ -16,7 +16,7 @@ define void @loadv4f32() {
1616 ; The temporary casts should all have been cleaned up
1717 ; CHECK-NOT: %dx.cast_handle
1818
19- ; CHECK: [[DATA0:%.*]] = call %dx.types.ResRet.f32 @dx.op.bufferLoad.f32(i32 68, %dx.types.Handle [[HANDLE]], i32 0, i32 undef)
19+ ; CHECK: [[DATA0:%.*]] = call %dx.types.ResRet.f32 @dx.op.bufferLoad.f32(i32 68, %dx.types.Handle [[HANDLE]], i32 0, i32 undef) #[[#ATTR:]]
2020 %data0 = call <4 x float > @llvm.dx.typedBufferLoad (
2121 target ("dx.TypedBuffer" , <4 x float >, 0 , 0 , 0 ) %buffer , i32 0 )
2222
@@ -33,7 +33,7 @@ define void @loadv4f32() {
3333 call void @scalar_user (float %data0_0 )
3434 call void @scalar_user (float %data0_2 )
3535
36- ; CHECK: [[DATA4:%.*]] = call %dx.types.ResRet.f32 @dx.op.bufferLoad.f32(i32 68, %dx.types.Handle [[HANDLE]], i32 4, i32 undef)
36+ ; CHECK: [[DATA4:%.*]] = call %dx.types.ResRet.f32 @dx.op.bufferLoad.f32(i32 68, %dx.types.Handle [[HANDLE]], i32 4, i32 undef) #[[#ATTR]]
3737 %data4 = call <4 x float > @llvm.dx.typedBufferLoad (
3838 target ("dx.TypedBuffer" , <4 x float >, 0 , 0 , 0 ) %buffer , i32 4 )
3939
@@ -47,7 +47,7 @@ define void @loadv4f32() {
4747 ; CHECK: insertelement <4 x float>
4848 call void @vector_user (<4 x float > %data4 )
4949
50- ; CHECK: [[DATA12:%.*]] = call %dx.types.ResRet.f32 @dx.op.bufferLoad.f32(i32 68, %dx.types.Handle [[HANDLE]], i32 12, i32 undef)
50+ ; CHECK: [[DATA12:%.*]] = call %dx.types.ResRet.f32 @dx.op.bufferLoad.f32(i32 68, %dx.types.Handle [[HANDLE]], i32 12, i32 undef) #[[#ATTR]]
5151 %data12 = call <4 x float > @llvm.dx.typedBufferLoad (
5252 target ("dx.TypedBuffer" , <4 x float >, 0 , 0 , 0 ) %buffer , i32 12 )
5353
@@ -69,7 +69,7 @@ define void @index_dynamic(i32 %bufindex, i32 %elemindex) {
6969 @llvm.dx.handle.fromBinding.tdx.TypedBuffer_v4f32_0_0_0 (
7070 i32 0 , i32 0 , i32 1 , i32 0 , i1 false )
7171
72- ; CHECK: [[LOAD:%.*]] = call %dx.types.ResRet.f32 @dx.op.bufferLoad.f32(i32 68, %dx.types.Handle [[HANDLE]], i32 %bufindex, i32 undef)
72+ ; CHECK: [[LOAD:%.*]] = call %dx.types.ResRet.f32 @dx.op.bufferLoad.f32(i32 68, %dx.types.Handle [[HANDLE]], i32 %bufindex, i32 undef) #[[#ATTR]]
7373 %load = call <4 x float > @llvm.dx.typedBufferLoad (
7474 target ("dx.TypedBuffer" , <4 x float >, 0 , 0 , 0 ) %buffer , i32 %bufindex )
7575
@@ -104,7 +104,7 @@ define void @loadf32() {
104104 @llvm.dx.handle.fromBinding.tdx.TypedBuffer_f32_0_0_0 (
105105 i32 0 , i32 0 , i32 1 , i32 0 , i1 false )
106106
107- ; CHECK: [[DATA0:%.*]] = call %dx.types.ResRet.f32 @dx.op.bufferLoad.f32(i32 68, %dx.types.Handle [[HANDLE]], i32 0, i32 undef)
107+ ; CHECK: [[DATA0:%.*]] = call %dx.types.ResRet.f32 @dx.op.bufferLoad.f32(i32 68, %dx.types.Handle [[HANDLE]], i32 0, i32 undef) #[[#ATTR]]
108108 %data0 = call float @llvm.dx.typedBufferLoad (
109109 target ("dx.TypedBuffer" , float , 0 , 0 , 0 ) %buffer , i32 0 )
110110
@@ -122,7 +122,7 @@ define void @loadv2f32() {
122122 @llvm.dx.handle.fromBinding.tdx.TypedBuffer_v2f32_0_0_0 (
123123 i32 0 , i32 0 , i32 1 , i32 0 , i1 false )
124124
125- ; CHECK: [[DATA0:%.*]] = call %dx.types.ResRet.f32 @dx.op.bufferLoad.f32(i32 68, %dx.types.Handle [[HANDLE]], i32 0, i32 undef)
125+ ; CHECK: [[DATA0:%.*]] = call %dx.types.ResRet.f32 @dx.op.bufferLoad.f32(i32 68, %dx.types.Handle [[HANDLE]], i32 0, i32 undef) #[[#ATTR]]
126126 %data0 = call <2 x float > @llvm.dx.typedBufferLoad (
127127 target ("dx.TypedBuffer" , <2 x float >, 0 , 0 , 0 ) %buffer , i32 0 )
128128
@@ -136,12 +136,12 @@ define void @loadv4f32_checkbit() {
136136 @llvm.dx.handle.fromBinding.tdx.TypedBuffer_v4f32_0_0_0 (
137137 i32 0 , i32 0 , i32 1 , i32 0 , i1 false )
138138
139- ; CHECK: [[DATA0:%.*]] = call %dx.types.ResRet.f32 @dx.op.bufferLoad.f32(i32 68, %dx.types.Handle [[HANDLE]], i32 0, i32 undef)
139+ ; CHECK: [[DATA0:%.*]] = call %dx.types.ResRet.f32 @dx.op.bufferLoad.f32(i32 68, %dx.types.Handle [[HANDLE]], i32 0, i32 undef) #[[#ATTR]]
140140 %data0 = call {<4 x float >, i1 } @llvm.dx.typedBufferLoad.checkbit.f32 (
141141 target ("dx.TypedBuffer" , <4 x float >, 0 , 0 , 0 ) %buffer , i32 0 )
142142
143143 ; CHECK: [[STATUS:%.*]] = extractvalue %dx.types.ResRet.f32 [[DATA0]], 4
144- ; CHECK: [[MAPPED:%.*]] = call i1 @dx.op.checkAccessFullyMapped.i32(i32 71, i32 [[STATUS]]
144+ ; CHECK: [[MAPPED:%.*]] = call i1 @dx.op.checkAccessFullyMapped.i32(i32 71, i32 [[STATUS]]) #[[#ATTR]]
145145 %check = extractvalue {<4 x float >, i1 } %data0 , 1
146146
147147 ; CHECK: call void @check_user(i1 [[MAPPED]])
@@ -157,7 +157,7 @@ define void @loadv4i32() {
157157 @llvm.dx.handle.fromBinding.tdx.TypedBuffer_v4i32_0_0_0 (
158158 i32 0 , i32 0 , i32 1 , i32 0 , i1 false )
159159
160- ; CHECK: [[DATA0:%.*]] = call %dx.types.ResRet.i32 @dx.op.bufferLoad.i32(i32 68, %dx.types.Handle [[HANDLE]], i32 0, i32 undef)
160+ ; CHECK: [[DATA0:%.*]] = call %dx.types.ResRet.i32 @dx.op.bufferLoad.i32(i32 68, %dx.types.Handle [[HANDLE]], i32 0, i32 undef) #[[#ATTR]]
161161 %data0 = call <4 x i32 > @llvm.dx.typedBufferLoad (
162162 target ("dx.TypedBuffer" , <4 x i32 >, 0 , 0 , 0 ) %buffer , i32 0 )
163163
@@ -171,7 +171,7 @@ define void @loadv4f16() {
171171 @llvm.dx.handle.fromBinding.tdx.TypedBuffer_v4f16_0_0_0 (
172172 i32 0 , i32 0 , i32 1 , i32 0 , i1 false )
173173
174- ; CHECK: [[DATA0:%.*]] = call %dx.types.ResRet.f16 @dx.op.bufferLoad.f16(i32 68, %dx.types.Handle [[HANDLE]], i32 0, i32 undef)
174+ ; CHECK: [[DATA0:%.*]] = call %dx.types.ResRet.f16 @dx.op.bufferLoad.f16(i32 68, %dx.types.Handle [[HANDLE]], i32 0, i32 undef) #[[#ATTR]]
175175 %data0 = call <4 x half > @llvm.dx.typedBufferLoad (
176176 target ("dx.TypedBuffer" , <4 x half >, 0 , 0 , 0 ) %buffer , i32 0 )
177177
@@ -185,9 +185,11 @@ define void @loadv4i16() {
185185 @llvm.dx.handle.fromBinding.tdx.TypedBuffer_v4i16_0_0_0 (
186186 i32 0 , i32 0 , i32 1 , i32 0 , i1 false )
187187
188- ; CHECK: [[DATA0:%.*]] = call %dx.types.ResRet.i16 @dx.op.bufferLoad.i16(i32 68, %dx.types.Handle [[HANDLE]], i32 0, i32 undef)
188+ ; CHECK: [[DATA0:%.*]] = call %dx.types.ResRet.i16 @dx.op.bufferLoad.i16(i32 68, %dx.types.Handle [[HANDLE]], i32 0, i32 undef) #[[#ATTR]]
189189 %data0 = call <4 x i16 > @llvm.dx.typedBufferLoad (
190190 target ("dx.TypedBuffer" , <4 x i16 >, 0 , 0 , 0 ) %buffer , i32 0 )
191191
192192 ret void
193193}
194+
195+ ; CHECK: attributes #[[#ATTR]] = {{{.*}} memory(read) {{.*}}}
0 commit comments