summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorTom Stellard <thomas.stellard@amd.com>2013-06-03 17:40:03 +0000
committerTom Stellard <thomas.stellard@amd.com>2013-06-03 17:40:03 +0000
commite86f9d70ca29429ea83bc2361cf908dc566783af (patch)
tree200c6886887cba0476a227cec00646644ca3e17c /test
parent17e8ad67f0ba5e81e53ce21cd260fe3368d6231d (diff)
downloadllvm-e86f9d70ca29429ea83bc2361cf908dc566783af.tar.gz
llvm-e86f9d70ca29429ea83bc2361cf908dc566783af.tar.bz2
llvm-e86f9d70ca29429ea83bc2361cf908dc566783af.tar.xz
R600/SI: Custom lower i64 sign_extend
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183136 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r--test/CodeGen/R600/sign_extend.ll12
1 files changed, 12 insertions, 0 deletions
diff --git a/test/CodeGen/R600/sign_extend.ll b/test/CodeGen/R600/sign_extend.ll
new file mode 100644
index 0000000000..e4ef534470
--- /dev/null
+++ b/test/CodeGen/R600/sign_extend.ll
@@ -0,0 +1,12 @@
+
+; RUN: llc < %s -march=r600 -mcpu=SI | FileCheck %s
+
+; CHECK: V_ASHR
+define void @test(i64 addrspace(1)* %out, i32 %a, i32 %b, i32 %c) {
+entry:
+ %0 = mul i32 %a, %b
+ %1 = add i32 %0, %c
+ %2 = sext i32 %1 to i64
+ store i64 %2, i64 addrspace(1)* %out
+ ret void
+}