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

Unified Diff: tests_lit/llvm2ice_tests/64bit.pnacl.ll

Issue 2369323002: [Subzero][MIPS] Implement 64-bit integer compare operations (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Reused existing tests in tests_lit/llvm2ice_tests/64bit.pnacl.ll instead of adding new tests in tes… Created 4 years, 3 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 side-by-side diff with in-line comments
Download patch
« src/IceTargetLoweringMIPS32.cpp ('K') | « src/IceTargetLoweringMIPS32.cpp ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tests_lit/llvm2ice_tests/64bit.pnacl.ll
diff --git a/tests_lit/llvm2ice_tests/64bit.pnacl.ll b/tests_lit/llvm2ice_tests/64bit.pnacl.ll
index 5ca38a9c7d4e100c88374d1477795b6963222187..5a41ae85219500b6d4ff132a7f1437c110adcb0e 100644
--- a/tests_lit/llvm2ice_tests/64bit.pnacl.ll
+++ b/tests_lit/llvm2ice_tests/64bit.pnacl.ll
@@ -1604,6 +1604,12 @@ entry:
; ARM32: mov
; ARM32: moveq
+; MIPS32-LABEL: icmpEq64Bool
+; MIPS32: xor [[T1:.*]],{{.*}},{{.*}}
+; MIPS32: xor [[T2:.*]],{{.*}},{{.*}}
+; MIPS32: or [[T3:.*]],[[T1]],[[T2]]
+; MIPS32: sltiu {{.*}},[[T3]],1
+
define internal i32 @icmpNe64Bool(i64 %a, i64 %b) {
entry:
%cmp = icmp ne i64 %a, %b
@@ -1622,6 +1628,12 @@ entry:
; ARM32: mov
; ARM32: movne
+; MIPS32-LABEL: icmpNe64Bool
+; MIPS32: xor [[T1:.*]],{{.*}},{{.*}}
+; MIPS32: xor [[T2:.*]],{{.*}},{{.*}}
+; MIPS32: or [[T3:.*]],[[T1]],[[T2]]
+; MIPS32: sltu {{.*}},zero,[[T3]]
+
define internal i32 @icmpSgt64Bool(i64 %a, i64 %b) {
entry:
%cmp = icmp sgt i64 %a, %b
@@ -1648,6 +1660,15 @@ entry:
; ARM32: sbcs
; ARM32: movlt
+; MIPS32-LABEL: icmpSgt64Bool
+; MIPS32: xor [[T1:.*]],[[A_HI:.*]],[[B_HI:.*]]
+; MIPS32: slt [[T2:.*]],{{.*}},{{.*}}
+; MIPS32: sltu [[T3:.*]],{{.*}},{{.*}}
+; MIPS32: movz [[T2]],[[T3]],[[T1]]
+; MIPS32-O2: move {{.*}},[[T2]]
Jim Stichnoth 2016/09/27 13:45:35 The "MIPS32-O2" and "MIPS32-OM1" lines don't actua
sagar.thakur 2016/09/28 08:23:23 Done. I will add RUN command line for Om1 in a sep
+; MIPS32-OM1: sw [[T2]],[[MEM:.*]]
+; MIPS32-OM1: lb {{.*}},[[MEM]]
+
define internal i32 @icmpUgt64Bool(i64 %a, i64 %b) {
entry:
%cmp = icmp ugt i64 %a, %b
@@ -1674,6 +1695,15 @@ entry:
; ARM32: cmpeq
; ARM32: movhi
+; MIPS32-LABEL: icmpUgt64Bool
+; MIPS32: xor [[T1:.*]],[[A_HI:.*]],[[B_HI:.*]]
+; MIPS32: sltu [[T2:.*]],[[B_HI]],[[A_HI]]
+; MIPS32: sltu [[T3:.*]],{{.*}},{{.*}}
+; MIPS32: movz [[T2]],[[T3]],[[T1]]
+; MIPS32-O2: move {{.*}},[[T2]]
+; MIPS32-OM1: sw [[T2]],[[MEM:.*]]
+; MIPS32-OM1: lb {{.*}},[[MEM]]
+
define internal i32 @icmpSge64Bool(i64 %a, i64 %b) {
entry:
%cmp = icmp sge i64 %a, %b
@@ -1700,6 +1730,17 @@ entry:
; ARM32: sbcs
; ARM32: movge
+; MIPS32-LABEL: icmpSge64Bool
+; MIPS32: xor [[T1:.*]],[[A_HI:.*]],[[B_HI:.*]]
+; MIPS32: slt [[T2:.*]],[[A_HI]],[[B_HI]]
+; MIPS32: xori [[T3:.*]],[[T2]],0x1
+; MIPS32: sltu [[T4:.*]],{{.*}},{{.*}}
+; MIPS32: xori [[T5:.*]],[[T4]],0x1
+; MIPS32: movz [[T6:.*]],[[T5]],[[T1]]
+; MIPS32-O2: move {{.*}},[[T3]]
+; MIPS32-OM1: sw [[T3]],[[MEM:.*]]
+; MIPS32-OM1: lb {{.*}},[[MEM]]
+
define internal i32 @icmpUge64Bool(i64 %a, i64 %b) {
entry:
%cmp = icmp uge i64 %a, %b
@@ -1726,6 +1767,17 @@ entry:
; ARM32: cmpeq
; ARM32: movcs
+; MIPS32-LABEL: icmpUge64Bool
+; MIPS32: xor [[T1:.*]],[[A_HI:.*]],[[B_HI:.*]]
+; MIPS32: sltu [[T2:.*]],[[A_HI]],[[B_HI]]
+; MIPS32: xori [[T3:.*]],[[T2]],0x1
+; MIPS32: sltu [[T4:.*]],{{.*}},{{.*}}
+; MIPS32: xori [[T5:.*]],[[T4]],0x1
+; MIPS32: movz [[T6:.*]],[[T5]],[[T1]]
+; MIPS32-O2: move {{.*}},[[T3]]
+; MIPS32-OM1: sw [[T3]],[[MEM:.*]]
+; MIPS32-OM1: lb {{.*}},[[MEM]]
+
define internal i32 @icmpSlt64Bool(i64 %a, i64 %b) {
entry:
%cmp = icmp slt i64 %a, %b
@@ -1752,6 +1804,15 @@ entry:
; ARM32: sbcs
; ARM32: movlt
+; MIPS32-LABEL: icmpSlt64Bool
+; MIPS32: xor [[T1:.*]],[[A_HI:.*]],[[B_HI:.*]]
+; MIPS32: slt [[T2:.*]],[[A_HI]],[[B_HI]]
+; MIPS32: sltu [[T3:.*]],{{.*}},{{.*}}
+; MIPS32: movz [[T2:.*]],[[T3]],[[T1]]
+; MIPS32-O2: move {{.*}},[[T2]]
+; MIPS32-OM1: sw [[T2]],[[MEM:.*]]
+; MIPS32-OM1: lb {{.*}},[[MEM]]
+
define internal i32 @icmpUlt64Bool(i64 %a, i64 %b) {
entry:
%cmp = icmp ult i64 %a, %b
@@ -1778,6 +1839,15 @@ entry:
; ARM32: cmpeq
; ARM32: movcc
+; MIPS32-LABEL: icmpUlt64Bool
+; MIPS32: xor [[T1:.*]],[[A_HI:.*]],[[B_HI:.*]]
+; MIPS32: sltu [[T2:.*]],[[A_HI]],[[B_HI]]
+; MIPS32: sltu [[T3:.*]],{{.*}},{{.*}}
+; MIPS32: movz [[T2:.*]],[[T3]],[[T1]]
+; MIPS32-O2: move {{.*}},[[T2]]
+; MIPS32-OM1: sw [[T2]],[[MEM:.*]]
+; MIPS32-OM1: lb {{.*}},[[MEM]]
+
define internal i32 @icmpSle64Bool(i64 %a, i64 %b) {
entry:
%cmp = icmp sle i64 %a, %b
@@ -1804,6 +1874,17 @@ entry:
; ARM32: sbcs
; ARM32: movge
+; MIPS32-LABEL: icmpSle64Bool
+; MIPS32: xor [[T1:.*]],[[A_HI:.*]],[[B_HI:.*]]
+; MIPS32: slt [[T2:.*]],[[B_HI]],[[A_HI]]
+; MIPS32: xori [[T3:.*]],[[T2]],0x1
+; MIPS32: sltu [[T4:.*]],{{.*}},{{.*}}
+; MIPS32: xori [[T5:.*]],[[T4]],0x1
+; MIPS32: movz [[T6:.*]],[[T5]],[[T1]]
+; MIPS32-O2: move {{.*}},[[T3]]
+; MIPS32-OM1: sw [[T3]],[[MEM:.*]]
+; MIPS32-OM1: lb {{.*}},[[MEM]]
+
define internal i32 @icmpUle64Bool(i64 %a, i64 %b) {
entry:
%cmp = icmp ule i64 %a, %b
@@ -1830,6 +1911,17 @@ entry:
; ARM32: cmpeq
; ARM32: movls
+; MIPS32-LABEL: icmpUle64Bool
+; MIPS32: xor [[T1:.*]],[[A_HI:.*]],[[B_HI:.*]]
+; MIPS32: sltu [[T2:.*]],[[B_HI]],[[A_HI]]
+; MIPS32: xori [[T3:.*]],[[T2]],0x1
+; MIPS32: sltu [[T4:.*]],{{.*}},{{.*}}
+; MIPS32: xori [[T5:.*]],[[T4]],0x1
+; MIPS32: movz [[T6:.*]],[[T5]],[[T1]]
+; MIPS32-O2: move {{.*}},[[T3]]
+; MIPS32-OM1: sw [[T3]],[[MEM:.*]]
+; MIPS32-OM1: lb {{.*}},[[MEM]]
+
define internal i64 @load64(i32 %a) {
entry:
%__1 = inttoptr i32 %a to i64*
« src/IceTargetLoweringMIPS32.cpp ('K') | « src/IceTargetLoweringMIPS32.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698