brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.8 KiB · 5915bd3 Raw
90 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -mcpu=pwr10 -ppc-asm-full-reg-names \3; RUN:   -verify-machineinstrs --enable-no-signed-zeros-fp-math \4; RUN:   --enable-no-nans-fp-math \5; RUN:   -mtriple=powerpc64le-unknown-unknown < %s | FileCheck %s6; RUN: llc -mcpu=pwr10 -ppc-asm-full-reg-names -verify-machineinstrs \7; RUN:   -mtriple=powerpc64le-unknown-unknown < %s | FileCheck %s8define dso_local fp128 @testqmax(fp128 %a, fp128 %b) local_unnamed_addr {9; CHECK-LABEL: testqmax:10; CHECK:       # %bb.0: # %entry11; CHECK-NEXT:    xsmaxcqp v2, v2, v312; CHECK-NEXT:    blr13entry:14  %cmp = fcmp ogt fp128 %a, %b15  %cond = select i1 %cmp, fp128 %a, fp128 %b16  ret fp128 %cond17}18 19define dso_local fp128 @testqmin(fp128 %a, fp128 %b) local_unnamed_addr {20; CHECK-LABEL: testqmin:21; CHECK:       # %bb.0: # %entry22; CHECK-NEXT:    xsmincqp v2, v2, v323; CHECK-NEXT:    blr24entry:25  %cmp = fcmp olt fp128 %a, %b26  %cond = select i1 %cmp, fp128 %a, fp128 %b27  ret fp128 %cond28}29 30define dso_local fp128 @testqmax_fast(fp128 %a, fp128 %b) local_unnamed_addr {31; CHECK-LABEL: testqmax_fast:32; CHECK:       # %bb.0: # %entry33; CHECK-NEXT:    xsmaxcqp v2, v2, v334; CHECK-NEXT:    blr35entry:36  %cmp = fcmp nnan ninf ogt fp128 %a, %b37  %cond = select i1 %cmp, fp128 %a, fp128 %b38  ret fp128 %cond39}40 41define dso_local fp128 @testqmin_fast(fp128 %a, fp128 %b) local_unnamed_addr {42; CHECK-LABEL: testqmin_fast:43; CHECK:       # %bb.0: # %entry44; CHECK-NEXT:    xsmincqp v2, v2, v345; CHECK-NEXT:    blr46entry:47  %cmp = fcmp nnan ninf olt fp128 %a, %b48  %cond = select i1 %cmp, fp128 %a, fp128 %b49  ret fp128 %cond50}51 52declare fp128 @llvm.maxnum.f128(fp128, fp128)53define dso_local fp128 @testq_intrinsic_maxnum(fp128 %a, fp128 %b) local_unnamed_addr {54; CHECK-LABEL: testq_intrinsic_maxnum:55; CHECK:       # %bb.0: # %entry56; CHECK-NEXT:    xsmaxcqp v2, v2, v357; CHECK-NEXT:    blr58entry:59  %0 = tail call fast fp128 @llvm.maxnum.f128(fp128 %a, fp128 %b)60  ret fp128 %061}62 63declare fp128 @llvm.minnum.f128(fp128, fp128)64define dso_local fp128 @testq_intrinsic_minnum(fp128 %a, fp128 %b) local_unnamed_addr {65; CHECK-LABEL: testq_intrinsic_minnum:66; CHECK:       # %bb.0: # %entry67; CHECK-NEXT:    xsmincqp v2, v2, v368; CHECK-NEXT:    blr69entry:70  %0 = tail call fast fp128 @llvm.minnum.f128(fp128 %a, fp128 %b)71  ret fp128 %072}73 74define fp128 @olt_sel(fp128 %a, fp128 %b) {75; CHECK-LABEL: olt_sel:76; CHECK:       # %bb.0: # %entry77; CHECK-NEXT:    plxv vs36, .LCPI6_0@PCREL(0), 178; CHECK-NEXT:    xscmpuqp cr0, v2, v479; CHECK-NEXT:    blt cr0, .LBB6_280; CHECK-NEXT:  # %bb.1: # %entry81; CHECK-NEXT:    vmr v3, v482; CHECK-NEXT:  .LBB6_2: # %entry83; CHECK-NEXT:    vmr v2, v384; CHECK-NEXT:    blr85entry:86  %0 = fcmp fast olt fp128 %a, 0xL0000000000000000000000000000000087  %1 = select i1 %0, fp128 %b, fp128 0xL0000000000000000000000000000000088  ret fp128 %189}90