| OLD | NEW |
| 1 ; RUIN: %llvm2ice --verbose none %s | FileCheck %s | 1 ; RUIN: %llvm2ice --verbose none %s | FileCheck %s |
| 2 ; RUIN: %llvm2ice --verbose none %s | FileCheck --check-prefix=ERRORS %s | 2 ; RUIN: %llvm2ice --verbose none %s | FileCheck --check-prefix=ERRORS %s |
| 3 ; RUN: %szdiff --llvm2ice=%llvm2ice %s | FileCheck --check-prefix=DUMP %s | 3 ; RUN: %llvm2iceinsts %s | %szdiff %s | FileCheck --check-prefix=DUMP %s |
| 4 ; RUN: %llvm2iceinsts --pnacl %s | %szdiff %s \ |
| 5 ; RUN: | FileCheck --check-prefix=DUMP %s |
| 4 | 6 |
| 5 @__init_array_start = internal constant [0 x i8] zeroinitializer, align 4 | 7 @__init_array_start = internal constant [0 x i8] zeroinitializer, align 4 |
| 6 @__fini_array_start = internal constant [0 x i8] zeroinitializer, align 4 | 8 @__fini_array_start = internal constant [0 x i8] zeroinitializer, align 4 |
| 7 @__tls_template_start = internal constant [0 x i8] zeroinitializer, align 8 | 9 @__tls_template_start = internal constant [0 x i8] zeroinitializer, align 8 |
| 8 @__tls_template_alignment = internal constant [4 x i8] c"\01\00\00\00", align 4 | 10 @__tls_template_alignment = internal constant [4 x i8] c"\01\00\00\00", align 4 |
| 9 | 11 |
| 10 define internal i32 @ignore64BitArg(i64 %a, i32 %b, i64 %c) { | 12 define internal i32 @ignore64BitArg(i64 %a, i32 %b, i64 %c) { |
| 11 entry: | 13 entry: |
| 12 ret i32 %b | 14 ret i32 %b |
| 13 } | 15 } |
| (...skipping 698 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 712 } | 714 } |
| 713 ; CHECK: icmpUle64Bool: | 715 ; CHECK: icmpUle64Bool: |
| 714 ; CHECK: cmp | 716 ; CHECK: cmp |
| 715 ; CHECK: jb | 717 ; CHECK: jb |
| 716 ; CHECK: ja | 718 ; CHECK: ja |
| 717 ; CHECK: cmp | 719 ; CHECK: cmp |
| 718 ; CHECK: jbe | 720 ; CHECK: jbe |
| 719 | 721 |
| 720 define internal i64 @load64(i32 %a) { | 722 define internal i64 @load64(i32 %a) { |
| 721 entry: | 723 entry: |
| 722 %a.asptr = inttoptr i32 %a to i64* | 724 %__1 = inttoptr i32 %a to i64* |
| 723 %v0 = load i64* %a.asptr, align 1 | 725 %v0 = load i64* %__1, align 1 |
| 724 ret i64 %v0 | 726 ret i64 %v0 |
| 725 } | 727 } |
| 726 ; CHECK: load64: | 728 ; CHECK: load64: |
| 727 ; CHECK: mov e[[REGISTER:[a-z]+]], dword ptr [esp+4] | 729 ; CHECK: mov e[[REGISTER:[a-z]+]], dword ptr [esp+4] |
| 728 ; CHECK-NEXT: mov {{.*}}, dword ptr [e[[REGISTER]]] | 730 ; CHECK-NEXT: mov {{.*}}, dword ptr [e[[REGISTER]]] |
| 729 ; CHECK-NEXT: mov {{.*}}, dword ptr [e[[REGISTER]]+4] | 731 ; CHECK-NEXT: mov {{.*}}, dword ptr [e[[REGISTER]]+4] |
| 730 | 732 |
| 731 define internal void @store64(i32 %a, i64 %value) { | 733 define internal void @store64(i32 %a, i64 %value) { |
| 732 entry: | 734 entry: |
| 733 %a.asptr = inttoptr i32 %a to i64* | 735 %__2 = inttoptr i32 %a to i64* |
| 734 store i64 %value, i64* %a.asptr, align 1 | 736 store i64 %value, i64* %__2, align 1 |
| 735 ret void | 737 ret void |
| 736 } | 738 } |
| 737 ; CHECK: store64: | 739 ; CHECK: store64: |
| 738 ; CHECK: mov e[[REGISTER:[a-z]+]], dword ptr [esp+4] | 740 ; CHECK: mov e[[REGISTER:[a-z]+]], dword ptr [esp+4] |
| 739 ; CHECK: mov dword ptr [e[[REGISTER]]+4], | 741 ; CHECK: mov dword ptr [e[[REGISTER]]+4], |
| 740 ; CHECK: mov dword ptr [e[[REGISTER]]], | 742 ; CHECK: mov dword ptr [e[[REGISTER]]], |
| 741 | 743 |
| 742 define internal void @store64Const(i32 %a) { | 744 define internal void @store64Const(i32 %a) { |
| 743 entry: | 745 entry: |
| 744 %a.asptr = inttoptr i32 %a to i64* | 746 %a.asptr = inttoptr i32 %a to i64* |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 790 ; CHECK: cmp | 792 ; CHECK: cmp |
| 791 ; CHECK: jb | 793 ; CHECK: jb |
| 792 ; CHECK: ja | 794 ; CHECK: ja |
| 793 ; CHECK: cmp | 795 ; CHECK: cmp |
| 794 ; CHECK: jb | 796 ; CHECK: jb |
| 795 ; CHECK: cmp | 797 ; CHECK: cmp |
| 796 ; CHECK: jne | 798 ; CHECK: jne |
| 797 | 799 |
| 798 ; ERRORS-NOT: ICE translation error | 800 ; ERRORS-NOT: ICE translation error |
| 799 ; DUMP-NOT: SZ | 801 ; DUMP-NOT: SZ |
| OLD | NEW |