summaryrefslogtreecommitdiff
path: root/test/CodeGen/XCore/mul64.ll
diff options
context:
space:
mode:
authorRichard Osborne <richard@xmos.com>2010-03-11 16:26:35 +0000
committerRichard Osborne <richard@xmos.com>2010-03-11 16:26:35 +0000
commit79a73fbeb3474fb1e111be839e6980bac77e0a3a (patch)
tree8e57e522bad219734f8969e427e016af7c8cf8a5 /test/CodeGen/XCore/mul64.ll
parentf766ce55805d45c4ad21c4b452fb26187aeb1b1b (diff)
downloadllvm-79a73fbeb3474fb1e111be839e6980bac77e0a3a.tar.gz
llvm-79a73fbeb3474fb1e111be839e6980bac77e0a3a.tar.bz2
llvm-79a73fbeb3474fb1e111be839e6980bac77e0a3a.tar.xz
Add dag combine to simplify lmul(x, 0, a, b)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98258 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/XCore/mul64.ll')
-rw-r--r--test/CodeGen/XCore/mul64.ll13
1 files changed, 13 insertions, 0 deletions
diff --git a/test/CodeGen/XCore/mul64.ll b/test/CodeGen/XCore/mul64.ll
index 329e214d1d..1dc9471250 100644
--- a/test/CodeGen/XCore/mul64.ll
+++ b/test/CodeGen/XCore/mul64.ll
@@ -37,3 +37,16 @@ entry:
; CHECK-NEXT: mul r0, r0, r3
; CHECK-NEXT: lmul r0, r1, r1, r2, r11, r0
; CHECK-NEXT: mov r0, r4
+
+define i64 @mul64_2(i64 %a, i32 %b) {
+entry:
+ %0 = zext i32 %b to i64
+ %1 = mul i64 %a, %0
+ ret i64 %1
+}
+; CHECK: mul64_2:
+; CHECK: ldc r3, 0
+; CHECK-NEXT: lmul r3, r0, r0, r2, r3, r3
+; CHECK-NEXT: mul r1, r1, r2
+; CHECK-NEXT: add r1, r3, r1
+; CHECK-NEXT: retsp 0