1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 19:12:56 +02:00

These two tests now require only two multiply instructions,

instead of four.

llvm-svn: 42784
This commit is contained in:
Dan Gohman 2007-10-09 15:39:37 +00:00
parent c00dbfc5bc
commit 708e76e663
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
}