diff options
author | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2013-04-16 02:57:02 +0000 |
---|---|---|
committer | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2013-04-16 02:57:02 +0000 |
commit | 73d1739bc4eb1eadeb0ca33495d80e11aa85cd63 (patch) | |
tree | 1536d82505ff8eb615bce190733c4e3d769782fd /llvm/test | |
parent | 9dd86de771719c538112eea5b58b275994e27aa6 (diff) | |
download | bcm5719-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')
-rw-r--r-- | llvm/test/CodeGen/SPARC/64bit.ll | 21 |
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 +} |