|
1 | 1 | ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 5 |
2 | 2 | ; RUN: opt -S -dxil-legalize -dxil-finalize-linkage -mtriple=dxil-pc-shadermodel6.3-library %s | FileCheck %s |
3 | 3 |
|
4 | | -@outputStrides = external local_unnamed_addr addrspace(2) global [2 x <4 x i32>], align 4 |
5 | | - |
6 | | -define void @replace_2x4xint_global_memcpy_test() #0 { |
7 | | -; CHECK-LABEL: define void @replace_2x4xint_global_memcpy_test( |
8 | | -; CHECK-SAME: ) #[[ATTR0:[0-9]+]] { |
9 | | -; CHECK-NEXT: [[TMP1:%.*]] = alloca [2 x <4 x i32>], align 16 |
10 | | -; CHECK-NEXT: [[TMP2:%.*]] = load <4 x i32>, ptr addrspace(2) @outputStrides, align 16 |
11 | | -; CHECK-NEXT: [[GEP:%.*]] = getelementptr inbounds <4 x i32>, ptr [[TMP1]], i32 0 |
12 | | -; CHECK-NEXT: store <4 x i32> [[TMP2]], ptr [[GEP]], align 16 |
13 | | -; CHECK-NEXT: [[TMP3:%.*]] = load <4 x i32>, ptr addrspace(2) getelementptr inbounds (<4 x i32>, ptr addrspace(2) @outputStrides, i32 1), align 16 |
14 | | -; CHECK-NEXT: [[GEP1:%.*]] = getelementptr inbounds <4 x i32>, ptr [[TMP1]], i32 1 |
15 | | -; CHECK-NEXT: store <4 x i32> [[TMP3]], ptr [[GEP1]], align 16 |
16 | | -; CHECK-NEXT: ret void |
17 | | -; |
18 | | - %1 = alloca [2 x <4 x i32>], align 16 |
19 | | - call void @llvm.memcpy.p0.p2.i32(ptr nonnull align 16 dereferenceable(32) %1, ptr addrspace(2) align 16 dereferenceable(32) @outputStrides, i32 32, i1 false) |
20 | | - ret void |
21 | | -} |
22 | | - |
23 | 4 | define void @replace_int_memcpy_test() #0 { |
24 | 5 | ; CHECK-LABEL: define void @replace_int_memcpy_test( |
25 | | -; CHECK-SAME: ) #[[ATTR0]] { |
| 6 | +; CHECK-SAME: ) #[[ATTR0:[0-9]+]] { |
26 | 7 | ; CHECK-NEXT: [[TMP1:%.*]] = alloca [1 x i32], align 4 |
27 | 8 | ; CHECK-NEXT: [[TMP2:%.*]] = alloca [1 x i32], align 4 |
28 | 9 | ; CHECK-NEXT: [[GEP:%.*]] = getelementptr inbounds i32, ptr [[TMP1]], i32 0 |
|
0 commit comments