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

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

Issue 1406593003: Optimize 64-bit compares with zero (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Simplify header file Created 5 years, 2 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: %if --need=target_X8632 --command %p2i --filetype=obj --disassemble \ 5 ; RUN: %if --need=target_X8632 --command %p2i --filetype=obj --disassemble \
6 ; RUN: --target x8632 -i %s --args -O2 -allow-externally-defined-symbols \ 6 ; RUN: --target x8632 -i %s --args -O2 -allow-externally-defined-symbols \
7 ; RUN: | %if --need=target_X8632 --command FileCheck %s 7 ; RUN: | %if --need=target_X8632 --command FileCheck %s
8 8
9 ; RUN: %if --need=target_X8632 --command %p2i --filetype=obj --disassemble \ 9 ; RUN: %if --need=target_X8632 --command %p2i --filetype=obj --disassemble \
10 ; RUN: --target x8632 -i %s --args -Om1 -allow-externally-defined-symbols \ 10 ; RUN: --target x8632 -i %s --args -Om1 -allow-externally-defined-symbols \
(...skipping 1754 matching lines...) Expand 10 before | Expand all | Expand 10 after
1765 } 1765 }
1766 ; The following checks are not strictly necessary since one of the RUN 1766 ; The following checks are not strictly necessary since one of the RUN
1767 ; lines actually runs the output through the assembler. 1767 ; lines actually runs the output through the assembler.
1768 ; CHECK-LABEL: icmpLt64Imm 1768 ; CHECK-LABEL: icmpLt64Imm
1769 ; CHECK-NOT: cmp 0x{{[0-9a-f]+}}, 1769 ; CHECK-NOT: cmp 0x{{[0-9a-f]+}},
1770 ; OPTM1-LABEL: icmpLt64Imm 1770 ; OPTM1-LABEL: icmpLt64Imm
1771 ; OPTM1-NOT: cmp 0x{{[0-9a-f]+}}, 1771 ; OPTM1-NOT: cmp 0x{{[0-9a-f]+}},
1772 ; ARM32-LABEL: icmpLt64Imm 1772 ; ARM32-LABEL: icmpLt64Imm
1773 ; ARM32-NOT: cmp #{{[0-9a-f]+}}, 1773 ; ARM32-NOT: cmp #{{[0-9a-f]+}},
1774 1774
1775 define internal void @icmpEqZero64Imm() {
1776 entry:
1777 %cmp = icmp eq i64 123, 0
1778 br i1 %cmp, label %if.then, label %if.end
1779
1780 if.then: ; preds = %entry
1781 call void @func()
1782 br label %if.end
1783
1784 if.end: ; preds = %if.then, %if.end
1785 ret void
1786 }
1787 ; The following checks are not strictly necessary since one of the RUN
1788 ; lines actually runs the output through the assembler.
1789 ; CHECK-LABEL: icmpEqZero64Imm
1790 ; CHECK-NOT: cmp 0x{{[0-9a-f]+}},
1791 ; OPTM1-LABEL: icmpEqZero64Imm
1792 ; OPTM1-LABEL-NOT: cmp 0x{{[0-9a-f]+}},
1793 ; ARM32-LABEL: icmpEqZero64Imm
1794 ; ARM32-NOT: cmp #{{[0-9a-f]+}},
1795
1775 define internal i64 @phi64Imm(i32 %x, i64 %y, i64 %z) { 1796 define internal i64 @phi64Imm(i32 %x, i64 %y, i64 %z) {
1776 entry: 1797 entry:
1777 %cond = icmp eq i32 %x, 88 1798 %cond = icmp eq i32 %x, 88
1778 br i1 %cond, label %branch1, label %branch2 1799 br i1 %cond, label %branch1, label %branch2
1779 branch1: 1800 branch1:
1780 %tmp = add i64 %y, %z 1801 %tmp = add i64 %y, %z
1781 br label %branch2 1802 br label %branch2
1782 1803
1783 branch2: 1804 branch2:
1784 %merge = phi i64 [ %tmp, %branch1 ], [ 20014547621496, %entry ] 1805 %merge = phi i64 [ %tmp, %branch1 ], [ 20014547621496, %entry ]
(...skipping 25 matching lines...) Expand all
1810 ; CHECK-LABEL: phi64Undef 1831 ; CHECK-LABEL: phi64Undef
1811 ; CHECK: mov {{.*}},0x0 1832 ; CHECK: mov {{.*}},0x0
1812 ; CHECK: mov {{.*}},0x0 1833 ; CHECK: mov {{.*}},0x0
1813 ; OPTM1-LABEL: phi64Undef 1834 ; OPTM1-LABEL: phi64Undef
1814 ; OPTM1: mov {{.*}},0x0 1835 ; OPTM1: mov {{.*}},0x0
1815 ; OPTM1: mov {{.*}},0x0 1836 ; OPTM1: mov {{.*}},0x0
1816 ; ARM32-LABEL: phi64Undef 1837 ; ARM32-LABEL: phi64Undef
1817 ; ARM32: mov {{.*}} #0 1838 ; ARM32: mov {{.*}} #0
1818 ; ARM32: mov {{.*}} #0 1839 ; ARM32: mov {{.*}} #0
1819 1840
OLDNEW
« src/IceTargetLoweringX86BaseImpl.h ('K') | « src/IceTargetLoweringX86BaseImpl.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698