104 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 42; RUN: llc < %s -mtriple=x86_64 -- | FileCheck %s3 4define i32 @h(i1 %arg, i32 %arg1) {5; CHECK-LABEL: h:6; CHECK: # %bb.0: # %bb7; CHECK-NEXT: movl $1, %eax8; CHECK-NEXT: movabsq $9166129423, %rcx # imm = 0x22258090F9; CHECK-NEXT: xorl %edx, %edx10; CHECK-NEXT: jmp .LBB0_111; CHECK-NEXT: .p2align 412; CHECK-NEXT: .LBB0_9: # %bb1813; CHECK-NEXT: # in Loop: Header=BB0_1 Depth=114; CHECK-NEXT: xorl %eax, %eax15; CHECK-NEXT: testb $1, %dil16; CHECK-NEXT: jne .LBB0_1017; CHECK-NEXT: .LBB0_1: # %bb418; CHECK-NEXT: # =>This Inner Loop Header: Depth=119; CHECK-NEXT: testq %rdx, %rdx20; CHECK-NEXT: jne .LBB0_221; CHECK-NEXT: # %bb.7: # %bb1622; CHECK-NEXT: # in Loop: Header=BB0_1 Depth=123; CHECK-NEXT: testb $1, %dil24; CHECK-NEXT: jne .LBB0_925; CHECK-NEXT: # %bb.8: # %bb1726; CHECK-NEXT: # in Loop: Header=BB0_1 Depth=127; CHECK-NEXT: movq %rcx, %rdx28; CHECK-NEXT: jmp .LBB0_929; CHECK-NEXT: .LBB0_2: # %bb930; CHECK-NEXT: # in Loop: Header=BB0_1 Depth=131; CHECK-NEXT: testb $1, %dil32; CHECK-NEXT: testb $1, %dil33; CHECK-NEXT: je .LBB0_434; CHECK-NEXT: # %bb.3: # %bb1335; CHECK-NEXT: # in Loop: Header=BB0_1 Depth=136; CHECK-NEXT: xorl %eax, %eax37; CHECK-NEXT: .LBB0_4: # %bb1438; CHECK-NEXT: # in Loop: Header=BB0_1 Depth=139; CHECK-NEXT: cmpl $1, %esi40; CHECK-NEXT: je .LBB0_141; CHECK-NEXT: # %bb.5: # %bb1442; CHECK-NEXT: movl %eax, %r8d43; CHECK-NEXT: testl %esi, %esi44; CHECK-NEXT: movl %esi, %eax45; CHECK-NEXT: jne .LBB0_646; CHECK-NEXT: .LBB0_10: # %bb2247; CHECK-NEXT: retq48; CHECK-NEXT: .LBB0_6: # %bb22.loopexit149; CHECK-NEXT: movl %r8d, %eax50; CHECK-NEXT: retq51bb:52 br label %bb253 54bb2: ; preds = %bb14, %bb55 %i = phi i64 [ %i5, %bb14 ], [ 0, %bb ]56 %i3 = phi i32 [ %i15, %bb14 ], [ 1, %bb ]57 br label %bb458 59bb4: ; preds = %bb18, %bb260 %i5 = phi i64 [ %i19, %bb18 ], [ %i, %bb2 ]61 %i6 = phi i64 [ %i20, %bb18 ], [ %i, %bb2 ]62 %i7 = phi i32 [ 0, %bb18 ], [ %i3, %bb2 ]63 %i8 = icmp eq i64 %i6, 064 br i1 %i8, label %bb16, label %bb965 66bb9: ; preds = %bb467 br i1 %arg, label %bb12, label %bb1068 69bb10: ; preds = %bb970 %i11 = sdiv i64 0, 071 br label %bb1272 73bb12: ; preds = %bb10, %bb974 br i1 %arg, label %bb13, label %bb1475 76bb13: ; preds = %bb1277 br label %bb1478 79bb14: ; preds = %bb13, %bb1280 %i15 = phi i32 [ 0, %bb13 ], [ %i7, %bb12 ]81 switch i32 %arg1, label %bb22 [82 i32 0, label %bb2183 i32 1, label %bb284 ]85 86bb16: ; preds = %bb487 br i1 %arg, label %bb18, label %bb1788 89bb17: ; preds = %bb1690 br label %bb1891 92bb18: ; preds = %bb17, %bb1693 %i19 = phi i64 [ 9166129423, %bb17 ], [ %i5, %bb16 ]94 %i20 = phi i64 [ 9166129423, %bb17 ], [ %i6, %bb16 ]95 br i1 %arg, label %bb22, label %bb496 97bb21: ; preds = %bb1498 br label %bb2299 100bb22: ; preds = %bb21, %bb18, %bb14101 %i23 = phi i32 [ %arg1, %bb21 ], [ %i15, %bb14 ], [ 0, %bb18 ]102 ret i32 %i23103}104