brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.8 KiB · c781d1d Raw
75 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 22; RUN: llc --mtriple=loongarch64 -mattr=+d < %s | FileCheck %s3 4define void @foo(i32 %i) nounwind {5; CHECK-LABEL: foo:6; CHECK:       # %bb.0: # %entry7; CHECK-NEXT:    addi.d $sp, $sp, -168; CHECK-NEXT:    st.d $ra, $sp, 8 # 8-byte Folded Spill9; CHECK-NEXT:    addi.w $a0, $a0, 010; CHECK-NEXT:    ori $a1, $zero, 711; CHECK-NEXT:    beq $a0, $a1, .LBB0_312; CHECK-NEXT:  # %bb.1: # %entry13; CHECK-NEXT:    ori $a1, $zero, 514; CHECK-NEXT:    bne $a0, $a1, .LBB0_415; CHECK-NEXT:  # %bb.2: # %if.then16; CHECK-NEXT:    pcaddu18i $ra, %call36(bar)17; CHECK-NEXT:    jirl $ra, $ra, 018; CHECK-NEXT:    b .LBB0_419; CHECK-NEXT:  .LBB0_3: # %if.then220; CHECK-NEXT:    pcaddu18i $ra, %call36(bar)21; CHECK-NEXT:    jirl $ra, $ra, 022; CHECK-NEXT:  .LBB0_4: # %if.end323; CHECK-NEXT:    ld.d $ra, $sp, 8 # 8-byte Folded Reload24; CHECK-NEXT:    addi.d $sp, $sp, 1625; CHECK-NEXT:    pcaddu18i $t8, %call36(bar)26; CHECK-NEXT:    jr $t827entry:28  switch i32 %i, label %if.end3 [29    i32 5, label %if.then30    i32 7, label %if.then231  ]32 33if.then:34  tail call void @bar() #035  br label %if.end336 37if.then2:38  tail call void @bar() #039  br label %if.end340 41if.end3:42  tail call void @bar() #043  ret void44}45 46define void @foo_tail(i1 %i) nounwind {47; CHECK-LABEL: foo_tail:48; CHECK:       # %bb.0: # %entry49; CHECK-NEXT:    andi $a0, $a0, 150; CHECK-NEXT:    beqz $a0, .LBB1_251; CHECK-NEXT:  # %bb.1: # %if.then52; CHECK-NEXT:    pcaddu18i $t8, %call36(bar)53; CHECK-NEXT:    jr $t854; CHECK-NEXT:  .LBB1_2: # %if.else55; CHECK-NEXT:    pcaddu18i $t8, %call36(bar)56; CHECK-NEXT:    jr $t857entry:58  br i1 %i, label %if.then, label %if.else59 60if.then:61  tail call void @bar() #062  br label %if.end63 64if.else:65  tail call void @bar() #066  br label %if.end67 68if.end:69  ret void70}71 72declare void @bar()73 74attributes #0 = { nomerge }75