brintos

brintos / llvm-project-archived public Read only

0
0
Text · 5.0 KiB · cd5ea16 Raw
147 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -mcpu=pwr9 -verify-machineinstrs -ppc-asm-full-reg-names \3; RUN:	  -mtriple=powerpc64le-unknown-linux-gnu < %s | FileCheck %s --check-prefix=P9LE4; RUN: llc -mcpu=pwr9 -verify-machineinstrs -ppc-asm-full-reg-names \5; RUN:    -mtriple=powerpc64-unknown-linux-gnu < %s | FileCheck %s --check-prefix=P9BE6; RUN: llc -mcpu=pwr8 -verify-machineinstrs -ppc-asm-full-reg-names \7; RUN:    -mtriple=powerpc64le-unknown-linux-gnu < %s | FileCheck %s --check-prefix=P8LE8; RUN: llc -mcpu=pwr8 -verify-machineinstrs -ppc-asm-full-reg-names \9; RUN:    -mtriple=powerpc64-unknown-linux-gnu < %s | FileCheck %s --check-prefix=P8BE10 11declare ppc_fp128 @llvm.fmuladd.ppcf128(ppc_fp128, ppc_fp128, ppc_fp128) #212 13define ppc_fp128 @test_ctr0() {14; P9LE-LABEL: test_ctr0:15; P9LE:       # %bb.0: # %bb16; P9LE-NEXT:    mflr r017; P9LE-NEXT:    .cfi_def_cfa_offset 4818; P9LE-NEXT:    .cfi_offset lr, 1619; P9LE-NEXT:    .cfi_offset r30, -1620; P9LE-NEXT:    std r30, -16(r1) # 8-byte Folded Spill21; P9LE-NEXT:    stdu r1, -48(r1)22; P9LE-NEXT:    li r3, 123; P9LE-NEXT:    xxlxor f1, f1, f124; P9LE-NEXT:    xxlxor f2, f2, f225; P9LE-NEXT:    std r0, 64(r1)26; P9LE-NEXT:    rldic r30, r3, 62, 127; P9LE-NEXT:    .p2align 528; P9LE-NEXT:  .LBB0_1: # %bb629; P9LE-NEXT:    #30; P9LE-NEXT:    xxlxor f3, f3, f331; P9LE-NEXT:    xxlxor f4, f4, f432; P9LE-NEXT:    bl __gcc_qadd33; P9LE-NEXT:    nop34; P9LE-NEXT:    addi r30, r30, -135; P9LE-NEXT:    cmpldi r30, 036; P9LE-NEXT:    bc 12, gt, .LBB0_137; P9LE-NEXT:  # %bb.2: # %bb1438; P9LE-NEXT:    addi r1, r1, 4839; P9LE-NEXT:    ld r0, 16(r1)40; P9LE-NEXT:    ld r30, -16(r1) # 8-byte Folded Reload41; P9LE-NEXT:    mtlr r042; P9LE-NEXT:    blr43;44; P9BE-LABEL: test_ctr0:45; P9BE:       # %bb.0: # %bb46; P9BE-NEXT:    mflr r047; P9BE-NEXT:    stdu r1, -128(r1)48; P9BE-NEXT:    std r0, 144(r1)49; P9BE-NEXT:    .cfi_def_cfa_offset 12850; P9BE-NEXT:    .cfi_offset lr, 1651; P9BE-NEXT:    .cfi_offset r30, -1652; P9BE-NEXT:    li r3, 153; P9BE-NEXT:    std r30, 112(r1) # 8-byte Folded Spill54; P9BE-NEXT:    xxlxor f1, f1, f155; P9BE-NEXT:    rldic r30, r3, 62, 156; P9BE-NEXT:    xxlxor f2, f2, f257; P9BE-NEXT:    .p2align 558; P9BE-NEXT:  .LBB0_1: # %bb659; P9BE-NEXT:    #60; P9BE-NEXT:    xxlxor f3, f3, f361; P9BE-NEXT:    xxlxor f4, f4, f462; P9BE-NEXT:    bl __gcc_qadd63; P9BE-NEXT:    nop64; P9BE-NEXT:    addi r30, r30, -165; P9BE-NEXT:    cmpldi r30, 066; P9BE-NEXT:    bc 12, gt, .LBB0_167; P9BE-NEXT:  # %bb.2: # %bb1468; P9BE-NEXT:    ld r30, 112(r1) # 8-byte Folded Reload69; P9BE-NEXT:    addi r1, r1, 12870; P9BE-NEXT:    ld r0, 16(r1)71; P9BE-NEXT:    mtlr r072; P9BE-NEXT:    blr73;74; P8LE-LABEL: test_ctr0:75; P8LE:       # %bb.0: # %bb76; P8LE-NEXT:    mflr r077; P8LE-NEXT:    .cfi_def_cfa_offset 4878; P8LE-NEXT:    .cfi_offset lr, 1679; P8LE-NEXT:    .cfi_offset r30, -1680; P8LE-NEXT:    std r30, -16(r1) # 8-byte Folded Spill81; P8LE-NEXT:    stdu r1, -48(r1)82; P8LE-NEXT:    li r3, 183; P8LE-NEXT:    xxlxor f1, f1, f184; P8LE-NEXT:    xxlxor f2, f2, f285; P8LE-NEXT:    std r0, 64(r1)86; P8LE-NEXT:    rldic r30, r3, 62, 187; P8LE-NEXT:    .p2align 588; P8LE-NEXT:  .LBB0_1: # %bb689; P8LE-NEXT:    #90; P8LE-NEXT:    xxlxor f3, f3, f391; P8LE-NEXT:    xxlxor f4, f4, f492; P8LE-NEXT:    bl __gcc_qadd93; P8LE-NEXT:    nop94; P8LE-NEXT:    addi r30, r30, -195; P8LE-NEXT:    cmpldi r30, 096; P8LE-NEXT:    bc 12, gt, .LBB0_197; P8LE-NEXT:  # %bb.2: # %bb1498; P8LE-NEXT:    addi r1, r1, 4899; P8LE-NEXT:    ld r0, 16(r1)100; P8LE-NEXT:    ld r30, -16(r1) # 8-byte Folded Reload101; P8LE-NEXT:    mtlr r0102; P8LE-NEXT:    blr103;104; P8BE-LABEL: test_ctr0:105; P8BE:       # %bb.0: # %bb106; P8BE-NEXT:    mflr r0107; P8BE-NEXT:    stdu r1, -128(r1)108; P8BE-NEXT:    std r0, 144(r1)109; P8BE-NEXT:    .cfi_def_cfa_offset 128110; P8BE-NEXT:    .cfi_offset lr, 16111; P8BE-NEXT:    .cfi_offset r30, -16112; P8BE-NEXT:    li r3, 1113; P8BE-NEXT:    std r30, 112(r1) # 8-byte Folded Spill114; P8BE-NEXT:    xxlxor f1, f1, f1115; P8BE-NEXT:    xxlxor f2, f2, f2116; P8BE-NEXT:    rldic r30, r3, 62, 1117; P8BE-NEXT:    .p2align 5118; P8BE-NEXT:  .LBB0_1: # %bb6119; P8BE-NEXT:    #120; P8BE-NEXT:    xxlxor f3, f3, f3121; P8BE-NEXT:    xxlxor f4, f4, f4122; P8BE-NEXT:    bl __gcc_qadd123; P8BE-NEXT:    nop124; P8BE-NEXT:    addi r30, r30, -1125; P8BE-NEXT:    cmpldi r30, 0126; P8BE-NEXT:    bc 12, gt, .LBB0_1127; P8BE-NEXT:  # %bb.2: # %bb14128; P8BE-NEXT:    ld r30, 112(r1) # 8-byte Folded Reload129; P8BE-NEXT:    addi r1, r1, 128130; P8BE-NEXT:    ld r0, 16(r1)131; P8BE-NEXT:    mtlr r0132; P8BE-NEXT:    blr133bb:134  br label %bb6135 136bb6:                                              ; preds = %bb6, %bb137  %i = phi ppc_fp128 [ %i8, %bb6 ], [ 0xM00000000000000000000000000000000, %bb ]138  %i7 = phi i64 [ %i9, %bb6 ], [ 0, %bb ]139  %i8 = tail call ppc_fp128 @llvm.fmuladd.ppcf128(ppc_fp128 0xM00000000000000000000000000000000, ppc_fp128 0xM00000000000000000000000000000000, ppc_fp128 %i) #4140  %i9 = add i64 %i7, -4141  %i10 = icmp eq i64 %i9, 0142  br i1 %i10, label %bb14, label %bb6143 144bb14:                                             ; preds = %bb6145  ret ppc_fp128 %i8146}147