summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/SPARC/64bit.ll
diff options
context:
space:
mode:
authorJakob Stoklund Olesen <stoklund@2pi.dk>2013-04-16 02:57:02 +0000
committerJakob Stoklund Olesen <stoklund@2pi.dk>2013-04-16 02:57:02 +0000
commit73d1739bc4eb1eadeb0ca33495d80e11aa85cd63 (patch)
tree1536d82505ff8eb615bce190733c4e3d769782fd /llvm/test/CodeGen/SPARC/64bit.ll
parent9dd86de771719c538112eea5b58b275994e27aa6 (diff)
downloadbcm5719-llvm-73d1739bc4eb1eadeb0ca33495d80e11aa85cd63.tar.gz
bcm5719-llvm-73d1739bc4eb1eadeb0ca33495d80e11aa85cd63.zip
Add 64-bit multiply and divide instructions for SPARC v9.
llvm-svn: 179582
Diffstat (limited to 'llvm/test/CodeGen/SPARC/64bit.ll')
-rw-r--r--llvm/test/CodeGen/SPARC/64bit.ll21
1 files changed, 21 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/SPARC/64bit.ll b/llvm/test/CodeGen/SPARC/64bit.ll
index 2848281da27..108663b2553 100644
--- a/llvm/test/CodeGen/SPARC/64bit.ll
+++ b/llvm/test/CodeGen/SPARC/64bit.ll
@@ -154,3 +154,24 @@ define i8 @promote_shifts(i8* %p) {
%B36 = shl i8 %L24, %L32
ret i8 %B36
}
+
+; CHECK: multiply
+; CHECK: mulx %i0, %i1, %i0
+define i64 @multiply(i64 %a, i64 %b) {
+ %r = mul i64 %a, %b
+ ret i64 %r
+}
+
+; CHECK: signed_divide
+; CHECK: sdivx %i0, %i1, %i0
+define i64 @signed_divide(i64 %a, i64 %b) {
+ %r = sdiv i64 %a, %b
+ ret i64 %r
+}
+
+; CHECK: unsigned_divide
+; CHECK: udivx %i0, %i1, %i0
+define i64 @unsigned_divide(i64 %a, i64 %b) {
+ %r = udiv i64 %a, %b
+ ret i64 %r
+}
OpenPOWER on IntegriCloud