aboutsummaryrefslogtreecommitdiff
path: root/test/CodeGen/Mips/octeon.ll
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2015-01-18 16:17:27 +0000
committerDimitry Andric <dim@FreeBSD.org>2015-01-18 16:17:27 +0000
commit67c32a98315f785a9ec9d531c1f571a0196c7463 (patch)
tree4abb9cbeecc7901726dd0b4a37369596c852e9ef /test/CodeGen/Mips/octeon.ll
parent9f61947910e6ab40de38e6b4034751ef1513200f (diff)
Vendor import of llvm RELEASE_360/rc1 tag r226102 (effectively, 3.6.0 RC1):vendor/llvm/llvm-release_360-r226102
Notes
Notes: svn path=/vendor/llvm/dist/; revision=277323 svn path=/vendor/llvm/llvm-release_360-r226102/; revision=277324; tag=vendor/llvm/llvm-release_360-r226102
Diffstat (limited to 'test/CodeGen/Mips/octeon.ll')
-rw-r--r--test/CodeGen/Mips/octeon.ll66
1 files changed, 66 insertions, 0 deletions
diff --git a/test/CodeGen/Mips/octeon.ll b/test/CodeGen/Mips/octeon.ll
index d5ff9bdf3608..9d82b74f5b7e 100644
--- a/test/CodeGen/Mips/octeon.ll
+++ b/test/CodeGen/Mips/octeon.ll
@@ -27,3 +27,69 @@ entry:
%res = mul i64 %a, %b
ret i64 %res
}
+
+define i64 @cmpeq(i64 %a, i64 %b) nounwind {
+entry:
+; OCTEON-LABEL: cmpeq:
+; OCTEON: jr $ra
+; OCTEON: seq $2, $4, $5
+; MIPS64-LABEL: cmpeq:
+; MIPS64: xor $1, $4, $5
+; MIPS64: sltiu $1, $1, 1
+; MIPS64: dsll $1, $1, 32
+; MIPS64: jr $ra
+; MIPS64: dsrl $2, $1, 32
+ %res = icmp eq i64 %a, %b
+ %res2 = zext i1 %res to i64
+ ret i64 %res2
+}
+
+define i64 @cmpeqi(i64 %a) nounwind {
+entry:
+; OCTEON-LABEL: cmpeqi:
+; OCTEON: jr $ra
+; OCTEON: seqi $2, $4, 42
+; MIPS64-LABEL: cmpeqi:
+; MIPS64: daddiu $1, $zero, 42
+; MIPS64: xor $1, $4, $1
+; MIPS64: sltiu $1, $1, 1
+; MIPS64: dsll $1, $1, 32
+; MIPS64: jr $ra
+; MIPS64: dsrl $2, $1, 32
+ %res = icmp eq i64 %a, 42
+ %res2 = zext i1 %res to i64
+ ret i64 %res2
+}
+
+define i64 @cmpne(i64 %a, i64 %b) nounwind {
+entry:
+; OCTEON-LABEL: cmpne:
+; OCTEON: jr $ra
+; OCTEON: sne $2, $4, $5
+; MIPS64-LABEL: cmpne:
+; MIPS64: xor $1, $4, $5
+; MIPS64: sltu $1, $zero, $1
+; MIPS64: dsll $1, $1, 32
+; MIPS64: jr $ra
+; MIPS64: dsrl $2, $1, 32
+ %res = icmp ne i64 %a, %b
+ %res2 = zext i1 %res to i64
+ ret i64 %res2
+}
+
+define i64 @cmpnei(i64 %a) nounwind {
+entry:
+; OCTEON-LABEL: cmpnei:
+; OCTEON: jr $ra
+; OCTEON: snei $2, $4, 42
+; MIPS64-LABEL: cmpnei:
+; MIPS64: daddiu $1, $zero, 42
+; MIPS64: xor $1, $4, $1
+; MIPS64: sltu $1, $zero, $1
+; MIPS64: dsll $1, $1, 32
+; MIPS64: jr $ra
+; MIPS64: dsrl $2, $1, 32
+ %res = icmp ne i64 %a, 42
+ %res2 = zext i1 %res to i64
+ ret i64 %res2
+}