OLD | NEW |
1 ; RUIN: %llvm2ice -verbose inst %s | FileCheck %s | 1 ; Simple test of the load instruction. |
2 ; RUIN: %llvm2ice --verbose none %s | FileCheck --check-prefix=ERRORS %s | 2 |
| 3 ; RUN: %llvm2ice --verbose inst %s | FileCheck %s |
| 4 ; RUN: %llvm2ice --verbose none %s | FileCheck --check-prefix=ERRORS %s |
3 ; RUN: %llvm2iceinsts %s | %szdiff %s | FileCheck --check-prefix=DUMP %s | 5 ; RUN: %llvm2iceinsts %s | %szdiff %s | FileCheck --check-prefix=DUMP %s |
4 ; RUN: %llvm2iceinsts --pnacl %s | %szdiff %s \ | 6 ; RUN: %llvm2iceinsts --pnacl %s | %szdiff %s \ |
5 ; RUN: | FileCheck --check-prefix=DUMP %s | 7 ; RUN: | FileCheck --check-prefix=DUMP %s |
6 | 8 |
7 define void @load_i64(i32 %addr_arg) { | 9 define void @load_i64(i32 %addr_arg) { |
8 entry: | 10 entry: |
9 %__1 = inttoptr i32 %addr_arg to i64* | 11 %__1 = inttoptr i32 %addr_arg to i64* |
10 %iv = load i64* %__1, align 1 | 12 %iv = load i64* %__1, align 1 |
11 ret void | 13 ret void |
12 | 14 |
13 ; CHECK: %__1 = i32 %addr_arg | 15 ; CHECK: Initial CFG |
| 16 ; CHECK: %__1 = i32 %addr_arg |
14 ; CHECK-NEXT: %iv = load i64* {{.*}}, align 1 | 17 ; CHECK-NEXT: %iv = load i64* {{.*}}, align 1 |
15 ; CHECK-NEXT: ret void | 18 ; CHECK-NEXT: ret void |
16 } | 19 } |
17 | 20 |
18 define void @load_i32(i32 %addr_arg) { | 21 define void @load_i32(i32 %addr_arg) { |
19 entry: | 22 entry: |
20 %__1 = inttoptr i32 %addr_arg to i32* | 23 %__1 = inttoptr i32 %addr_arg to i32* |
21 %iv = load i32* %__1, align 1 | 24 %iv = load i32* %__1, align 1 |
22 ret void | 25 ret void |
23 | 26 |
| 27 ; CHECK: Initial CFG |
24 ; CHECK: %__1 = i32 %addr_arg | 28 ; CHECK: %__1 = i32 %addr_arg |
25 ; CHECK-NEXT: %iv = load i32* {{.*}}, align 1 | 29 ; CHECK-NEXT: %iv = load i32* {{.*}}, align 1 |
26 ; CHECK-NEXT: ret void | 30 ; CHECK-NEXT: ret void |
27 } | 31 } |
28 | 32 |
29 define void @load_i16(i32 %addr_arg) { | 33 define void @load_i16(i32 %addr_arg) { |
30 entry: | 34 entry: |
31 %__1 = inttoptr i32 %addr_arg to i16* | 35 %__1 = inttoptr i32 %addr_arg to i16* |
32 %iv = load i16* %__1, align 1 | 36 %iv = load i16* %__1, align 1 |
33 ret void | 37 ret void |
34 | 38 |
| 39 ; CHECK: Initial CFG |
35 ; CHECK: %__1 = i32 %addr_arg | 40 ; CHECK: %__1 = i32 %addr_arg |
36 ; CHECK-NEXT: %iv = load i16* {{.*}}, align 1 | 41 ; CHECK-NEXT: %iv = load i16* {{.*}}, align 1 |
37 ; CHECK-NEXT: ret void | 42 ; CHECK-NEXT: ret void |
38 } | 43 } |
39 | 44 |
40 define void @load_i8(i32 %addr_arg) { | 45 define void @load_i8(i32 %addr_arg) { |
41 entry: | 46 entry: |
42 %__1 = inttoptr i32 %addr_arg to i8* | 47 %__1 = inttoptr i32 %addr_arg to i8* |
43 %iv = load i8* %__1, align 1 | 48 %iv = load i8* %__1, align 1 |
44 ret void | 49 ret void |
45 | 50 |
| 51 ; CHECK: Initial CFG |
46 ; CHECK: %__1 = i32 %addr_arg | 52 ; CHECK: %__1 = i32 %addr_arg |
47 ; CHECK-NEXT: %iv = load i8* {{.*}}, align 1 | 53 ; CHECK-NEXT: %iv = load i8* {{.*}}, align 1 |
48 ; CHECK-NEXT: ret void | 54 ; CHECK-NEXT: ret void |
49 } | 55 } |
50 | 56 |
51 ; ERRORS-NOT: ICE translation error | 57 ; ERRORS-NOT: ICE translation error |
52 ; DUMP-NOT: SZ | 58 ; DUMP-NOT: SZ |
OLD | NEW |