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