summaryrefslogtreecommitdiffstats
path: root/llvm/test
diff options
context:
space:
mode:
authorJyotsna Verma <jverma@codeaurora.org>2013-03-26 15:43:57 +0000
committerJyotsna Verma <jverma@codeaurora.org>2013-03-26 15:43:57 +0000
commit15957b129f1bd98dba280ea54a780a9dad5eaed2 (patch)
treebffa064f769edb2d0c5210a433cf3fdcbaa522f4 /llvm/test
parent8a51d8ea95b0fe1362abd3e276cdb4f2d06678da (diff)
downloadbcm5719-llvm-15957b129f1bd98dba280ea54a780a9dad5eaed2.tar.gz
bcm5719-llvm-15957b129f1bd98dba280ea54a780a9dad5eaed2.zip
Hexagon: Use multiclass for aslh, asrh, sxtb, sxth, zxtb and zxth.
llvm-svn: 178032
Diffstat (limited to 'llvm/test')
-rw-r--r--llvm/test/CodeGen/Hexagon/ashift-left-right.ll21
1 files changed, 21 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/Hexagon/ashift-left-right.ll b/llvm/test/CodeGen/Hexagon/ashift-left-right.ll
new file mode 100644
index 00000000000..7c41bc7bbf3
--- /dev/null
+++ b/llvm/test/CodeGen/Hexagon/ashift-left-right.ll
@@ -0,0 +1,21 @@
+; RUN: llc -march=hexagon -mcpu=hexagonv4 < %s | FileCheck %s
+
+define i32 @foo(i32 %a, i32 %b) nounwind readnone {
+; CHECK: lsl
+; CHECK: aslh
+entry:
+ %shl1 = shl i32 16, %a
+ %shl2 = shl i32 %b, 16
+ %ret = mul i32 %shl1, %shl2
+ ret i32 %ret
+}
+
+define i32 @bar(i32 %a, i32 %b) nounwind readnone {
+; CHECK: asrh
+; CHECK: lsr
+entry:
+ %shl1 = ashr i32 16, %a
+ %shl2 = ashr i32 %b, 16
+ %ret = mul i32 %shl1, %shl2
+ ret i32 %ret
+}
OpenPOWER on IntegriCloud