OLD | NEW |
1 ; Trivial smoke test of icmp without fused branch opportunity. | 1 ; Trivial smoke test of icmp without fused branch opportunity. |
2 | 2 |
3 ; RUN: %llvm2ice --verbose inst %s | FileCheck %s | 3 ; RUN: %llvm2ice --verbose inst %s | FileCheck %s |
4 ; RUN: %llvm2ice --verbose none %s | FileCheck --check-prefix=ERRORS %s | 4 ; RUN: %llvm2ice --verbose none %s | FileCheck --check-prefix=ERRORS %s |
5 ; RUN: %llvm2iceinsts %s | %szdiff %s | FileCheck --check-prefix=DUMP %s | 5 ; RUN: %llvm2iceinsts %s | %szdiff %s | FileCheck --check-prefix=DUMP %s |
6 ; RUN: %llvm2iceinsts --pnacl %s | %szdiff %s \ | 6 ; RUN: %llvm2iceinsts --pnacl %s | %szdiff %s \ |
7 ; RUN: | FileCheck --check-prefix=DUMP %s | 7 ; RUN: | FileCheck --check-prefix=DUMP %s |
8 | 8 |
9 define void @testBool(i32 %a, i32 %b) { | 9 define void @testBool(i32 %a, i32 %b) { |
10 entry: | 10 entry: |
11 %cmp = icmp eq i32 %a, %b | 11 %cmp = icmp eq i32 %a, %b |
12 %cmp_ext = zext i1 %cmp to i32 | 12 %cmp_ext = zext i1 %cmp to i32 |
13 tail call void @use(i32 %cmp_ext) | 13 tail call void @use(i32 %cmp_ext) |
14 ret void | 14 ret void |
15 } | 15 } |
16 | 16 |
| 17 ; Check that correct addressing modes are used for comparing two |
| 18 ; immediates. |
| 19 define void @testIcmpImm() { |
| 20 entry: |
| 21 %cmp = icmp eq i32 1, 2 |
| 22 %cmp_ext = zext i1 %cmp to i32 |
| 23 tail call void @use(i32 %cmp_ext) |
| 24 ret void |
| 25 } |
| 26 ; CHECK-LABEL: testIcmpImm |
| 27 ; CHECK-NOT: cmp {{[0-9]+}}, |
| 28 |
17 declare void @use(i32) | 29 declare void @use(i32) |
18 | 30 |
19 ; CHECK-NOT: ICE translation error | 31 ; CHECK-NOT: ICE translation error |
20 ; ERRORS-NOT: ICE translation error | 32 ; ERRORS-NOT: ICE translation error |
21 ; DUMP-NOT: SZ | 33 ; DUMP-NOT: SZ |
OLD | NEW |