OLD | NEW |
1 ; Simple test of the store instruction. | 1 ; Simple test of the store instruction. |
2 | 2 |
3 ; TODO(kschimpf) Find out why lc2i is needed, and fix. | 3 ; RUN: %p2i -i %s --args --verbose inst | FileCheck %s |
4 ; RUN: %lc2i -i %s --args --verbose inst | FileCheck %s | 4 ; RUN: %p2i -i %s --args --verbose none | FileCheck --check-prefix=ERRORS %s |
5 ; RUN: %lc2i -i %s --args --verbose none | FileCheck --check-prefix=ERRORS %s | |
6 ; RUN: %lc2i -i %s --insts | %szdiff %s | FileCheck --check-prefix=DUMP %s | |
7 | 5 |
8 define void @store_i64(i32 %addr_arg) { | 6 define void @store_i64(i32 %addr_arg) { |
9 entry: | 7 entry: |
10 %__1 = inttoptr i32 %addr_arg to i64* | 8 %__1 = inttoptr i32 %addr_arg to i64* |
11 store i64 1, i64* %__1, align 1 | 9 store i64 1, i64* %__1, align 1 |
12 ret void | 10 ret void |
13 | 11 |
14 ; CHECK: Initial CFG | 12 ; CHECK: Initial CFG |
15 ; CHECK: %__1 = i32 %addr_arg | 13 ; CHECK: entry: |
16 ; CHECK-NEXT: store i64 1, {{.*}}, align 1 | 14 ; CHECK-NEXT: store i64 1, i64* %addr_arg, align 1 |
17 ; CHECK-NEXT: ret void | 15 ; CHECK-NEXT: ret void |
18 } | 16 } |
19 | 17 |
20 define void @store_i32(i32 %addr_arg) { | 18 define void @store_i32(i32 %addr_arg) { |
21 entry: | 19 entry: |
22 %__1 = inttoptr i32 %addr_arg to i32* | 20 %__1 = inttoptr i32 %addr_arg to i32* |
23 store i32 1, i32* %__1, align 1 | 21 store i32 1, i32* %__1, align 1 |
24 ret void | 22 ret void |
25 | 23 |
26 ; CHECK: Initial CFG | 24 ; CHECK: Initial CFG |
27 ; CHECK: %__1 = i32 %addr_arg | 25 ; CHECK: entry: |
28 ; CHECK-NEXT: store i32 1, {{.*}}, align 1 | 26 ; CHECK-NEXT: store i32 1, i32* %addr_arg, align 1 |
29 ; CHECK-NEXT: ret void | 27 ; CHECK-NEXT: ret void |
30 } | 28 } |
31 | 29 |
32 define void @store_i16(i32 %addr_arg) { | 30 define void @store_i16(i32 %addr_arg) { |
33 entry: | 31 entry: |
34 %__1 = inttoptr i32 %addr_arg to i16* | 32 %__1 = inttoptr i32 %addr_arg to i16* |
35 store i16 1, i16* %__1, align 1 | 33 store i16 1, i16* %__1, align 1 |
36 ret void | 34 ret void |
37 | 35 |
38 ; CHECK: Initial CFG | 36 ; CHECK: Initial CFG |
39 ; CHECK: %__1 = i32 %addr_arg | 37 ; CHECK: entry: |
40 ; CHECK-NEXT: store i16 1, {{.*}}, align 1 | 38 ; CHECK-NEXT: store i16 1, i16* %addr_arg, align 1 |
41 ; CHECK-NEXT: ret void | 39 ; CHECK-NEXT: ret void |
42 } | 40 } |
43 | 41 |
44 define void @store_i8(i32 %addr_arg) { | 42 define void @store_i8(i32 %addr_arg) { |
45 entry: | 43 entry: |
46 %__1 = inttoptr i32 %addr_arg to i8* | 44 %__1 = inttoptr i32 %addr_arg to i8* |
47 store i8 1, i8* %__1, align 1 | 45 store i8 1, i8* %__1, align 1 |
48 ret void | 46 ret void |
49 | 47 |
50 ; CHECK: Initial CFG | 48 ; CHECK: Initial CFG |
51 ; CHECK: %__1 = i32 %addr_arg | 49 ; CHECK: entry: |
52 ; CHECK-NEXT: store i8 1, {{.*}}, align 1 | 50 ; CHECK-NEXT: store i8 1, i8* %addr_arg, align 1 |
53 ; CHECK-NEXT: ret void | 51 ; CHECK-NEXT: ret void |
54 } | 52 } |
55 | 53 |
56 ; ERRORS-NOT: ICE translation error | 54 ; ERRORS-NOT: ICE translation error |
57 ; DUMP-NOT: SZ | |
OLD | NEW |