diff options
author | Richard Osborne <richard@xmos.com> | 2010-03-11 16:26:35 +0000 |
---|---|---|
committer | Richard Osborne <richard@xmos.com> | 2010-03-11 16:26:35 +0000 |
commit | 3e7f30f0006b07958646a2a3a63abece4fcb8b65 (patch) | |
tree | 8e57e522bad219734f8969e427e016af7c8cf8a5 /test/CodeGen/XCore | |
parent | 0c761d3bd7ee90eed4df6f837afa422525433d04 (diff) | |
download | external_llvm-3e7f30f0006b07958646a2a3a63abece4fcb8b65.zip external_llvm-3e7f30f0006b07958646a2a3a63abece4fcb8b65.tar.gz external_llvm-3e7f30f0006b07958646a2a3a63abece4fcb8b65.tar.bz2 |
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')
-rw-r--r-- | test/CodeGen/XCore/mul64.ll | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/test/CodeGen/XCore/mul64.ll b/test/CodeGen/XCore/mul64.ll index 329e214..1dc9471 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 |