|
74 | 74 | ; CHECK: [[UPTO1:%.*]] = insertelement <3 x double> [[UPTO0]], double [[Y]], i32 1 |
75 | 75 | ; CHECK: [[UPTO2:%.*]] = insertelement <3 x double> [[UPTO1]], double [[Z]], i32 2 |
76 | 76 | ; CHECK: [[DEST:%.*]] = getelementptr inbounds i8, ptr [[A2_COPY:%.*]], i32 0 |
77 | | -; CHECK: store <3 x double> [[UPTO2]], ptr [[DEST]], align 32 |
| 77 | +; CHECK: store <3 x double> [[UPTO2]], ptr [[DEST]], align 8 |
78 | 78 | ; CHECK: [[LOAD:%.*]] = call { double, double } @llvm.dx.resource.load.cbufferrow.2.{{.*}}(target("dx.CBuffer", {{.*}})) [[CB]], i32 5) |
79 | 79 | ; CHECK: [[X:%.*]] = extractvalue { double, double } [[LOAD]], 0 |
80 | 80 | ; CHECK: [[Y:%.*]] = extractvalue { double, double } [[LOAD]], 1 |
|
83 | 83 | ; CHECK: [[UPTO0:%.*]] = insertelement <3 x double> poison, double [[X]], i32 0 |
84 | 84 | ; CHECK: [[UPTO1:%.*]] = insertelement <3 x double> [[UPTO0]], double [[Y]], i32 1 |
85 | 85 | ; CHECK: [[UPTO2:%.*]] = insertelement <3 x double> [[UPTO1]], double [[Z]], i32 2 |
86 | | -; CHECK: [[DEST:%.*]] = getelementptr inbounds i8, ptr [[A2_COPY]], i32 32 |
87 | | -; CHECK: store <3 x double> [[UPTO2]], ptr [[DEST]], align 32 |
88 | | - call void @llvm.memcpy.p0.p2.i32(ptr align 32 %a2.copy, ptr addrspace(2) align 32 @a2, i32 64, i1 false) |
| 86 | +; CHECK: [[DEST:%.*]] = getelementptr inbounds i8, ptr [[A2_COPY]], i32 24 |
| 87 | +; CHECK: store <3 x double> [[UPTO2]], ptr [[DEST]], align 8 |
| 88 | + call void @llvm.memcpy.p0.p2.i32(ptr align 32 %a2.copy, ptr addrspace(2) align 32 @a2, i32 48, i1 false) |
89 | 89 |
|
90 | 90 | ; CHECK: [[CB:%.*]] = load target("dx.CBuffer", {{.*}})), ptr @CB.cb, align 4 |
91 | 91 | ; CHECK: [[LOAD:%.*]] = call { half, half, half, half, half, half, half, half } @llvm.dx.resource.load.cbufferrow.8.{{.*}}(target("dx.CBuffer", {{.*}})) [[CB]], i32 7) |
|
0 commit comments