brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.1 KiB · d828493 Raw
102 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -verify-machineinstrs -mtriple=powerpc64-unknown-unknown \3; RUN:   -mcpu=pwr7 < %s | FileCheck %s --check-prefix=CHECK-PWR74; RUN: llc -verify-machineinstrs -mtriple=powerpc64le-unknown-unknown \5; RUN:   -mcpu=pwr8 < %s | FileCheck %s --check-prefix=CHECK-PWR86; RUN: llc -verify-machineinstrs -mtriple=powerpc-unknown-aix \7; RUN:   -mcpu=pwr8 < %s | FileCheck %s --check-prefix=CHECK-PWR88; RUN: llc -verify-machineinstrs -mtriple=powerpc64le-unknown-unknown \9; RUN:   -mattr=-vsx -mcpu=pwr8 < %s | FileCheck %s --check-prefix=CHECK-NOVSX10 11define dso_local double @test_fsel(double %a, double %b, double %c) local_unnamed_addr {12; CHECK-PWR7-LABEL: test_fsel:13; CHECK-PWR7:       # %bb.0: # %entry14; CHECK-PWR7-NEXT:    fsel 1, 1, 2, 315; CHECK-PWR7-NEXT:    blr16;17; CHECK-PWR8-LABEL: test_fsel:18; CHECK-PWR8:       # %bb.0: # %entry19; CHECK-PWR8-NEXT:    fsel 1, 1, 2, 320; CHECK-PWR8-NEXT:    blr21;22; CHECK-NOVSX-LABEL: test_fsel:23; CHECK-NOVSX:       # %bb.0: # %entry24; CHECK-NOVSX-NEXT:    fsel 1, 1, 2, 325; CHECK-NOVSX-NEXT:    blr26 27entry:28  %0 = tail call double @llvm.ppc.fsel(double %a, double %b, double %c)29  ret double %030}31 32declare double @llvm.ppc.fsel(double, double, double)33 34define dso_local float @test_fsels(float %a, float %b, float %c) local_unnamed_addr {35; CHECK-PWR7-LABEL: test_fsels:36; CHECK-PWR7:       # %bb.0: # %entry37; CHECK-PWR7-NEXT:    fsel 1, 1, 2, 338; CHECK-PWR7-NEXT:    blr39;40; CHECK-PWR8-LABEL: test_fsels:41; CHECK-PWR8:       # %bb.0: # %entry42; CHECK-PWR8-NEXT:    fsel 1, 1, 2, 343; CHECK-PWR8-NEXT:    blr44;45; CHECK-NOVSX-LABEL: test_fsels:46; CHECK-NOVSX:       # %bb.0: # %entry47; CHECK-NOVSX-NEXT:    fsel 1, 1, 2, 348; CHECK-NOVSX-NEXT:    blr49 50entry:51  %0 = tail call float @llvm.ppc.fsels(float %a, float %b, float %c)52  ret float %053}54 55declare float @llvm.ppc.fsels(float, float, float)56 57define dso_local double @test_frsqrte(double %a) local_unnamed_addr {58; CHECK-PWR7-LABEL: test_frsqrte:59; CHECK-PWR7:       # %bb.0: # %entry60; CHECK-PWR7-NEXT:    xsrsqrtedp 1, 161; CHECK-PWR7-NEXT:    blr62;63; CHECK-PWR8-LABEL: test_frsqrte:64; CHECK-PWR8:       # %bb.0: # %entry65; CHECK-PWR8-NEXT:    xsrsqrtedp 1, 166; CHECK-PWR8-NEXT:    blr67;68; CHECK-NOVSX-LABEL: test_frsqrte:69; CHECK-NOVSX:       # %bb.0: # %entry70; CHECK-NOVSX-NEXT:    frsqrte 1, 171; CHECK-NOVSX-NEXT:    blr72 73entry:74  %0 = tail call double @llvm.ppc.frsqrte(double %a)75  ret double %076}77 78declare double @llvm.ppc.frsqrte(double)79 80define dso_local float @test_frsqrtes(float %a) local_unnamed_addr {81; CHECK-PWR7-LABEL: test_frsqrtes:82; CHECK-PWR7:       # %bb.0: # %entry83; CHECK-PWR7-NEXT:    frsqrtes 1, 184; CHECK-PWR7-NEXT:    blr85;86; CHECK-PWR8-LABEL: test_frsqrtes:87; CHECK-PWR8:       # %bb.0: # %entry88; CHECK-PWR8-NEXT:    xsrsqrtesp 1, 189; CHECK-PWR8-NEXT:    blr90;91; CHECK-NOVSX-LABEL: test_frsqrtes:92; CHECK-NOVSX:       # %bb.0: # %entry93; CHECK-NOVSX-NEXT:    frsqrtes 1, 194; CHECK-NOVSX-NEXT:    blr95 96entry:97  %0 = tail call float @llvm.ppc.frsqrtes(float %a)98  ret float %099}100 101declare float @llvm.ppc.frsqrtes(float)102