Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(61)

Side by Side Diff: tests_lit/llvm2ice_tests/64bit.pnacl.ll

Issue 1130023002: Subzero: Simplify the icmp i64 lowering. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 ; This tries to be a comprehensive test of i64 operations, in 1 ; This tries to be a comprehensive test of i64 operations, in
2 ; particular the patterns for lowering i64 operations into constituent 2 ; particular the patterns for lowering i64 operations into constituent
3 ; i32 operations on x86-32. 3 ; i32 operations on x86-32.
4 4
5 ; RUN: %p2i --filetype=obj --disassemble -i %s --args -O2 \ 5 ; RUN: %p2i --filetype=obj --disassemble -i %s --args -O2 \
6 ; RUN: | FileCheck %s 6 ; RUN: | FileCheck %s
7 ; RUN: %p2i --filetype=obj --disassemble -i %s --args -Om1 \ 7 ; RUN: %p2i --filetype=obj --disassemble -i %s --args -Om1 \
8 ; RUN: | FileCheck --check-prefix=OPTM1 %s 8 ; RUN: | FileCheck --check-prefix=OPTM1 %s
9 9
10 @__init_array_start = internal constant [0 x i8] zeroinitializer, align 4 10 @__init_array_start = internal constant [0 x i8] zeroinitializer, align 4
(...skipping 714 matching lines...) Expand 10 before | Expand all | Expand 10 after
725 725
726 if.then2: ; preds = %if.end 726 if.then2: ; preds = %if.end
727 call void @func() 727 call void @func()
728 br label %if.end3 728 br label %if.end3
729 729
730 if.end3: ; preds = %if.then2, %if.end 730 if.end3: ; preds = %if.then2, %if.end
731 ret void 731 ret void
732 } 732 }
733 ; CHECK-LABEL: icmpEq64 733 ; CHECK-LABEL: icmpEq64
734 ; CHECK: jne 734 ; CHECK: jne
735 ; CHECK: jne 735 ; CHECK: je
736 ; CHECK: call 736 ; CHECK: call
737 ; CHECK: jne 737 ; CHECK: jne
738 ; CHECK: jne 738 ; CHECK: je
739 ; CHECK: call 739 ; CHECK: call
740 ; 740 ;
741 ; OPTM1-LABEL: icmpEq64 741 ; OPTM1-LABEL: icmpEq64
742 ; OPTM1: jne 742 ; OPTM1: jne
743 ; OPTM1: jne 743 ; OPTM1: je
744 ; OPTM1: call 744 ; OPTM1: call
745 ; OPTM1: jne 745 ; OPTM1: jne
746 ; OPTM1: jne 746 ; OPTM1: je
747 ; OPTM1: call 747 ; OPTM1: call
748 748
749 declare void @func() 749 declare void @func()
750 750
751 define internal void @icmpNe64(i64 %a, i64 %b, i64 %c, i64 %d) { 751 define internal void @icmpNe64(i64 %a, i64 %b, i64 %c, i64 %d) {
752 entry: 752 entry:
753 %cmp = icmp ne i64 %a, %b 753 %cmp = icmp ne i64 %a, %b
754 br i1 %cmp, label %if.then, label %if.end 754 br i1 %cmp, label %if.then, label %if.end
755 755
756 if.then: ; preds = %entry 756 if.then: ; preds = %entry
(...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after
945 ; OPTM1: call 945 ; OPTM1: call
946 946
947 define internal i32 @icmpEq64Bool(i64 %a, i64 %b) { 947 define internal i32 @icmpEq64Bool(i64 %a, i64 %b) {
948 entry: 948 entry:
949 %cmp = icmp eq i64 %a, %b 949 %cmp = icmp eq i64 %a, %b
950 %cmp.ret_ext = zext i1 %cmp to i32 950 %cmp.ret_ext = zext i1 %cmp to i32
951 ret i32 %cmp.ret_ext 951 ret i32 %cmp.ret_ext
952 } 952 }
953 ; CHECK-LABEL: icmpEq64Bool 953 ; CHECK-LABEL: icmpEq64Bool
954 ; CHECK: jne 954 ; CHECK: jne
955 ; CHECK: jne 955 ; CHECK: je
956 ; 956 ;
957 ; OPTM1-LABEL: icmpEq64Bool 957 ; OPTM1-LABEL: icmpEq64Bool
958 ; OPTM1: jne 958 ; OPTM1: jne
959 ; OPTM1: jne 959 ; OPTM1: je
960 960
961 define internal i32 @icmpNe64Bool(i64 %a, i64 %b) { 961 define internal i32 @icmpNe64Bool(i64 %a, i64 %b) {
962 entry: 962 entry:
963 %cmp = icmp ne i64 %a, %b 963 %cmp = icmp ne i64 %a, %b
964 %cmp.ret_ext = zext i1 %cmp to i32 964 %cmp.ret_ext = zext i1 %cmp to i32
965 ret i32 %cmp.ret_ext 965 ret i32 %cmp.ret_ext
966 } 966 }
967 ; CHECK-LABEL: icmpNe64Bool 967 ; CHECK-LABEL: icmpNe64Bool
968 ; CHECK: jne 968 ; CHECK: jne
969 ; CHECK: jne 969 ; CHECK: jne
(...skipping 325 matching lines...) Expand 10 before | Expand all | Expand 10 after
1295 1295
1296 if.end3: ; preds = %if.then2, %if.end 1296 if.end3: ; preds = %if.then2, %if.end
1297 ret void 1297 ret void
1298 } 1298 }
1299 ; The following checks are not strictly necessary since one of the RUN 1299 ; The following checks are not strictly necessary since one of the RUN
1300 ; lines actually runs the output through the assembler. 1300 ; lines actually runs the output through the assembler.
1301 ; CHECK-LABEL: icmpLt64Imm 1301 ; CHECK-LABEL: icmpLt64Imm
1302 ; CHECK-NOT: cmp 0x{{[0-9a-f]+}}, 1302 ; CHECK-NOT: cmp 0x{{[0-9a-f]+}},
1303 ; OPTM1-LABEL: icmpLt64Imm 1303 ; OPTM1-LABEL: icmpLt64Imm
1304 ; OPTM1-NOT: cmp 0x{{[0-9a-f]+}}, 1304 ; OPTM1-NOT: cmp 0x{{[0-9a-f]+}},
OLDNEW
« src/IceTargetLoweringX8632.cpp ('K') | « src/IceTargetLoweringX8632.def ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698