brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.6 KiB · e62ab6d Raw
87 lines · plain
1; RUN: llc -verify-machineinstrs -mtriple=powerpc-unknown-linux-gnu < %s | FileCheck %s2 3declare float @fmaxf(float, float)4declare double @fmax(double, double)5declare ppc_fp128 @fmaxl(ppc_fp128, ppc_fp128)6declare float @llvm.maxnum.f32(float, float)7declare double @llvm.maxnum.f64(double, double)8declare ppc_fp128 @llvm.maxnum.ppcf128(ppc_fp128, ppc_fp128)9 10declare <2 x float> @llvm.maxnum.v2f32(<2 x float>, <2 x float>)11declare <4 x float> @llvm.maxnum.v4f32(<4 x float>, <4 x float>)12declare <8 x float> @llvm.maxnum.v8f32(<8 x float>, <8 x float>)13 14; CHECK-LABEL: @test_fmaxf15; CHECK: bl fmaxf16define float @test_fmaxf(float %x, float %y) {17  %z = call float @fmaxf(float %x, float %y) readnone18  ret float %z19}20 21; CHECK-LABEL: @test_fmax22; CHECK: bl fmax23define double @test_fmax(double %x, double %y) {24  %z = call double @fmax(double %x, double %y) readnone25  ret double %z26}27 28; CHECK-LABEL: @test_fmaxl29; CHECK: bl fmaxl30define ppc_fp128 @test_fmaxl(ppc_fp128 %x, ppc_fp128 %y) {31  %z = call ppc_fp128 @fmaxl(ppc_fp128 %x, ppc_fp128 %y) readnone32  ret ppc_fp128 %z33}34 35; CHECK-LABEL: @test_intrinsic_fmaxf36; CHECK: bl fmaxf37define float @test_intrinsic_fmaxf(float %x, float %y) {38  %z = call float @llvm.maxnum.f32(float %x, float %y) readnone39  ret float %z40}41 42; CHECK-LABEL: @test_intrinsic_fmax43; CHECK: bl fmax44define double @test_intrinsic_fmax(double %x, double %y) {45  %z = call double @llvm.maxnum.f64(double %x, double %y) readnone46  ret double %z47}48 49; CHECK-LABEL: @test_intrinsic_fmaxl50; CHECK: bl fmaxl51define ppc_fp128 @test_intrinsic_fmaxl(ppc_fp128 %x, ppc_fp128 %y) {52  %z = call ppc_fp128 @llvm.maxnum.ppcf128(ppc_fp128 %x, ppc_fp128 %y) readnone53  ret ppc_fp128 %z54}55 56; CHECK-LABEL: @test_intrinsic_fmaxf_v2f3257; CHECK: bl fmaxf58; CHECK: bl fmaxf59define <2 x float> @test_intrinsic_fmaxf_v2f32(<2 x float> %x, <2 x float> %y) {60  %z = call <2 x float> @llvm.maxnum.v2f32(<2 x float> %x, <2 x float> %y) readnone61  ret <2 x float> %z62}63 64; CHECK-LABEL: @test_intrinsic_fmaxf_v4f3265; CHECK: bl fmaxf66; CHECK: bl fmaxf67; CHECK: bl fmaxf68; CHECK: bl fmaxf69define <4 x float> @test_intrinsic_fmaxf_v4f32(<4 x float> %x, <4 x float> %y) {70  %z = call <4 x float> @llvm.maxnum.v4f32(<4 x float> %x, <4 x float> %y) readnone71  ret <4 x float> %z72}73 74; CHECK-LABEL: @test_intrinsic_fmaxf_v8f3275; CHECK: bl fmaxf76; CHECK: bl fmaxf77; CHECK: bl fmaxf78; CHECK: bl fmaxf79; CHECK: bl fmaxf80; CHECK: bl fmaxf81; CHECK: bl fmaxf82; CHECK: bl fmaxf83define <8 x float> @test_intrinsic_fmaxf_v8f32(<8 x float> %x, <8 x float> %y) {84  %z = call <8 x float> @llvm.maxnum.v8f32(<8 x float> %x, <8 x float> %y) readnone85  ret <8 x float> %z86}87