brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.6 KiB · 301995d Raw
149 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc < %s -O1 -mcpu=atom -mtriple=i686-linux  | FileCheck %s3 4declare void @external_function(...)5 6define i32 @test_return_val(i32 %a) nounwind {7; CHECK-LABEL: test_return_val:8; CHECK:       # %bb.0:9; CHECK-NEXT:    movl {{[0-9]+}}(%esp), %eax10; CHECK-NEXT:    nop11; CHECK-NEXT:    nop12; CHECK-NEXT:    nop13; CHECK-NEXT:    nop14; CHECK-NEXT:    nop15; CHECK-NEXT:    nop16; CHECK-NEXT:    retl17  ret i32 %a18}19 20define i32 @test_optsize(i32 %a) nounwind optsize {21; CHECK-LABEL: test_optsize:22; CHECK:       # %bb.0:23; CHECK-NEXT:    movl {{[0-9]+}}(%esp), %eax24; CHECK-NEXT:    retl25  ret i32 %a26}27 28define i32 @test_minsize(i32 %a) nounwind minsize {29; CHECK-LABEL: test_minsize:30; CHECK:       # %bb.0:31; CHECK-NEXT:    movl {{[0-9]+}}(%esp), %eax32; CHECK-NEXT:    retl33  ret i32 %a34}35 36define i32 @test_pgso(i32 %a) nounwind !prof !14 {37; CHECK-LABEL: test_pgso:38; CHECK:       # %bb.0:39; CHECK-NEXT:    movl {{[0-9]+}}(%esp), %eax40; CHECK-NEXT:    retl41  ret i32 %a42}43 44define i32 @test_add(i32 %a, i32 %b) nounwind {45; CHECK-LABEL: test_add:46; CHECK:       # %bb.0:47; CHECK-NEXT:    movl {{[0-9]+}}(%esp), %eax48; CHECK-NEXT:    addl {{[0-9]+}}(%esp), %eax49; CHECK-NEXT:    nop50; CHECK-NEXT:    nop51; CHECK-NEXT:    nop52; CHECK-NEXT:    nop53; CHECK-NEXT:    retl54  %result = add i32 %a, %b55  ret i32 %result56}57 58define i32 @test_multiple_ret(i32 %a, i32 %b, i1 %c) nounwind {59; CHECK-LABEL: test_multiple_ret:60; CHECK:       # %bb.0:61; CHECK-NEXT:    testb $1, {{[0-9]+}}(%esp)62; CHECK-NEXT:    je .LBB5_263; CHECK-NEXT:  # %bb.1: # %bb164; CHECK-NEXT:    movl {{[0-9]+}}(%esp), %eax65; CHECK-NEXT:    nop66; CHECK-NEXT:    nop67; CHECK-NEXT:    retl68; CHECK-NEXT:  .LBB5_2: # %bb269; CHECK-NEXT:    movl {{[0-9]+}}(%esp), %eax70; CHECK-NEXT:    nop71; CHECK-NEXT:    nop72; CHECK-NEXT:    retl73 74 75 76  br i1 %c, label %bb1, label %bb277 78bb1:79  ret i32 %a80 81bb2:82  ret i32 %b83}84 85define void @test_call_others(i32 %x) nounwind {86; CHECK-LABEL: test_call_others:87; CHECK:       # %bb.0:88; CHECK-NEXT:    cmpl $0, {{[0-9]+}}(%esp)89; CHECK-NEXT:    jne external_function@PLT # TAILCALL90; CHECK-NEXT:  # %bb.1: # %if.end91; CHECK-NEXT:    nop92; CHECK-NEXT:    nop93; CHECK-NEXT:    nop94; CHECK-NEXT:    nop95; CHECK-NEXT:    retl96  %tobool = icmp eq i32 %x, 097  br i1 %tobool, label %if.end, label %true.case98 99true.case:100  tail call void @external_function() nounwind101  br label %if.end102 103if.end:104  ret void105 106}107 108define void @test_branch_to_same_bb(i32 %x, i32 %y) nounwind {109; CHECK-LABEL: test_branch_to_same_bb:110; CHECK:       # %bb.0:111; CHECK-NEXT:    cmpl $0, {{[0-9]+}}(%esp)112; CHECK-NEXT:    jle .LBB7_2113; CHECK-NEXT:    .p2align 4114; CHECK-NEXT:  .LBB7_1: # %while.cond115; CHECK-NEXT:    # =>This Inner Loop Header: Depth=1116; CHECK-NEXT:    jmp .LBB7_1117; CHECK-NEXT:  .LBB7_2: # %while.end118; CHECK-NEXT:    nop119; CHECK-NEXT:    nop120; CHECK-NEXT:    nop121; CHECK-NEXT:    nop122; CHECK-NEXT:    retl123  %cmp = icmp sgt i32 %x, 0124  br i1 %cmp, label %while.cond, label %while.end125 126while.cond:127  br label %while.cond128 129while.end:130  ret void131}132 133!llvm.module.flags = !{!0}134!0 = !{i32 1, !"ProfileSummary", !1}135!1 = !{!2, !3, !4, !5, !6, !7, !8, !9}136!2 = !{!"ProfileFormat", !"InstrProf"}137!3 = !{!"TotalCount", i64 10000}138!4 = !{!"MaxCount", i64 10}139!5 = !{!"MaxInternalCount", i64 1}140!6 = !{!"MaxFunctionCount", i64 1000}141!7 = !{!"NumCounts", i64 3}142!8 = !{!"NumFunctions", i64 3}143!9 = !{!"DetailedSummary", !10}144!10 = !{!11, !12, !13}145!11 = !{i32 10000, i64 100, i32 1}146!12 = !{i32 999000, i64 100, i32 1}147!13 = !{i32 999999, i64 1, i32 2}148!14 = !{!"function_entry_count", i64 0}149