brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.4 KiB · c0b11b4 Raw
98 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -mcpu=pwr8 -ppc-asm-full-reg-names \3; RUN:   -verify-machineinstrs --enable-no-signed-zeros-fp-math \4; RUN:   --enable-no-nans-fp-math --enable-no-infs-fp-math \5; RUN:   -mtriple=powerpc64le-unknown-unknown < %s | FileCheck %s \6; RUN:   --check-prefix=FAST-P87; RUN: llc -mcpu=pwr9 -ppc-asm-full-reg-names \8; RUN:   -verify-machineinstrs --enable-no-signed-zeros-fp-math \9; RUN:   --enable-no-nans-fp-math --enable-no-infs-fp-math \10; RUN:   -mtriple=powerpc64le-unknown-unknown < %s | FileCheck %s \11; RUN:   --check-prefix=FAST-P912; RUN: llc -mcpu=pwr9 -ppc-asm-full-reg-names -verify-machineinstrs \13; RUN:   -mtriple=powerpc64le-unknown-unknown < %s | FileCheck %s \14; RUN:   --check-prefix=NO-FAST-P915; RUN: llc -mcpu=pwr8 -ppc-asm-full-reg-names -verify-machineinstrs \16; RUN:   -mtriple=powerpc64le-unknown-unknown < %s | FileCheck %s \17; RUN:   --check-prefix=NO-FAST-P818 19define double @testoeq(double %a, double %b, double %c, double %d) {20; FAST-P8-LABEL: testoeq:21; FAST-P8:       # %bb.0: # %entry22; FAST-P8-NEXT:    xssubdp f0, f1, f223; FAST-P8-NEXT:    fsel f1, f0, f3, f424; FAST-P8-NEXT:    xsnegdp f0, f025; FAST-P8-NEXT:    fsel f1, f0, f1, f426; FAST-P8-NEXT:    blr27;28; FAST-P9-LABEL: testoeq:29; FAST-P9:       # %bb.0: # %entry30; FAST-P9-NEXT:    xssubdp f0, f1, f231; FAST-P9-NEXT:    fsel f1, f0, f3, f432; FAST-P9-NEXT:    xsnegdp f0, f033; FAST-P9-NEXT:    fsel f1, f0, f1, f434; FAST-P9-NEXT:    blr35;36; NO-FAST-P9-LABEL: testoeq:37; NO-FAST-P9:       # %bb.0: # %entry38; NO-FAST-P9-NEXT:    xscmpudp cr0, f1, f239; NO-FAST-P9-NEXT:    beq cr0, .LBB0_240; NO-FAST-P9-NEXT:  # %bb.1: # %entry41; NO-FAST-P9-NEXT:    fmr f3, f442; NO-FAST-P9-NEXT:  .LBB0_2: # %entry43; NO-FAST-P9-NEXT:    fmr f1, f344; NO-FAST-P9-NEXT:    blr45;46; NO-FAST-P8-LABEL: testoeq:47; NO-FAST-P8:       # %bb.0: # %entry48; NO-FAST-P8-NEXT:    xscmpudp cr0, f1, f249; NO-FAST-P8-NEXT:    beq cr0, .LBB0_250; NO-FAST-P8-NEXT:  # %bb.1: # %entry51; NO-FAST-P8-NEXT:    fmr f3, f452; NO-FAST-P8-NEXT:  .LBB0_2: # %entry53; NO-FAST-P8-NEXT:    fmr f1, f354; NO-FAST-P8-NEXT:    blr55entry:56  %cmp = fcmp oeq double %a, %b57  %cond = select i1 %cmp, double %c, double %d58  ret double %cond59}60 61define double @testoeq_fast(double %a, double %b, double %c, double %d) {62; FAST-P8-LABEL: testoeq_fast:63; FAST-P8:       # %bb.0: # %entry64; FAST-P8-NEXT:    xssubdp f0, f1, f265; FAST-P8-NEXT:    fsel f1, f0, f3, f466; FAST-P8-NEXT:    xsnegdp f0, f067; FAST-P8-NEXT:    fsel f1, f0, f1, f468; FAST-P8-NEXT:    blr69;70; FAST-P9-LABEL: testoeq_fast:71; FAST-P9:       # %bb.0: # %entry72; FAST-P9-NEXT:    xssubdp f0, f1, f273; FAST-P9-NEXT:    fsel f1, f0, f3, f474; FAST-P9-NEXT:    xsnegdp f0, f075; FAST-P9-NEXT:    fsel f1, f0, f1, f476; FAST-P9-NEXT:    blr77;78; NO-FAST-P9-LABEL: testoeq_fast:79; NO-FAST-P9:       # %bb.0: # %entry80; NO-FAST-P9-NEXT:    xssubdp f0, f1, f281; NO-FAST-P9-NEXT:    fsel f1, f0, f3, f482; NO-FAST-P9-NEXT:    xsnegdp f0, f083; NO-FAST-P9-NEXT:    fsel f1, f0, f1, f484; NO-FAST-P9-NEXT:    blr85;86; NO-FAST-P8-LABEL: testoeq_fast:87; NO-FAST-P8:       # %bb.0: # %entry88; NO-FAST-P8-NEXT:    xssubdp f0, f1, f289; NO-FAST-P8-NEXT:    fsel f1, f0, f3, f490; NO-FAST-P8-NEXT:    xsnegdp f0, f091; NO-FAST-P8-NEXT:    fsel f1, f0, f1, f492; NO-FAST-P8-NEXT:    blr93entry:94  %cmp = fcmp nnan ninf nsz oeq double %a, %b95  %cond = select nnan ninf nsz i1 %cmp, double %c, double %d96  ret double %cond97}98