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

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: 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
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 1857 matching lines...) Expand 10 before | Expand all | Expand 10 after
1868 1868
1869 ; ARM32-LABEL: select64VarVar 1869 ; ARM32-LABEL: select64VarVar
1870 ; ARM32: cmp 1870 ; ARM32: cmp
1871 ; ARM32: cmpeq 1871 ; ARM32: cmpeq
1872 ; ARM32-OM1: tst 1872 ; ARM32-OM1: tst
1873 ; ARM32-OM1: movne 1873 ; ARM32-OM1: movne
1874 ; ARM32-O2: movcc 1874 ; ARM32-O2: movcc
1875 ; ARM32-OM1: movne 1875 ; ARM32-OM1: movne
1876 ; ARM32-O2: movcc 1876 ; ARM32-O2: movcc
1877 1877
1878 ; MIPS32-LABEL: select64VarVar
1879 ; MIPS32: movn
1880 ; MIPS32: movn
1881 ; MIPS32: move
1882 ; MIPS32: move
1883
1878 define internal i64 @select64VarConst(i64 %a, i64 %b) { 1884 define internal i64 @select64VarConst(i64 %a, i64 %b) {
1879 entry: 1885 entry:
1880 %cmp = icmp ult i64 %a, %b 1886 %cmp = icmp ult i64 %a, %b
1881 %cond = select i1 %cmp, i64 %a, i64 -2401053092306725256 1887 %cond = select i1 %cmp, i64 %a, i64 -2401053092306725256
1882 ret i64 %cond 1888 ret i64 %cond
1883 } 1889 }
1884 ; CHECK-LABEL: select64VarConst 1890 ; CHECK-LABEL: select64VarConst
1885 ; CHECK: mov 1891 ; CHECK: mov
1886 ; CHECK: mov 1892 ; CHECK: mov
1887 ; CHECK: cmp 1893 ; CHECK: cmp
(...skipping 19 matching lines...) Expand all
1907 ; ARM32: cmp 1913 ; ARM32: cmp
1908 ; ARM32: cmpeq 1914 ; ARM32: cmpeq
1909 ; ARM32-OM1: tst 1915 ; ARM32-OM1: tst
1910 ; ARM32-OM1: movne 1916 ; ARM32-OM1: movne
1911 ; ARM32-O2: movcc 1917 ; ARM32-O2: movcc
1912 ; ARM32-OM1: movne 1918 ; ARM32-OM1: movne
1913 ; ARM32-O2: movcc 1919 ; ARM32-O2: movcc
1914 ; ARM32-O2: mov 1920 ; ARM32-O2: mov
1915 ; ARM32-O2: mov 1921 ; ARM32-O2: mov
1916 1922
1923 ; MIPS32-LABEL: select64VarConst
1924 ; MIPS32: movn
1925 ; MIPS32: movn
1926 ; MIPS32: move
1927 ; MIPS32: move
1928
1917 define internal i64 @select64ConstVar(i64 %a, i64 %b) { 1929 define internal i64 @select64ConstVar(i64 %a, i64 %b) {
1918 entry: 1930 entry:
1919 %cmp = icmp ult i64 %a, %b 1931 %cmp = icmp ult i64 %a, %b
1920 %cond = select i1 %cmp, i64 -2401053092306725256, i64 %b 1932 %cond = select i1 %cmp, i64 -2401053092306725256, i64 %b
1921 ret i64 %cond 1933 ret i64 %cond
1922 } 1934 }
1923 ; CHECK-LABEL: select64ConstVar 1935 ; CHECK-LABEL: select64ConstVar
1924 ; CHECK: mov 1936 ; CHECK: mov
1925 ; CHECK: mov 1937 ; CHECK: mov
1926 ; CHECK: cmp 1938 ; CHECK: cmp
(...skipping 19 matching lines...) Expand all
1946 ; ARM32-OM1: tst 1958 ; ARM32-OM1: tst
1947 ; ARM32: movw 1959 ; ARM32: movw
1948 ; ARM32: movt 1960 ; ARM32: movt
1949 ; ARM32-OM1: movne 1961 ; ARM32-OM1: movne
1950 ; ARM32-O2: movcc 1962 ; ARM32-O2: movcc
1951 ; ARM32: movw 1963 ; ARM32: movw
1952 ; ARM32: movt 1964 ; ARM32: movt
1953 ; ARM32-OM1: movne 1965 ; ARM32-OM1: movne
1954 ; ARM32-O2: movcc 1966 ; ARM32-O2: movcc
1955 1967
1968 ; MIPS32-LABEL: select64ConstVar
1969 ; MIPS32: movn
1970 ; MIPS32: movn
1971 ; MIPS32: move
1972 ; MIPS32: move
1973
1956 define internal void @icmpEq64Imm() { 1974 define internal void @icmpEq64Imm() {
1957 entry: 1975 entry:
1958 %cmp = icmp eq i64 123, 234 1976 %cmp = icmp eq i64 123, 234
1959 br i1 %cmp, label %if.then, label %if.end 1977 br i1 %cmp, label %if.then, label %if.end
1960 1978
1961 if.then: ; preds = %entry 1979 if.then: ; preds = %entry
1962 call void @func() 1980 call void @func()
1963 br label %if.end 1981 br label %if.end
1964 1982
1965 if.end: ; preds = %if.then, %entry 1983 if.end: ; preds = %if.then, %entry
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
2074 %s = lshr i64 %a, 40 2092 %s = lshr i64 %a, 40
2075 %t = trunc i64 %s to i32 2093 %t = trunc i64 %s to i32
2076 %r = sub i32 %t, 1 2094 %r = sub i32 %t, 1
2077 ret i32 %r 2095 ret i32 %r
2078 ; ARM32-LABEL: subOneToUpperAfterShift 2096 ; ARM32-LABEL: subOneToUpperAfterShift
2079 ; ARM32: subs 2097 ; ARM32: subs
2080 ; ARM32: sbc 2098 ; ARM32: sbc
2081 ; ARM32: lsr 2099 ; ARM32: lsr
2082 ; ARM32: sub 2100 ; ARM32: sub
2083 } 2101 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698