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

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

Issue 2364143002: Subzero, MIPS32: lowerSelect for i64 (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Addressing review comments Created 4 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
« no previous file with comments | « src/IceTargetLoweringMIPS32.cpp ('k') | tests_lit/llvm2ice_tests/fp.cmp.ll » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 1908 matching lines...) Expand 10 before | Expand all | Expand 10 after
1919 1919
1920 ; ARM32-LABEL: select64VarVar 1920 ; ARM32-LABEL: select64VarVar
1921 ; ARM32: cmp 1921 ; ARM32: cmp
1922 ; ARM32: cmpeq 1922 ; ARM32: cmpeq
1923 ; ARM32-OM1: tst 1923 ; ARM32-OM1: tst
1924 ; ARM32-OM1: movne 1924 ; ARM32-OM1: movne
1925 ; ARM32-O2: movcc 1925 ; ARM32-O2: movcc
1926 ; ARM32-OM1: movne 1926 ; ARM32-OM1: movne
1927 ; ARM32-O2: movcc 1927 ; ARM32-O2: movcc
1928 1928
1929 ; MIPS32-LABEL: select64VarVar
1930 ; MIPS32: movn
1931 ; MIPS32: movn
1932
1929 define internal i64 @select64VarConst(i64 %a, i64 %b) { 1933 define internal i64 @select64VarConst(i64 %a, i64 %b) {
1930 entry: 1934 entry:
1931 %cmp = icmp ult i64 %a, %b 1935 %cmp = icmp ult i64 %a, %b
1932 %cond = select i1 %cmp, i64 %a, i64 -2401053092306725256 1936 %cond = select i1 %cmp, i64 %a, i64 -2401053092306725256
1933 ret i64 %cond 1937 ret i64 %cond
1934 } 1938 }
1935 ; CHECK-LABEL: select64VarConst 1939 ; CHECK-LABEL: select64VarConst
1936 ; CHECK: mov 1940 ; CHECK: mov
1937 ; CHECK: mov 1941 ; CHECK: mov
1938 ; CHECK: cmp 1942 ; CHECK: cmp
(...skipping 19 matching lines...) Expand all
1958 ; ARM32: cmp 1962 ; ARM32: cmp
1959 ; ARM32: cmpeq 1963 ; ARM32: cmpeq
1960 ; ARM32-OM1: tst 1964 ; ARM32-OM1: tst
1961 ; ARM32-OM1: movne 1965 ; ARM32-OM1: movne
1962 ; ARM32-O2: movcc 1966 ; ARM32-O2: movcc
1963 ; ARM32-OM1: movne 1967 ; ARM32-OM1: movne
1964 ; ARM32-O2: movcc 1968 ; ARM32-O2: movcc
1965 ; ARM32-O2: mov 1969 ; ARM32-O2: mov
1966 ; ARM32-O2: mov 1970 ; ARM32-O2: mov
1967 1971
1972 ; MIPS32-LABEL: select64VarConst
1973 ; MIPS32: movn
1974 ; MIPS32: movn
1975
1968 define internal i64 @select64ConstVar(i64 %a, i64 %b) { 1976 define internal i64 @select64ConstVar(i64 %a, i64 %b) {
1969 entry: 1977 entry:
1970 %cmp = icmp ult i64 %a, %b 1978 %cmp = icmp ult i64 %a, %b
1971 %cond = select i1 %cmp, i64 -2401053092306725256, i64 %b 1979 %cond = select i1 %cmp, i64 -2401053092306725256, i64 %b
1972 ret i64 %cond 1980 ret i64 %cond
1973 } 1981 }
1974 ; CHECK-LABEL: select64ConstVar 1982 ; CHECK-LABEL: select64ConstVar
1975 ; CHECK: mov 1983 ; CHECK: mov
1976 ; CHECK: mov 1984 ; CHECK: mov
1977 ; CHECK: cmp 1985 ; CHECK: cmp
(...skipping 19 matching lines...) Expand all
1997 ; ARM32-OM1: tst 2005 ; ARM32-OM1: tst
1998 ; ARM32: movw 2006 ; ARM32: movw
1999 ; ARM32: movt 2007 ; ARM32: movt
2000 ; ARM32-OM1: movne 2008 ; ARM32-OM1: movne
2001 ; ARM32-O2: movcc 2009 ; ARM32-O2: movcc
2002 ; ARM32: movw 2010 ; ARM32: movw
2003 ; ARM32: movt 2011 ; ARM32: movt
2004 ; ARM32-OM1: movne 2012 ; ARM32-OM1: movne
2005 ; ARM32-O2: movcc 2013 ; ARM32-O2: movcc
2006 2014
2015 ; MIPS32-LABEL: select64ConstVar
2016 ; MIPS32: movn
2017 ; MIPS32: movn
2018
2007 define internal void @icmpEq64Imm() { 2019 define internal void @icmpEq64Imm() {
2008 entry: 2020 entry:
2009 %cmp = icmp eq i64 123, 234 2021 %cmp = icmp eq i64 123, 234
2010 br i1 %cmp, label %if.then, label %if.end 2022 br i1 %cmp, label %if.then, label %if.end
2011 2023
2012 if.then: ; preds = %entry 2024 if.then: ; preds = %entry
2013 call void @func() 2025 call void @func()
2014 br label %if.end 2026 br label %if.end
2015 2027
2016 if.end: ; preds = %if.then, %entry 2028 if.end: ; preds = %if.then, %entry
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
2125 %s = lshr i64 %a, 40 2137 %s = lshr i64 %a, 40
2126 %t = trunc i64 %s to i32 2138 %t = trunc i64 %s to i32
2127 %r = sub i32 %t, 1 2139 %r = sub i32 %t, 1
2128 ret i32 %r 2140 ret i32 %r
2129 ; ARM32-LABEL: subOneToUpperAfterShift 2141 ; ARM32-LABEL: subOneToUpperAfterShift
2130 ; ARM32: subs 2142 ; ARM32: subs
2131 ; ARM32: sbc 2143 ; ARM32: sbc
2132 ; ARM32: lsr 2144 ; ARM32: lsr
2133 ; ARM32: sub 2145 ; ARM32: sub
2134 } 2146 }
OLDNEW
« no previous file with comments | « src/IceTargetLoweringMIPS32.cpp ('k') | tests_lit/llvm2ice_tests/fp.cmp.ll » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698