summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorRoman Divacky <rdivacky@freebsd.org>2014-02-19 21:35:39 +0000
committerRoman Divacky <rdivacky@freebsd.org>2014-02-19 21:35:39 +0000
commit3bd3f426a517f8a8f05e20ebc0c1a56e2a6365ac (patch)
tree35c6ce118943c26a6339693b7c11dfbd768168c7 /test
parentb4aaffffd3473d7eff7fc63d022ed4e9549983ea (diff)
downloadllvm-3bd3f426a517f8a8f05e20ebc0c1a56e2a6365ac.tar.gz
llvm-3bd3f426a517f8a8f05e20ebc0c1a56e2a6365ac.tar.bz2
llvm-3bd3f426a517f8a8f05e20ebc0c1a56e2a6365ac.tar.xz
Expand 64bit {SHL,SHR,SRA}_PARTS on sparcv9.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@201718 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r--test/CodeGen/SPARC/parts.ll14
1 files changed, 14 insertions, 0 deletions
diff --git a/test/CodeGen/SPARC/parts.ll b/test/CodeGen/SPARC/parts.ll
new file mode 100644
index 0000000000..57add4948e
--- /dev/null
+++ b/test/CodeGen/SPARC/parts.ll
@@ -0,0 +1,14 @@
+; RUN: llc < %s -march=sparcv9 | FileCheck %s
+
+; CHECK-LABEL: test
+; CHECK: srl %i1, 0, %o2
+; CHECK-NEXT: or %g0, %i2, %o0
+; CHECK-NEXT: call __ashlti3
+; CHECK-NEXT: or %g0, %i3, %o1
+; CHECK-NEXT: or %g0, %o0, %i0
+
+define i128 @test(i128 %a, i128 %b) {
+entry:
+ %tmp = shl i128 %b, %a
+ ret i128 %tmp
+}