|
14 | 14 |
|
15 | 15 | subroutine test_prefetch_01() |
16 | 16 | ! LLVM: {{.*}} = alloca i32, i64 1, align 4 |
17 | | - ! LLVM: %[[L_J:.*]] = alloca i32, i64 1, align 4 |
18 | | - ! LLVM: %[[L_I:.*]] = alloca i32, i64 1, align 4 |
19 | | - ! LLVM: %[[L_A:.*]] = alloca [256 x i32], i64 1, align 4 |
| 17 | + ! LLVM: %[[VAR_J:.*]] = alloca i32, i64 1, align 4 |
| 18 | + ! LLVM: %[[VAR_I:.*]] = alloca i32, i64 1, align 4 |
| 19 | + ! LLVM: %[[VAR_A:.*]] = alloca [256 x i32], i64 1, align 4 |
20 | 20 |
|
21 | 21 | integer :: i, j |
22 | 22 | integer :: a(256) |
23 | 23 |
|
24 | 24 | a = 23 |
25 | | - ! LLVM: call void @llvm.prefetch.p0(ptr %6, i32 0, i32 3, i32 1) |
| 25 | + ! LLVM: call void @llvm.prefetch.p0(ptr %[[VAR_A]], i32 0, i32 3, i32 1) |
26 | 26 | !dir$ prefetch a |
27 | 27 | i = sum(a) |
28 | | - ! LLVM: %[[L_LOAD:.*]] = load i32, ptr %5, align 4 |
29 | | - ! LLVM: %[[L_ADD:.*]] = add nsw i32 %[[L_LOAD]], 64 |
30 | | - ! LLVM: %[[L_GEP:.*]] = getelementptr i32, ptr %[[L_A]], i64 {{.*}} |
31 | 28 |
|
32 | | - ! LLVM: call void @llvm.prefetch.p0(ptr %[[L_GEP]], i32 0, i32 3, i32 1) |
33 | | - ! LLVM: call void @llvm.prefetch.p0(ptr %[[L_J]], i32 0, i32 3, i32 1) |
| 29 | + ! LLVM: %[[LOAD_I:.*]] = load i32, ptr %[[VAR_I]], align 4 |
| 30 | + ! LLVM: %{{.*}} = add nsw i32 %[[LOAD_I]], 64 |
| 31 | + ! LLVM: %[[GEP_A:.*]] = getelementptr i32, ptr %[[VAR_A]], i64 {{.*}} |
34 | 32 |
|
| 33 | + ! LLVM: call void @llvm.prefetch.p0(ptr %[[GEP_A]], i32 0, i32 3, i32 1) |
| 34 | + ! LLVM: call void @llvm.prefetch.p0(ptr %[[VAR_J]], i32 0, i32 3, i32 1) |
35 | 35 | do i = 1, (256 - 64) |
36 | 36 | !dir$ prefetch a(i+64), j |
37 | 37 | a(i) = a(i-32) + a(i+32) + j |
|
0 commit comments