These two tests now require only two multiply instructions,

instead of four.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42784 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Dan Gohman 2007-10-09 15:39:37 +00:00
parent b76143cf8f
commit dde01ec409
2 changed files with 28 additions and 0 deletions

View File

@ -0,0 +1,14 @@
; RUN: llvm-as < %s | llc -march=x86-64 | grep mul | count 2
define i128 @i64_sext_i128(i64 %a, i64 %b) {
%aa = sext i64 %a to i128
%bb = sext i64 %b to i128
%cc = mul i128 %aa, %bb
ret i128 %cc
}
define i128 @i64_zext_i128(i64 %a, i64 %b) {
%aa = zext i64 %a to i128
%bb = zext i64 %b to i128
%cc = mul i128 %aa, %bb
ret i128 %cc
}

View File

@ -0,0 +1,14 @@
; RUN: llvm-as < %s | llc -march=x86 | grep mul | count 2
define i64 @i32_sext_i64(i32 %a, i32 %b) {
%aa = sext i32 %a to i64
%bb = sext i32 %b to i64
%cc = mul i64 %aa, %bb
ret i64 %cc
}
define i64 @i32_zext_i64(i32 %a, i32 %b) {
%aa = zext i32 %a to i64
%bb = zext i32 %b to i64
%cc = mul i64 %aa, %bb
ret i64 %cc
}