59 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -mtriple=powerpc64le-unknown-linux-gnu -verify-machineinstrs -enable-ppc-branch-coalesce < %s | FileCheck %s3; RUN: llc -mcpu=pwr8 -mtriple=powerpc64-unknown-linux-gnu -verify-machineinstrs -enable-ppc-branch-coalesce < %s | FileCheck %s4; RUN: llc -mtriple=powerpc64le-unknown-linux-gnu -verify-machineinstrs < %s | FileCheck --check-prefix=CHECK-NOCOALESCE %s5; RUN: llc -mcpu=pwr8 -mtriple=powerpc64-unknown-linux-gnu -verify-machineinstrs < %s | FileCheck --check-prefix=CHECK-NOCOALESCE %s6 7; Function Attrs: nounwind8define double @testBranchCoal(double %a, double %b, double %c, i32 %x) {9; CHECK-LABEL: testBranchCoal:10; CHECK: # %bb.0: # %entry11; CHECK-NEXT: cmplwi 6, 012; CHECK-NEXT: beq 0, .LBB0_213; CHECK-NEXT: # %bb.1: # %entry14; CHECK-NEXT: addis 3, 2, .LCPI0_0@toc@ha15; CHECK-NEXT: xxlxor 2, 2, 216; CHECK-NEXT: lfd 1, .LCPI0_0@toc@l(3)17; CHECK-NEXT: addis 3, 2, .LCPI0_1@toc@ha18; CHECK-NEXT: lfd 3, .LCPI0_1@toc@l(3)19; CHECK-NEXT: .LBB0_2: # %entry20; CHECK-NEXT: xsadddp 0, 1, 221; CHECK-NEXT: xsadddp 1, 0, 322; CHECK-NEXT: blr23;24; CHECK-NOCOALESCE-LABEL: testBranchCoal:25; CHECK-NOCOALESCE: # %bb.0: # %entry26; CHECK-NOCOALESCE-NEXT: cmplwi 6, 027; CHECK-NOCOALESCE-NEXT: bne 0, .LBB0_528; CHECK-NOCOALESCE-NEXT: # %bb.1: # %entry29; CHECK-NOCOALESCE-NEXT: bne 0, .LBB0_630; CHECK-NOCOALESCE-NEXT: .LBB0_2: # %entry31; CHECK-NOCOALESCE-NEXT: beq 0, .LBB0_432; CHECK-NOCOALESCE-NEXT: .LBB0_3: # %entry33; CHECK-NOCOALESCE-NEXT: addis 3, 2, .LCPI0_1@toc@ha34; CHECK-NOCOALESCE-NEXT: lfd 3, .LCPI0_1@toc@l(3)35; CHECK-NOCOALESCE-NEXT: .LBB0_4: # %entry36; CHECK-NOCOALESCE-NEXT: xsadddp 0, 1, 237; CHECK-NOCOALESCE-NEXT: xsadddp 1, 0, 338; CHECK-NOCOALESCE-NEXT: blr39; CHECK-NOCOALESCE-NEXT: .LBB0_5: # %entry40; CHECK-NOCOALESCE-NEXT: addis 3, 2, .LCPI0_0@toc@ha41; CHECK-NOCOALESCE-NEXT: lfd 1, .LCPI0_0@toc@l(3)42; CHECK-NOCOALESCE-NEXT: beq 0, .LBB0_243; CHECK-NOCOALESCE-NEXT: .LBB0_6: # %entry44; CHECK-NOCOALESCE-NEXT: xxlxor 2, 2, 245; CHECK-NOCOALESCE-NEXT: bne 0, .LBB0_346; CHECK-NOCOALESCE-NEXT: b .LBB0_447 48 entry:49 50 %test = icmp eq i32 %x, 051 %tmp1 = select i1 %test, double %a, double 2.000000e-0352 %tmp2 = select i1 %test, double %b, double 0.000000e+0053 %tmp3 = select i1 %test, double %c, double 5.000000e-0354 55 %res1 = fadd double %tmp1, %tmp256 %result = fadd double %res1, %tmp357 ret double %result58}59