47 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc < %s -mtriple=x86_64-- | FileCheck %s3 4define void @BZ2_bzDecompress_bb5_2E_outer_bb35_2E_i_bb54_2E_i(ptr, i32 %c_nblock_used.2.i, i32 %.reload51, ptr %.out, ptr %.out1, ptr %.out2, ptr %.out3) nounwind {5; CHECK-LABEL: BZ2_bzDecompress_bb5_2E_outer_bb35_2E_i_bb54_2E_i:6; CHECK: # %bb.0: # %newFuncRoot7; CHECK-NEXT: movq {{[0-9]+}}(%rsp), %rax8; CHECK-NEXT: movl %edx, %edx9; CHECK-NEXT: movl (%rdi,%rdx,4), %edx10; CHECK-NEXT: movzbl %dl, %r10d11; CHECK-NEXT: addl $4, %r10d12; CHECK-NEXT: shrl $8, %edx13; CHECK-NEXT: movl (%rdi,%rdx,4), %edx14; CHECK-NEXT: movzbl %dl, %edi15; CHECK-NEXT: shrl $8, %edx16; CHECK-NEXT: addl $5, %esi17; CHECK-NEXT: movl %r10d, (%rcx)18; CHECK-NEXT: movl %edi, (%r8)19; CHECK-NEXT: movl %edx, (%r9)20; CHECK-NEXT: movl %esi, (%rax)21; CHECK-NEXT: retq22newFuncRoot:23 br label %bb54.i24 25bb35.i.backedge.exitStub: ; preds = %bb54.i26 store i32 %6, ptr %.out27 store i32 %10, ptr %.out128 store i32 %11, ptr %.out229 store i32 %12, ptr %.out330 ret void31 32bb54.i: ; preds = %newFuncRoot33 %1 = zext i32 %.reload51 to i64 ; <i64> [#uses=1]34 %2 = getelementptr i32, ptr %0, i64 %1 ; <ptr> [#uses=1]35 %3 = load i32, ptr %2, align 4 ; <i32> [#uses=2]36 %4 = lshr i32 %3, 8 ; <i32> [#uses=1]37 %5 = and i32 %3, 255 ; <i32> [#uses=1]38 %6 = add i32 %5, 4 ; <i32> [#uses=1]39 %7 = zext i32 %4 to i64 ; <i64> [#uses=1]40 %8 = getelementptr i32, ptr %0, i64 %7 ; <ptr> [#uses=1]41 %9 = load i32, ptr %8, align 4 ; <i32> [#uses=2]42 %10 = and i32 %9, 255 ; <i32> [#uses=1]43 %11 = lshr i32 %9, 8 ; <i32> [#uses=1]44 %12 = add i32 %c_nblock_used.2.i, 5 ; <i32> [#uses=1]45 br label %bb35.i.backedge.exitStub46}47