diff options
| author | Jyotsna Verma <jverma@codeaurora.org> | 2013-03-26 15:43:57 +0000 |
|---|---|---|
| committer | Jyotsna Verma <jverma@codeaurora.org> | 2013-03-26 15:43:57 +0000 |
| commit | 15957b129f1bd98dba280ea54a780a9dad5eaed2 (patch) | |
| tree | bffa064f769edb2d0c5210a433cf3fdcbaa522f4 /llvm/test | |
| parent | 8a51d8ea95b0fe1362abd3e276cdb4f2d06678da (diff) | |
| download | bcm5719-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.ll | 21 |
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 +} |

