53 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc < %s -mtriple=x86_64-linux | FileCheck %s3; RUN: llc < %s -mtriple=x86_64-linux-gnux32 | FileCheck %s4; RUN: llc < %s -mtriple=x86_64-win32 | FileCheck %s --check-prefix=WIN325 6define i64 @test2(i64 %a) {7; CHECK-LABEL: test2:8; CHECK: # %bb.0:9; CHECK-NEXT: leaq (,%rdi,4), %rax10; CHECK-NEXT: orq %rdi, %rax11; CHECK-NEXT: retq12;13; WIN32-LABEL: test2:14; WIN32: # %bb.0:15; WIN32-NEXT: leaq (,%rcx,4), %rax16; WIN32-NEXT: orq %rcx, %rax17; WIN32-NEXT: retq18 %tmp2 = shl i64 %a, 219 %tmp3 = or i64 %tmp2, %a20 ret i64 %tmp321}22 23define i32 @test(i32 %a) {24; CHECK-LABEL: test:25; CHECK: # %bb.0:26; CHECK-NEXT: # kill: def $edi killed $edi def $rdi27; CHECK-NEXT: leal (%rdi,%rdi,2), %eax28; CHECK-NEXT: retq29;30; WIN32-LABEL: test:31; WIN32: # %bb.0:32; WIN32-NEXT: # kill: def $ecx killed $ecx def $rcx33; WIN32-NEXT: leal (%rcx,%rcx,2), %eax34; WIN32-NEXT: retq35 %tmp2 = mul i32 %a, 336 ret i32 %tmp237}38 39define i64 @test3(i64 %a) {40; CHECK-LABEL: test3:41; CHECK: # %bb.0:42; CHECK-NEXT: leaq (,%rdi,8), %rax43; CHECK-NEXT: retq44;45; WIN32-LABEL: test3:46; WIN32: # %bb.0:47; WIN32-NEXT: leaq (,%rcx,8), %rax48; WIN32-NEXT: retq49 %tmp2 = shl i64 %a, 350 ret i64 %tmp251}52 53