blob: 040c5c25bd3f3f49e0a40f64c927f481d273ec7f [file] [log] [blame]
NAKAMURA Takumibfc4c982011-03-16 13:53:07 +00001; RUN: llc < %s -mtriple=x86_64-linux | FileCheck %s
2; RUN: llc < %s -mtriple=x86_64-win32 | FileCheck %s
Chris Lattner01f45ca2007-03-28 18:03:14 +00003
NAKAMURA Takumibfc4c982011-03-16 13:53:07 +00004; CHECK: leaq (,[[A0:%rdi|%rcx]],4), %rax
Chris Lattner57b82b72007-03-28 18:11:17 +00005define i64 @test2(i64 %a) {
6 %tmp2 = shl i64 %a, 2
7 %tmp3 = or i64 %tmp2, %a
8 ret i64 %tmp3
9}
10
NAKAMURA Takumibfc4c982011-03-16 13:53:07 +000011; CHECK: leal ([[A0]],[[A0]],2), %eax
12define i32 @test(i32 %a) {
13 %tmp2 = mul i32 %a, 3 ; <i32> [#uses=1]
14 ret i32 %tmp2
15}
16
Chris Lattner57b82b72007-03-28 18:11:17 +000017;; TODO! LEA instead of shift + copy.
18define i64 @test3(i64 %a) {
19 %tmp2 = shl i64 %a, 3
20 ret i64 %tmp2
21}
22