|
11 | 11 | @Five.str = private unnamed_addr constant [5 x i8] c"Five\00", align 1 |
12 | 12 | @CB.str = private unnamed_addr constant [3 x i8] c"CB\00", align 1 |
13 | 13 | @Constants.str = private unnamed_addr constant [10 x i8] c"Constants\00", align 1 |
| 14 | +@Six.str = private unnamed_addr constant [4 x i8] c"Six\00", align 1 |
| 15 | + |
14 | 16 |
|
15 | 17 | define void @test_typedbuffer() { |
16 | 18 | ; ByteAddressBuffer Buf : register(t8, space1) |
@@ -137,6 +139,23 @@ define void @test_typedbuffer() { |
137 | 139 | ; CHECK: Element Type: f32 |
138 | 140 | ; CHECK: Element Count: 4 |
139 | 141 |
|
| 142 | + %uav4 = call target("dx.TypedBuffer", double, 1, 0, 0) |
| 143 | + @llvm.dx.resource.handlefrombinding(i32 5, i32 0, i32 1, i32 0, ptr @Six.str) |
| 144 | + ; CHECK: Resource [[UAV4:[0-9]+]]: |
| 145 | + ; CHECK: Name: Six |
| 146 | + ; CHECK: Binding: |
| 147 | + ; CHECK: Record ID: 4 |
| 148 | + ; CHECK: Space: 5 |
| 149 | + ; CHECK: Lower Bound: 0 |
| 150 | + ; CHECK: Size: 1 |
| 151 | + ; CHECK: Globally Coherent: 0 |
| 152 | + ; CHECK: Counter Direction: Unknown |
| 153 | + ; CHECK: Class: UAV |
| 154 | + ; CHECK: Kind: Buffer |
| 155 | + ; CHECK: IsROV: 0 |
| 156 | + ; CHECK: Element Type: f64 (stored as u32) |
| 157 | + ; CHECK: Element Count: 1 |
| 158 | + |
140 | 159 | %cb0 = call target("dx.CBuffer", {float}) |
141 | 160 | @llvm.dx.resource.handlefrombinding(i32 1, i32 0, i32 1, i32 0, ptr @CB.str) |
142 | 161 | ; CHECK: Resource [[CB0:[0-9]+]]: |
@@ -175,6 +194,7 @@ define void @test_typedbuffer() { |
175 | 194 | ; CHECK-DAG: Call bound to [[UAV1]]: %uav1 = |
176 | 195 | ; CHECK-DAG: Call bound to [[UAV2]]: %uav2_1 = |
177 | 196 | ; CHECK-DAG: Call bound to [[UAV2]]: %uav2_2 = |
| 197 | +; CHECK-DAG: Call bound to [[UAV4]]: %uav4 = |
178 | 198 | ; CHECK-DAG: Call bound to [[CB0]]: %cb0 = |
179 | 199 | ; CHECK-DAG: Call bound to [[CB1]]: %cb1 = |
180 | 200 |
|
|
0 commit comments