brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.8 KiB · 4cf0154 Raw
81 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 22; RUN: llc < %s -mtriple=powerpc -o - | FileCheck %s3 4define void @foo(i32 %i) nounwind {5; CHECK-LABEL: foo:6; CHECK:       # %bb.0: # %entry7; CHECK-NEXT:    mflr 08; CHECK-NEXT:    stwu 1, -16(1)9; CHECK-NEXT:    cmplwi 3, 710; CHECK-NEXT:    stw 0, 20(1)11; CHECK-NEXT:    beq 0, .LBB0_312; CHECK-NEXT:  # %bb.1: # %entry13; CHECK-NEXT:    cmplwi 3, 514; CHECK-NEXT:    bne 0, .LBB0_415; CHECK-NEXT:  # %bb.2: # %if.then16; CHECK-NEXT:    bl bar17; CHECK-NEXT:    b .LBB0_418; CHECK-NEXT:  .LBB0_3: # %if.then219; CHECK-NEXT:    bl bar20; CHECK-NEXT:  .LBB0_4: # %if.end321; CHECK-NEXT:    bl bar22; CHECK-NEXT:    lwz 0, 20(1)23; CHECK-NEXT:    addi 1, 1, 1624; CHECK-NEXT:    mtlr 025; CHECK-NEXT:    blr26entry:27  switch i32 %i, label %if.end3 [28    i32 5, label %if.then29    i32 7, label %if.then230  ]31 32if.then:33  tail call void @bar() #034  br label %if.end335 36if.then2:37  tail call void @bar() #038  br label %if.end339 40if.end3:41  tail call void @bar() #042  ret void43}44 45define void @foo_tail(i1 %i) nounwind {46; CHECK-LABEL: foo_tail:47; CHECK:       # %bb.0: # %entry48; CHECK-NEXT:    mflr 049; CHECK-NEXT:    stwu 1, -16(1)50; CHECK-NEXT:    andi. 3, 3, 151; CHECK-NEXT:    stw 0, 20(1)52; CHECK-NEXT:    bc 4, 1, .LBB1_253; CHECK-NEXT:  # %bb.1: # %if.then54; CHECK-NEXT:    bl bar55; CHECK-NEXT:    b .LBB1_356; CHECK-NEXT:  .LBB1_2: # %if.else57; CHECK-NEXT:    bl bar58; CHECK-NEXT:  .LBB1_3: # %if.end59; CHECK-NEXT:    lwz 0, 20(1)60; CHECK-NEXT:    addi 1, 1, 1661; CHECK-NEXT:    mtlr 062; CHECK-NEXT:    blr63entry:64  br i1 %i, label %if.then, label %if.else65 66if.then:67  tail call void @bar() #068  br label %if.end69 70if.else:71  tail call void @bar() #072  br label %if.end73 74if.end:75  ret void76}77 78declare void @bar()79 80attributes #0 = { nomerge }81