brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.9 KiB · 82ceb15 Raw
115 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 22; RUN: llc -mcpu=pwr9 -ppc-asm-full-reg-names \3; RUN:   -mtriple=powerpc64-linux-gnu < %s | FileCheck  %s \4; RUN:   -check-prefix=BE645; RUN: llc -mcpu=pwr9 -ppc-asm-full-reg-names \6; RUN:   -mtriple=powerpc-linux-gnu < %s | FileCheck  %s \7; RUN:   -check-prefix=BE328; RUN: llc -mcpu=pwr9 -ppc-asm-full-reg-names \9; RUN:   -mtriple=powerpc64le-linux-gnu < %s | FileCheck  %s \10; RUN:   -check-prefix=LE11define dso_local signext i32 @test(i32 noundef signext %a) local_unnamed_addr #0 {12; BE64-LABEL: test:13; BE64:       # %bb.0: # %entry14; BE64-NEXT:    lwz r4, -28772(r13)15; BE64-NEXT:    andis. r4, r4, 12816; BE64-NEXT:    bne cr0, .LBB0_317; BE64-NEXT:  # %bb.1: # %if.else18; BE64-NEXT:    lwz r4, -28776(r13)19; BE64-NEXT:    andis. r4, r4, 102420; BE64-NEXT:    bne cr0, .LBB0_421; BE64-NEXT:  # %bb.2: # %if.else322; BE64-NEXT:    lwz r4, -28764(r13)23; BE64-NEXT:    cmplwi r4, 3924; BE64-NEXT:    addi r4, r3, 525; BE64-NEXT:    slwi r3, r3, 126; BE64-NEXT:    iseleq r3, r3, r427; BE64-NEXT:  .LBB0_3: # %return28; BE64-NEXT:    extsw r3, r329; BE64-NEXT:    blr30; BE64-NEXT:  .LBB0_4: # %if.then231; BE64-NEXT:    addi r3, r3, -532; BE64-NEXT:    extsw r3, r333; BE64-NEXT:    blr34; BE64:       .quad   __parse_hwcap_and_convert_at_platform35;36; BE32-LABEL: test:37; BE32:       # %bb.0: # %entry38; BE32-NEXT:    lwz r4, -28732(r2)39; BE32-NEXT:    andis. r4, r4, 12840; BE32-NEXT:    bnelr cr041; BE32-NEXT:  # %bb.1: # %if.else42; BE32-NEXT:    lwz r4, -28736(r2)43; BE32-NEXT:    andis. r4, r4, 102444; BE32-NEXT:    bne cr0, .LBB0_345; BE32-NEXT:  # %bb.2: # %if.else346; BE32-NEXT:    lwz r4, -28724(r2)47; BE32-NEXT:    cmplwi r4, 3948; BE32-NEXT:    addi r4, r3, 549; BE32-NEXT:    slwi r3, r3, 150; BE32-NEXT:    iseleq r3, r3, r451; BE32-NEXT:    blr52; BE32-NEXT:  .LBB0_3: # %if.then253; BE32-NEXT:    addi r3, r3, -554; BE32-NEXT:    blr55; BE32:       .long   __parse_hwcap_and_convert_at_platform56;57; LE-LABEL: test:58; LE:       # %bb.0: # %entry59; LE-NEXT:    lwz r4, -28776(r13)60; LE-NEXT:    andis. r4, r4, 12861; LE-NEXT:    bne cr0, .LBB0_362; LE-NEXT:  # %bb.1: # %if.else63; LE-NEXT:    lwz r4, -28772(r13)64; LE-NEXT:    andis. r4, r4, 102465; LE-NEXT:    bne cr0, .LBB0_466; LE-NEXT:  # %bb.2: # %if.else367; LE-NEXT:    lwz r4, -28764(r13)68; LE-NEXT:    cmplwi r4, 3969; LE-NEXT:    addi r4, r3, 570; LE-NEXT:    slwi r3, r3, 171; LE-NEXT:    iseleq r3, r3, r472; LE-NEXT:  .LBB0_3: # %return73; LE-NEXT:    extsw r3, r374; LE-NEXT:    blr75; LE-NEXT:  .LBB0_4: # %if.then276; LE-NEXT:    addi r3, r3, -577; LE-NEXT:    extsw r3, r378; LE-NEXT:    blr79; LE:       .quad   __parse_hwcap_and_convert_at_platform80entry:81  %cpu_supports = tail call i32 @llvm.ppc.fixed.addr.ld(i32 2)82  %0 = and i32 %cpu_supports, 838860883  %.not = icmp eq i32 %0, 084  br i1 %.not, label %if.else, label %return85 86if.else:                                          ; preds = %entry87  %cpu_supports1 = tail call i32 @llvm.ppc.fixed.addr.ld(i32 1)88  %1 = and i32 %cpu_supports1, 6710886489  %.not12 = icmp eq i32 %1, 090  br i1 %.not12, label %if.else3, label %if.then291 92if.then2:                                         ; preds = %if.else93  %sub = add nsw i32 %a, -594  br label %return95 96if.else3:                                         ; preds = %if.else97  %cpu_is = tail call i32 @llvm.ppc.fixed.addr.ld(i32 3)98  %2 = icmp eq i32 %cpu_is, 3999  br i1 %2, label %if.then4, label %if.end6100 101if.then4:                                         ; preds = %if.else3102  %add = shl nsw i32 %a, 1103  br label %return104 105if.end6:                                          ; preds = %if.else3106  %add7 = add nsw i32 %a, 5107  br label %return108 109return:                                           ; preds = %entry, %if.end6, %if.then4, %if.then2110  %retval.0 = phi i32 [ %sub, %if.then2 ], [ %add, %if.then4 ], [ %add7, %if.end6 ], [ %a, %entry ]111  ret i32 %retval.0112}113 114declare i32 @llvm.ppc.fixed.addr.ld(i32 immarg) #1115