|
9 | 9 | ; uint16_t3 a6; // offset 96, size 6 (+10)
|
10 | 10 | ; };
|
11 | 11 | %__cblayout_CB = type <{ <3 x float>, <3 x double>, <2 x half>, <3 x i64>, <4 x i32>, <3 x i16> }>
|
12 |
| -%struct.S = type { <3 x float>, <3 x double>, <2 x half>, <3 x i64>, <4 x i32>, <3 x i16> } |
13 | 12 |
|
14 |
| -@CB.cb = local_unnamed_addr global target("dx.CBuffer", target("dx.Layout", %__cblayout_CB, 136, 0, 16, 40, 48, 80, 96)) poison |
| 13 | +@CB.cb = local_unnamed_addr global target("dx.CBuffer", target("dx.Layout", %__cblayout_CB, 102, 0, 16, 40, 48, 80, 96)) poison |
| 14 | +; CHECK: @CB.cb = |
| 15 | +; CHECK-NOT: external {{.*}} addrspace(2) global |
15 | 16 | @a1 = external local_unnamed_addr addrspace(2) global <3 x float>, align 16
|
16 | 17 | @a2 = external local_unnamed_addr addrspace(2) global <3 x double>, align 32
|
17 | 18 | @a3 = external local_unnamed_addr addrspace(2) global <2 x half>, align 4
|
18 | 19 | @a4 = external local_unnamed_addr addrspace(2) global <3 x i64>, align 32
|
19 | 20 | @a5 = external local_unnamed_addr addrspace(2) global <4 x i32>, align 16
|
20 | 21 | @a6 = external local_unnamed_addr addrspace(2) global <3 x i16>, align 8
|
21 | 22 |
|
| 23 | +; CHECK: define void @f |
22 | 24 | define void @f(ptr %dst) {
|
23 | 25 | entry:
|
24 |
| - %CB.cb_h.i.i = tail call target("dx.CBuffer", target("dx.Layout", %__cblayout_CB, 136, 0, 16, 40, 48, 80, 96)) @llvm.dx.resource.handlefrombinding(i32 0, i32 0, i32 1, i32 0, i1 false) |
25 |
| - store target("dx.CBuffer", target("dx.Layout", %__cblayout_CB, 136, 0, 16, 40, 48, 80, 96)) %CB.cb_h.i.i, ptr @CB.cb, align 4 |
| 26 | + %CB.cb_h.i.i = tail call target("dx.CBuffer", target("dx.Layout", %__cblayout_CB, 102, 0, 16, 40, 48, 80, 96)) @llvm.dx.resource.handlefrombinding(i32 0, i32 0, i32 1, i32 0, i1 false) |
| 27 | + store target("dx.CBuffer", target("dx.Layout", %__cblayout_CB, 102, 0, 16, 40, 48, 80, 96)) %CB.cb_h.i.i, ptr @CB.cb, align 4 |
26 | 28 |
|
27 | 29 | ; CHECK: [[CB:%.*]] = load target("dx.CBuffer", {{.*}})), ptr @CB.cb
|
28 | 30 | ; CHECK: [[LOAD:%.*]] = call { float, float, float, float } @llvm.dx.resource.load.cbufferrow.4.{{.*}}(target("dx.CBuffer", {{.*}})) [[CB]], i32 0)
|
@@ -111,6 +113,7 @@ entry:
|
111 | 113 | ret void
|
112 | 114 | }
|
113 | 115 |
|
| 116 | +; CHECK-NOT: !hlsl.cbs = |
114 | 117 | !hlsl.cbs = !{!0}
|
115 | 118 |
|
116 | 119 | !0 = !{ptr @CB.cb, ptr addrspace(2) @a1, ptr addrspace(2) @a2, ptr addrspace(2) @a3, ptr addrspace(2) @a4, ptr addrspace(2) @a5, ptr addrspace(2) @a6}
|
0 commit comments